diff --git a/.github/workflows/build-img-ghrunner-test.yaml b/.github/workflows/build-img-ghrunner-test.yaml index 7a862becb..47f5004f5 100644 --- a/.github/workflows/build-img-ghrunner-test.yaml +++ b/.github/workflows/build-img-ghrunner-test.yaml @@ -39,7 +39,7 @@ jobs: cat ./mapt-event - name: Upload crc-builder - uses: actions/upload-artifact@v5 + uses: actions/upload-artifact@v6 with: name: mapt-${{ env.ARCH_TYPE }} path: mapt* diff --git a/.github/workflows/build-oci.yaml b/.github/workflows/build-oci.yaml index f1890a995..98e398713 100644 --- a/.github/workflows/build-oci.yaml +++ b/.github/workflows/build-oci.yaml @@ -67,7 +67,7 @@ jobs: make oci-build-${{ env.ARCH_TYPE }} make oci-save-${{ env.ARCH_TYPE }} - name: Upload mapt artifacts for PR - uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0 + uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0 with: name: mapt-${{ env.ARCH_TYPE }} path: mapt* @@ -78,7 +78,7 @@ jobs: runs-on: ubuntu-24.04 steps: - name: Download mapt oci flatten images - uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0 + uses: actions/download-artifact@37930b1c2abaa49bbe596cd826c3c89aef350131 # v7.0.0 with: pattern: mapt-* - name: copy both artifacts into single directory @@ -86,7 +86,7 @@ jobs: IMG: ghcr.io/redhat-developer/mapt:pr-${{ github.event.number }} run: echo ${IMG} > mapt-image - name: Upload combined mapt artifacts for PR - uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0 + uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0 with: name: mapt-arm64-and-amd64 path: mapt-* @@ -100,7 +100,7 @@ jobs: uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 - name: Download mapt oci flatten images - uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0 + uses: actions/download-artifact@37930b1c2abaa49bbe596cd826c3c89aef350131 # v7.0.0 with: pattern: mapt-* diff --git a/.github/workflows/destroy-hosted-runner.yaml b/.github/workflows/destroy-hosted-runner.yaml index 008bd4368..59062bf4f 100644 --- a/.github/workflows/destroy-hosted-runner.yaml +++ b/.github/workflows/destroy-hosted-runner.yaml @@ -12,7 +12,7 @@ jobs: runs-on: ubuntu-24.04 steps: - name: Download mapt image from artifacts - uses: actions/download-artifact@v6 + uses: actions/download-artifact@v7 with: name: mapt run-id: ${{ github.event.workflow_run.id }} diff --git a/.github/workflows/provision-hosted-runner.yaml b/.github/workflows/provision-hosted-runner.yaml index d6921461f..3a637a4d5 100644 --- a/.github/workflows/provision-hosted-runner.yaml +++ b/.github/workflows/provision-hosted-runner.yaml @@ -29,7 +29,7 @@ jobs: echo "runner_token=$token" >> "$GITHUB_OUTPUT" - name: Download mapt image from artifacts - uses: actions/download-artifact@v6 + uses: actions/download-artifact@v7 with: pattern: mapt* run-id: ${{ github.event.workflow_run.id }} diff --git a/.github/workflows/push-oci-pr.yml b/.github/workflows/push-oci-pr.yml index 15328fa41..c6f68b0cf 100644 --- a/.github/workflows/push-oci-pr.yml +++ b/.github/workflows/push-oci-pr.yml @@ -35,7 +35,7 @@ jobs: packages: write steps: - name: Download mapt assets - uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0 + uses: actions/download-artifact@37930b1c2abaa49bbe596cd826c3c89aef350131 # v7.0.0 with: run-id: ${{ github.event.workflow_run.id }} github-token: ${{ github.token }} diff --git a/.gitignore b/.gitignore index a183c7b28..68038b13d 100644 --- a/.gitignore +++ b/.gitignore @@ -4,3 +4,5 @@ out/ manifest.json ami-id Pulumi*.yaml +/tools/bin/** +!/tools/bin/.gitkeep \ No newline at end of file diff --git a/Makefile b/Makefile index a292cb159..4aff22e60 100644 --- a/Makefile +++ b/Makefile @@ -7,7 +7,7 @@ TKN_IMG ?= quay.io/redhat-developer/mapt:v${VERSION}-tkn # Integrations # renovate: datasource=github-releases depName=cirruslabs/cirrus-cli -CIRRUS_CLI ?= v0.157.3 +CIRRUS_CLI ?= v0.158.0 # renovate: datasource=github-releases depName=actions/runner GITHUB_RUNNER ?= 2.330.0 diff --git a/go.mod b/go.mod index fc0d7610b..d0cfefe8a 100644 --- a/go.mod +++ b/go.mod @@ -6,7 +6,7 @@ require ( github.com/coocood/freecache v1.2.4 github.com/pulumi/pulumi-command/sdk v1.1.3 github.com/pulumi/pulumi-random/sdk/v4 v4.18.4 - github.com/pulumi/pulumi/sdk/v3 v3.210.0 + github.com/pulumi/pulumi/sdk/v3 v3.212.0 github.com/sirupsen/logrus v1.9.3 github.com/spf13/cobra v1.10.2 ) @@ -20,11 +20,11 @@ require ( github.com/aws/amazon-ec2-instance-selector/v3 v3.1.2 github.com/aws/aws-sdk-go-v2 v1.41.0 github.com/aws/aws-sdk-go-v2/config v1.32.5 - github.com/aws/aws-sdk-go-v2/service/ec2 v1.276.0 - github.com/aws/aws-sdk-go-v2/service/s3 v1.93.1 + github.com/aws/aws-sdk-go-v2/service/ec2 v1.277.0 + github.com/aws/aws-sdk-go-v2/service/s3 v1.94.0 github.com/aws/aws-sdk-go-v2/service/sts v1.41.5 - github.com/pulumi/pulumi-aws-native/sdk v1.39.0 - github.com/pulumi/pulumi-aws/sdk/v7 v7.12.0 + github.com/pulumi/pulumi-aws-native/sdk v1.40.0 + github.com/pulumi/pulumi-aws/sdk/v7 v7.14.0 github.com/pulumi/pulumi-awsx/sdk/v3 v3.1.0 github.com/pulumi/pulumi-azure-native-sdk/authorization/v3 v3.11.0 github.com/pulumi/pulumi-azure-native-sdk/compute/v3 v3.11.0 @@ -34,7 +34,7 @@ require ( github.com/pulumi/pulumi-azure-native-sdk/resources/v3 v3.11.0 github.com/pulumi/pulumi-azure-native-sdk/storage/v3 v3.11.0 github.com/pulumi/pulumi-tls/sdk/v5 v5.2.3 - golang.org/x/exp v0.0.0-20251125195548-87e1e737ad39 + golang.org/x/exp v0.0.0-20251209150349-8475f28825e9 ) require ( @@ -88,7 +88,7 @@ require ( github.com/cespare/xxhash/v2 v2.3.0 // indirect github.com/charmbracelet/bubbles v0.21.0 // indirect github.com/charmbracelet/bubbletea v1.3.10 // indirect - github.com/charmbracelet/colorprofile v0.3.3 // indirect + github.com/charmbracelet/colorprofile v0.4.1 // indirect github.com/charmbracelet/lipgloss v1.1.0 // indirect github.com/charmbracelet/x/ansi v0.11.3 // indirect github.com/charmbracelet/x/cellbuf v0.0.14 // indirect @@ -132,7 +132,7 @@ require ( go.uber.org/multierr v1.11.0 // indirect go.yaml.in/yaml/v3 v3.0.4 // indirect golang.org/x/sync v0.19.0 // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20251202230838-ff82c1b0f217 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20251213004720-97cd9d5aeac2 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) @@ -149,7 +149,7 @@ require ( github.com/fsnotify/fsnotify v1.9.0 // indirect github.com/go-git/go-billy/v5 v5.7.0 // indirect github.com/go-git/go-git/v5 v5.16.4 // indirect - github.com/go-playground/validator/v10 v10.28.0 + github.com/go-playground/validator/v10 v10.29.0 github.com/gogo/protobuf v1.3.2 // indirect github.com/golang/glog v1.2.5 // indirect github.com/grpc-ecosystem/grpc-opentracing v0.0.0-20180507213350-8e809c8a8645 // indirect diff --git a/go.sum b/go.sum index 3a2de3efd..5b29dbeff 100644 --- a/go.sum +++ b/go.sum @@ -65,8 +65,8 @@ github.com/aws/aws-sdk-go-v2/internal/ini v1.8.4 h1:WKuaxf++XKWlHWu9ECbMlha8WOEG github.com/aws/aws-sdk-go-v2/internal/ini v1.8.4/go.mod h1:ZWy7j6v1vWGmPReu0iSGvRiise4YI5SkR3OHKTZ6Wuc= github.com/aws/aws-sdk-go-v2/internal/v4a v1.4.16 h1:CjMzUs78RDDv4ROu3JnJn/Ig1r6ZD7/T2DXLLRpejic= github.com/aws/aws-sdk-go-v2/internal/v4a v1.4.16/go.mod h1:uVW4OLBqbJXSHJYA9svT9BluSvvwbzLQ2Crf6UPzR3c= -github.com/aws/aws-sdk-go-v2/service/ec2 v1.276.0 h1:EXwbpkq/tsz1lHI5QRoXjnkZRKgW0Xa+mPSv6Dz/9N0= -github.com/aws/aws-sdk-go-v2/service/ec2 v1.276.0/go.mod h1:Wg68QRgy2gEGGdmTPU/UbVpdv8sM14bUZmF64KFwAsY= +github.com/aws/aws-sdk-go-v2/service/ec2 v1.277.0 h1:RHJSkRXDGkAKrV4CTEsZsZkOmSpxXKO4aKx4rXd94K4= +github.com/aws/aws-sdk-go-v2/service/ec2 v1.277.0/go.mod h1:Wg68QRgy2gEGGdmTPU/UbVpdv8sM14bUZmF64KFwAsY= github.com/aws/aws-sdk-go-v2/service/ecs v1.69.5 h1:5nkhwt0d/gjuT3AQ2LUK0aFRNB3MGlzB2elqy/ZsKP4= github.com/aws/aws-sdk-go-v2/service/ecs v1.69.5/go.mod h1:LQMlcWBoiFVD3vUVEz42ST0yTiaDujv2dRE6sXt1yPE= github.com/aws/aws-sdk-go-v2/service/iam v1.53.1 h1:xNCUk9XN6Pa9PyzbEfzgRpvEIVlqtth402yjaWvNMu4= @@ -81,8 +81,8 @@ github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.19.16 h1:NSbvS17MlI2lu github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.19.16/go.mod h1:SwT8Tmqd4sA6G1qaGdzWCJN99bUmPGHfRwwq3G5Qb+A= github.com/aws/aws-sdk-go-v2/service/pricing v1.40.10 h1:defPD7U7YBzceRGxG0b3C0d8/ApzzmZerfufHxsIgGc= github.com/aws/aws-sdk-go-v2/service/pricing v1.40.10/go.mod h1:EPJb8x5BwKhSP2eUuyoGnZWa6XEKdqJeg9VhpRdVBKY= -github.com/aws/aws-sdk-go-v2/service/s3 v1.93.1 h1:5FhzzN6JmlGQF6c04kDIb5KNGm6KnNdLISNrfivIhHg= -github.com/aws/aws-sdk-go-v2/service/s3 v1.93.1/go.mod h1:79S2BdqCJpScXZA2y+cpZuocWsjGjJINyXnOsf5DTz8= +github.com/aws/aws-sdk-go-v2/service/s3 v1.94.0 h1:SWTxh/EcUCDVqi/0s26V6pVUq0BBG7kx0tDTmF/hCgA= +github.com/aws/aws-sdk-go-v2/service/s3 v1.94.0/go.mod h1:79S2BdqCJpScXZA2y+cpZuocWsjGjJINyXnOsf5DTz8= github.com/aws/aws-sdk-go-v2/service/signin v1.0.4 h1:HpI7aMmJ+mm1wkSHIA2t5EaFFv5EFYXePW30p1EIrbQ= github.com/aws/aws-sdk-go-v2/service/signin v1.0.4/go.mod h1:C5RdGMYGlfM0gYq/tifqgn4EbyX99V15P2V3R+VHbQU= github.com/aws/aws-sdk-go-v2/service/sso v1.30.7 h1:eYnlt6QxnFINKzwxP5/Ucs1vkG7VT3Iezmvfgc2waUw= @@ -108,8 +108,8 @@ github.com/charmbracelet/bubbles v0.21.0 h1:9TdC97SdRVg/1aaXNVWfFH3nnLAwOXr8Fn6u github.com/charmbracelet/bubbles v0.21.0/go.mod h1:HF+v6QUR4HkEpz62dx7ym2xc71/KBHg+zKwJtMw+qtg= github.com/charmbracelet/bubbletea v1.3.10 h1:otUDHWMMzQSB0Pkc87rm691KZ3SWa4KUlvF9nRvCICw= github.com/charmbracelet/bubbletea v1.3.10/go.mod h1:ORQfo0fk8U+po9VaNvnV95UPWA1BitP1E0N6xJPlHr4= -github.com/charmbracelet/colorprofile v0.3.3 h1:DjJzJtLP6/NZ8p7Cgjno0CKGr7wwRJGxWUwh2IyhfAI= -github.com/charmbracelet/colorprofile v0.3.3/go.mod h1:nB1FugsAbzq284eJcjfah2nhdSLppN2NqvfotkfRYP4= +github.com/charmbracelet/colorprofile v0.4.1 h1:a1lO03qTrSIRaK8c3JRxJDZOvhvIeSco3ej+ngLk1kk= +github.com/charmbracelet/colorprofile v0.4.1/go.mod h1:U1d9Dljmdf9DLegaJ0nGZNJvoXAhayhmidOdcBwAvKk= github.com/charmbracelet/lipgloss v1.1.0 h1:vYXsiLHVkK7fp74RkV7b2kq9+zDLoEU4MZoFqR/noCY= github.com/charmbracelet/lipgloss v1.1.0/go.mod h1:/6Q8FR2o+kj8rz4Dq0zQc3vYf7X+B0binUUBwA0aL30= github.com/charmbracelet/x/ansi v0.11.3 h1:6DcVaqWI82BBVM/atTyq6yBoRLZFBsnoDoX9GCu2YOI= @@ -179,8 +179,8 @@ github.com/go-playground/locales v0.14.1 h1:EWaQ/wswjilfKLTECiXz7Rh+3BjFhfDFKv/o github.com/go-playground/locales v0.14.1/go.mod h1:hxrqLVvrK65+Rwrd5Fc6F2O76J/NuW9t0sjnWqG1slY= github.com/go-playground/universal-translator v0.18.1 h1:Bcnm0ZwsGyWbCzImXv+pAJnYK9S473LQFuzCbDbfSFY= github.com/go-playground/universal-translator v0.18.1/go.mod h1:xekY+UJKNuX9WP91TpwSH2VMlDf28Uj24BCp08ZFTUY= -github.com/go-playground/validator/v10 v10.28.0 h1:Q7ibns33JjyW48gHkuFT91qX48KG0ktULL6FgHdG688= -github.com/go-playground/validator/v10 v10.28.0/go.mod h1:GoI6I1SjPBh9p7ykNE/yj3fFYbyDOpwMn5KXd+m2hUU= +github.com/go-playground/validator/v10 v10.29.0 h1:lQlF5VNJWNlRbRZNeOIkWElR+1LL/OuHcc0Kp14w1xk= +github.com/go-playground/validator/v10 v10.29.0/go.mod h1:D6QxqeMlgIPuT02L66f2ccrZ7AGgHkzKmmTMZhk/Kc4= github.com/go-viper/mapstructure/v2 v2.4.0 h1:EBsztssimR/CONLSZZ04E8qAkxNYq4Qp9LvH92wZUgs= github.com/go-viper/mapstructure/v2 v2.4.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= github.com/gogo/protobuf v1.3.1/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o= @@ -296,10 +296,10 @@ github.com/pulumi/appdash v0.0.0-20231130102222-75f619a67231 h1:vkHw5I/plNdTr435 github.com/pulumi/appdash v0.0.0-20231130102222-75f619a67231/go.mod h1:murToZ2N9hNJzewjHBgfFdXhZKjY3z5cYC1VXk+lbFE= github.com/pulumi/esc v0.20.0 h1:LZn4sjAsI76x10ZuZXXyh2ExGcP7AHmjOzCi/p3/fpQ= github.com/pulumi/esc v0.20.0/go.mod h1:h1VjdedI0K84MhMzaR9ZKbEpU6SfZMOZF4ZrVgQyNLY= -github.com/pulumi/pulumi-aws-native/sdk v1.39.0 h1:uP9WFh8KuJE0Kjiy6raXH8LCKngHKIwA6tY5zeScZh8= -github.com/pulumi/pulumi-aws-native/sdk v1.39.0/go.mod h1:gmgSOTrjC7wArS3etY/n8vcEvDF56AQenP8YSH9tlII= -github.com/pulumi/pulumi-aws/sdk/v7 v7.12.0 h1:B9xevRSAXTYpQPCYcVLFwreEex7d8IPrhiOALzXr4dE= -github.com/pulumi/pulumi-aws/sdk/v7 v7.12.0/go.mod h1:rFnXEloYqM41yvlxphPjJ0wL4cM+JPwr9qWt/8VI4Q4= +github.com/pulumi/pulumi-aws-native/sdk v1.40.0 h1:XfhRwUPtb6WC2FWeEbIVIlF7eW4Oef0BAJJS72gy76Y= +github.com/pulumi/pulumi-aws-native/sdk v1.40.0/go.mod h1:gmgSOTrjC7wArS3etY/n8vcEvDF56AQenP8YSH9tlII= +github.com/pulumi/pulumi-aws/sdk/v7 v7.14.0 h1:BwNHvYemCQQcR/BynYR7n5LX8Eah+UYlWS03FDHwbuE= +github.com/pulumi/pulumi-aws/sdk/v7 v7.14.0/go.mod h1:hsOxQjCl7ASsYWRVC8UtbFaR+xx9S0QwNFnbo0Kzg1I= github.com/pulumi/pulumi-awsx/sdk/v3 v3.1.0 h1:jphjwZoSnNyW4d3dpS++T+TlZFTy6vb9gJt33u6xf14= github.com/pulumi/pulumi-awsx/sdk/v3 v3.1.0/go.mod h1:ALZ8aBuwNtHkhFCY019gJOfgo7q2WYlsL1kM+0apbEA= github.com/pulumi/pulumi-azure-native-sdk/authorization/v3 v3.11.0 h1:wYNZJqOapZRS/tHbF/Kt+seQxgs6sZumF7xNL4ivabM= @@ -330,8 +330,8 @@ github.com/pulumi/pulumi-random/sdk/v4 v4.18.4 h1:mkZ3nB3xLTFZ8Fbh50bXTxiroGpjSy github.com/pulumi/pulumi-random/sdk/v4 v4.18.4/go.mod h1:BBVUyqFkhCbwvUSnDjubH5b+SeJeoMQH4COGNKaaoUI= github.com/pulumi/pulumi-tls/sdk/v5 v5.2.3 h1:HEHeifaSKme+mWXYkps5qYD45JJc86Y/0awBj7UC6vU= github.com/pulumi/pulumi-tls/sdk/v5 v5.2.3/go.mod h1:UxIBAyqaLIo5bn63paPM7FU7DahbfeSIKbgTf9KldLY= -github.com/pulumi/pulumi/sdk/v3 v3.210.0 h1:QMNdfQfB7jCa/ZoY8aIfwOwApuvhnOoIH8s4umNvR3U= -github.com/pulumi/pulumi/sdk/v3 v3.210.0/go.mod h1:0qnUzUV5ypAcdoPNOX426wV4ePMnkDvGlPBZqlizHmU= +github.com/pulumi/pulumi/sdk/v3 v3.212.0 h1:YQKFamkd+3sqcbFUi+sq50DejdymayYbqaz+OQnSvug= +github.com/pulumi/pulumi/sdk/v3 v3.212.0/go.mod h1:Bn5Z9Rzp1lPqdAccaB+F2ivUBiamEl2TNR3Gg/h7iLs= github.com/rivo/uniseg v0.1.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= github.com/rivo/uniseg v0.4.7 h1:WUdvkW8uEhrYfLC4ZzdpI2ztxP1I582+49Oc5Mq64VQ= @@ -415,8 +415,8 @@ golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPh golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/crypto v0.46.0 h1:cKRW/pmt1pKAfetfu+RCEvjvZkA9RimPbh7bhFjGVBU= golang.org/x/crypto v0.46.0/go.mod h1:Evb/oLKmMraqjZ2iQTwDwvCtJkczlDuTmdJXoZVzqU0= -golang.org/x/exp v0.0.0-20251125195548-87e1e737ad39 h1:DHNhtq3sNNzrvduZZIiFyXWOL9IWaDPHqTnLJp+rCBY= -golang.org/x/exp v0.0.0-20251125195548-87e1e737ad39/go.mod h1:46edojNIoXTNOhySWIWdix628clX9ODXwPsQuG6hsK0= +golang.org/x/exp v0.0.0-20251209150349-8475f28825e9 h1:MDfG8Cvcqlt9XXrmEiD4epKn7VJHZO84hejP9Jmp0MM= +golang.org/x/exp v0.0.0-20251209150349-8475f28825e9/go.mod h1:EPRbTFwzwjXj9NpYyyrvenVh9Y+GFeEvMNh7Xuz7xgU= golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= @@ -477,8 +477,8 @@ golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= gonum.org/v1/gonum v0.16.0 h1:5+ul4Swaf3ESvrOnidPp4GZbzf0mxVQpDCYUQE7OJfk= gonum.org/v1/gonum v0.16.0/go.mod h1:fef3am4MQ93R2HHpKnLk4/Tbh/s0+wqD5nfa6Pnwy4E= -google.golang.org/genproto/googleapis/rpc v0.0.0-20251202230838-ff82c1b0f217 h1:gRkg/vSppuSQoDjxyiGfN4Upv/h/DQmIR10ZU8dh4Ww= -google.golang.org/genproto/googleapis/rpc v0.0.0-20251202230838-ff82c1b0f217/go.mod h1:7i2o+ce6H/6BluujYR+kqX3GKH+dChPTQU19wjRPiGk= +google.golang.org/genproto/googleapis/rpc v0.0.0-20251213004720-97cd9d5aeac2 h1:2I6GHUeJ/4shcDpoUlLs/2WPnhg7yJwvXtqcMJt9liA= +google.golang.org/genproto/googleapis/rpc v0.0.0-20251213004720-97cd9d5aeac2/go.mod h1:7i2o+ce6H/6BluujYR+kqX3GKH+dChPTQU19wjRPiGk= google.golang.org/grpc v1.77.0 h1:wVVY6/8cGA6vvffn+wWK5ToddbgdU3d8MNENr4evgXM= google.golang.org/grpc v1.77.0/go.mod h1:z0BY1iVj0q8E1uSQCjL9cppRj+gnZjzDnzV0dHhrNig= google.golang.org/protobuf v1.36.11 h1:fV6ZwhNocDyBLK0dj+fg8ektcVegBBuEolpbTQyBNVE= diff --git a/oci/Containerfile b/oci/Containerfile index 7369099ce..b7dcf20b7 100644 --- a/oci/Containerfile +++ b/oci/Containerfile @@ -1,12 +1,12 @@ -FROM registry.access.redhat.com/ubi9/go-toolset@sha256:75cb847263e05b395c171795d771570994019a8d9d0340ab6ef0e1b02b01bdb4 as builder +FROM registry.access.redhat.com/ubi9/go-toolset@sha256:56fc8480721e5febbd2b6810199a63b5b68c3c5ab826d082c8247054a1dc33e7 as builder ARG TARGETARCH USER root WORKDIR /workspace COPY . . # renovate: datasource=github-releases depName=pulumi/pulumi -ENV PULUMI_VERSION 3.210.0 +ENV PULUMI_VERSION 3.212.0 ENV PULUMI_BASE_URL="https://github.com/pulumi/pulumi/releases/download/v${PULUMI_VERSION}/pulumi-v${PULUMI_VERSION}" ENV PULUMI_URL="${PULUMI_BASE_URL}-linux-x64.tar.gz" @@ -34,7 +34,7 @@ ENV AWS_SDK_LOAD_CONFIG=1 \ # Pulumi plugins # renovate: datasource=github-releases depName=pulumi/pulumi-aws -ARG PULUMI_AWS_VERSION=v7.12.0 +ARG PULUMI_AWS_VERSION=v7.14.0 # renovate: datasource=github-releases depName=pulumi/pulumi-awsx ARG PULUMI_AWSX_VERSION=v3.1.0 # renovate: datasource=github-releases depName=pulumi/pulumi-azure-native @@ -46,7 +46,7 @@ ARG PULUMI_TLS_VERSION=v5.2.3 # renovate: datasource=github-releases depName=pulumi/pulumi-random ARG PULUMI_RANDOM_VERSION=v4.18.4 # renovate: datasource=github-releases depName=pulumi/pulumi-aws-native -ARG PULUMI_AWS_NATIVE_VERSION=v1.39.0 +ARG PULUMI_AWS_NATIVE_VERSION=v1.40.0 ENV PULUMI_HOME "/opt/mapt/run" WORKDIR ${PULUMI_HOME} diff --git a/tools/bin/.gitkeep b/tools/bin/.gitkeep new file mode 100644 index 000000000..e69de29bb diff --git a/tools/bin/golangci-lint b/tools/bin/golangci-lint deleted file mode 100755 index 585469885..000000000 Binary files a/tools/bin/golangci-lint and /dev/null differ diff --git a/tools/go.mod b/tools/go.mod index 5552179e1..c4e64d376 100644 --- a/tools/go.mod +++ b/tools/go.mod @@ -2,11 +2,13 @@ module github.com/redhat-developer/mapt/tools go 1.24.6 -require github.com/golangci/golangci-lint/v2 v2.7.2 +require github.com/golangci/golangci-lint/v2 v2.6.2 + +require github.com/golangci/golines v0.0.0-20250217134842-442fd0091d95 // indirect require ( github.com/charmbracelet/x/cellbuf v0.0.14 // indirect - github.com/golangci/golines v0.0.0-20250217134842-442fd0091d95 // indirect + github.com/golangci/gofmt v0.0.0-20250106114630-d62b90e6713d // indirect ) require ( @@ -70,7 +72,7 @@ require ( github.com/ccojocar/zxcvbn-go v1.0.4 // indirect github.com/cespare/xxhash/v2 v2.3.0 // indirect github.com/charithe/durationcheck v0.0.11 // indirect - github.com/charmbracelet/colorprofile v0.3.3 // indirect + github.com/charmbracelet/colorprofile v0.4.1 // indirect github.com/charmbracelet/lipgloss v1.1.0 // indirect github.com/charmbracelet/x/ansi v0.11.3 // indirect github.com/charmbracelet/x/term v0.2.2 // indirect @@ -102,7 +104,7 @@ require ( github.com/gofrs/flock v0.13.0 // indirect github.com/golangci/dupl v0.0.0-20250308024227-f665c8d69b32 // indirect github.com/golangci/go-printf-func-name v0.1.1 // indirect - github.com/golangci/gofmt v0.0.0-20250704145412-3e58ba0443c6 // indirect + // github.com/golangci/gofmt e7be49a5ab4d // indirect github.com/golangci/misspell v0.7.0 // indirect github.com/golangci/plugin-module-register v0.1.2 // indirect github.com/golangci/revgrep v0.8.0 // indirect @@ -212,7 +214,7 @@ require ( go.uber.org/automaxprocs v1.6.0 // indirect go.uber.org/multierr v1.11.0 // indirect go.uber.org/zap v1.27.1 // indirect - golang.org/x/exp/typeparams v0.0.0-20251125195548-87e1e737ad39 // indirect + golang.org/x/exp/typeparams v0.0.0-20251209150349-8475f28825e9 // indirect golang.org/x/mod v0.31.0 // indirect golang.org/x/sync v0.19.0 // indirect golang.org/x/sys v0.39.0 // indirect diff --git a/tools/go.sum b/tools/go.sum index 206a404bd..b91ae3d8b 100644 --- a/tools/go.sum +++ b/tools/go.sum @@ -82,8 +82,8 @@ github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UF github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/charithe/durationcheck v0.0.11 h1:g1/EX1eIiKS57NTWsYtHDZ/APfeXKhye1DidBcABctk= github.com/charithe/durationcheck v0.0.11/go.mod h1:x5iZaixRNl8ctbM+3B2RrPG5t856TxRyVQEnbIEM2X4= -github.com/charmbracelet/colorprofile v0.3.3 h1:DjJzJtLP6/NZ8p7Cgjno0CKGr7wwRJGxWUwh2IyhfAI= -github.com/charmbracelet/colorprofile v0.3.3/go.mod h1:nB1FugsAbzq284eJcjfah2nhdSLppN2NqvfotkfRYP4= +github.com/charmbracelet/colorprofile v0.4.1 h1:a1lO03qTrSIRaK8c3JRxJDZOvhvIeSco3ej+ngLk1kk= +github.com/charmbracelet/colorprofile v0.4.1/go.mod h1:U1d9Dljmdf9DLegaJ0nGZNJvoXAhayhmidOdcBwAvKk= github.com/charmbracelet/lipgloss v1.1.0 h1:vYXsiLHVkK7fp74RkV7b2kq9+zDLoEU4MZoFqR/noCY= github.com/charmbracelet/lipgloss v1.1.0/go.mod h1:/6Q8FR2o+kj8rz4Dq0zQc3vYf7X+B0binUUBwA0aL30= github.com/charmbracelet/x/ansi v0.11.3 h1:6DcVaqWI82BBVM/atTyq6yBoRLZFBsnoDoX9GCu2YOI= @@ -175,10 +175,10 @@ github.com/golangci/dupl v0.0.0-20250308024227-f665c8d69b32 h1:WUvBfQL6EW/40l6Om github.com/golangci/dupl v0.0.0-20250308024227-f665c8d69b32/go.mod h1:NUw9Zr2Sy7+HxzdjIULge71wI6yEg1lWQr7Evcu8K0E= github.com/golangci/go-printf-func-name v0.1.1 h1:hIYTFJqAGp1iwoIfsNTpoq1xZAarogrvjO9AfiW3B4U= github.com/golangci/go-printf-func-name v0.1.1/go.mod h1:Es64MpWEZbh0UBtTAICOZiB+miW53w/K9Or/4QogJss= -github.com/golangci/gofmt v0.0.0-20250704145412-3e58ba0443c6 h1:jlKy3uQkETB3zMBK8utduvojT+If2nDAM1pWpEzXjaY= -github.com/golangci/gofmt v0.0.0-20250704145412-3e58ba0443c6/go.mod h1:OyaRySOXorMn8zJqFku8YsKptIhPkANyKKTMC+rqMCs= -github.com/golangci/golangci-lint/v2 v2.7.2 h1:AhBC+YeEueec4AGlIbvPym5C70Thx0JykIqXbdIXWx0= -github.com/golangci/golangci-lint/v2 v2.7.2/go.mod h1:pDijleoBu7e8sejMqyZ3L5n6geqe+cVvOAz2QImqqVc= +github.com/golangci/gofmt v0.0.0-20250106114630-d62b90e6713d h1:viFft9sS/dxoYY0aiOTsLKO2aZQAPT4nlQCsimGcSGE= +github.com/golangci/gofmt v0.0.0-20250106114630-d62b90e6713d/go.mod h1:ivJ9QDg0XucIkmwhzCDsqcnxxlDStoTl89jDMIoNxKY= +github.com/golangci/golangci-lint/v2 v2.6.2 h1:jkMSVv36JmyTENcEertckvimvjPcD5qxNM7W7qhECvI= +github.com/golangci/golangci-lint/v2 v2.6.2/go.mod h1:fSIMDiBt9kzdpnvvV7GO6iWzyv5uaeZ+iPor+2uRczE= github.com/golangci/golines v0.0.0-20250217134842-442fd0091d95 h1:AkK+w9FZBXlU/xUmBtSJN1+tAI4FIvy5WtnUnY8e4p8= github.com/golangci/golines v0.0.0-20250217134842-442fd0091d95/go.mod h1:k9mmcyWKSTMcPPvQUCfRWWQ9VHJ1U9Dc0R7kaXAgtnQ= github.com/golangci/misspell v0.7.0 h1:4GOHr/T1lTW0hhR4tgaaV1WS/lJ+ncvYCoFKmqJsj0c= @@ -471,8 +471,8 @@ golang.org/x/exp v0.0.0-20240909161429-701f63a606c0 h1:e66Fs6Z+fZTbFBAxKfP3PALWB golang.org/x/exp v0.0.0-20240909161429-701f63a606c0/go.mod h1:2TbTHSBQa924w8M6Xs1QcRcFwyucIwBGpK1p2f1YFFY= golang.org/x/exp/typeparams v0.0.0-20220428152302-39d4317da171/go.mod h1:AbB0pIl9nAr9wVwH+Z2ZpaocVmF5I4GyWCDIsVjR0bk= golang.org/x/exp/typeparams v0.0.0-20230203172020-98cc5a0785f9/go.mod h1:AbB0pIl9nAr9wVwH+Z2ZpaocVmF5I4GyWCDIsVjR0bk= -golang.org/x/exp/typeparams v0.0.0-20251125195548-87e1e737ad39 h1:yzGKB4T4r1nFi65o7dQ96ERTfU2trk8Ige9aqqADqf4= -golang.org/x/exp/typeparams v0.0.0-20251125195548-87e1e737ad39/go.mod h1:4Mzdyp/6jzw9auFDJ3OMF5qksa7UvPnzKqTVGcb04ms= +golang.org/x/exp/typeparams v0.0.0-20251209150349-8475f28825e9 h1:DXiKAjbw2KpfWz1Bq2YqF/dBDPEZGJsl3IA2JuVzy8U= +golang.org/x/exp/typeparams v0.0.0-20251209150349-8475f28825e9/go.mod h1:4Mzdyp/6jzw9auFDJ3OMF5qksa7UvPnzKqTVGcb04ms= golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= diff --git a/tools/vendor/github.com/charmbracelet/colorprofile/.golangci.yml b/tools/vendor/github.com/charmbracelet/colorprofile/.golangci.yml index 929cb0ac9..c90f03161 100644 --- a/tools/vendor/github.com/charmbracelet/colorprofile/.golangci.yml +++ b/tools/vendor/github.com/charmbracelet/colorprofile/.golangci.yml @@ -33,6 +33,9 @@ linters: generated: lax presets: - common-false-positives + settings: + exhaustive: + default-signifies-exhaustive: true issues: max-issues-per-linter: 0 max-same-issues: 0 diff --git a/tools/vendor/github.com/charmbracelet/colorprofile/env.go b/tools/vendor/github.com/charmbracelet/colorprofile/env.go index 3c312c9fd..3547324a8 100644 --- a/tools/vendor/github.com/charmbracelet/colorprofile/env.go +++ b/tools/vendor/github.com/charmbracelet/colorprofile/env.go @@ -83,8 +83,8 @@ func colorProfile(isatty bool, env environ) (p Profile) { } if envNoColor(env) && isatty { - if p > Ascii { - p = Ascii + if p > ASCII { + p = ASCII } return //nolint:nakedret } diff --git a/tools/vendor/github.com/charmbracelet/colorprofile/profile.go b/tools/vendor/github.com/charmbracelet/colorprofile/profile.go index 4eb77ca43..4ff7f6897 100644 --- a/tools/vendor/github.com/charmbracelet/colorprofile/profile.go +++ b/tools/vendor/github.com/charmbracelet/colorprofile/profile.go @@ -11,10 +11,12 @@ import ( type Profile byte const ( + // Unknown is a profile that represents the absence of a profile. + Unknown Profile = iota // NoTTY is a profile with no terminal support. - NoTTY Profile = iota - // Ascii is a profile with no color support. - Ascii //nolint:revive + NoTTY + // ASCII is a profile with no color support. + ASCII // ANSI is a profile with 16 colors (4-bit). ANSI // ANSI256 is a profile with 256 colors (8-bit). @@ -23,6 +25,9 @@ const ( TrueColor ) +// Ascii is an alias for the [ASCII] profile for backwards compatibility. +const Ascii = ASCII //nolint:revive + // String returns the string representation of a Profile. func (p Profile) String() string { switch p { @@ -32,12 +37,13 @@ func (p Profile) String() string { return "ANSI256" case ANSI: return "ANSI" - case Ascii: + case ASCII: return "Ascii" case NoTTY: return "NoTTY" + default: + return "Unknown" } - return "Unknown" } var ( @@ -50,7 +56,7 @@ var ( // Convert transforms a given Color to a Color supported within the Profile. func (p Profile) Convert(c color.Color) (cc color.Color) { - if p <= Ascii { + if p <= ASCII { return nil } if p == TrueColor { @@ -90,11 +96,13 @@ func (p Profile) Convert(c color.Color) (cc color.Color) { return c default: - if p == ANSI256 { + switch p { + case ANSI256: return ansi.Convert256(c) - } else if p == ANSI { + case ANSI: return ansi.Convert16(c) + default: + return c } - return c } } diff --git a/tools/vendor/github.com/charmbracelet/colorprofile/writer.go b/tools/vendor/github.com/charmbracelet/colorprofile/writer.go index 47f0c6eb9..1a88e2b7b 100644 --- a/tools/vendor/github.com/charmbracelet/colorprofile/writer.go +++ b/tools/vendor/github.com/charmbracelet/colorprofile/writer.go @@ -36,12 +36,12 @@ type Writer struct { // Write writes the given text to the underlying writer. func (w *Writer) Write(p []byte) (int, error) { - switch w.Profile { - case TrueColor: + switch { + case w.Profile == TrueColor: return w.Forward.Write(p) //nolint:wrapcheck - case NoTTY: + case w.Profile <= NoTTY: return io.WriteString(w.Forward, ansi.Strip(string(p))) //nolint:wrapcheck - case Ascii, ANSI, ANSI256: + case w.Profile == ASCII, w.Profile == ANSI, w.Profile == ANSI256: return w.downsample(p) default: return 0, fmt.Errorf("invalid profile: %v", w.Profile) @@ -112,7 +112,7 @@ func handleSgr(w *Writer, p *ansi.Parser, buf *bytes.Buffer) { if w.Profile < ANSI { continue } - style = style.DefaultForegroundColor() + style = style.ForegroundColor(nil) case 40, 41, 42, 43, 44, 45, 46, 47: // 8-bit background color if w.Profile < ANSI { continue @@ -132,7 +132,7 @@ func handleSgr(w *Writer, p *ansi.Parser, buf *bytes.Buffer) { if w.Profile < ANSI { continue } - style = style.DefaultBackgroundColor() + style = style.BackgroundColor(nil) case 58: // 16 or 24-bit underline color var c color.Color if n := ansi.ReadStyleColor(params[i:], &c); n > 0 { @@ -146,7 +146,7 @@ func handleSgr(w *Writer, p *ansi.Parser, buf *bytes.Buffer) { if w.Profile < ANSI { continue } - style = style.DefaultUnderlineColor() + style = style.UnderlineColor(nil) case 90, 91, 92, 93, 94, 95, 96, 97: // 8-bit bright foreground color if w.Profile < ANSI { continue diff --git a/tools/vendor/github.com/golangci/gofmt/gofmt/gofmt.go b/tools/vendor/github.com/golangci/gofmt/gofmt/gofmt.go index f45435822..a4f252e86 100644 --- a/tools/vendor/github.com/golangci/gofmt/gofmt/gofmt.go +++ b/tools/vendor/github.com/golangci/gofmt/gofmt/gofmt.go @@ -555,7 +555,7 @@ func backupFile(filename string, data []byte, perm fs.FileMode) (string, error) if err == nil { break } - if !os.IsExist(err) { + if err != nil && !os.IsExist(err) { return "", err } } diff --git a/tools/vendor/github.com/golangci/gofmt/gofmt/readme.md b/tools/vendor/github.com/golangci/gofmt/gofmt/readme.md index d11d46410..907973116 100644 --- a/tools/vendor/github.com/golangci/gofmt/gofmt/readme.md +++ b/tools/vendor/github.com/golangci/gofmt/gofmt/readme.md @@ -1,16 +1,13 @@ # Hard Fork of gofmt - https://github.com/golang/go/blob/master/src/cmd/gofmt/ -- https://github.com/golang/go/blob/master/src/internal/cfg -- https://github.com/golang/go/blob/master/src/internal/goarch - https://github.com/golang/go/blob/master/src/internal/testenv - https://github.com/golang/go/blob/master/src/internal/platform - https://github.com/golang/go/blob/master/src/internal/diff -> replaced by `github.com/rogpeppe/go-internal/diff` +- https://github.com/golang/go/blob/master/src/internal/cfg ## Updates -- 2025-07-04: Sync with go1.24.4 -- 2025-04-14: Sync with go1.23.8 - 2024-08-17: Sync with go1.22.6 - 2023-02-28: Sync with go1.21.7 - 2023-10-04: Sync with go1.20.8 diff --git a/tools/vendor/github.com/golangci/golangci-lint/v2/pkg/commands/config_verify.go b/tools/vendor/github.com/golangci/golangci-lint/v2/pkg/commands/config_verify.go index 1bbc47d8d..ef7a4e094 100644 --- a/tools/vendor/github.com/golangci/golangci-lint/v2/pkg/commands/config_verify.go +++ b/tools/vendor/github.com/golangci/golangci-lint/v2/pkg/commands/config_verify.go @@ -17,7 +17,7 @@ import ( "github.com/santhosh-tekuri/jsonschema/v6" "github.com/spf13/cobra" "github.com/spf13/pflag" - "go.yaml.in/yaml/v3" + "gopkg.in/yaml.v3" "github.com/golangci/golangci-lint/v2/pkg/exitcodes" ) diff --git a/tools/vendor/github.com/golangci/golangci-lint/v2/pkg/commands/custom.go b/tools/vendor/github.com/golangci/golangci-lint/v2/pkg/commands/custom.go index e6a7f5ed7..227df9bee 100644 --- a/tools/vendor/github.com/golangci/golangci-lint/v2/pkg/commands/custom.go +++ b/tools/vendor/github.com/golangci/golangci-lint/v2/pkg/commands/custom.go @@ -5,7 +5,6 @@ import ( "log" "os" - "github.com/fatih/color" "github.com/spf13/cobra" "github.com/golangci/golangci-lint/v2/pkg/commands/internal" @@ -14,19 +13,11 @@ import ( const envKeepTempFiles = "CUSTOM_GCL_KEEP_TEMP_FILES" -type customOptions struct { - version string - name string - destination string -} - type customCommand struct { cmd *cobra.Command cfg *internal.Configuration - opts customOptions - log logutils.Log } @@ -42,13 +33,6 @@ func newCustomCommand(logger logutils.Log) *customCommand { SilenceUsage: true, } - flagSet := customCmd.PersistentFlags() - flagSet.SortFlags = false // sort them as they are defined here - - flagSet.StringVar(&c.opts.version, "version", "", color.GreenString("The golangci-lint version used to build the custom binary")) - flagSet.StringVar(&c.opts.name, "name", "", color.GreenString("The name of the custom binary")) - flagSet.StringVar(&c.opts.destination, "destination", "", color.GreenString("The directory path used to store the custom binary")) - c.cmd = customCmd return c @@ -60,18 +44,6 @@ func (c *customCommand) preRunE(_ *cobra.Command, _ []string) error { return err } - if c.opts.version != "" { - cfg.Version = c.opts.version - } - - if c.opts.name != "" { - cfg.Name = c.opts.name - } - - if c.opts.destination != "" { - cfg.Destination = c.opts.destination - } - err = cfg.Validate() if err != nil { return err diff --git a/tools/vendor/github.com/golangci/golangci-lint/v2/pkg/commands/internal/builder.go b/tools/vendor/github.com/golangci/golangci-lint/v2/pkg/commands/internal/builder.go index 63f6f2f18..bfd242f15 100644 --- a/tools/vendor/github.com/golangci/golangci-lint/v2/pkg/commands/internal/builder.go +++ b/tools/vendor/github.com/golangci/golangci-lint/v2/pkg/commands/internal/builder.go @@ -92,7 +92,7 @@ func (b Builder) clone(ctx context.Context) error { //nolint:gosec // the variable is sanitized. cmd := exec.CommandContext(ctx, "git", "clone", "--branch", sanitizeVersion(b.cfg.Version), - "--single-branch", "--depth", "1", "-c", "advice.detachedHead=false", "-q", + "--single-branch", "--depth", "1", "-c advice.detachedHead=false", "-q", "https://github.com/golangci/golangci-lint.git", ) cmd.Dir = b.root diff --git a/tools/vendor/github.com/golangci/golangci-lint/v2/pkg/commands/internal/configuration.go b/tools/vendor/github.com/golangci/golangci-lint/v2/pkg/commands/internal/configuration.go index 0982c3eca..f9de4c47a 100644 --- a/tools/vendor/github.com/golangci/golangci-lint/v2/pkg/commands/internal/configuration.go +++ b/tools/vendor/github.com/golangci/golangci-lint/v2/pkg/commands/internal/configuration.go @@ -7,7 +7,7 @@ import ( "path/filepath" "strings" - "go.yaml.in/yaml/v3" + "gopkg.in/yaml.v3" ) const base = ".custom-gcl" diff --git a/tools/vendor/github.com/golangci/golangci-lint/v2/pkg/commands/internal/migrate/parser/parser.go b/tools/vendor/github.com/golangci/golangci-lint/v2/pkg/commands/internal/migrate/parser/parser.go index 293eaf18a..ea00b41f5 100644 --- a/tools/vendor/github.com/golangci/golangci-lint/v2/pkg/commands/internal/migrate/parser/parser.go +++ b/tools/vendor/github.com/golangci/golangci-lint/v2/pkg/commands/internal/migrate/parser/parser.go @@ -10,7 +10,7 @@ import ( "strings" "github.com/pelletier/go-toml/v2" - "go.yaml.in/yaml/v3" + "gopkg.in/yaml.v3" ) type File interface { diff --git a/tools/vendor/github.com/golangci/golangci-lint/v2/pkg/commands/internal/migrate/versionone/linters_settings.go b/tools/vendor/github.com/golangci/golangci-lint/v2/pkg/commands/internal/migrate/versionone/linters_settings.go index 3c641541c..44583b7d3 100644 --- a/tools/vendor/github.com/golangci/golangci-lint/v2/pkg/commands/internal/migrate/versionone/linters_settings.go +++ b/tools/vendor/github.com/golangci/golangci-lint/v2/pkg/commands/internal/migrate/versionone/linters_settings.go @@ -3,7 +3,7 @@ package versionone import ( "encoding" - "go.yaml.in/yaml/v3" + "gopkg.in/yaml.v3" "github.com/golangci/golangci-lint/v2/pkg/commands/internal/migrate/ptr" ) diff --git a/tools/vendor/github.com/golangci/golangci-lint/v2/pkg/commands/run.go b/tools/vendor/github.com/golangci/golangci-lint/v2/pkg/commands/run.go index 93efa6d9c..d1c96b88e 100644 --- a/tools/vendor/github.com/golangci/golangci-lint/v2/pkg/commands/run.go +++ b/tools/vendor/github.com/golangci/golangci-lint/v2/pkg/commands/run.go @@ -26,8 +26,8 @@ import ( "github.com/spf13/pflag" "github.com/spf13/viper" "go.uber.org/automaxprocs/maxprocs" - "go.yaml.in/yaml/v3" "golang.org/x/mod/sumdb/dirhash" + "gopkg.in/yaml.v3" "github.com/golangci/golangci-lint/v2/internal/cache" "github.com/golangci/golangci-lint/v2/pkg/config" diff --git a/tools/vendor/github.com/golangci/golangci-lint/v2/pkg/config/linters_settings.go b/tools/vendor/github.com/golangci/golangci-lint/v2/pkg/config/linters_settings.go index fefa94ca3..ba60dd2c6 100644 --- a/tools/vendor/github.com/golangci/golangci-lint/v2/pkg/config/linters_settings.go +++ b/tools/vendor/github.com/golangci/golangci-lint/v2/pkg/config/linters_settings.go @@ -834,16 +834,15 @@ type RecvcheckSettings struct { } type ReviveSettings struct { - Go string `mapstructure:"-"` - MaxOpenFiles int `mapstructure:"max-open-files"` - Confidence float64 `mapstructure:"confidence"` - Severity string `mapstructure:"severity"` - EnableAllRules bool `mapstructure:"enable-all-rules"` - EnableDefaultRules bool `mapstructure:"enable-default-rules"` - Rules []ReviveRule `mapstructure:"rules"` - ErrorCode int `mapstructure:"error-code"` - WarningCode int `mapstructure:"warning-code"` - Directives []ReviveDirective `mapstructure:"directives"` + Go string `mapstructure:"-"` + MaxOpenFiles int `mapstructure:"max-open-files"` + Confidence float64 `mapstructure:"confidence"` + Severity string `mapstructure:"severity"` + EnableAllRules bool `mapstructure:"enable-all-rules"` + Rules []ReviveRule `mapstructure:"rules"` + ErrorCode int `mapstructure:"error-code"` + WarningCode int `mapstructure:"warning-code"` + Directives []ReviveDirective `mapstructure:"directives"` } type ReviveRule struct { diff --git a/tools/vendor/github.com/golangci/golangci-lint/v2/pkg/goformatters/gci/internal/config/config.go b/tools/vendor/github.com/golangci/golangci-lint/v2/pkg/goformatters/gci/internal/config/config.go index 13ca6dd86..c859b442f 100644 --- a/tools/vendor/github.com/golangci/golangci-lint/v2/pkg/goformatters/gci/internal/config/config.go +++ b/tools/vendor/github.com/golangci/golangci-lint/v2/pkg/goformatters/gci/internal/config/config.go @@ -4,7 +4,7 @@ import ( "sort" "strings" - "go.yaml.in/yaml/v3" + "gopkg.in/yaml.v3" "github.com/daixiang0/gci/pkg/config" "github.com/daixiang0/gci/pkg/section" diff --git a/tools/vendor/github.com/golangci/golangci-lint/v2/pkg/golinters/contextcheck/contextcheck.go b/tools/vendor/github.com/golangci/golangci-lint/v2/pkg/golinters/contextcheck/contextcheck.go index b01df7d98..88c71d2d3 100644 --- a/tools/vendor/github.com/golangci/golangci-lint/v2/pkg/golinters/contextcheck/contextcheck.go +++ b/tools/vendor/github.com/golangci/golangci-lint/v2/pkg/golinters/contextcheck/contextcheck.go @@ -2,8 +2,6 @@ package contextcheck import ( "github.com/kkHAIKE/contextcheck" - "golang.org/x/tools/go/analysis/passes/ctrlflow" - "golang.org/x/tools/go/analysis/passes/inspect" "github.com/golangci/golangci-lint/v2/pkg/goanalysis" "github.com/golangci/golangci-lint/v2/pkg/lint/linter" @@ -11,11 +9,6 @@ import ( func New() *goanalysis.Linter { analyzer := contextcheck.NewAnalyzer(contextcheck.Configuration{}) - // TODO(ldez) there is a problem with this linter: - // I think the problem related to facts. - // The BuildSSA pass has been changed inside (0.39.0): - // https://github.com/golang/tools/commit/b74c09864920a69a4d2f6ef0ecb4f9cff226893a - analyzer.Requires = append(analyzer.Requires, ctrlflow.Analyzer, inspect.Analyzer) return goanalysis. NewLinterFromAnalyzer(analyzer). diff --git a/tools/vendor/github.com/golangci/golangci-lint/v2/pkg/golinters/forbidigo/forbidigo.go b/tools/vendor/github.com/golangci/golangci-lint/v2/pkg/golinters/forbidigo/forbidigo.go index 1473b4d6e..796faf3a6 100644 --- a/tools/vendor/github.com/golangci/golangci-lint/v2/pkg/golinters/forbidigo/forbidigo.go +++ b/tools/vendor/github.com/golangci/golangci-lint/v2/pkg/golinters/forbidigo/forbidigo.go @@ -4,8 +4,8 @@ import ( "fmt" "github.com/ashanbrown/forbidigo/v2/forbidigo" - "go.yaml.in/yaml/v3" "golang.org/x/tools/go/analysis" + "gopkg.in/yaml.v3" "github.com/golangci/golangci-lint/v2/pkg/config" "github.com/golangci/golangci-lint/v2/pkg/goanalysis" diff --git a/tools/vendor/github.com/golangci/golangci-lint/v2/pkg/golinters/modernize/modernize.go b/tools/vendor/github.com/golangci/golangci-lint/v2/pkg/golinters/modernize/modernize.go index 08cccdeb8..97825c07e 100644 --- a/tools/vendor/github.com/golangci/golangci-lint/v2/pkg/golinters/modernize/modernize.go +++ b/tools/vendor/github.com/golangci/golangci-lint/v2/pkg/golinters/modernize/modernize.go @@ -14,9 +14,9 @@ func New(settings *config.ModernizeSettings) *goanalysis.Linter { var analyzers []*analysis.Analyzer if settings == nil { - analyzers = cleanSuite() + analyzers = modernize.Suite } else { - for _, analyzer := range cleanSuite() { + for _, analyzer := range modernize.Suite { if slices.Contains(settings.Disable, analyzer.Name) { continue } @@ -32,19 +32,3 @@ func New(settings *config.ModernizeSettings) *goanalysis.Linter { nil). WithLoadMode(goanalysis.LoadModeTypesInfo) } - -func cleanSuite() []*analysis.Analyzer { - var analyzers []*analysis.Analyzer - - for _, analyzer := range modernize.Suite { - // Disabled because of false positives - // https://github.com/golang/go/issues/76687 - if analyzer.Name == "stringscut" { - continue - } - - analyzers = append(analyzers, analyzer) - } - - return analyzers -} diff --git a/tools/vendor/github.com/golangci/golangci-lint/v2/pkg/golinters/revive/revive.go b/tools/vendor/github.com/golangci/golangci-lint/v2/pkg/golinters/revive/revive.go index 6799e1a42..8e5a7835d 100644 --- a/tools/vendor/github.com/golangci/golangci-lint/v2/pkg/golinters/revive/revive.go +++ b/tools/vendor/github.com/golangci/golangci-lint/v2/pkg/golinters/revive/revive.go @@ -169,8 +169,8 @@ func (w *wrapper) toIssue(pass *analysis.Pass, failure *lint.Failure) *goanalysi // This function mimics the GetConfig function of revive. // This allows to get default values and right types. // https://github.com/golangci/golangci-lint/issues/1745 -// https://github.com/mgechev/revive/blob/v1.13.0/config/config.go#L249 -// https://github.com/mgechev/revive/blob/v1.13.0/config/config.go#L198-L204 +// https://github.com/mgechev/revive/blob/v1.6.0/config/config.go#L230 +// https://github.com/mgechev/revive/blob/v1.6.0/config/config.go#L182-L188 func getConfig(cfg *config.ReviveSettings) (*lint.Config, error) { conf := defaultConfig() @@ -269,7 +269,7 @@ func safeTomlSlice(r []any) []any { } // This element is not exported by revive, so we need copy the code. -// Extracted from https://github.com/mgechev/revive/blob/v1.13.0/config/config.go#L16 +// Extracted from https://github.com/mgechev/revive/blob/v1.12.0/config/config.go#L16 var defaultRules = []lint.Rule{ &rule.VarDeclarationsRule{}, &rule.PackageCommentsRule{}, @@ -325,7 +325,6 @@ var allRules = append([]lint.Rule{ &rule.FileLengthLimitRule{}, &rule.FilenameFormatRule{}, &rule.FlagParamRule{}, - &rule.ForbiddenCallInWgGoRule{}, &rule.FunctionLength{}, &rule.FunctionResultsLimitRule{}, &rule.GetReturnRule{}, @@ -338,7 +337,6 @@ var allRules = append([]lint.Rule{ &rule.ImportAliasNamingRule{}, &rule.ImportsBlocklistRule{}, &rule.ImportShadowingRule{}, - &rule.InefficientMapLookupRule{}, &rule.LineLengthLimitRule{}, &rule.MaxControlNestingRule{}, &rule.MaxPublicStructsRule{}, @@ -362,7 +360,6 @@ var allRules = append([]lint.Rule{ &rule.UnexportedNamingRule{}, &rule.UnhandledErrorRule{}, &rule.UnnecessaryFormatRule{}, - &rule.UnnecessaryIfRule{}, &rule.UnnecessaryStmtRule{}, &rule.UnsecureURLSchemeRule{}, &rule.UnusedReceiverRule{}, @@ -378,7 +375,7 @@ var allRules = append([]lint.Rule{ const defaultConfidence = 0.8 // This element is not exported by revive, so we need copy the code. -// Extracted from https://github.com/mgechev/revive/blob/v1.13.0/config/config.go#L209 +// Extracted from https://github.com/mgechev/revive/blob/v1.12.0/config/config.go#L206 func normalizeConfig(cfg *lint.Config) { // NOTE(ldez): this custom section for golangci-lint should be kept. // --- @@ -389,22 +386,19 @@ func normalizeConfig(cfg *lint.Config) { if len(cfg.Rules) == 0 { cfg.Rules = map[string]lint.RuleConfig{} } - - addRules := func(config *lint.Config, rules []lint.Rule) { - for _, r := range rules { + if cfg.EnableAllRules { + // Add to the configuration all rules not yet present in it + for _, r := range allRules { ruleName := r.Name() - if _, ok := config.Rules[ruleName]; !ok { - config.Rules[ruleName] = lint.RuleConfig{} + _, alreadyInConf := cfg.Rules[ruleName] + if alreadyInConf { + continue } + // Add the rule with an empty conf for + cfg.Rules[ruleName] = lint.RuleConfig{} } } - if cfg.EnableAllRules { - addRules(cfg, allRules) - } else if cfg.EnableDefaultRules { - addRules(cfg, defaultRules) - } - severity := cfg.Severity if severity != "" { for k, v := range cfg.Rules { @@ -423,7 +417,7 @@ func normalizeConfig(cfg *lint.Config) { } // This element is not exported by revive, so we need copy the code. -// Extracted from https://github.com/mgechev/revive/blob/v1.13.0/config/config.go#L280 +// Extracted from https://github.com/mgechev/revive/blob/v1.12.0/config/config.go#L274 func defaultConfig() *lint.Config { defaultConfig := lint.Config{ Confidence: defaultConfidence, @@ -469,7 +463,7 @@ func extractRulesName(rules []lint.Rule) []string { return names } -// Extracted from https://github.com/mgechev/revive/blob/v1.13.0/formatter/severity.go +// Extracted from https://github.com/mgechev/revive/blob/v1.12.0/formatter/severity.go // Modified to use pointers (related to hugeParam rule). func severity(cfg *lint.Config, failure *lint.Failure) lint.Severity { if cfg, ok := cfg.Rules[failure.RuleName]; ok && cfg.Severity == lint.SeverityError { diff --git a/tools/vendor/github.com/golangci/golangci-lint/v2/pkg/lint/linter/config.go b/tools/vendor/github.com/golangci/golangci-lint/v2/pkg/lint/linter/config.go index a5b98413d..0287dece9 100644 --- a/tools/vendor/github.com/golangci/golangci-lint/v2/pkg/lint/linter/config.go +++ b/tools/vendor/github.com/golangci/golangci-lint/v2/pkg/lint/linter/config.go @@ -4,8 +4,8 @@ import ( "bytes" "fmt" - "go.yaml.in/yaml/v3" "golang.org/x/tools/go/packages" + "gopkg.in/yaml.v3" "github.com/golangci/golangci-lint/v2/pkg/config" ) diff --git a/tools/vendor/modules.txt b/tools/vendor/modules.txt index d5bb576b3..ffae4d30f 100644 --- a/tools/vendor/modules.txt +++ b/tools/vendor/modules.txt @@ -150,7 +150,7 @@ github.com/cespare/xxhash/v2 # github.com/charithe/durationcheck v0.0.11 ## explicit; go 1.16 github.com/charithe/durationcheck -# github.com/charmbracelet/colorprofile v0.3.3 +# github.com/charmbracelet/colorprofile v0.4.1 ## explicit; go 1.24.2 github.com/charmbracelet/colorprofile # github.com/charmbracelet/lipgloss v1.1.0 @@ -312,10 +312,10 @@ github.com/golangci/dupl/syntax/golang # github.com/golangci/go-printf-func-name v0.1.1 ## explicit; go 1.23.0 github.com/golangci/go-printf-func-name/pkg/analyzer -# github.com/golangci/gofmt v0.0.0-20250704145412-3e58ba0443c6 -## explicit; go 1.23.0 +# github.com/golangci/gofmt v0.0.0-20250106114630-d62b90e6713d +## explicit; go 1.22.0 github.com/golangci/gofmt/gofmt -# github.com/golangci/golangci-lint/v2 v2.7.2 +# github.com/golangci/golangci-lint/v2 v2.6.2 ## explicit; go 1.24.0 github.com/golangci/golangci-lint/v2/cmd/golangci-lint github.com/golangci/golangci-lint/v2/internal/cache @@ -938,7 +938,7 @@ go.yaml.in/yaml/v2 # go.yaml.in/yaml/v3 v3.0.4 ## explicit; go 1.16 go.yaml.in/yaml/v3 -# golang.org/x/exp/typeparams v0.0.0-20251125195548-87e1e737ad39 +# golang.org/x/exp/typeparams v0.0.0-20251209150349-8475f28825e9 ## explicit; go 1.24.0 golang.org/x/exp/typeparams # golang.org/x/mod v0.31.0 diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/CHANGELOG.md b/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/CHANGELOG.md index b10212cc2..02525678f 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/CHANGELOG.md +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/CHANGELOG.md @@ -1,3 +1,11 @@ +# v1.277.0 (2025-12-15) + +* **Feature**: EC2 Capacity Manager now supports SpotTotalCount, SpotTotalInterruptions and SpotInterruptionRate metrics for both vCPU and instance units. + +# v1.276.1 (2025-12-09) + +* No change notes available for this release. + # v1.276.0 (2025-12-08) * **Feature**: Amazon EC2 P6-B300 instances provide 8x NVIDIA Blackwell Ultra GPUs with 2.1 TB high bandwidth GPU memory, 6.4 Tbps EFA networking, 300 Gbps dedicated ENA throughput, and 4 TB of system memory. Amazon EC2 C8a instances are powered by 5th Gen AMD EPYC processors with a maximum frequency of 4.5 GHz. diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/go_module_metadata.go b/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/go_module_metadata.go index 25cfae4d7..36141b42e 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/go_module_metadata.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/go_module_metadata.go @@ -3,4 +3,4 @@ package ec2 // goModuleVersion is the tagged release for this module -const goModuleVersion = "1.276.0" +const goModuleVersion = "1.277.0" diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/internal/endpoints/endpoints.go b/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/internal/endpoints/endpoints.go index 1b3004e32..c3c0c60bc 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/internal/endpoints/endpoints.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/internal/endpoints/endpoints.go @@ -532,6 +532,11 @@ var defaultPartitions = endpoints.Partitions{ }, RegionRegex: partitionRegexp.AwsEusc, IsRegionalized: true, + Endpoints: endpoints.Endpoints{ + endpoints.EndpointKey{ + Region: "eusc-de-east-1", + }: endpoints.Endpoint{}, + }, }, { ID: "aws-iso", diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/types/enums.go b/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/types/enums.go index face8ea82..64c4cbea3 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/types/enums.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/types/enums.go @@ -7933,6 +7933,12 @@ const ( MetricSpotAvgRunTimeBeforeInterruptionInst Metric = "spot-avg-run-time-before-interruption-inst" MetricSpotMaxRunTimeBeforeInterruptionInst Metric = "spot-max-run-time-before-interruption-inst" MetricSpotMinRunTimeBeforeInterruptionInst Metric = "spot-min-run-time-before-interruption-inst" + MetricSpotTotalInterruptionsInst Metric = "spot-total-interruptions-inst" + MetricSpotTotalInterruptionsVcpu Metric = "spot-total-interruptions-vcpu" + MetricSpotTotalCountInst Metric = "spot-total-count-inst" + MetricSpotTotalCountVcpu Metric = "spot-total-count-vcpu" + MetricSpotInterruptionRateInst Metric = "spot-interruption-rate-inst" + MetricSpotInterruptionRateVcpu Metric = "spot-interruption-rate-vcpu" ) // Values returns all known values for Metric. Note that this can be expanded in @@ -7984,6 +7990,12 @@ func (Metric) Values() []Metric { "spot-avg-run-time-before-interruption-inst", "spot-max-run-time-before-interruption-inst", "spot-min-run-time-before-interruption-inst", + "spot-total-interruptions-inst", + "spot-total-interruptions-vcpu", + "spot-total-count-inst", + "spot-total-count-vcpu", + "spot-interruption-rate-inst", + "spot-interruption-rate-vcpu", } } diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/CHANGELOG.md b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/CHANGELOG.md index 57c3f6f44..0b9ad834f 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/CHANGELOG.md +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/CHANGELOG.md @@ -1,3 +1,11 @@ +# v1.94.0 (2025-12-15) + +* **Feature**: This release adds support for the new optional field 'LifecycleExpirationDate' in S3 Inventory configurations. + +# v1.93.2 (2025-12-09) + +* No change notes available for this release. + # v1.93.1 (2025-12-08) * **Dependency Update**: Updated to the latest SDK module versions diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/go_module_metadata.go b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/go_module_metadata.go index 257bd0516..a1c22e183 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/go_module_metadata.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/go_module_metadata.go @@ -3,4 +3,4 @@ package s3 // goModuleVersion is the tagged release for this module -const goModuleVersion = "1.93.1" +const goModuleVersion = "1.94.0" diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/internal/endpoints/endpoints.go b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/internal/endpoints/endpoints.go index a1eb03d37..3a9aa9031 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/internal/endpoints/endpoints.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/internal/endpoints/endpoints.go @@ -710,6 +710,11 @@ var defaultPartitions = endpoints.Partitions{ }, RegionRegex: partitionRegexp.AwsEusc, IsRegionalized: true, + Endpoints: endpoints.Endpoints{ + endpoints.EndpointKey{ + Region: "eusc-de-east-1", + }: endpoints.Endpoint{}, + }, }, { ID: "aws-iso", diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/types/enums.go b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/types/enums.go index 9364f873e..1a4d118f7 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/types/enums.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/types/enums.go @@ -715,6 +715,7 @@ const ( InventoryOptionalFieldChecksumAlgorithm InventoryOptionalField = "ChecksumAlgorithm" InventoryOptionalFieldObjectAccessControlList InventoryOptionalField = "ObjectAccessControlList" InventoryOptionalFieldObjectOwner InventoryOptionalField = "ObjectOwner" + InventoryOptionalFieldLifecycleExpirationDate InventoryOptionalField = "LifecycleExpirationDate" ) // Values returns all known values for InventoryOptionalField. Note that this can @@ -738,6 +739,7 @@ func (InventoryOptionalField) Values() []InventoryOptionalField { "ChecksumAlgorithm", "ObjectAccessControlList", "ObjectOwner", + "LifecycleExpirationDate", } } diff --git a/vendor/github.com/charmbracelet/colorprofile/.golangci.yml b/vendor/github.com/charmbracelet/colorprofile/.golangci.yml index 929cb0ac9..c90f03161 100644 --- a/vendor/github.com/charmbracelet/colorprofile/.golangci.yml +++ b/vendor/github.com/charmbracelet/colorprofile/.golangci.yml @@ -33,6 +33,9 @@ linters: generated: lax presets: - common-false-positives + settings: + exhaustive: + default-signifies-exhaustive: true issues: max-issues-per-linter: 0 max-same-issues: 0 diff --git a/vendor/github.com/charmbracelet/colorprofile/env.go b/vendor/github.com/charmbracelet/colorprofile/env.go index 3c312c9fd..3547324a8 100644 --- a/vendor/github.com/charmbracelet/colorprofile/env.go +++ b/vendor/github.com/charmbracelet/colorprofile/env.go @@ -83,8 +83,8 @@ func colorProfile(isatty bool, env environ) (p Profile) { } if envNoColor(env) && isatty { - if p > Ascii { - p = Ascii + if p > ASCII { + p = ASCII } return //nolint:nakedret } diff --git a/vendor/github.com/charmbracelet/colorprofile/profile.go b/vendor/github.com/charmbracelet/colorprofile/profile.go index 4eb77ca43..4ff7f6897 100644 --- a/vendor/github.com/charmbracelet/colorprofile/profile.go +++ b/vendor/github.com/charmbracelet/colorprofile/profile.go @@ -11,10 +11,12 @@ import ( type Profile byte const ( + // Unknown is a profile that represents the absence of a profile. + Unknown Profile = iota // NoTTY is a profile with no terminal support. - NoTTY Profile = iota - // Ascii is a profile with no color support. - Ascii //nolint:revive + NoTTY + // ASCII is a profile with no color support. + ASCII // ANSI is a profile with 16 colors (4-bit). ANSI // ANSI256 is a profile with 256 colors (8-bit). @@ -23,6 +25,9 @@ const ( TrueColor ) +// Ascii is an alias for the [ASCII] profile for backwards compatibility. +const Ascii = ASCII //nolint:revive + // String returns the string representation of a Profile. func (p Profile) String() string { switch p { @@ -32,12 +37,13 @@ func (p Profile) String() string { return "ANSI256" case ANSI: return "ANSI" - case Ascii: + case ASCII: return "Ascii" case NoTTY: return "NoTTY" + default: + return "Unknown" } - return "Unknown" } var ( @@ -50,7 +56,7 @@ var ( // Convert transforms a given Color to a Color supported within the Profile. func (p Profile) Convert(c color.Color) (cc color.Color) { - if p <= Ascii { + if p <= ASCII { return nil } if p == TrueColor { @@ -90,11 +96,13 @@ func (p Profile) Convert(c color.Color) (cc color.Color) { return c default: - if p == ANSI256 { + switch p { + case ANSI256: return ansi.Convert256(c) - } else if p == ANSI { + case ANSI: return ansi.Convert16(c) + default: + return c } - return c } } diff --git a/vendor/github.com/charmbracelet/colorprofile/writer.go b/vendor/github.com/charmbracelet/colorprofile/writer.go index 47f0c6eb9..1a88e2b7b 100644 --- a/vendor/github.com/charmbracelet/colorprofile/writer.go +++ b/vendor/github.com/charmbracelet/colorprofile/writer.go @@ -36,12 +36,12 @@ type Writer struct { // Write writes the given text to the underlying writer. func (w *Writer) Write(p []byte) (int, error) { - switch w.Profile { - case TrueColor: + switch { + case w.Profile == TrueColor: return w.Forward.Write(p) //nolint:wrapcheck - case NoTTY: + case w.Profile <= NoTTY: return io.WriteString(w.Forward, ansi.Strip(string(p))) //nolint:wrapcheck - case Ascii, ANSI, ANSI256: + case w.Profile == ASCII, w.Profile == ANSI, w.Profile == ANSI256: return w.downsample(p) default: return 0, fmt.Errorf("invalid profile: %v", w.Profile) @@ -112,7 +112,7 @@ func handleSgr(w *Writer, p *ansi.Parser, buf *bytes.Buffer) { if w.Profile < ANSI { continue } - style = style.DefaultForegroundColor() + style = style.ForegroundColor(nil) case 40, 41, 42, 43, 44, 45, 46, 47: // 8-bit background color if w.Profile < ANSI { continue @@ -132,7 +132,7 @@ func handleSgr(w *Writer, p *ansi.Parser, buf *bytes.Buffer) { if w.Profile < ANSI { continue } - style = style.DefaultBackgroundColor() + style = style.BackgroundColor(nil) case 58: // 16 or 24-bit underline color var c color.Color if n := ansi.ReadStyleColor(params[i:], &c); n > 0 { @@ -146,7 +146,7 @@ func handleSgr(w *Writer, p *ansi.Parser, buf *bytes.Buffer) { if w.Profile < ANSI { continue } - style = style.DefaultUnderlineColor() + style = style.UnderlineColor(nil) case 90, 91, 92, 93, 94, 95, 96, 97: // 8-bit bright foreground color if w.Profile < ANSI { continue diff --git a/vendor/github.com/go-playground/validator/v10/.golangci.yaml b/vendor/github.com/go-playground/validator/v10/.golangci.yaml index dd9c05cc8..96337d6ca 100644 --- a/vendor/github.com/go-playground/validator/v10/.golangci.yaml +++ b/vendor/github.com/go-playground/validator/v10/.golangci.yaml @@ -32,6 +32,7 @@ linters: - maintidx - misspell - mnd + - modernize - nakedret - nestif - nilnil diff --git a/vendor/github.com/go-playground/validator/v10/README.md b/vendor/github.com/go-playground/validator/v10/README.md index cb5d41945..16b16d8dd 100644 --- a/vendor/github.com/go-playground/validator/v10/README.md +++ b/vendor/github.com/go-playground/validator/v10/README.md @@ -137,6 +137,7 @@ validate := validator.New(validator.WithRequiredStructEnabled()) | alpha | Alpha Only | | alphaspace | Alpha Space | | alphanum | Alphanumeric | +| alphanumspace | Alphanumeric Space | | alphanumunicode | Alphanumeric Unicode | | alphaunicode | Alpha Unicode | | ascii | ASCII | @@ -164,7 +165,8 @@ validate := validator.New(validator.WithRequiredStructEnabled()) | base64 | Base64 String | | base64url | Base64URL String | | base64rawurl | Base64RawURL String | -| bic | Business Identifier Code (ISO 9362) | +| bic_iso_9362_2014 | Business Identifier Code (ISO 9362:2014) | +| bic | Business Identifier Code (ISO 9362:2022) | | bcp47_language_tag | Language tag (BCP 47) | | btc_addr | Bitcoin Address | | btc_addr_bech32 | Bitcoin Bech32 Address (segwit) | diff --git a/vendor/github.com/go-playground/validator/v10/baked_in.go b/vendor/github.com/go-playground/validator/v10/baked_in.go index 8fd55e77e..e90c98e46 100644 --- a/vendor/github.com/go-playground/validator/v10/baked_in.go +++ b/vendor/github.com/go-playground/validator/v10/baked_in.go @@ -120,6 +120,7 @@ var ( "alpha": isAlpha, "alphaspace": isAlphaSpace, "alphanum": isAlphanum, + "alphanumspace": isAlphaNumericSpace, "alphaunicode": isAlphaUnicode, "alphanumunicode": isAlphanumUnicode, "boolean": isBoolean, @@ -237,7 +238,8 @@ var ( "bcp47_language_tag": isBCP47LanguageTag, "postcode_iso3166_alpha2": isPostcodeByIso3166Alpha2, "postcode_iso3166_alpha2_field": isPostcodeByIso3166Alpha2Field, - "bic": isIsoBicFormat, + "bic_iso_9362_2014": isIsoBic2014Format, + "bic": isIsoBic2022Format, "semver": isSemverFormat, "dns_rfc1035_label": isDnsRFC1035LabelFormat, "credit_card": isCreditCard, @@ -533,12 +535,20 @@ func hasMultiByteCharacter(fl FieldLevel) bool { // isPrintableASCII is the validation function for validating if the field's value is a valid printable ASCII character. func isPrintableASCII(fl FieldLevel) bool { - return printableASCIIRegex().MatchString(fl.Field().String()) + field := fl.Field() + if field.Kind() == reflect.String { + return printableASCIIRegex().MatchString(field.String()) + } + return false } // isASCII is the validation function for validating if the field's value is a valid ASCII character. func isASCII(fl FieldLevel) bool { - return aSCIIRegex().MatchString(fl.Field().String()) + field := fl.Field() + if field.Kind() == reflect.String { + return aSCIIRegex().MatchString(field.String()) + } + return false } // isUUID5 is the validation function for validating if the field's value is a valid v5 UUID. @@ -1773,6 +1783,11 @@ func isAlphaSpace(fl FieldLevel) bool { return alphaSpaceRegex().MatchString(fl.Field().String()) } +// isAlphaNumericSpace is the validation function for validating if the current field's value is a valid alphanumeric value with spaces. +func isAlphaNumericSpace(fl FieldLevel) bool { + return alphanNumericSpaceRegex().MatchString(fl.Field().String()) +} + // isAlphaUnicode is the validation function for validating if the current field's value is a valid alpha unicode value. func isAlphaUnicode(fl FieldLevel) bool { return alphaUnicodeRegex().MatchString(fl.Field().String()) @@ -1974,11 +1989,12 @@ func excludedUnless(fl FieldLevel) bool { panic(fmt.Sprintf("Bad param number for excluded_unless %s", fl.FieldName())) } for i := 0; i < len(params); i += 2 { - if !requireCheckFieldValue(fl, params[i], params[i+1], false) { - return !hasValue(fl) + if requireCheckFieldValue(fl, params[i], params[i+1], false) { + return true } } - return true + + return !hasValue(fl) } // excludedWith is the validation function @@ -2943,11 +2959,18 @@ func isBCP47LanguageTag(fl FieldLevel) bool { panic(fmt.Sprintf("Bad field type %s", field.Type())) } -// isIsoBicFormat is the validation function for validating if the current field's value is a valid Business Identifier Code (SWIFT code), defined in ISO 9362 -func isIsoBicFormat(fl FieldLevel) bool { +// isIsoBic2014Format is the validation function for validating if the current field's value is a valid Business Identifier Code (SWIFT code), defined in ISO 9362 2014 +func isIsoBic2014Format(fl FieldLevel) bool { + bicString := fl.Field().String() + + return bic2014Regex().MatchString(bicString) +} + +// isIsoBic2022Format is the validation function for validating if the current field's value is a valid Business Identifier Code (SWIFT code), defined in ISO 9362 2022 +func isIsoBic2022Format(fl FieldLevel) bool { bicString := fl.Field().String() - return bicRegex().MatchString(bicString) + return bic2022Regex().MatchString(bicString) } // isSemverFormat is the validation function for validating if the current field's value is a valid semver version, defined in Semantic Versioning 2.0.0 diff --git a/vendor/github.com/go-playground/validator/v10/currency_codes.go b/vendor/github.com/go-playground/validator/v10/currency_codes.go index d0317f89c..83b67290d 100644 --- a/vendor/github.com/go-playground/validator/v10/currency_codes.go +++ b/vendor/github.com/go-playground/validator/v10/currency_codes.go @@ -10,33 +10,33 @@ var iso4217 = map[string]struct{}{ "BIF": {}, "CVE": {}, "KHR": {}, "XAF": {}, "CAD": {}, "KYD": {}, "CLP": {}, "CLF": {}, "CNY": {}, "COP": {}, "COU": {}, "KMF": {}, "CDF": {}, "NZD": {}, "CRC": {}, - "HRK": {}, "CUP": {}, "CUC": {}, "ANG": {}, "CZK": {}, - "DKK": {}, "DJF": {}, "DOP": {}, "EGP": {}, "SVC": {}, - "ERN": {}, "SZL": {}, "ETB": {}, "FKP": {}, "FJD": {}, - "XPF": {}, "GMD": {}, "GEL": {}, "GHS": {}, "GIP": {}, - "GTQ": {}, "GBP": {}, "GNF": {}, "GYD": {}, "HTG": {}, - "HNL": {}, "HKD": {}, "HUF": {}, "ISK": {}, "IDR": {}, - "XDR": {}, "IRR": {}, "IQD": {}, "ILS": {}, "JMD": {}, - "JPY": {}, "JOD": {}, "KZT": {}, "KES": {}, "KPW": {}, - "KRW": {}, "KWD": {}, "KGS": {}, "LAK": {}, "LBP": {}, - "LSL": {}, "ZAR": {}, "LRD": {}, "LYD": {}, "CHF": {}, - "MOP": {}, "MKD": {}, "MGA": {}, "MWK": {}, "MYR": {}, - "MVR": {}, "MRU": {}, "MUR": {}, "XUA": {}, "MXN": {}, - "MXV": {}, "MDL": {}, "MNT": {}, "MAD": {}, "MZN": {}, - "MMK": {}, "NAD": {}, "NPR": {}, "NIO": {}, "NGN": {}, - "OMR": {}, "PKR": {}, "PAB": {}, "PGK": {}, "PYG": {}, - "PEN": {}, "PHP": {}, "PLN": {}, "QAR": {}, "RON": {}, - "RUB": {}, "RWF": {}, "SHP": {}, "WST": {}, "STN": {}, - "SAR": {}, "RSD": {}, "SCR": {}, "SLL": {}, "SGD": {}, - "XSU": {}, "SBD": {}, "SOS": {}, "SSP": {}, "LKR": {}, - "SDG": {}, "SRD": {}, "SEK": {}, "CHE": {}, "CHW": {}, - "SYP": {}, "TWD": {}, "TJS": {}, "TZS": {}, "THB": {}, - "TOP": {}, "TTD": {}, "TND": {}, "TRY": {}, "TMT": {}, - "UGX": {}, "UAH": {}, "AED": {}, "USN": {}, "UYU": {}, - "UYI": {}, "UYW": {}, "UZS": {}, "VUV": {}, "VES": {}, - "VND": {}, "YER": {}, "ZMW": {}, "ZWL": {}, "XBA": {}, - "XBB": {}, "XBC": {}, "XBD": {}, "XTS": {}, "XXX": {}, - "XAU": {}, "XPD": {}, "XPT": {}, "XAG": {}, + "CUP": {}, "CZK": {}, "DKK": {}, "DJF": {}, "DOP": {}, + "EGP": {}, "SVC": {}, "ERN": {}, "SZL": {}, "ETB": {}, + "FKP": {}, "FJD": {}, "XPF": {}, "GMD": {}, "GEL": {}, + "GHS": {}, "GIP": {}, "GTQ": {}, "GBP": {}, "GNF": {}, + "GYD": {}, "HTG": {}, "HNL": {}, "HKD": {}, "HUF": {}, + "ISK": {}, "IDR": {}, "XDR": {}, "IRR": {}, "IQD": {}, + "ILS": {}, "JMD": {}, "JPY": {}, "JOD": {}, "KZT": {}, + "KES": {}, "KPW": {}, "KRW": {}, "KWD": {}, "KGS": {}, + "LAK": {}, "LBP": {}, "LSL": {}, "ZAR": {}, "LRD": {}, + "LYD": {}, "CHF": {}, "MOP": {}, "MKD": {}, "MGA": {}, + "MWK": {}, "MYR": {}, "MVR": {}, "MRU": {}, "MUR": {}, + "XUA": {}, "MXN": {}, "MXV": {}, "MDL": {}, "MNT": {}, + "MAD": {}, "MZN": {}, "MMK": {}, "NAD": {}, "NPR": {}, + "NIO": {}, "NGN": {}, "OMR": {}, "PKR": {}, "PAB": {}, + "PGK": {}, "PYG": {}, "PEN": {}, "PHP": {}, "PLN": {}, + "QAR": {}, "RON": {}, "RUB": {}, "RWF": {}, "SHP": {}, + "WST": {}, "STN": {}, "SAR": {}, "RSD": {}, "SCR": {}, + "SLE": {}, "SGD": {}, "XSU": {}, "SBD": {}, "SOS": {}, + "SSP": {}, "LKR": {}, "SDG": {}, "SRD": {}, "SEK": {}, + "CHE": {}, "CHW": {}, "SYP": {}, "TWD": {}, "TJS": {}, + "TZS": {}, "THB": {}, "TOP": {}, "TTD": {}, "TND": {}, + "TRY": {}, "TMT": {}, "UGX": {}, "UAH": {}, "AED": {}, + "USN": {}, "UYU": {}, "UYI": {}, "UYW": {}, "UZS": {}, + "VUV": {}, "VES": {}, "VED": {}, "VND": {}, "YER": {}, + "ZMW": {}, "ZWG": {}, "XBA": {}, "XBB": {}, "XBC": {}, + "XBD": {}, "XCG": {}, "XTS": {}, "XXX": {}, "XAU": {}, + "XPD": {}, "XPT": {}, "XAG": {}, } var iso4217_numeric = map[int]struct{}{ @@ -45,35 +45,35 @@ var iso4217_numeric = map[int]struct{}{ 64: {}, 68: {}, 72: {}, 84: {}, 90: {}, 96: {}, 104: {}, 108: {}, 116: {}, 124: {}, 132: {}, 136: {}, 144: {}, 152: {}, 156: {}, - 170: {}, 174: {}, 188: {}, 191: {}, 192: {}, - 203: {}, 208: {}, 214: {}, 222: {}, 230: {}, - 232: {}, 238: {}, 242: {}, 262: {}, 270: {}, - 292: {}, 320: {}, 324: {}, 328: {}, 332: {}, - 340: {}, 344: {}, 348: {}, 352: {}, 356: {}, - 360: {}, 364: {}, 368: {}, 376: {}, 388: {}, - 392: {}, 398: {}, 400: {}, 404: {}, 408: {}, - 410: {}, 414: {}, 417: {}, 418: {}, 422: {}, - 426: {}, 430: {}, 434: {}, 446: {}, 454: {}, - 458: {}, 462: {}, 480: {}, 484: {}, 496: {}, - 498: {}, 504: {}, 512: {}, 516: {}, 524: {}, - 532: {}, 533: {}, 548: {}, 554: {}, 558: {}, - 566: {}, 578: {}, 586: {}, 590: {}, 598: {}, - 600: {}, 604: {}, 608: {}, 634: {}, 643: {}, - 646: {}, 654: {}, 682: {}, 690: {}, 694: {}, - 702: {}, 704: {}, 706: {}, 710: {}, 728: {}, - 748: {}, 752: {}, 756: {}, 760: {}, 764: {}, - 776: {}, 780: {}, 784: {}, 788: {}, 800: {}, - 807: {}, 818: {}, 826: {}, 834: {}, 840: {}, - 858: {}, 860: {}, 882: {}, 886: {}, 901: {}, - 927: {}, 928: {}, 929: {}, 930: {}, 931: {}, - 932: {}, 933: {}, 934: {}, 936: {}, 938: {}, - 940: {}, 941: {}, 943: {}, 944: {}, 946: {}, - 947: {}, 948: {}, 949: {}, 950: {}, 951: {}, - 952: {}, 953: {}, 955: {}, 956: {}, 957: {}, - 958: {}, 959: {}, 960: {}, 961: {}, 962: {}, - 963: {}, 964: {}, 965: {}, 967: {}, 968: {}, - 969: {}, 970: {}, 971: {}, 972: {}, 973: {}, - 975: {}, 976: {}, 977: {}, 978: {}, 979: {}, - 980: {}, 981: {}, 984: {}, 985: {}, 986: {}, - 990: {}, 994: {}, 997: {}, 999: {}, + 170: {}, 174: {}, 188: {}, 192: {}, 203: {}, + 208: {}, 214: {}, 222: {}, 230: {}, 232: {}, + 238: {}, 242: {}, 262: {}, 270: {}, 292: {}, + 320: {}, 324: {}, 328: {}, 332: {}, 340: {}, + 344: {}, 348: {}, 352: {}, 356: {}, 360: {}, + 364: {}, 368: {}, 376: {}, 388: {}, 392: {}, + 398: {}, 400: {}, 404: {}, 408: {}, 410: {}, + 414: {}, 417: {}, 418: {}, 422: {}, 426: {}, + 430: {}, 434: {}, 446: {}, 454: {}, 458: {}, + 462: {}, 480: {}, 484: {}, 496: {}, 498: {}, + 504: {}, 512: {}, 516: {}, 524: {}, 532: {}, + 533: {}, 548: {}, 554: {}, 558: {}, 566: {}, + 578: {}, 586: {}, 590: {}, 598: {}, 600: {}, + 604: {}, 608: {}, 634: {}, 643: {}, 646: {}, + 654: {}, 682: {}, 690: {}, 702: {}, 704: {}, + 706: {}, 710: {}, 728: {}, 748: {}, 752: {}, + 756: {}, 760: {}, 764: {}, 776: {}, 780: {}, + 784: {}, 788: {}, 800: {}, 807: {}, 818: {}, + 826: {}, 834: {}, 840: {}, 858: {}, 860: {}, + 882: {}, 886: {}, 901: {}, 924: {}, 925: {}, + 926: {}, 927: {}, 928: {}, 929: {}, 930: {}, + 933: {}, 934: {}, 936: {}, 938: {}, 940: {}, + 941: {}, 943: {}, 944: {}, 946: {}, 947: {}, + 948: {}, 949: {}, 950: {}, 951: {}, 952: {}, + 953: {}, 955: {}, 956: {}, 957: {}, 958: {}, + 959: {}, 960: {}, 961: {}, 962: {}, 963: {}, + 964: {}, 965: {}, 967: {}, 968: {}, 969: {}, + 970: {}, 971: {}, 972: {}, 973: {}, 975: {}, + 976: {}, 977: {}, 978: {}, 979: {}, 980: {}, + 981: {}, 984: {}, 985: {}, 986: {}, 990: {}, + 994: {}, 997: {}, 999: {}, } diff --git a/vendor/github.com/go-playground/validator/v10/doc.go b/vendor/github.com/go-playground/validator/v10/doc.go index 52918e409..612bcf555 100644 --- a/vendor/github.com/go-playground/validator/v10/doc.go +++ b/vendor/github.com/go-playground/validator/v10/doc.go @@ -789,6 +789,12 @@ This validates that a string value contains ASCII alphanumeric characters only Usage: alphanum +# Alphanumeric Space + +This validates that a string value contains ASCII alphanumeric characters and spaces only + + Usage: alphanumspace + # Alpha Unicode This validates that a string value contains unicode alpha characters only @@ -1378,13 +1384,20 @@ More information on https://pkg.go.dev/golang.org/x/text/language Usage: bcp47_language_tag -BIC (SWIFT code) +BIC (SWIFT code - 2022 standard) -This validates that a string value is a valid Business Identifier Code (SWIFT code), defined in ISO 9362. -More information on https://www.iso.org/standard/60390.html +This validates that a string value is a valid Business Identifier Code (SWIFT code), defined in ISO 9362:2022. +More information on https://www.iso.org/standard/84108.html Usage: bic +BIC (SWIFT code - 2014 standard) + +This validates that a string value is a valid Business Identifier Code (SWIFT code), defined in ISO 9362:2014. +More information on https://www.iso.org/standard/60390.html + + Usage: bic_iso_9362_2014 + # RFC 1035 label This validates that a string value is a valid dns RFC 1035 label, defined in RFC 1035. @@ -1519,7 +1532,7 @@ This package panics when bad input is provided, this is by design, bad code like that should not make it to production. type Test struct { - TestField string `validate:"nonexistantfunction=1"` + TestField string `validate:"nonexistentfunction=1"` } t := &Test{ diff --git a/vendor/github.com/go-playground/validator/v10/regexes.go b/vendor/github.com/go-playground/validator/v10/regexes.go index 0b3615f5e..6b564b6f9 100644 --- a/vendor/github.com/go-playground/validator/v10/regexes.go +++ b/vendor/github.com/go-playground/validator/v10/regexes.go @@ -9,6 +9,7 @@ const ( alphaRegexString = "^[a-zA-Z]+$" alphaSpaceRegexString = "^[a-zA-Z ]+$" alphaNumericRegexString = "^[a-zA-Z0-9]+$" + alphaNumericSpaceRegexString = "^[a-zA-Z0-9 ]+$" alphaUnicodeRegexString = "^[\\p{L}]+$" alphaUnicodeNumericRegexString = "^[\\p{L}\\p{N}]+$" numericRegexString = "^[-+]?[0-9]+(?:\\.[0-9]+)?$" @@ -20,7 +21,7 @@ const ( hslRegexString = "^hsl\\(\\s*(?:0|[1-9]\\d?|[12]\\d\\d|3[0-5]\\d|360)\\s*,\\s*(?:(?:0|[1-9]\\d?|100)%)\\s*,\\s*(?:(?:0|[1-9]\\d?|100)%)\\s*\\)$" hslaRegexString = "^hsla\\(\\s*(?:0|[1-9]\\d?|[12]\\d\\d|3[0-5]\\d|360)\\s*,\\s*(?:(?:0|[1-9]\\d?|100)%)\\s*,\\s*(?:(?:0|[1-9]\\d?|100)%)\\s*,\\s*(?:(?:0.[1-9]*)|[01])\\s*\\)$" emailRegexString = "^(?:(?:(?:(?:[a-zA-Z]|\\d|[!#\\$%&'\\*\\+\\-\\/=\\?\\^_`{\\|}~]|[\\x{00A0}-\\x{D7FF}\\x{F900}-\\x{FDCF}\\x{FDF0}-\\x{FFEF}])+(?:\\.([a-zA-Z]|\\d|[!#\\$%&'\\*\\+\\-\\/=\\?\\^_`{\\|}~]|[\\x{00A0}-\\x{D7FF}\\x{F900}-\\x{FDCF}\\x{FDF0}-\\x{FFEF}])+)*)|(?:(?:\\x22)(?:(?:(?:(?:\\x20|\\x09)*(?:\\x0d\\x0a))?(?:\\x20|\\x09)+)?(?:(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x7f]|\\x21|[\\x23-\\x5b]|[\\x5d-\\x7e]|[\\x{00A0}-\\x{D7FF}\\x{F900}-\\x{FDCF}\\x{FDF0}-\\x{FFEF}])|(?:(?:[\\x01-\\x09\\x0b\\x0c\\x0d-\\x7f]|[\\x{00A0}-\\x{D7FF}\\x{F900}-\\x{FDCF}\\x{FDF0}-\\x{FFEF}]))))*(?:(?:(?:\\x20|\\x09)*(?:\\x0d\\x0a))?(\\x20|\\x09)+)?(?:\\x22))))@(?:(?:(?:[a-zA-Z]|\\d|[\\x{00A0}-\\x{D7FF}\\x{F900}-\\x{FDCF}\\x{FDF0}-\\x{FFEF}])|(?:(?:[a-zA-Z]|\\d|[\\x{00A0}-\\x{D7FF}\\x{F900}-\\x{FDCF}\\x{FDF0}-\\x{FFEF}])(?:[a-zA-Z]|\\d|-|\\.|~|[\\x{00A0}-\\x{D7FF}\\x{F900}-\\x{FDCF}\\x{FDF0}-\\x{FFEF}])*(?:[a-zA-Z]|\\d|[\\x{00A0}-\\x{D7FF}\\x{F900}-\\x{FDCF}\\x{FDF0}-\\x{FFEF}])))\\.)+(?:(?:[a-zA-Z]|[\\x{00A0}-\\x{D7FF}\\x{F900}-\\x{FDCF}\\x{FDF0}-\\x{FFEF}])|(?:(?:[a-zA-Z]|[\\x{00A0}-\\x{D7FF}\\x{F900}-\\x{FDCF}\\x{FDF0}-\\x{FFEF}])(?:[a-zA-Z]|\\d|-|\\.|~|[\\x{00A0}-\\x{D7FF}\\x{F900}-\\x{FDCF}\\x{FDF0}-\\x{FFEF}])*(?:[a-zA-Z]|[\\x{00A0}-\\x{D7FF}\\x{F900}-\\x{FDCF}\\x{FDF0}-\\x{FFEF}])))\\.?$" - e164RegexString = "^\\+[1-9]?[0-9]{7,14}$" + e164RegexString = "^\\+?[1-9]\\d{1,14}$" base32RegexString = "^(?:[A-Z2-7]{8})*(?:[A-Z2-7]{2}={6}|[A-Z2-7]{4}={4}|[A-Z2-7]{5}={3}|[A-Z2-7]{7}=|[A-Z2-7]{8})$" base64RegexString = "^(?:[A-Za-z0-9+\\/]{4})*(?:[A-Za-z0-9+\\/]{2}==|[A-Za-z0-9+\\/]{3}=|[A-Za-z0-9+\\/]{4})$" base64URLRegexString = "^(?:[A-Za-z0-9-_]{4})*(?:[A-Za-z0-9-_]{2}==|[A-Za-z0-9-_]{3}=|[A-Za-z0-9-_]{4})$" @@ -68,7 +69,8 @@ const ( hTMLRegexString = `<[/]?([a-zA-Z]+).*?>` jWTRegexString = "^[A-Za-z0-9-_]+\\.[A-Za-z0-9-_]+\\.[A-Za-z0-9-_]*$" splitParamsRegexString = `'[^']*'|\S+` - bicRegexString = `^[A-Za-z]{6}[A-Za-z0-9]{2}([A-Za-z0-9]{3})?$` + bic2014RegexString = `^[A-Za-z]{6}[A-Za-z0-9]{2}([A-Za-z0-9]{3})?$` + bic2022RegexString = `^[A-Z0-9]{4}[A-Z]{2}[A-Z0-9]{2}(?:[A-Z0-9]{3})?$` semverRegexString = `^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$` // numbered capture groups https://semver.org/ dnsRegexStringRFC1035Label = "^[a-z]([-a-z0-9]*[a-z0-9])?$" cveRegexString = `^CVE-(1999|2\d{3})-(0[^0]\d{2}|0\d[^0]\d{1}|0\d{2}[^0]|[1-9]{1}\d{3,})$` // CVE Format Id https://cve.mitre.org/cve/identifiers/syntaxchange.html @@ -95,6 +97,7 @@ func lazyRegexCompile(str string) func() *regexp.Regexp { var ( alphaRegex = lazyRegexCompile(alphaRegexString) alphaSpaceRegex = lazyRegexCompile(alphaSpaceRegexString) + alphanNumericSpaceRegex = lazyRegexCompile(alphaNumericSpaceRegexString) alphaNumericRegex = lazyRegexCompile(alphaNumericRegexString) alphaUnicodeRegex = lazyRegexCompile(alphaUnicodeRegexString) alphaUnicodeNumericRegex = lazyRegexCompile(alphaUnicodeNumericRegexString) @@ -153,7 +156,8 @@ var ( hTMLRegex = lazyRegexCompile(hTMLRegexString) jWTRegex = lazyRegexCompile(jWTRegexString) splitParamsRegex = lazyRegexCompile(splitParamsRegexString) - bicRegex = lazyRegexCompile(bicRegexString) + bic2014Regex = lazyRegexCompile(bic2014RegexString) + bic2022Regex = lazyRegexCompile(bic2022RegexString) semverRegex = lazyRegexCompile(semverRegexString) dnsRegexRFC1035Label = lazyRegexCompile(dnsRegexStringRFC1035Label) cveRegex = lazyRegexCompile(cveRegexString) diff --git a/vendor/github.com/pulumi/pulumi-aws-native/sdk/go/aws/internal/pulumiUtilities.go b/vendor/github.com/pulumi/pulumi-aws-native/sdk/go/aws/internal/pulumiUtilities.go index 8c8de8774..101721055 100644 --- a/vendor/github.com/pulumi/pulumi-aws-native/sdk/go/aws/internal/pulumiUtilities.go +++ b/vendor/github.com/pulumi/pulumi-aws-native/sdk/go/aws/internal/pulumiUtilities.go @@ -165,7 +165,7 @@ func callPlainInner( func PkgResourceDefaultOpts(opts []pulumi.ResourceOption) []pulumi.ResourceOption { defaults := []pulumi.ResourceOption{} - version := semver.MustParse("1.39.0") + version := semver.MustParse("1.40.0") if !version.Equals(semver.Version{}) { defaults = append(defaults, pulumi.Version(version.String())) } @@ -176,7 +176,7 @@ func PkgResourceDefaultOpts(opts []pulumi.ResourceOption) []pulumi.ResourceOptio func PkgInvokeDefaultOpts(opts []pulumi.InvokeOption) []pulumi.InvokeOption { defaults := []pulumi.InvokeOption{} - version := semver.MustParse("1.39.0") + version := semver.MustParse("1.40.0") if !version.Equals(semver.Version{}) { defaults = append(defaults, pulumi.Version(version.String())) } diff --git a/vendor/github.com/pulumi/pulumi-aws-native/sdk/go/aws/pulumi-plugin.json b/vendor/github.com/pulumi/pulumi-aws-native/sdk/go/aws/pulumi-plugin.json index dddfd6d19..8489088aa 100644 --- a/vendor/github.com/pulumi/pulumi-aws-native/sdk/go/aws/pulumi-plugin.json +++ b/vendor/github.com/pulumi/pulumi-aws-native/sdk/go/aws/pulumi-plugin.json @@ -1,5 +1,5 @@ { "resource": true, "name": "aws-native", - "version": "1.39.0" + "version": "1.40.0" } diff --git a/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/cloudwatch/eventRule.go b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/cloudwatch/eventRule.go index 53ab09d81..705b91c1c 100644 --- a/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/cloudwatch/eventRule.go +++ b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/cloudwatch/eventRule.go @@ -118,8 +118,6 @@ import ( // // Using `pulumi import`, import EventBridge Rules using the `event_bus_name/rule_name` (if you omit `event_bus_name`, the `default` event bus will be used). For example: // -// console -// // % pulumi import aws_cloudwatch_event_rule.example example-event-bus/capture-console-sign-in type EventRule struct { pulumi.CustomResourceState diff --git a/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/cloudwatch/eventTarget.go b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/cloudwatch/eventTarget.go index fdac6b28a..6232a7149 100644 --- a/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/cloudwatch/eventTarget.go +++ b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/cloudwatch/eventTarget.go @@ -925,8 +925,6 @@ import ( // // Using `pulumi import`, import EventBridge Targets using `event_bus_name/rule-name/target-id` (if you omit `event_bus_name`, the `default` event bus will be used). For example: // -// console -// // % pulumi import aws_cloudwatch_event_target.example rule-name/target-id type EventTarget struct { pulumi.CustomResourceState diff --git a/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/cloudwatch/getLogGroup.go b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/cloudwatch/getLogGroup.go index f07844298..882232348 100644 --- a/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/cloudwatch/getLogGroup.go +++ b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/cloudwatch/getLogGroup.go @@ -64,6 +64,8 @@ type LookupLogGroupResult struct { Arn string `pulumi:"arn"` // Creation time of the log group, expressed as the number of milliseconds after Jan 1, 1970 00:00:00 UTC. CreationTime int `pulumi:"creationTime"` + // Boolean to indicate whether deletion protection is enabled. + DeletionProtectionEnabled bool `pulumi:"deletionProtectionEnabled"` // The provider-assigned unique ID for this managed resource. Id string `pulumi:"id"` // ARN of the KMS Key to use when encrypting log data. @@ -126,6 +128,11 @@ func (o LookupLogGroupResultOutput) CreationTime() pulumi.IntOutput { return o.ApplyT(func(v LookupLogGroupResult) int { return v.CreationTime }).(pulumi.IntOutput) } +// Boolean to indicate whether deletion protection is enabled. +func (o LookupLogGroupResultOutput) DeletionProtectionEnabled() pulumi.BoolOutput { + return o.ApplyT(func(v LookupLogGroupResult) bool { return v.DeletionProtectionEnabled }).(pulumi.BoolOutput) +} + // The provider-assigned unique ID for this managed resource. func (o LookupLogGroupResultOutput) Id() pulumi.StringOutput { return o.ApplyT(func(v LookupLogGroupResult) string { return v.Id }).(pulumi.StringOutput) diff --git a/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/cloudwatch/init.go b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/cloudwatch/init.go index 88b957009..a26f70223 100644 --- a/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/cloudwatch/init.go +++ b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/cloudwatch/init.go @@ -79,6 +79,8 @@ func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi r = &LogStream{} case "aws:cloudwatch/logSubscriptionFilter:LogSubscriptionFilter": r = &LogSubscriptionFilter{} + case "aws:cloudwatch/logTransformer:LogTransformer": + r = &LogTransformer{} case "aws:cloudwatch/metricAlarm:MetricAlarm": r = &MetricAlarm{} case "aws:cloudwatch/metricStream:MetricStream": @@ -243,6 +245,11 @@ func init() { "cloudwatch/logSubscriptionFilter", &module{version}, ) + pulumi.RegisterResourceModule( + "aws", + "cloudwatch/logTransformer", + &module{version}, + ) pulumi.RegisterResourceModule( "aws", "cloudwatch/metricAlarm", diff --git a/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/cloudwatch/logGroup.go b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/cloudwatch/logGroup.go index 70dcd4657..b697fcdc2 100644 --- a/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/cloudwatch/logGroup.go +++ b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/cloudwatch/logGroup.go @@ -59,14 +59,14 @@ import ( // // Using `pulumi import`, import Cloudwatch Log Groups using the `name`. For example: // -// console -// // % pulumi import aws_cloudwatch_log_group.example yada type LogGroup struct { pulumi.CustomResourceState // The Amazon Resource Name (ARN) specifying the log group. Any `:*` suffix added by the API, denoting all CloudWatch Log Streams under the CloudWatch Log Group, is removed for greater compatibility with other AWS services that do not accept the suffix. Arn pulumi.StringOutput `pulumi:"arn"` + // Boolean to indicate whether deletion protection is enabled. Defaults to `false`. Once set, switching to `false` requires explicitly specifying `false` rather than removing this argument. + DeletionProtectionEnabled pulumi.BoolOutput `pulumi:"deletionProtectionEnabled"` // The ARN of the KMS Key to use when encrypting log data. Please note, after the AWS KMS CMK is disassociated from the log group, // AWS CloudWatch Logs stops encrypting newly ingested data for the log group. All previously ingested data remains encrypted, and AWS CloudWatch Logs requires // permissions for the CMK whenever the encrypted data is requested. @@ -123,6 +123,8 @@ func GetLogGroup(ctx *pulumi.Context, type logGroupState struct { // The Amazon Resource Name (ARN) specifying the log group. Any `:*` suffix added by the API, denoting all CloudWatch Log Streams under the CloudWatch Log Group, is removed for greater compatibility with other AWS services that do not accept the suffix. Arn *string `pulumi:"arn"` + // Boolean to indicate whether deletion protection is enabled. Defaults to `false`. Once set, switching to `false` requires explicitly specifying `false` rather than removing this argument. + DeletionProtectionEnabled *bool `pulumi:"deletionProtectionEnabled"` // The ARN of the KMS Key to use when encrypting log data. Please note, after the AWS KMS CMK is disassociated from the log group, // AWS CloudWatch Logs stops encrypting newly ingested data for the log group. All previously ingested data remains encrypted, and AWS CloudWatch Logs requires // permissions for the CMK whenever the encrypted data is requested. @@ -150,6 +152,8 @@ type logGroupState struct { type LogGroupState struct { // The Amazon Resource Name (ARN) specifying the log group. Any `:*` suffix added by the API, denoting all CloudWatch Log Streams under the CloudWatch Log Group, is removed for greater compatibility with other AWS services that do not accept the suffix. Arn pulumi.StringPtrInput + // Boolean to indicate whether deletion protection is enabled. Defaults to `false`. Once set, switching to `false` requires explicitly specifying `false` rather than removing this argument. + DeletionProtectionEnabled pulumi.BoolPtrInput // The ARN of the KMS Key to use when encrypting log data. Please note, after the AWS KMS CMK is disassociated from the log group, // AWS CloudWatch Logs stops encrypting newly ingested data for the log group. All previously ingested data remains encrypted, and AWS CloudWatch Logs requires // permissions for the CMK whenever the encrypted data is requested. @@ -179,6 +183,8 @@ func (LogGroupState) ElementType() reflect.Type { } type logGroupArgs struct { + // Boolean to indicate whether deletion protection is enabled. Defaults to `false`. Once set, switching to `false` requires explicitly specifying `false` rather than removing this argument. + DeletionProtectionEnabled *bool `pulumi:"deletionProtectionEnabled"` // The ARN of the KMS Key to use when encrypting log data. Please note, after the AWS KMS CMK is disassociated from the log group, // AWS CloudWatch Logs stops encrypting newly ingested data for the log group. All previously ingested data remains encrypted, and AWS CloudWatch Logs requires // permissions for the CMK whenever the encrypted data is requested. @@ -203,6 +209,8 @@ type logGroupArgs struct { // The set of arguments for constructing a LogGroup resource. type LogGroupArgs struct { + // Boolean to indicate whether deletion protection is enabled. Defaults to `false`. Once set, switching to `false` requires explicitly specifying `false` rather than removing this argument. + DeletionProtectionEnabled pulumi.BoolPtrInput // The ARN of the KMS Key to use when encrypting log data. Please note, after the AWS KMS CMK is disassociated from the log group, // AWS CloudWatch Logs stops encrypting newly ingested data for the log group. All previously ingested data remains encrypted, and AWS CloudWatch Logs requires // permissions for the CMK whenever the encrypted data is requested. @@ -317,6 +325,11 @@ func (o LogGroupOutput) Arn() pulumi.StringOutput { return o.ApplyT(func(v *LogGroup) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput) } +// Boolean to indicate whether deletion protection is enabled. Defaults to `false`. Once set, switching to `false` requires explicitly specifying `false` rather than removing this argument. +func (o LogGroupOutput) DeletionProtectionEnabled() pulumi.BoolOutput { + return o.ApplyT(func(v *LogGroup) pulumi.BoolOutput { return v.DeletionProtectionEnabled }).(pulumi.BoolOutput) +} + // The ARN of the KMS Key to use when encrypting log data. Please note, after the AWS KMS CMK is disassociated from the log group, // AWS CloudWatch Logs stops encrypting newly ingested data for the log group. All previously ingested data remains encrypted, and AWS CloudWatch Logs requires // permissions for the CMK whenever the encrypted data is requested. diff --git a/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/cloudwatch/logTransformer.go b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/cloudwatch/logTransformer.go new file mode 100644 index 000000000..31ed56fad --- /dev/null +++ b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/cloudwatch/logTransformer.go @@ -0,0 +1,301 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package cloudwatch + +import ( + "context" + "reflect" + + "errors" + "github.com/pulumi/pulumi-aws/sdk/v7/go/aws/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Resource for managing an AWS CloudWatch Logs Transformer. +// +// ## Example Usage +// +// ### Basic Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-aws/sdk/v7/go/aws/cloudwatch" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// exampleLogGroup, err := cloudwatch.NewLogGroup(ctx, "example", &cloudwatch.LogGroupArgs{ +// Name: pulumi.String("example"), +// }) +// if err != nil { +// return err +// } +// _, err = cloudwatch.NewLogTransformer(ctx, "example", &cloudwatch.LogTransformerArgs{ +// TransformerConfigs: cloudwatch.LogTransformerTransformerConfigArray{ +// &cloudwatch.LogTransformerTransformerConfigArgs{ +// ParseJsons: cloudwatch.LogTransformerTransformerConfigParseJsonArray{ +// &cloudwatch.LogTransformerTransformerConfigParseJsonArgs{}, +// }, +// }, +// }, +// LogGroupArn: exampleLogGroup.Arn, +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// ## Import +// +// Using `pulumi import`, import CloudWatch Logs Transformer using the `log_group_arn`. For example: +// +// ```sh +// $ pulumi import aws:cloudwatch/logTransformer:LogTransformer example arn:aws:logs:us-west-2:123456789012:log-group:example +// ``` +type LogTransformer struct { + pulumi.CustomResourceState + + // Log group ARN to set the transformer for. + LogGroupArn pulumi.StringOutput `pulumi:"logGroupArn"` + // Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration. + Region pulumi.StringOutput `pulumi:"region"` + // Specifies the configuration of the transformer. You must include at least one configuration, and 20 at most. See `transformerConfig` below for details. + TransformerConfigs LogTransformerTransformerConfigArrayOutput `pulumi:"transformerConfigs"` +} + +// NewLogTransformer registers a new resource with the given unique name, arguments, and options. +func NewLogTransformer(ctx *pulumi.Context, + name string, args *LogTransformerArgs, opts ...pulumi.ResourceOption) (*LogTransformer, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.LogGroupArn == nil { + return nil, errors.New("invalid value for required argument 'LogGroupArn'") + } + if args.TransformerConfigs == nil { + return nil, errors.New("invalid value for required argument 'TransformerConfigs'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource LogTransformer + err := ctx.RegisterResource("aws:cloudwatch/logTransformer:LogTransformer", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetLogTransformer gets an existing LogTransformer 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 GetLogTransformer(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *LogTransformerState, opts ...pulumi.ResourceOption) (*LogTransformer, error) { + var resource LogTransformer + err := ctx.ReadResource("aws:cloudwatch/logTransformer:LogTransformer", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering LogTransformer resources. +type logTransformerState struct { + // Log group ARN to set the transformer for. + LogGroupArn *string `pulumi:"logGroupArn"` + // Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration. + Region *string `pulumi:"region"` + // Specifies the configuration of the transformer. You must include at least one configuration, and 20 at most. See `transformerConfig` below for details. + TransformerConfigs []LogTransformerTransformerConfig `pulumi:"transformerConfigs"` +} + +type LogTransformerState struct { + // Log group ARN to set the transformer for. + LogGroupArn pulumi.StringPtrInput + // Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration. + Region pulumi.StringPtrInput + // Specifies the configuration of the transformer. You must include at least one configuration, and 20 at most. See `transformerConfig` below for details. + TransformerConfigs LogTransformerTransformerConfigArrayInput +} + +func (LogTransformerState) ElementType() reflect.Type { + return reflect.TypeOf((*logTransformerState)(nil)).Elem() +} + +type logTransformerArgs struct { + // Log group ARN to set the transformer for. + LogGroupArn string `pulumi:"logGroupArn"` + // Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration. + Region *string `pulumi:"region"` + // Specifies the configuration of the transformer. You must include at least one configuration, and 20 at most. See `transformerConfig` below for details. + TransformerConfigs []LogTransformerTransformerConfig `pulumi:"transformerConfigs"` +} + +// The set of arguments for constructing a LogTransformer resource. +type LogTransformerArgs struct { + // Log group ARN to set the transformer for. + LogGroupArn pulumi.StringInput + // Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration. + Region pulumi.StringPtrInput + // Specifies the configuration of the transformer. You must include at least one configuration, and 20 at most. See `transformerConfig` below for details. + TransformerConfigs LogTransformerTransformerConfigArrayInput +} + +func (LogTransformerArgs) ElementType() reflect.Type { + return reflect.TypeOf((*logTransformerArgs)(nil)).Elem() +} + +type LogTransformerInput interface { + pulumi.Input + + ToLogTransformerOutput() LogTransformerOutput + ToLogTransformerOutputWithContext(ctx context.Context) LogTransformerOutput +} + +func (*LogTransformer) ElementType() reflect.Type { + return reflect.TypeOf((**LogTransformer)(nil)).Elem() +} + +func (i *LogTransformer) ToLogTransformerOutput() LogTransformerOutput { + return i.ToLogTransformerOutputWithContext(context.Background()) +} + +func (i *LogTransformer) ToLogTransformerOutputWithContext(ctx context.Context) LogTransformerOutput { + return pulumi.ToOutputWithContext(ctx, i).(LogTransformerOutput) +} + +// LogTransformerArrayInput is an input type that accepts LogTransformerArray and LogTransformerArrayOutput values. +// You can construct a concrete instance of `LogTransformerArrayInput` via: +// +// LogTransformerArray{ LogTransformerArgs{...} } +type LogTransformerArrayInput interface { + pulumi.Input + + ToLogTransformerArrayOutput() LogTransformerArrayOutput + ToLogTransformerArrayOutputWithContext(context.Context) LogTransformerArrayOutput +} + +type LogTransformerArray []LogTransformerInput + +func (LogTransformerArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*LogTransformer)(nil)).Elem() +} + +func (i LogTransformerArray) ToLogTransformerArrayOutput() LogTransformerArrayOutput { + return i.ToLogTransformerArrayOutputWithContext(context.Background()) +} + +func (i LogTransformerArray) ToLogTransformerArrayOutputWithContext(ctx context.Context) LogTransformerArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(LogTransformerArrayOutput) +} + +// LogTransformerMapInput is an input type that accepts LogTransformerMap and LogTransformerMapOutput values. +// You can construct a concrete instance of `LogTransformerMapInput` via: +// +// LogTransformerMap{ "key": LogTransformerArgs{...} } +type LogTransformerMapInput interface { + pulumi.Input + + ToLogTransformerMapOutput() LogTransformerMapOutput + ToLogTransformerMapOutputWithContext(context.Context) LogTransformerMapOutput +} + +type LogTransformerMap map[string]LogTransformerInput + +func (LogTransformerMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*LogTransformer)(nil)).Elem() +} + +func (i LogTransformerMap) ToLogTransformerMapOutput() LogTransformerMapOutput { + return i.ToLogTransformerMapOutputWithContext(context.Background()) +} + +func (i LogTransformerMap) ToLogTransformerMapOutputWithContext(ctx context.Context) LogTransformerMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(LogTransformerMapOutput) +} + +type LogTransformerOutput struct{ *pulumi.OutputState } + +func (LogTransformerOutput) ElementType() reflect.Type { + return reflect.TypeOf((**LogTransformer)(nil)).Elem() +} + +func (o LogTransformerOutput) ToLogTransformerOutput() LogTransformerOutput { + return o +} + +func (o LogTransformerOutput) ToLogTransformerOutputWithContext(ctx context.Context) LogTransformerOutput { + return o +} + +// Log group ARN to set the transformer for. +func (o LogTransformerOutput) LogGroupArn() pulumi.StringOutput { + return o.ApplyT(func(v *LogTransformer) pulumi.StringOutput { return v.LogGroupArn }).(pulumi.StringOutput) +} + +// Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration. +func (o LogTransformerOutput) Region() pulumi.StringOutput { + return o.ApplyT(func(v *LogTransformer) pulumi.StringOutput { return v.Region }).(pulumi.StringOutput) +} + +// Specifies the configuration of the transformer. You must include at least one configuration, and 20 at most. See `transformerConfig` below for details. +func (o LogTransformerOutput) TransformerConfigs() LogTransformerTransformerConfigArrayOutput { + return o.ApplyT(func(v *LogTransformer) LogTransformerTransformerConfigArrayOutput { return v.TransformerConfigs }).(LogTransformerTransformerConfigArrayOutput) +} + +type LogTransformerArrayOutput struct{ *pulumi.OutputState } + +func (LogTransformerArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*LogTransformer)(nil)).Elem() +} + +func (o LogTransformerArrayOutput) ToLogTransformerArrayOutput() LogTransformerArrayOutput { + return o +} + +func (o LogTransformerArrayOutput) ToLogTransformerArrayOutputWithContext(ctx context.Context) LogTransformerArrayOutput { + return o +} + +func (o LogTransformerArrayOutput) Index(i pulumi.IntInput) LogTransformerOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *LogTransformer { + return vs[0].([]*LogTransformer)[vs[1].(int)] + }).(LogTransformerOutput) +} + +type LogTransformerMapOutput struct{ *pulumi.OutputState } + +func (LogTransformerMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*LogTransformer)(nil)).Elem() +} + +func (o LogTransformerMapOutput) ToLogTransformerMapOutput() LogTransformerMapOutput { + return o +} + +func (o LogTransformerMapOutput) ToLogTransformerMapOutputWithContext(ctx context.Context) LogTransformerMapOutput { + return o +} + +func (o LogTransformerMapOutput) MapIndex(k pulumi.StringInput) LogTransformerOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *LogTransformer { + return vs[0].(map[string]*LogTransformer)[vs[1].(string)] + }).(LogTransformerOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*LogTransformerInput)(nil)).Elem(), &LogTransformer{}) + pulumi.RegisterInputType(reflect.TypeOf((*LogTransformerArrayInput)(nil)).Elem(), LogTransformerArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*LogTransformerMapInput)(nil)).Elem(), LogTransformerMap{}) + pulumi.RegisterOutputType(LogTransformerOutput{}) + pulumi.RegisterOutputType(LogTransformerArrayOutput{}) + pulumi.RegisterOutputType(LogTransformerMapOutput{}) +} diff --git a/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/cloudwatch/metricAlarm.go b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/cloudwatch/metricAlarm.go index 3f14dcbe3..c2eaedfd2 100644 --- a/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/cloudwatch/metricAlarm.go +++ b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/cloudwatch/metricAlarm.go @@ -336,8 +336,6 @@ import ( // // Using `pulumi import`, import CloudWatch Metric Alarm using the `alarm_name`. For example: // -// console -// // % pulumi import aws_cloudwatch_metric_alarm.example alarm-12345 type MetricAlarm struct { pulumi.CustomResourceState diff --git a/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/cloudwatch/pulumiTypes.go b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/cloudwatch/pulumiTypes.go index 470016fcb..6a8c3b96c 100644 --- a/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/cloudwatch/pulumiTypes.go +++ b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/cloudwatch/pulumiTypes.go @@ -7305,6 +7305,3976 @@ func (o LogMetricFilterMetricTransformationPtrOutput) Value() pulumi.StringPtrOu }).(pulumi.StringPtrOutput) } +type LogTransformerTransformerConfig struct { + // Adds new key-value pairs to the log event. See `addKeys` below for details. + AddKeys *LogTransformerTransformerConfigAddKeys `pulumi:"addKeys"` + // Copies values within a log event. See `copyValue` below for details. + CopyValue *LogTransformerTransformerConfigCopyValue `pulumi:"copyValue"` + // Parses comma-separated values (CSV) from the log events into columns. See `csv` below for details. + Csvs []LogTransformerTransformerConfigCsv `pulumi:"csvs"` + // Converts a datetime string into a format that you specify. See `dateTimeConverter` below for details. + DateTimeConverters []LogTransformerTransformerConfigDateTimeConverter `pulumi:"dateTimeConverters"` + // Deletes entry from a log event. See `deleteKeys` below for details. + DeleteKeys []LogTransformerTransformerConfigDeleteKey `pulumi:"deleteKeys"` + // Parses and structures unstructured data by using pattern matching. See `grok` below for details. + Grok *LogTransformerTransformerConfigGrok `pulumi:"grok"` + // Converts list of objects that contain key fields into a map of target keys. See `listToMap` below for details. + ListToMaps []LogTransformerTransformerConfigListToMap `pulumi:"listToMaps"` + // Converts a string to lowercase. See `lowerCaseString` below for details. + LowerCaseStrings []LogTransformerTransformerConfigLowerCaseString `pulumi:"lowerCaseStrings"` + // Moves a key from one field to another. See `moveKeys` below for details. + MoveKeys []LogTransformerTransformerConfigMoveKey `pulumi:"moveKeys"` + // Parses CloudFront vended logs, extracts fields, and converts them into JSON format. See `parseCloudfront` below for details. + ParseCloudfront *LogTransformerTransformerConfigParseCloudfront `pulumi:"parseCloudfront"` + // Parses log events that are in JSON format. See `parseJson` below for details. + ParseJsons []LogTransformerTransformerConfigParseJson `pulumi:"parseJsons"` + // Parses a specified field in the original log event into key-value pairs. See `parseKeyValue` below for details. + ParseKeyValues []LogTransformerTransformerConfigParseKeyValue `pulumi:"parseKeyValues"` + // Parses RDS for PostgreSQL vended logs, extracts fields, and and convert them into a JSON format. See `parsePostgres` below for details. + ParsePostgres *LogTransformerTransformerConfigParsePostgres `pulumi:"parsePostgres"` + // Parses Route 53 vended logs, extracts fields, and converts them into JSON format. See `parseRoute53` below for details. + ParseRoute53 *LogTransformerTransformerConfigParseRoute53 `pulumi:"parseRoute53"` + // Parses logs events and converts them into Open Cybersecurity Schema Framework (OCSF) events. See `parseToOcsf` below for details. + ParseToOcsf *LogTransformerTransformerConfigParseToOcsf `pulumi:"parseToOcsf"` + // Parses Amazon VPC vended logs, extracts fields, and converts them into JSON format. See `parseVpc` below for details. + ParseVpc *LogTransformerTransformerConfigParseVpc `pulumi:"parseVpc"` + // Parses AWS WAF vended logs, extracts fields, and converts them into JSON format. See `parseWaf` below for details. + ParseWaf *LogTransformerTransformerConfigParseWaf `pulumi:"parseWaf"` + // Renames keys in a log event. See `renameKeys` below for details. + RenameKeys []LogTransformerTransformerConfigRenameKey `pulumi:"renameKeys"` + // Splits a field into an array of strings using a delimiting character. See `splitString` below for details. + SplitStrings []LogTransformerTransformerConfigSplitString `pulumi:"splitStrings"` + // Matches a key’s value against a regular expression and replaces all matches with a replacement string. See `substituteString` below for details. + SubstituteStrings []LogTransformerTransformerConfigSubstituteString `pulumi:"substituteStrings"` + // Removes leading and trailing whitespace from a string. See `trimString` below for details. + TrimStrings []LogTransformerTransformerConfigTrimString `pulumi:"trimStrings"` + // Converts a value type associated with the specified key to the specified type. See `typeConverter` below for details. + TypeConverters []LogTransformerTransformerConfigTypeConverter `pulumi:"typeConverters"` + // Converts a string to uppercase. See `upperCaseString` below for details. + UpperCaseStrings []LogTransformerTransformerConfigUpperCaseString `pulumi:"upperCaseStrings"` +} + +// LogTransformerTransformerConfigInput is an input type that accepts LogTransformerTransformerConfigArgs and LogTransformerTransformerConfigOutput values. +// You can construct a concrete instance of `LogTransformerTransformerConfigInput` via: +// +// LogTransformerTransformerConfigArgs{...} +type LogTransformerTransformerConfigInput interface { + pulumi.Input + + ToLogTransformerTransformerConfigOutput() LogTransformerTransformerConfigOutput + ToLogTransformerTransformerConfigOutputWithContext(context.Context) LogTransformerTransformerConfigOutput +} + +type LogTransformerTransformerConfigArgs struct { + // Adds new key-value pairs to the log event. See `addKeys` below for details. + AddKeys LogTransformerTransformerConfigAddKeysPtrInput `pulumi:"addKeys"` + // Copies values within a log event. See `copyValue` below for details. + CopyValue LogTransformerTransformerConfigCopyValuePtrInput `pulumi:"copyValue"` + // Parses comma-separated values (CSV) from the log events into columns. See `csv` below for details. + Csvs LogTransformerTransformerConfigCsvArrayInput `pulumi:"csvs"` + // Converts a datetime string into a format that you specify. See `dateTimeConverter` below for details. + DateTimeConverters LogTransformerTransformerConfigDateTimeConverterArrayInput `pulumi:"dateTimeConverters"` + // Deletes entry from a log event. See `deleteKeys` below for details. + DeleteKeys LogTransformerTransformerConfigDeleteKeyArrayInput `pulumi:"deleteKeys"` + // Parses and structures unstructured data by using pattern matching. See `grok` below for details. + Grok LogTransformerTransformerConfigGrokPtrInput `pulumi:"grok"` + // Converts list of objects that contain key fields into a map of target keys. See `listToMap` below for details. + ListToMaps LogTransformerTransformerConfigListToMapArrayInput `pulumi:"listToMaps"` + // Converts a string to lowercase. See `lowerCaseString` below for details. + LowerCaseStrings LogTransformerTransformerConfigLowerCaseStringArrayInput `pulumi:"lowerCaseStrings"` + // Moves a key from one field to another. See `moveKeys` below for details. + MoveKeys LogTransformerTransformerConfigMoveKeyArrayInput `pulumi:"moveKeys"` + // Parses CloudFront vended logs, extracts fields, and converts them into JSON format. See `parseCloudfront` below for details. + ParseCloudfront LogTransformerTransformerConfigParseCloudfrontPtrInput `pulumi:"parseCloudfront"` + // Parses log events that are in JSON format. See `parseJson` below for details. + ParseJsons LogTransformerTransformerConfigParseJsonArrayInput `pulumi:"parseJsons"` + // Parses a specified field in the original log event into key-value pairs. See `parseKeyValue` below for details. + ParseKeyValues LogTransformerTransformerConfigParseKeyValueArrayInput `pulumi:"parseKeyValues"` + // Parses RDS for PostgreSQL vended logs, extracts fields, and and convert them into a JSON format. See `parsePostgres` below for details. + ParsePostgres LogTransformerTransformerConfigParsePostgresPtrInput `pulumi:"parsePostgres"` + // Parses Route 53 vended logs, extracts fields, and converts them into JSON format. See `parseRoute53` below for details. + ParseRoute53 LogTransformerTransformerConfigParseRoute53PtrInput `pulumi:"parseRoute53"` + // Parses logs events and converts them into Open Cybersecurity Schema Framework (OCSF) events. See `parseToOcsf` below for details. + ParseToOcsf LogTransformerTransformerConfigParseToOcsfPtrInput `pulumi:"parseToOcsf"` + // Parses Amazon VPC vended logs, extracts fields, and converts them into JSON format. See `parseVpc` below for details. + ParseVpc LogTransformerTransformerConfigParseVpcPtrInput `pulumi:"parseVpc"` + // Parses AWS WAF vended logs, extracts fields, and converts them into JSON format. See `parseWaf` below for details. + ParseWaf LogTransformerTransformerConfigParseWafPtrInput `pulumi:"parseWaf"` + // Renames keys in a log event. See `renameKeys` below for details. + RenameKeys LogTransformerTransformerConfigRenameKeyArrayInput `pulumi:"renameKeys"` + // Splits a field into an array of strings using a delimiting character. See `splitString` below for details. + SplitStrings LogTransformerTransformerConfigSplitStringArrayInput `pulumi:"splitStrings"` + // Matches a key’s value against a regular expression and replaces all matches with a replacement string. See `substituteString` below for details. + SubstituteStrings LogTransformerTransformerConfigSubstituteStringArrayInput `pulumi:"substituteStrings"` + // Removes leading and trailing whitespace from a string. See `trimString` below for details. + TrimStrings LogTransformerTransformerConfigTrimStringArrayInput `pulumi:"trimStrings"` + // Converts a value type associated with the specified key to the specified type. See `typeConverter` below for details. + TypeConverters LogTransformerTransformerConfigTypeConverterArrayInput `pulumi:"typeConverters"` + // Converts a string to uppercase. See `upperCaseString` below for details. + UpperCaseStrings LogTransformerTransformerConfigUpperCaseStringArrayInput `pulumi:"upperCaseStrings"` +} + +func (LogTransformerTransformerConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LogTransformerTransformerConfig)(nil)).Elem() +} + +func (i LogTransformerTransformerConfigArgs) ToLogTransformerTransformerConfigOutput() LogTransformerTransformerConfigOutput { + return i.ToLogTransformerTransformerConfigOutputWithContext(context.Background()) +} + +func (i LogTransformerTransformerConfigArgs) ToLogTransformerTransformerConfigOutputWithContext(ctx context.Context) LogTransformerTransformerConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(LogTransformerTransformerConfigOutput) +} + +// LogTransformerTransformerConfigArrayInput is an input type that accepts LogTransformerTransformerConfigArray and LogTransformerTransformerConfigArrayOutput values. +// You can construct a concrete instance of `LogTransformerTransformerConfigArrayInput` via: +// +// LogTransformerTransformerConfigArray{ LogTransformerTransformerConfigArgs{...} } +type LogTransformerTransformerConfigArrayInput interface { + pulumi.Input + + ToLogTransformerTransformerConfigArrayOutput() LogTransformerTransformerConfigArrayOutput + ToLogTransformerTransformerConfigArrayOutputWithContext(context.Context) LogTransformerTransformerConfigArrayOutput +} + +type LogTransformerTransformerConfigArray []LogTransformerTransformerConfigInput + +func (LogTransformerTransformerConfigArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]LogTransformerTransformerConfig)(nil)).Elem() +} + +func (i LogTransformerTransformerConfigArray) ToLogTransformerTransformerConfigArrayOutput() LogTransformerTransformerConfigArrayOutput { + return i.ToLogTransformerTransformerConfigArrayOutputWithContext(context.Background()) +} + +func (i LogTransformerTransformerConfigArray) ToLogTransformerTransformerConfigArrayOutputWithContext(ctx context.Context) LogTransformerTransformerConfigArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(LogTransformerTransformerConfigArrayOutput) +} + +type LogTransformerTransformerConfigOutput struct{ *pulumi.OutputState } + +func (LogTransformerTransformerConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LogTransformerTransformerConfig)(nil)).Elem() +} + +func (o LogTransformerTransformerConfigOutput) ToLogTransformerTransformerConfigOutput() LogTransformerTransformerConfigOutput { + return o +} + +func (o LogTransformerTransformerConfigOutput) ToLogTransformerTransformerConfigOutputWithContext(ctx context.Context) LogTransformerTransformerConfigOutput { + return o +} + +// Adds new key-value pairs to the log event. See `addKeys` below for details. +func (o LogTransformerTransformerConfigOutput) AddKeys() LogTransformerTransformerConfigAddKeysPtrOutput { + return o.ApplyT(func(v LogTransformerTransformerConfig) *LogTransformerTransformerConfigAddKeys { return v.AddKeys }).(LogTransformerTransformerConfigAddKeysPtrOutput) +} + +// Copies values within a log event. See `copyValue` below for details. +func (o LogTransformerTransformerConfigOutput) CopyValue() LogTransformerTransformerConfigCopyValuePtrOutput { + return o.ApplyT(func(v LogTransformerTransformerConfig) *LogTransformerTransformerConfigCopyValue { return v.CopyValue }).(LogTransformerTransformerConfigCopyValuePtrOutput) +} + +// Parses comma-separated values (CSV) from the log events into columns. See `csv` below for details. +func (o LogTransformerTransformerConfigOutput) Csvs() LogTransformerTransformerConfigCsvArrayOutput { + return o.ApplyT(func(v LogTransformerTransformerConfig) []LogTransformerTransformerConfigCsv { return v.Csvs }).(LogTransformerTransformerConfigCsvArrayOutput) +} + +// Converts a datetime string into a format that you specify. See `dateTimeConverter` below for details. +func (o LogTransformerTransformerConfigOutput) DateTimeConverters() LogTransformerTransformerConfigDateTimeConverterArrayOutput { + return o.ApplyT(func(v LogTransformerTransformerConfig) []LogTransformerTransformerConfigDateTimeConverter { + return v.DateTimeConverters + }).(LogTransformerTransformerConfigDateTimeConverterArrayOutput) +} + +// Deletes entry from a log event. See `deleteKeys` below for details. +func (o LogTransformerTransformerConfigOutput) DeleteKeys() LogTransformerTransformerConfigDeleteKeyArrayOutput { + return o.ApplyT(func(v LogTransformerTransformerConfig) []LogTransformerTransformerConfigDeleteKey { + return v.DeleteKeys + }).(LogTransformerTransformerConfigDeleteKeyArrayOutput) +} + +// Parses and structures unstructured data by using pattern matching. See `grok` below for details. +func (o LogTransformerTransformerConfigOutput) Grok() LogTransformerTransformerConfigGrokPtrOutput { + return o.ApplyT(func(v LogTransformerTransformerConfig) *LogTransformerTransformerConfigGrok { return v.Grok }).(LogTransformerTransformerConfigGrokPtrOutput) +} + +// Converts list of objects that contain key fields into a map of target keys. See `listToMap` below for details. +func (o LogTransformerTransformerConfigOutput) ListToMaps() LogTransformerTransformerConfigListToMapArrayOutput { + return o.ApplyT(func(v LogTransformerTransformerConfig) []LogTransformerTransformerConfigListToMap { + return v.ListToMaps + }).(LogTransformerTransformerConfigListToMapArrayOutput) +} + +// Converts a string to lowercase. See `lowerCaseString` below for details. +func (o LogTransformerTransformerConfigOutput) LowerCaseStrings() LogTransformerTransformerConfigLowerCaseStringArrayOutput { + return o.ApplyT(func(v LogTransformerTransformerConfig) []LogTransformerTransformerConfigLowerCaseString { + return v.LowerCaseStrings + }).(LogTransformerTransformerConfigLowerCaseStringArrayOutput) +} + +// Moves a key from one field to another. See `moveKeys` below for details. +func (o LogTransformerTransformerConfigOutput) MoveKeys() LogTransformerTransformerConfigMoveKeyArrayOutput { + return o.ApplyT(func(v LogTransformerTransformerConfig) []LogTransformerTransformerConfigMoveKey { return v.MoveKeys }).(LogTransformerTransformerConfigMoveKeyArrayOutput) +} + +// Parses CloudFront vended logs, extracts fields, and converts them into JSON format. See `parseCloudfront` below for details. +func (o LogTransformerTransformerConfigOutput) ParseCloudfront() LogTransformerTransformerConfigParseCloudfrontPtrOutput { + return o.ApplyT(func(v LogTransformerTransformerConfig) *LogTransformerTransformerConfigParseCloudfront { + return v.ParseCloudfront + }).(LogTransformerTransformerConfigParseCloudfrontPtrOutput) +} + +// Parses log events that are in JSON format. See `parseJson` below for details. +func (o LogTransformerTransformerConfigOutput) ParseJsons() LogTransformerTransformerConfigParseJsonArrayOutput { + return o.ApplyT(func(v LogTransformerTransformerConfig) []LogTransformerTransformerConfigParseJson { + return v.ParseJsons + }).(LogTransformerTransformerConfigParseJsonArrayOutput) +} + +// Parses a specified field in the original log event into key-value pairs. See `parseKeyValue` below for details. +func (o LogTransformerTransformerConfigOutput) ParseKeyValues() LogTransformerTransformerConfigParseKeyValueArrayOutput { + return o.ApplyT(func(v LogTransformerTransformerConfig) []LogTransformerTransformerConfigParseKeyValue { + return v.ParseKeyValues + }).(LogTransformerTransformerConfigParseKeyValueArrayOutput) +} + +// Parses RDS for PostgreSQL vended logs, extracts fields, and and convert them into a JSON format. See `parsePostgres` below for details. +func (o LogTransformerTransformerConfigOutput) ParsePostgres() LogTransformerTransformerConfigParsePostgresPtrOutput { + return o.ApplyT(func(v LogTransformerTransformerConfig) *LogTransformerTransformerConfigParsePostgres { + return v.ParsePostgres + }).(LogTransformerTransformerConfigParsePostgresPtrOutput) +} + +// Parses Route 53 vended logs, extracts fields, and converts them into JSON format. See `parseRoute53` below for details. +func (o LogTransformerTransformerConfigOutput) ParseRoute53() LogTransformerTransformerConfigParseRoute53PtrOutput { + return o.ApplyT(func(v LogTransformerTransformerConfig) *LogTransformerTransformerConfigParseRoute53 { + return v.ParseRoute53 + }).(LogTransformerTransformerConfigParseRoute53PtrOutput) +} + +// Parses logs events and converts them into Open Cybersecurity Schema Framework (OCSF) events. See `parseToOcsf` below for details. +func (o LogTransformerTransformerConfigOutput) ParseToOcsf() LogTransformerTransformerConfigParseToOcsfPtrOutput { + return o.ApplyT(func(v LogTransformerTransformerConfig) *LogTransformerTransformerConfigParseToOcsf { + return v.ParseToOcsf + }).(LogTransformerTransformerConfigParseToOcsfPtrOutput) +} + +// Parses Amazon VPC vended logs, extracts fields, and converts them into JSON format. See `parseVpc` below for details. +func (o LogTransformerTransformerConfigOutput) ParseVpc() LogTransformerTransformerConfigParseVpcPtrOutput { + return o.ApplyT(func(v LogTransformerTransformerConfig) *LogTransformerTransformerConfigParseVpc { return v.ParseVpc }).(LogTransformerTransformerConfigParseVpcPtrOutput) +} + +// Parses AWS WAF vended logs, extracts fields, and converts them into JSON format. See `parseWaf` below for details. +func (o LogTransformerTransformerConfigOutput) ParseWaf() LogTransformerTransformerConfigParseWafPtrOutput { + return o.ApplyT(func(v LogTransformerTransformerConfig) *LogTransformerTransformerConfigParseWaf { return v.ParseWaf }).(LogTransformerTransformerConfigParseWafPtrOutput) +} + +// Renames keys in a log event. See `renameKeys` below for details. +func (o LogTransformerTransformerConfigOutput) RenameKeys() LogTransformerTransformerConfigRenameKeyArrayOutput { + return o.ApplyT(func(v LogTransformerTransformerConfig) []LogTransformerTransformerConfigRenameKey { + return v.RenameKeys + }).(LogTransformerTransformerConfigRenameKeyArrayOutput) +} + +// Splits a field into an array of strings using a delimiting character. See `splitString` below for details. +func (o LogTransformerTransformerConfigOutput) SplitStrings() LogTransformerTransformerConfigSplitStringArrayOutput { + return o.ApplyT(func(v LogTransformerTransformerConfig) []LogTransformerTransformerConfigSplitString { + return v.SplitStrings + }).(LogTransformerTransformerConfigSplitStringArrayOutput) +} + +// Matches a key’s value against a regular expression and replaces all matches with a replacement string. See `substituteString` below for details. +func (o LogTransformerTransformerConfigOutput) SubstituteStrings() LogTransformerTransformerConfigSubstituteStringArrayOutput { + return o.ApplyT(func(v LogTransformerTransformerConfig) []LogTransformerTransformerConfigSubstituteString { + return v.SubstituteStrings + }).(LogTransformerTransformerConfigSubstituteStringArrayOutput) +} + +// Removes leading and trailing whitespace from a string. See `trimString` below for details. +func (o LogTransformerTransformerConfigOutput) TrimStrings() LogTransformerTransformerConfigTrimStringArrayOutput { + return o.ApplyT(func(v LogTransformerTransformerConfig) []LogTransformerTransformerConfigTrimString { + return v.TrimStrings + }).(LogTransformerTransformerConfigTrimStringArrayOutput) +} + +// Converts a value type associated with the specified key to the specified type. See `typeConverter` below for details. +func (o LogTransformerTransformerConfigOutput) TypeConverters() LogTransformerTransformerConfigTypeConverterArrayOutput { + return o.ApplyT(func(v LogTransformerTransformerConfig) []LogTransformerTransformerConfigTypeConverter { + return v.TypeConverters + }).(LogTransformerTransformerConfigTypeConverterArrayOutput) +} + +// Converts a string to uppercase. See `upperCaseString` below for details. +func (o LogTransformerTransformerConfigOutput) UpperCaseStrings() LogTransformerTransformerConfigUpperCaseStringArrayOutput { + return o.ApplyT(func(v LogTransformerTransformerConfig) []LogTransformerTransformerConfigUpperCaseString { + return v.UpperCaseStrings + }).(LogTransformerTransformerConfigUpperCaseStringArrayOutput) +} + +type LogTransformerTransformerConfigArrayOutput struct{ *pulumi.OutputState } + +func (LogTransformerTransformerConfigArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]LogTransformerTransformerConfig)(nil)).Elem() +} + +func (o LogTransformerTransformerConfigArrayOutput) ToLogTransformerTransformerConfigArrayOutput() LogTransformerTransformerConfigArrayOutput { + return o +} + +func (o LogTransformerTransformerConfigArrayOutput) ToLogTransformerTransformerConfigArrayOutputWithContext(ctx context.Context) LogTransformerTransformerConfigArrayOutput { + return o +} + +func (o LogTransformerTransformerConfigArrayOutput) Index(i pulumi.IntInput) LogTransformerTransformerConfigOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) LogTransformerTransformerConfig { + return vs[0].([]LogTransformerTransformerConfig)[vs[1].(int)] + }).(LogTransformerTransformerConfigOutput) +} + +type LogTransformerTransformerConfigAddKeys struct { + // Objects containing the information about the keys to add to the log event. You must include at least one entry, and five at most. See `addKeys` `entry` below for details. + Entries []LogTransformerTransformerConfigAddKeysEntry `pulumi:"entries"` +} + +// LogTransformerTransformerConfigAddKeysInput is an input type that accepts LogTransformerTransformerConfigAddKeysArgs and LogTransformerTransformerConfigAddKeysOutput values. +// You can construct a concrete instance of `LogTransformerTransformerConfigAddKeysInput` via: +// +// LogTransformerTransformerConfigAddKeysArgs{...} +type LogTransformerTransformerConfigAddKeysInput interface { + pulumi.Input + + ToLogTransformerTransformerConfigAddKeysOutput() LogTransformerTransformerConfigAddKeysOutput + ToLogTransformerTransformerConfigAddKeysOutputWithContext(context.Context) LogTransformerTransformerConfigAddKeysOutput +} + +type LogTransformerTransformerConfigAddKeysArgs struct { + // Objects containing the information about the keys to add to the log event. You must include at least one entry, and five at most. See `addKeys` `entry` below for details. + Entries LogTransformerTransformerConfigAddKeysEntryArrayInput `pulumi:"entries"` +} + +func (LogTransformerTransformerConfigAddKeysArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LogTransformerTransformerConfigAddKeys)(nil)).Elem() +} + +func (i LogTransformerTransformerConfigAddKeysArgs) ToLogTransformerTransformerConfigAddKeysOutput() LogTransformerTransformerConfigAddKeysOutput { + return i.ToLogTransformerTransformerConfigAddKeysOutputWithContext(context.Background()) +} + +func (i LogTransformerTransformerConfigAddKeysArgs) ToLogTransformerTransformerConfigAddKeysOutputWithContext(ctx context.Context) LogTransformerTransformerConfigAddKeysOutput { + return pulumi.ToOutputWithContext(ctx, i).(LogTransformerTransformerConfigAddKeysOutput) +} + +func (i LogTransformerTransformerConfigAddKeysArgs) ToLogTransformerTransformerConfigAddKeysPtrOutput() LogTransformerTransformerConfigAddKeysPtrOutput { + return i.ToLogTransformerTransformerConfigAddKeysPtrOutputWithContext(context.Background()) +} + +func (i LogTransformerTransformerConfigAddKeysArgs) ToLogTransformerTransformerConfigAddKeysPtrOutputWithContext(ctx context.Context) LogTransformerTransformerConfigAddKeysPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(LogTransformerTransformerConfigAddKeysOutput).ToLogTransformerTransformerConfigAddKeysPtrOutputWithContext(ctx) +} + +// LogTransformerTransformerConfigAddKeysPtrInput is an input type that accepts LogTransformerTransformerConfigAddKeysArgs, LogTransformerTransformerConfigAddKeysPtr and LogTransformerTransformerConfigAddKeysPtrOutput values. +// You can construct a concrete instance of `LogTransformerTransformerConfigAddKeysPtrInput` via: +// +// LogTransformerTransformerConfigAddKeysArgs{...} +// +// or: +// +// nil +type LogTransformerTransformerConfigAddKeysPtrInput interface { + pulumi.Input + + ToLogTransformerTransformerConfigAddKeysPtrOutput() LogTransformerTransformerConfigAddKeysPtrOutput + ToLogTransformerTransformerConfigAddKeysPtrOutputWithContext(context.Context) LogTransformerTransformerConfigAddKeysPtrOutput +} + +type logTransformerTransformerConfigAddKeysPtrType LogTransformerTransformerConfigAddKeysArgs + +func LogTransformerTransformerConfigAddKeysPtr(v *LogTransformerTransformerConfigAddKeysArgs) LogTransformerTransformerConfigAddKeysPtrInput { + return (*logTransformerTransformerConfigAddKeysPtrType)(v) +} + +func (*logTransformerTransformerConfigAddKeysPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**LogTransformerTransformerConfigAddKeys)(nil)).Elem() +} + +func (i *logTransformerTransformerConfigAddKeysPtrType) ToLogTransformerTransformerConfigAddKeysPtrOutput() LogTransformerTransformerConfigAddKeysPtrOutput { + return i.ToLogTransformerTransformerConfigAddKeysPtrOutputWithContext(context.Background()) +} + +func (i *logTransformerTransformerConfigAddKeysPtrType) ToLogTransformerTransformerConfigAddKeysPtrOutputWithContext(ctx context.Context) LogTransformerTransformerConfigAddKeysPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(LogTransformerTransformerConfigAddKeysPtrOutput) +} + +type LogTransformerTransformerConfigAddKeysOutput struct{ *pulumi.OutputState } + +func (LogTransformerTransformerConfigAddKeysOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LogTransformerTransformerConfigAddKeys)(nil)).Elem() +} + +func (o LogTransformerTransformerConfigAddKeysOutput) ToLogTransformerTransformerConfigAddKeysOutput() LogTransformerTransformerConfigAddKeysOutput { + return o +} + +func (o LogTransformerTransformerConfigAddKeysOutput) ToLogTransformerTransformerConfigAddKeysOutputWithContext(ctx context.Context) LogTransformerTransformerConfigAddKeysOutput { + return o +} + +func (o LogTransformerTransformerConfigAddKeysOutput) ToLogTransformerTransformerConfigAddKeysPtrOutput() LogTransformerTransformerConfigAddKeysPtrOutput { + return o.ToLogTransformerTransformerConfigAddKeysPtrOutputWithContext(context.Background()) +} + +func (o LogTransformerTransformerConfigAddKeysOutput) ToLogTransformerTransformerConfigAddKeysPtrOutputWithContext(ctx context.Context) LogTransformerTransformerConfigAddKeysPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v LogTransformerTransformerConfigAddKeys) *LogTransformerTransformerConfigAddKeys { + return &v + }).(LogTransformerTransformerConfigAddKeysPtrOutput) +} + +// Objects containing the information about the keys to add to the log event. You must include at least one entry, and five at most. See `addKeys` `entry` below for details. +func (o LogTransformerTransformerConfigAddKeysOutput) Entries() LogTransformerTransformerConfigAddKeysEntryArrayOutput { + return o.ApplyT(func(v LogTransformerTransformerConfigAddKeys) []LogTransformerTransformerConfigAddKeysEntry { + return v.Entries + }).(LogTransformerTransformerConfigAddKeysEntryArrayOutput) +} + +type LogTransformerTransformerConfigAddKeysPtrOutput struct{ *pulumi.OutputState } + +func (LogTransformerTransformerConfigAddKeysPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**LogTransformerTransformerConfigAddKeys)(nil)).Elem() +} + +func (o LogTransformerTransformerConfigAddKeysPtrOutput) ToLogTransformerTransformerConfigAddKeysPtrOutput() LogTransformerTransformerConfigAddKeysPtrOutput { + return o +} + +func (o LogTransformerTransformerConfigAddKeysPtrOutput) ToLogTransformerTransformerConfigAddKeysPtrOutputWithContext(ctx context.Context) LogTransformerTransformerConfigAddKeysPtrOutput { + return o +} + +func (o LogTransformerTransformerConfigAddKeysPtrOutput) Elem() LogTransformerTransformerConfigAddKeysOutput { + return o.ApplyT(func(v *LogTransformerTransformerConfigAddKeys) LogTransformerTransformerConfigAddKeys { + if v != nil { + return *v + } + var ret LogTransformerTransformerConfigAddKeys + return ret + }).(LogTransformerTransformerConfigAddKeysOutput) +} + +// Objects containing the information about the keys to add to the log event. You must include at least one entry, and five at most. See `addKeys` `entry` below for details. +func (o LogTransformerTransformerConfigAddKeysPtrOutput) Entries() LogTransformerTransformerConfigAddKeysEntryArrayOutput { + return o.ApplyT(func(v *LogTransformerTransformerConfigAddKeys) []LogTransformerTransformerConfigAddKeysEntry { + if v == nil { + return nil + } + return v.Entries + }).(LogTransformerTransformerConfigAddKeysEntryArrayOutput) +} + +type LogTransformerTransformerConfigAddKeysEntry struct { + // Specifies the key with the value that will be converted to a different type. + Key string `pulumi:"key"` + // Specifies whether to overwrite the value if the destination key already exists. Defaults to `false`. + // * `renameTo` - (Required) Specifies the new name of the key. + OverwriteIfExists *bool `pulumi:"overwriteIfExists"` + // Specifies the value of the new entry to be added to the log event. + Value string `pulumi:"value"` +} + +// LogTransformerTransformerConfigAddKeysEntryInput is an input type that accepts LogTransformerTransformerConfigAddKeysEntryArgs and LogTransformerTransformerConfigAddKeysEntryOutput values. +// You can construct a concrete instance of `LogTransformerTransformerConfigAddKeysEntryInput` via: +// +// LogTransformerTransformerConfigAddKeysEntryArgs{...} +type LogTransformerTransformerConfigAddKeysEntryInput interface { + pulumi.Input + + ToLogTransformerTransformerConfigAddKeysEntryOutput() LogTransformerTransformerConfigAddKeysEntryOutput + ToLogTransformerTransformerConfigAddKeysEntryOutputWithContext(context.Context) LogTransformerTransformerConfigAddKeysEntryOutput +} + +type LogTransformerTransformerConfigAddKeysEntryArgs struct { + // Specifies the key with the value that will be converted to a different type. + Key pulumi.StringInput `pulumi:"key"` + // Specifies whether to overwrite the value if the destination key already exists. Defaults to `false`. + // * `renameTo` - (Required) Specifies the new name of the key. + OverwriteIfExists pulumi.BoolPtrInput `pulumi:"overwriteIfExists"` + // Specifies the value of the new entry to be added to the log event. + Value pulumi.StringInput `pulumi:"value"` +} + +func (LogTransformerTransformerConfigAddKeysEntryArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LogTransformerTransformerConfigAddKeysEntry)(nil)).Elem() +} + +func (i LogTransformerTransformerConfigAddKeysEntryArgs) ToLogTransformerTransformerConfigAddKeysEntryOutput() LogTransformerTransformerConfigAddKeysEntryOutput { + return i.ToLogTransformerTransformerConfigAddKeysEntryOutputWithContext(context.Background()) +} + +func (i LogTransformerTransformerConfigAddKeysEntryArgs) ToLogTransformerTransformerConfigAddKeysEntryOutputWithContext(ctx context.Context) LogTransformerTransformerConfigAddKeysEntryOutput { + return pulumi.ToOutputWithContext(ctx, i).(LogTransformerTransformerConfigAddKeysEntryOutput) +} + +// LogTransformerTransformerConfigAddKeysEntryArrayInput is an input type that accepts LogTransformerTransformerConfigAddKeysEntryArray and LogTransformerTransformerConfigAddKeysEntryArrayOutput values. +// You can construct a concrete instance of `LogTransformerTransformerConfigAddKeysEntryArrayInput` via: +// +// LogTransformerTransformerConfigAddKeysEntryArray{ LogTransformerTransformerConfigAddKeysEntryArgs{...} } +type LogTransformerTransformerConfigAddKeysEntryArrayInput interface { + pulumi.Input + + ToLogTransformerTransformerConfigAddKeysEntryArrayOutput() LogTransformerTransformerConfigAddKeysEntryArrayOutput + ToLogTransformerTransformerConfigAddKeysEntryArrayOutputWithContext(context.Context) LogTransformerTransformerConfigAddKeysEntryArrayOutput +} + +type LogTransformerTransformerConfigAddKeysEntryArray []LogTransformerTransformerConfigAddKeysEntryInput + +func (LogTransformerTransformerConfigAddKeysEntryArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]LogTransformerTransformerConfigAddKeysEntry)(nil)).Elem() +} + +func (i LogTransformerTransformerConfigAddKeysEntryArray) ToLogTransformerTransformerConfigAddKeysEntryArrayOutput() LogTransformerTransformerConfigAddKeysEntryArrayOutput { + return i.ToLogTransformerTransformerConfigAddKeysEntryArrayOutputWithContext(context.Background()) +} + +func (i LogTransformerTransformerConfigAddKeysEntryArray) ToLogTransformerTransformerConfigAddKeysEntryArrayOutputWithContext(ctx context.Context) LogTransformerTransformerConfigAddKeysEntryArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(LogTransformerTransformerConfigAddKeysEntryArrayOutput) +} + +type LogTransformerTransformerConfigAddKeysEntryOutput struct{ *pulumi.OutputState } + +func (LogTransformerTransformerConfigAddKeysEntryOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LogTransformerTransformerConfigAddKeysEntry)(nil)).Elem() +} + +func (o LogTransformerTransformerConfigAddKeysEntryOutput) ToLogTransformerTransformerConfigAddKeysEntryOutput() LogTransformerTransformerConfigAddKeysEntryOutput { + return o +} + +func (o LogTransformerTransformerConfigAddKeysEntryOutput) ToLogTransformerTransformerConfigAddKeysEntryOutputWithContext(ctx context.Context) LogTransformerTransformerConfigAddKeysEntryOutput { + return o +} + +// Specifies the key with the value that will be converted to a different type. +func (o LogTransformerTransformerConfigAddKeysEntryOutput) Key() pulumi.StringOutput { + return o.ApplyT(func(v LogTransformerTransformerConfigAddKeysEntry) string { return v.Key }).(pulumi.StringOutput) +} + +// Specifies whether to overwrite the value if the destination key already exists. Defaults to `false`. +// * `renameTo` - (Required) Specifies the new name of the key. +func (o LogTransformerTransformerConfigAddKeysEntryOutput) OverwriteIfExists() pulumi.BoolPtrOutput { + return o.ApplyT(func(v LogTransformerTransformerConfigAddKeysEntry) *bool { return v.OverwriteIfExists }).(pulumi.BoolPtrOutput) +} + +// Specifies the value of the new entry to be added to the log event. +func (o LogTransformerTransformerConfigAddKeysEntryOutput) Value() pulumi.StringOutput { + return o.ApplyT(func(v LogTransformerTransformerConfigAddKeysEntry) string { return v.Value }).(pulumi.StringOutput) +} + +type LogTransformerTransformerConfigAddKeysEntryArrayOutput struct{ *pulumi.OutputState } + +func (LogTransformerTransformerConfigAddKeysEntryArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]LogTransformerTransformerConfigAddKeysEntry)(nil)).Elem() +} + +func (o LogTransformerTransformerConfigAddKeysEntryArrayOutput) ToLogTransformerTransformerConfigAddKeysEntryArrayOutput() LogTransformerTransformerConfigAddKeysEntryArrayOutput { + return o +} + +func (o LogTransformerTransformerConfigAddKeysEntryArrayOutput) ToLogTransformerTransformerConfigAddKeysEntryArrayOutputWithContext(ctx context.Context) LogTransformerTransformerConfigAddKeysEntryArrayOutput { + return o +} + +func (o LogTransformerTransformerConfigAddKeysEntryArrayOutput) Index(i pulumi.IntInput) LogTransformerTransformerConfigAddKeysEntryOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) LogTransformerTransformerConfigAddKeysEntry { + return vs[0].([]LogTransformerTransformerConfigAddKeysEntry)[vs[1].(int)] + }).(LogTransformerTransformerConfigAddKeysEntryOutput) +} + +type LogTransformerTransformerConfigCopyValue struct { + // Objects containing the information about the values to copy to the log event. You must include at least one entry, and five at most. See `copyValue` `entry` below for details. + Entries []LogTransformerTransformerConfigCopyValueEntry `pulumi:"entries"` +} + +// LogTransformerTransformerConfigCopyValueInput is an input type that accepts LogTransformerTransformerConfigCopyValueArgs and LogTransformerTransformerConfigCopyValueOutput values. +// You can construct a concrete instance of `LogTransformerTransformerConfigCopyValueInput` via: +// +// LogTransformerTransformerConfigCopyValueArgs{...} +type LogTransformerTransformerConfigCopyValueInput interface { + pulumi.Input + + ToLogTransformerTransformerConfigCopyValueOutput() LogTransformerTransformerConfigCopyValueOutput + ToLogTransformerTransformerConfigCopyValueOutputWithContext(context.Context) LogTransformerTransformerConfigCopyValueOutput +} + +type LogTransformerTransformerConfigCopyValueArgs struct { + // Objects containing the information about the values to copy to the log event. You must include at least one entry, and five at most. See `copyValue` `entry` below for details. + Entries LogTransformerTransformerConfigCopyValueEntryArrayInput `pulumi:"entries"` +} + +func (LogTransformerTransformerConfigCopyValueArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LogTransformerTransformerConfigCopyValue)(nil)).Elem() +} + +func (i LogTransformerTransformerConfigCopyValueArgs) ToLogTransformerTransformerConfigCopyValueOutput() LogTransformerTransformerConfigCopyValueOutput { + return i.ToLogTransformerTransformerConfigCopyValueOutputWithContext(context.Background()) +} + +func (i LogTransformerTransformerConfigCopyValueArgs) ToLogTransformerTransformerConfigCopyValueOutputWithContext(ctx context.Context) LogTransformerTransformerConfigCopyValueOutput { + return pulumi.ToOutputWithContext(ctx, i).(LogTransformerTransformerConfigCopyValueOutput) +} + +func (i LogTransformerTransformerConfigCopyValueArgs) ToLogTransformerTransformerConfigCopyValuePtrOutput() LogTransformerTransformerConfigCopyValuePtrOutput { + return i.ToLogTransformerTransformerConfigCopyValuePtrOutputWithContext(context.Background()) +} + +func (i LogTransformerTransformerConfigCopyValueArgs) ToLogTransformerTransformerConfigCopyValuePtrOutputWithContext(ctx context.Context) LogTransformerTransformerConfigCopyValuePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(LogTransformerTransformerConfigCopyValueOutput).ToLogTransformerTransformerConfigCopyValuePtrOutputWithContext(ctx) +} + +// LogTransformerTransformerConfigCopyValuePtrInput is an input type that accepts LogTransformerTransformerConfigCopyValueArgs, LogTransformerTransformerConfigCopyValuePtr and LogTransformerTransformerConfigCopyValuePtrOutput values. +// You can construct a concrete instance of `LogTransformerTransformerConfigCopyValuePtrInput` via: +// +// LogTransformerTransformerConfigCopyValueArgs{...} +// +// or: +// +// nil +type LogTransformerTransformerConfigCopyValuePtrInput interface { + pulumi.Input + + ToLogTransformerTransformerConfigCopyValuePtrOutput() LogTransformerTransformerConfigCopyValuePtrOutput + ToLogTransformerTransformerConfigCopyValuePtrOutputWithContext(context.Context) LogTransformerTransformerConfigCopyValuePtrOutput +} + +type logTransformerTransformerConfigCopyValuePtrType LogTransformerTransformerConfigCopyValueArgs + +func LogTransformerTransformerConfigCopyValuePtr(v *LogTransformerTransformerConfigCopyValueArgs) LogTransformerTransformerConfigCopyValuePtrInput { + return (*logTransformerTransformerConfigCopyValuePtrType)(v) +} + +func (*logTransformerTransformerConfigCopyValuePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**LogTransformerTransformerConfigCopyValue)(nil)).Elem() +} + +func (i *logTransformerTransformerConfigCopyValuePtrType) ToLogTransformerTransformerConfigCopyValuePtrOutput() LogTransformerTransformerConfigCopyValuePtrOutput { + return i.ToLogTransformerTransformerConfigCopyValuePtrOutputWithContext(context.Background()) +} + +func (i *logTransformerTransformerConfigCopyValuePtrType) ToLogTransformerTransformerConfigCopyValuePtrOutputWithContext(ctx context.Context) LogTransformerTransformerConfigCopyValuePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(LogTransformerTransformerConfigCopyValuePtrOutput) +} + +type LogTransformerTransformerConfigCopyValueOutput struct{ *pulumi.OutputState } + +func (LogTransformerTransformerConfigCopyValueOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LogTransformerTransformerConfigCopyValue)(nil)).Elem() +} + +func (o LogTransformerTransformerConfigCopyValueOutput) ToLogTransformerTransformerConfigCopyValueOutput() LogTransformerTransformerConfigCopyValueOutput { + return o +} + +func (o LogTransformerTransformerConfigCopyValueOutput) ToLogTransformerTransformerConfigCopyValueOutputWithContext(ctx context.Context) LogTransformerTransformerConfigCopyValueOutput { + return o +} + +func (o LogTransformerTransformerConfigCopyValueOutput) ToLogTransformerTransformerConfigCopyValuePtrOutput() LogTransformerTransformerConfigCopyValuePtrOutput { + return o.ToLogTransformerTransformerConfigCopyValuePtrOutputWithContext(context.Background()) +} + +func (o LogTransformerTransformerConfigCopyValueOutput) ToLogTransformerTransformerConfigCopyValuePtrOutputWithContext(ctx context.Context) LogTransformerTransformerConfigCopyValuePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v LogTransformerTransformerConfigCopyValue) *LogTransformerTransformerConfigCopyValue { + return &v + }).(LogTransformerTransformerConfigCopyValuePtrOutput) +} + +// Objects containing the information about the values to copy to the log event. You must include at least one entry, and five at most. See `copyValue` `entry` below for details. +func (o LogTransformerTransformerConfigCopyValueOutput) Entries() LogTransformerTransformerConfigCopyValueEntryArrayOutput { + return o.ApplyT(func(v LogTransformerTransformerConfigCopyValue) []LogTransformerTransformerConfigCopyValueEntry { + return v.Entries + }).(LogTransformerTransformerConfigCopyValueEntryArrayOutput) +} + +type LogTransformerTransformerConfigCopyValuePtrOutput struct{ *pulumi.OutputState } + +func (LogTransformerTransformerConfigCopyValuePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**LogTransformerTransformerConfigCopyValue)(nil)).Elem() +} + +func (o LogTransformerTransformerConfigCopyValuePtrOutput) ToLogTransformerTransformerConfigCopyValuePtrOutput() LogTransformerTransformerConfigCopyValuePtrOutput { + return o +} + +func (o LogTransformerTransformerConfigCopyValuePtrOutput) ToLogTransformerTransformerConfigCopyValuePtrOutputWithContext(ctx context.Context) LogTransformerTransformerConfigCopyValuePtrOutput { + return o +} + +func (o LogTransformerTransformerConfigCopyValuePtrOutput) Elem() LogTransformerTransformerConfigCopyValueOutput { + return o.ApplyT(func(v *LogTransformerTransformerConfigCopyValue) LogTransformerTransformerConfigCopyValue { + if v != nil { + return *v + } + var ret LogTransformerTransformerConfigCopyValue + return ret + }).(LogTransformerTransformerConfigCopyValueOutput) +} + +// Objects containing the information about the values to copy to the log event. You must include at least one entry, and five at most. See `copyValue` `entry` below for details. +func (o LogTransformerTransformerConfigCopyValuePtrOutput) Entries() LogTransformerTransformerConfigCopyValueEntryArrayOutput { + return o.ApplyT(func(v *LogTransformerTransformerConfigCopyValue) []LogTransformerTransformerConfigCopyValueEntry { + if v == nil { + return nil + } + return v.Entries + }).(LogTransformerTransformerConfigCopyValueEntryArrayOutput) +} + +type LogTransformerTransformerConfigCopyValueEntry struct { + // Specifies whether to overwrite the value if the destination key already exists. Defaults to `false`. + // * `renameTo` - (Required) Specifies the new name of the key. + OverwriteIfExists *bool `pulumi:"overwriteIfExists"` + // Specifies the key to modify. + Source string `pulumi:"source"` + // Specifies the key to move to. + Target string `pulumi:"target"` +} + +// LogTransformerTransformerConfigCopyValueEntryInput is an input type that accepts LogTransformerTransformerConfigCopyValueEntryArgs and LogTransformerTransformerConfigCopyValueEntryOutput values. +// You can construct a concrete instance of `LogTransformerTransformerConfigCopyValueEntryInput` via: +// +// LogTransformerTransformerConfigCopyValueEntryArgs{...} +type LogTransformerTransformerConfigCopyValueEntryInput interface { + pulumi.Input + + ToLogTransformerTransformerConfigCopyValueEntryOutput() LogTransformerTransformerConfigCopyValueEntryOutput + ToLogTransformerTransformerConfigCopyValueEntryOutputWithContext(context.Context) LogTransformerTransformerConfigCopyValueEntryOutput +} + +type LogTransformerTransformerConfigCopyValueEntryArgs struct { + // Specifies whether to overwrite the value if the destination key already exists. Defaults to `false`. + // * `renameTo` - (Required) Specifies the new name of the key. + OverwriteIfExists pulumi.BoolPtrInput `pulumi:"overwriteIfExists"` + // Specifies the key to modify. + Source pulumi.StringInput `pulumi:"source"` + // Specifies the key to move to. + Target pulumi.StringInput `pulumi:"target"` +} + +func (LogTransformerTransformerConfigCopyValueEntryArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LogTransformerTransformerConfigCopyValueEntry)(nil)).Elem() +} + +func (i LogTransformerTransformerConfigCopyValueEntryArgs) ToLogTransformerTransformerConfigCopyValueEntryOutput() LogTransformerTransformerConfigCopyValueEntryOutput { + return i.ToLogTransformerTransformerConfigCopyValueEntryOutputWithContext(context.Background()) +} + +func (i LogTransformerTransformerConfigCopyValueEntryArgs) ToLogTransformerTransformerConfigCopyValueEntryOutputWithContext(ctx context.Context) LogTransformerTransformerConfigCopyValueEntryOutput { + return pulumi.ToOutputWithContext(ctx, i).(LogTransformerTransformerConfigCopyValueEntryOutput) +} + +// LogTransformerTransformerConfigCopyValueEntryArrayInput is an input type that accepts LogTransformerTransformerConfigCopyValueEntryArray and LogTransformerTransformerConfigCopyValueEntryArrayOutput values. +// You can construct a concrete instance of `LogTransformerTransformerConfigCopyValueEntryArrayInput` via: +// +// LogTransformerTransformerConfigCopyValueEntryArray{ LogTransformerTransformerConfigCopyValueEntryArgs{...} } +type LogTransformerTransformerConfigCopyValueEntryArrayInput interface { + pulumi.Input + + ToLogTransformerTransformerConfigCopyValueEntryArrayOutput() LogTransformerTransformerConfigCopyValueEntryArrayOutput + ToLogTransformerTransformerConfigCopyValueEntryArrayOutputWithContext(context.Context) LogTransformerTransformerConfigCopyValueEntryArrayOutput +} + +type LogTransformerTransformerConfigCopyValueEntryArray []LogTransformerTransformerConfigCopyValueEntryInput + +func (LogTransformerTransformerConfigCopyValueEntryArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]LogTransformerTransformerConfigCopyValueEntry)(nil)).Elem() +} + +func (i LogTransformerTransformerConfigCopyValueEntryArray) ToLogTransformerTransformerConfigCopyValueEntryArrayOutput() LogTransformerTransformerConfigCopyValueEntryArrayOutput { + return i.ToLogTransformerTransformerConfigCopyValueEntryArrayOutputWithContext(context.Background()) +} + +func (i LogTransformerTransformerConfigCopyValueEntryArray) ToLogTransformerTransformerConfigCopyValueEntryArrayOutputWithContext(ctx context.Context) LogTransformerTransformerConfigCopyValueEntryArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(LogTransformerTransformerConfigCopyValueEntryArrayOutput) +} + +type LogTransformerTransformerConfigCopyValueEntryOutput struct{ *pulumi.OutputState } + +func (LogTransformerTransformerConfigCopyValueEntryOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LogTransformerTransformerConfigCopyValueEntry)(nil)).Elem() +} + +func (o LogTransformerTransformerConfigCopyValueEntryOutput) ToLogTransformerTransformerConfigCopyValueEntryOutput() LogTransformerTransformerConfigCopyValueEntryOutput { + return o +} + +func (o LogTransformerTransformerConfigCopyValueEntryOutput) ToLogTransformerTransformerConfigCopyValueEntryOutputWithContext(ctx context.Context) LogTransformerTransformerConfigCopyValueEntryOutput { + return o +} + +// Specifies whether to overwrite the value if the destination key already exists. Defaults to `false`. +// * `renameTo` - (Required) Specifies the new name of the key. +func (o LogTransformerTransformerConfigCopyValueEntryOutput) OverwriteIfExists() pulumi.BoolPtrOutput { + return o.ApplyT(func(v LogTransformerTransformerConfigCopyValueEntry) *bool { return v.OverwriteIfExists }).(pulumi.BoolPtrOutput) +} + +// Specifies the key to modify. +func (o LogTransformerTransformerConfigCopyValueEntryOutput) Source() pulumi.StringOutput { + return o.ApplyT(func(v LogTransformerTransformerConfigCopyValueEntry) string { return v.Source }).(pulumi.StringOutput) +} + +// Specifies the key to move to. +func (o LogTransformerTransformerConfigCopyValueEntryOutput) Target() pulumi.StringOutput { + return o.ApplyT(func(v LogTransformerTransformerConfigCopyValueEntry) string { return v.Target }).(pulumi.StringOutput) +} + +type LogTransformerTransformerConfigCopyValueEntryArrayOutput struct{ *pulumi.OutputState } + +func (LogTransformerTransformerConfigCopyValueEntryArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]LogTransformerTransformerConfigCopyValueEntry)(nil)).Elem() +} + +func (o LogTransformerTransformerConfigCopyValueEntryArrayOutput) ToLogTransformerTransformerConfigCopyValueEntryArrayOutput() LogTransformerTransformerConfigCopyValueEntryArrayOutput { + return o +} + +func (o LogTransformerTransformerConfigCopyValueEntryArrayOutput) ToLogTransformerTransformerConfigCopyValueEntryArrayOutputWithContext(ctx context.Context) LogTransformerTransformerConfigCopyValueEntryArrayOutput { + return o +} + +func (o LogTransformerTransformerConfigCopyValueEntryArrayOutput) Index(i pulumi.IntInput) LogTransformerTransformerConfigCopyValueEntryOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) LogTransformerTransformerConfigCopyValueEntry { + return vs[0].([]LogTransformerTransformerConfigCopyValueEntry)[vs[1].(int)] + }).(LogTransformerTransformerConfigCopyValueEntryOutput) +} + +type LogTransformerTransformerConfigCsv struct { + // Specifies the names to use for the columns in the transformed log event. If not specified, default column names (`[column_1, column2 ...]`) are used. + Columns []string `pulumi:"columns"` + // Specifies the character used to separate each column in the original comma-separated value log event. Defaults to the comma `,` character. + Delimiter *string `pulumi:"delimiter"` + // Specifies the character used as a text qualifier for a single column of data. Defaults to the double quotation mark `"` character. + QuoteCharacter *string `pulumi:"quoteCharacter"` + // Specifies the path to the field in the log event that has the comma separated values to be parsed. If omitted, the whole log message is processed. + Source *string `pulumi:"source"` +} + +// LogTransformerTransformerConfigCsvInput is an input type that accepts LogTransformerTransformerConfigCsvArgs and LogTransformerTransformerConfigCsvOutput values. +// You can construct a concrete instance of `LogTransformerTransformerConfigCsvInput` via: +// +// LogTransformerTransformerConfigCsvArgs{...} +type LogTransformerTransformerConfigCsvInput interface { + pulumi.Input + + ToLogTransformerTransformerConfigCsvOutput() LogTransformerTransformerConfigCsvOutput + ToLogTransformerTransformerConfigCsvOutputWithContext(context.Context) LogTransformerTransformerConfigCsvOutput +} + +type LogTransformerTransformerConfigCsvArgs struct { + // Specifies the names to use for the columns in the transformed log event. If not specified, default column names (`[column_1, column2 ...]`) are used. + Columns pulumi.StringArrayInput `pulumi:"columns"` + // Specifies the character used to separate each column in the original comma-separated value log event. Defaults to the comma `,` character. + Delimiter pulumi.StringPtrInput `pulumi:"delimiter"` + // Specifies the character used as a text qualifier for a single column of data. Defaults to the double quotation mark `"` character. + QuoteCharacter pulumi.StringPtrInput `pulumi:"quoteCharacter"` + // Specifies the path to the field in the log event that has the comma separated values to be parsed. If omitted, the whole log message is processed. + Source pulumi.StringPtrInput `pulumi:"source"` +} + +func (LogTransformerTransformerConfigCsvArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LogTransformerTransformerConfigCsv)(nil)).Elem() +} + +func (i LogTransformerTransformerConfigCsvArgs) ToLogTransformerTransformerConfigCsvOutput() LogTransformerTransformerConfigCsvOutput { + return i.ToLogTransformerTransformerConfigCsvOutputWithContext(context.Background()) +} + +func (i LogTransformerTransformerConfigCsvArgs) ToLogTransformerTransformerConfigCsvOutputWithContext(ctx context.Context) LogTransformerTransformerConfigCsvOutput { + return pulumi.ToOutputWithContext(ctx, i).(LogTransformerTransformerConfigCsvOutput) +} + +// LogTransformerTransformerConfigCsvArrayInput is an input type that accepts LogTransformerTransformerConfigCsvArray and LogTransformerTransformerConfigCsvArrayOutput values. +// You can construct a concrete instance of `LogTransformerTransformerConfigCsvArrayInput` via: +// +// LogTransformerTransformerConfigCsvArray{ LogTransformerTransformerConfigCsvArgs{...} } +type LogTransformerTransformerConfigCsvArrayInput interface { + pulumi.Input + + ToLogTransformerTransformerConfigCsvArrayOutput() LogTransformerTransformerConfigCsvArrayOutput + ToLogTransformerTransformerConfigCsvArrayOutputWithContext(context.Context) LogTransformerTransformerConfigCsvArrayOutput +} + +type LogTransformerTransformerConfigCsvArray []LogTransformerTransformerConfigCsvInput + +func (LogTransformerTransformerConfigCsvArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]LogTransformerTransformerConfigCsv)(nil)).Elem() +} + +func (i LogTransformerTransformerConfigCsvArray) ToLogTransformerTransformerConfigCsvArrayOutput() LogTransformerTransformerConfigCsvArrayOutput { + return i.ToLogTransformerTransformerConfigCsvArrayOutputWithContext(context.Background()) +} + +func (i LogTransformerTransformerConfigCsvArray) ToLogTransformerTransformerConfigCsvArrayOutputWithContext(ctx context.Context) LogTransformerTransformerConfigCsvArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(LogTransformerTransformerConfigCsvArrayOutput) +} + +type LogTransformerTransformerConfigCsvOutput struct{ *pulumi.OutputState } + +func (LogTransformerTransformerConfigCsvOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LogTransformerTransformerConfigCsv)(nil)).Elem() +} + +func (o LogTransformerTransformerConfigCsvOutput) ToLogTransformerTransformerConfigCsvOutput() LogTransformerTransformerConfigCsvOutput { + return o +} + +func (o LogTransformerTransformerConfigCsvOutput) ToLogTransformerTransformerConfigCsvOutputWithContext(ctx context.Context) LogTransformerTransformerConfigCsvOutput { + return o +} + +// Specifies the names to use for the columns in the transformed log event. If not specified, default column names (`[column_1, column2 ...]`) are used. +func (o LogTransformerTransformerConfigCsvOutput) Columns() pulumi.StringArrayOutput { + return o.ApplyT(func(v LogTransformerTransformerConfigCsv) []string { return v.Columns }).(pulumi.StringArrayOutput) +} + +// Specifies the character used to separate each column in the original comma-separated value log event. Defaults to the comma `,` character. +func (o LogTransformerTransformerConfigCsvOutput) Delimiter() pulumi.StringPtrOutput { + return o.ApplyT(func(v LogTransformerTransformerConfigCsv) *string { return v.Delimiter }).(pulumi.StringPtrOutput) +} + +// Specifies the character used as a text qualifier for a single column of data. Defaults to the double quotation mark `"` character. +func (o LogTransformerTransformerConfigCsvOutput) QuoteCharacter() pulumi.StringPtrOutput { + return o.ApplyT(func(v LogTransformerTransformerConfigCsv) *string { return v.QuoteCharacter }).(pulumi.StringPtrOutput) +} + +// Specifies the path to the field in the log event that has the comma separated values to be parsed. If omitted, the whole log message is processed. +func (o LogTransformerTransformerConfigCsvOutput) Source() pulumi.StringPtrOutput { + return o.ApplyT(func(v LogTransformerTransformerConfigCsv) *string { return v.Source }).(pulumi.StringPtrOutput) +} + +type LogTransformerTransformerConfigCsvArrayOutput struct{ *pulumi.OutputState } + +func (LogTransformerTransformerConfigCsvArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]LogTransformerTransformerConfigCsv)(nil)).Elem() +} + +func (o LogTransformerTransformerConfigCsvArrayOutput) ToLogTransformerTransformerConfigCsvArrayOutput() LogTransformerTransformerConfigCsvArrayOutput { + return o +} + +func (o LogTransformerTransformerConfigCsvArrayOutput) ToLogTransformerTransformerConfigCsvArrayOutputWithContext(ctx context.Context) LogTransformerTransformerConfigCsvArrayOutput { + return o +} + +func (o LogTransformerTransformerConfigCsvArrayOutput) Index(i pulumi.IntInput) LogTransformerTransformerConfigCsvOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) LogTransformerTransformerConfigCsv { + return vs[0].([]LogTransformerTransformerConfigCsv)[vs[1].(int)] + }).(LogTransformerTransformerConfigCsvOutput) +} + +type LogTransformerTransformerConfigDateTimeConverter struct { + // Specifies the locale of the source field. Defaults to `locale.ROOT`. + Locale *string `pulumi:"locale"` + // Specifies the list of patterns to match against the `source` field. + MatchPatterns []string `pulumi:"matchPatterns"` + // Specifies the key to apply the date conversion to. + Source string `pulumi:"source"` + // Specifies the time zone of the source field. Defaults to `UTC`. + SourceTimezone *string `pulumi:"sourceTimezone"` + // Specifies the JSON field to store the result in. + Target string `pulumi:"target"` + // Specifies the datetime format to use for the converted data in the target field. Defaults to `yyyy-MM-dd'T'HH:mm:ss.SSS'Z`. + TargetFormat *string `pulumi:"targetFormat"` + // Specifies the time zone of the target field. Defaults to `UTC`. + TargetTimezone *string `pulumi:"targetTimezone"` +} + +// LogTransformerTransformerConfigDateTimeConverterInput is an input type that accepts LogTransformerTransformerConfigDateTimeConverterArgs and LogTransformerTransformerConfigDateTimeConverterOutput values. +// You can construct a concrete instance of `LogTransformerTransformerConfigDateTimeConverterInput` via: +// +// LogTransformerTransformerConfigDateTimeConverterArgs{...} +type LogTransformerTransformerConfigDateTimeConverterInput interface { + pulumi.Input + + ToLogTransformerTransformerConfigDateTimeConverterOutput() LogTransformerTransformerConfigDateTimeConverterOutput + ToLogTransformerTransformerConfigDateTimeConverterOutputWithContext(context.Context) LogTransformerTransformerConfigDateTimeConverterOutput +} + +type LogTransformerTransformerConfigDateTimeConverterArgs struct { + // Specifies the locale of the source field. Defaults to `locale.ROOT`. + Locale pulumi.StringPtrInput `pulumi:"locale"` + // Specifies the list of patterns to match against the `source` field. + MatchPatterns pulumi.StringArrayInput `pulumi:"matchPatterns"` + // Specifies the key to apply the date conversion to. + Source pulumi.StringInput `pulumi:"source"` + // Specifies the time zone of the source field. Defaults to `UTC`. + SourceTimezone pulumi.StringPtrInput `pulumi:"sourceTimezone"` + // Specifies the JSON field to store the result in. + Target pulumi.StringInput `pulumi:"target"` + // Specifies the datetime format to use for the converted data in the target field. Defaults to `yyyy-MM-dd'T'HH:mm:ss.SSS'Z`. + TargetFormat pulumi.StringPtrInput `pulumi:"targetFormat"` + // Specifies the time zone of the target field. Defaults to `UTC`. + TargetTimezone pulumi.StringPtrInput `pulumi:"targetTimezone"` +} + +func (LogTransformerTransformerConfigDateTimeConverterArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LogTransformerTransformerConfigDateTimeConverter)(nil)).Elem() +} + +func (i LogTransformerTransformerConfigDateTimeConverterArgs) ToLogTransformerTransformerConfigDateTimeConverterOutput() LogTransformerTransformerConfigDateTimeConverterOutput { + return i.ToLogTransformerTransformerConfigDateTimeConverterOutputWithContext(context.Background()) +} + +func (i LogTransformerTransformerConfigDateTimeConverterArgs) ToLogTransformerTransformerConfigDateTimeConverterOutputWithContext(ctx context.Context) LogTransformerTransformerConfigDateTimeConverterOutput { + return pulumi.ToOutputWithContext(ctx, i).(LogTransformerTransformerConfigDateTimeConverterOutput) +} + +// LogTransformerTransformerConfigDateTimeConverterArrayInput is an input type that accepts LogTransformerTransformerConfigDateTimeConverterArray and LogTransformerTransformerConfigDateTimeConverterArrayOutput values. +// You can construct a concrete instance of `LogTransformerTransformerConfigDateTimeConverterArrayInput` via: +// +// LogTransformerTransformerConfigDateTimeConverterArray{ LogTransformerTransformerConfigDateTimeConverterArgs{...} } +type LogTransformerTransformerConfigDateTimeConverterArrayInput interface { + pulumi.Input + + ToLogTransformerTransformerConfigDateTimeConverterArrayOutput() LogTransformerTransformerConfigDateTimeConverterArrayOutput + ToLogTransformerTransformerConfigDateTimeConverterArrayOutputWithContext(context.Context) LogTransformerTransformerConfigDateTimeConverterArrayOutput +} + +type LogTransformerTransformerConfigDateTimeConverterArray []LogTransformerTransformerConfigDateTimeConverterInput + +func (LogTransformerTransformerConfigDateTimeConverterArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]LogTransformerTransformerConfigDateTimeConverter)(nil)).Elem() +} + +func (i LogTransformerTransformerConfigDateTimeConverterArray) ToLogTransformerTransformerConfigDateTimeConverterArrayOutput() LogTransformerTransformerConfigDateTimeConverterArrayOutput { + return i.ToLogTransformerTransformerConfigDateTimeConverterArrayOutputWithContext(context.Background()) +} + +func (i LogTransformerTransformerConfigDateTimeConverterArray) ToLogTransformerTransformerConfigDateTimeConverterArrayOutputWithContext(ctx context.Context) LogTransformerTransformerConfigDateTimeConverterArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(LogTransformerTransformerConfigDateTimeConverterArrayOutput) +} + +type LogTransformerTransformerConfigDateTimeConverterOutput struct{ *pulumi.OutputState } + +func (LogTransformerTransformerConfigDateTimeConverterOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LogTransformerTransformerConfigDateTimeConverter)(nil)).Elem() +} + +func (o LogTransformerTransformerConfigDateTimeConverterOutput) ToLogTransformerTransformerConfigDateTimeConverterOutput() LogTransformerTransformerConfigDateTimeConverterOutput { + return o +} + +func (o LogTransformerTransformerConfigDateTimeConverterOutput) ToLogTransformerTransformerConfigDateTimeConverterOutputWithContext(ctx context.Context) LogTransformerTransformerConfigDateTimeConverterOutput { + return o +} + +// Specifies the locale of the source field. Defaults to `locale.ROOT`. +func (o LogTransformerTransformerConfigDateTimeConverterOutput) Locale() pulumi.StringPtrOutput { + return o.ApplyT(func(v LogTransformerTransformerConfigDateTimeConverter) *string { return v.Locale }).(pulumi.StringPtrOutput) +} + +// Specifies the list of patterns to match against the `source` field. +func (o LogTransformerTransformerConfigDateTimeConverterOutput) MatchPatterns() pulumi.StringArrayOutput { + return o.ApplyT(func(v LogTransformerTransformerConfigDateTimeConverter) []string { return v.MatchPatterns }).(pulumi.StringArrayOutput) +} + +// Specifies the key to apply the date conversion to. +func (o LogTransformerTransformerConfigDateTimeConverterOutput) Source() pulumi.StringOutput { + return o.ApplyT(func(v LogTransformerTransformerConfigDateTimeConverter) string { return v.Source }).(pulumi.StringOutput) +} + +// Specifies the time zone of the source field. Defaults to `UTC`. +func (o LogTransformerTransformerConfigDateTimeConverterOutput) SourceTimezone() pulumi.StringPtrOutput { + return o.ApplyT(func(v LogTransformerTransformerConfigDateTimeConverter) *string { return v.SourceTimezone }).(pulumi.StringPtrOutput) +} + +// Specifies the JSON field to store the result in. +func (o LogTransformerTransformerConfigDateTimeConverterOutput) Target() pulumi.StringOutput { + return o.ApplyT(func(v LogTransformerTransformerConfigDateTimeConverter) string { return v.Target }).(pulumi.StringOutput) +} + +// Specifies the datetime format to use for the converted data in the target field. Defaults to `yyyy-MM-dd'T'HH:mm:ss.SSS'Z`. +func (o LogTransformerTransformerConfigDateTimeConverterOutput) TargetFormat() pulumi.StringPtrOutput { + return o.ApplyT(func(v LogTransformerTransformerConfigDateTimeConverter) *string { return v.TargetFormat }).(pulumi.StringPtrOutput) +} + +// Specifies the time zone of the target field. Defaults to `UTC`. +func (o LogTransformerTransformerConfigDateTimeConverterOutput) TargetTimezone() pulumi.StringPtrOutput { + return o.ApplyT(func(v LogTransformerTransformerConfigDateTimeConverter) *string { return v.TargetTimezone }).(pulumi.StringPtrOutput) +} + +type LogTransformerTransformerConfigDateTimeConverterArrayOutput struct{ *pulumi.OutputState } + +func (LogTransformerTransformerConfigDateTimeConverterArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]LogTransformerTransformerConfigDateTimeConverter)(nil)).Elem() +} + +func (o LogTransformerTransformerConfigDateTimeConverterArrayOutput) ToLogTransformerTransformerConfigDateTimeConverterArrayOutput() LogTransformerTransformerConfigDateTimeConverterArrayOutput { + return o +} + +func (o LogTransformerTransformerConfigDateTimeConverterArrayOutput) ToLogTransformerTransformerConfigDateTimeConverterArrayOutputWithContext(ctx context.Context) LogTransformerTransformerConfigDateTimeConverterArrayOutput { + return o +} + +func (o LogTransformerTransformerConfigDateTimeConverterArrayOutput) Index(i pulumi.IntInput) LogTransformerTransformerConfigDateTimeConverterOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) LogTransformerTransformerConfigDateTimeConverter { + return vs[0].([]LogTransformerTransformerConfigDateTimeConverter)[vs[1].(int)] + }).(LogTransformerTransformerConfigDateTimeConverterOutput) +} + +type LogTransformerTransformerConfigDeleteKey struct { + // Specifies the keys to be deleted. + WithKeys []string `pulumi:"withKeys"` +} + +// LogTransformerTransformerConfigDeleteKeyInput is an input type that accepts LogTransformerTransformerConfigDeleteKeyArgs and LogTransformerTransformerConfigDeleteKeyOutput values. +// You can construct a concrete instance of `LogTransformerTransformerConfigDeleteKeyInput` via: +// +// LogTransformerTransformerConfigDeleteKeyArgs{...} +type LogTransformerTransformerConfigDeleteKeyInput interface { + pulumi.Input + + ToLogTransformerTransformerConfigDeleteKeyOutput() LogTransformerTransformerConfigDeleteKeyOutput + ToLogTransformerTransformerConfigDeleteKeyOutputWithContext(context.Context) LogTransformerTransformerConfigDeleteKeyOutput +} + +type LogTransformerTransformerConfigDeleteKeyArgs struct { + // Specifies the keys to be deleted. + WithKeys pulumi.StringArrayInput `pulumi:"withKeys"` +} + +func (LogTransformerTransformerConfigDeleteKeyArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LogTransformerTransformerConfigDeleteKey)(nil)).Elem() +} + +func (i LogTransformerTransformerConfigDeleteKeyArgs) ToLogTransformerTransformerConfigDeleteKeyOutput() LogTransformerTransformerConfigDeleteKeyOutput { + return i.ToLogTransformerTransformerConfigDeleteKeyOutputWithContext(context.Background()) +} + +func (i LogTransformerTransformerConfigDeleteKeyArgs) ToLogTransformerTransformerConfigDeleteKeyOutputWithContext(ctx context.Context) LogTransformerTransformerConfigDeleteKeyOutput { + return pulumi.ToOutputWithContext(ctx, i).(LogTransformerTransformerConfigDeleteKeyOutput) +} + +// LogTransformerTransformerConfigDeleteKeyArrayInput is an input type that accepts LogTransformerTransformerConfigDeleteKeyArray and LogTransformerTransformerConfigDeleteKeyArrayOutput values. +// You can construct a concrete instance of `LogTransformerTransformerConfigDeleteKeyArrayInput` via: +// +// LogTransformerTransformerConfigDeleteKeyArray{ LogTransformerTransformerConfigDeleteKeyArgs{...} } +type LogTransformerTransformerConfigDeleteKeyArrayInput interface { + pulumi.Input + + ToLogTransformerTransformerConfigDeleteKeyArrayOutput() LogTransformerTransformerConfigDeleteKeyArrayOutput + ToLogTransformerTransformerConfigDeleteKeyArrayOutputWithContext(context.Context) LogTransformerTransformerConfigDeleteKeyArrayOutput +} + +type LogTransformerTransformerConfigDeleteKeyArray []LogTransformerTransformerConfigDeleteKeyInput + +func (LogTransformerTransformerConfigDeleteKeyArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]LogTransformerTransformerConfigDeleteKey)(nil)).Elem() +} + +func (i LogTransformerTransformerConfigDeleteKeyArray) ToLogTransformerTransformerConfigDeleteKeyArrayOutput() LogTransformerTransformerConfigDeleteKeyArrayOutput { + return i.ToLogTransformerTransformerConfigDeleteKeyArrayOutputWithContext(context.Background()) +} + +func (i LogTransformerTransformerConfigDeleteKeyArray) ToLogTransformerTransformerConfigDeleteKeyArrayOutputWithContext(ctx context.Context) LogTransformerTransformerConfigDeleteKeyArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(LogTransformerTransformerConfigDeleteKeyArrayOutput) +} + +type LogTransformerTransformerConfigDeleteKeyOutput struct{ *pulumi.OutputState } + +func (LogTransformerTransformerConfigDeleteKeyOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LogTransformerTransformerConfigDeleteKey)(nil)).Elem() +} + +func (o LogTransformerTransformerConfigDeleteKeyOutput) ToLogTransformerTransformerConfigDeleteKeyOutput() LogTransformerTransformerConfigDeleteKeyOutput { + return o +} + +func (o LogTransformerTransformerConfigDeleteKeyOutput) ToLogTransformerTransformerConfigDeleteKeyOutputWithContext(ctx context.Context) LogTransformerTransformerConfigDeleteKeyOutput { + return o +} + +// Specifies the keys to be deleted. +func (o LogTransformerTransformerConfigDeleteKeyOutput) WithKeys() pulumi.StringArrayOutput { + return o.ApplyT(func(v LogTransformerTransformerConfigDeleteKey) []string { return v.WithKeys }).(pulumi.StringArrayOutput) +} + +type LogTransformerTransformerConfigDeleteKeyArrayOutput struct{ *pulumi.OutputState } + +func (LogTransformerTransformerConfigDeleteKeyArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]LogTransformerTransformerConfigDeleteKey)(nil)).Elem() +} + +func (o LogTransformerTransformerConfigDeleteKeyArrayOutput) ToLogTransformerTransformerConfigDeleteKeyArrayOutput() LogTransformerTransformerConfigDeleteKeyArrayOutput { + return o +} + +func (o LogTransformerTransformerConfigDeleteKeyArrayOutput) ToLogTransformerTransformerConfigDeleteKeyArrayOutputWithContext(ctx context.Context) LogTransformerTransformerConfigDeleteKeyArrayOutput { + return o +} + +func (o LogTransformerTransformerConfigDeleteKeyArrayOutput) Index(i pulumi.IntInput) LogTransformerTransformerConfigDeleteKeyOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) LogTransformerTransformerConfigDeleteKey { + return vs[0].([]LogTransformerTransformerConfigDeleteKey)[vs[1].(int)] + }).(LogTransformerTransformerConfigDeleteKeyOutput) +} + +type LogTransformerTransformerConfigGrok struct { + // Specifies the grok pattern to match against the log event. + Match string `pulumi:"match"` + // Specifies the path to the field in the log event that has the comma separated values to be parsed. If omitted, the whole log message is processed. + Source *string `pulumi:"source"` +} + +// LogTransformerTransformerConfigGrokInput is an input type that accepts LogTransformerTransformerConfigGrokArgs and LogTransformerTransformerConfigGrokOutput values. +// You can construct a concrete instance of `LogTransformerTransformerConfigGrokInput` via: +// +// LogTransformerTransformerConfigGrokArgs{...} +type LogTransformerTransformerConfigGrokInput interface { + pulumi.Input + + ToLogTransformerTransformerConfigGrokOutput() LogTransformerTransformerConfigGrokOutput + ToLogTransformerTransformerConfigGrokOutputWithContext(context.Context) LogTransformerTransformerConfigGrokOutput +} + +type LogTransformerTransformerConfigGrokArgs struct { + // Specifies the grok pattern to match against the log event. + Match pulumi.StringInput `pulumi:"match"` + // Specifies the path to the field in the log event that has the comma separated values to be parsed. If omitted, the whole log message is processed. + Source pulumi.StringPtrInput `pulumi:"source"` +} + +func (LogTransformerTransformerConfigGrokArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LogTransformerTransformerConfigGrok)(nil)).Elem() +} + +func (i LogTransformerTransformerConfigGrokArgs) ToLogTransformerTransformerConfigGrokOutput() LogTransformerTransformerConfigGrokOutput { + return i.ToLogTransformerTransformerConfigGrokOutputWithContext(context.Background()) +} + +func (i LogTransformerTransformerConfigGrokArgs) ToLogTransformerTransformerConfigGrokOutputWithContext(ctx context.Context) LogTransformerTransformerConfigGrokOutput { + return pulumi.ToOutputWithContext(ctx, i).(LogTransformerTransformerConfigGrokOutput) +} + +func (i LogTransformerTransformerConfigGrokArgs) ToLogTransformerTransformerConfigGrokPtrOutput() LogTransformerTransformerConfigGrokPtrOutput { + return i.ToLogTransformerTransformerConfigGrokPtrOutputWithContext(context.Background()) +} + +func (i LogTransformerTransformerConfigGrokArgs) ToLogTransformerTransformerConfigGrokPtrOutputWithContext(ctx context.Context) LogTransformerTransformerConfigGrokPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(LogTransformerTransformerConfigGrokOutput).ToLogTransformerTransformerConfigGrokPtrOutputWithContext(ctx) +} + +// LogTransformerTransformerConfigGrokPtrInput is an input type that accepts LogTransformerTransformerConfigGrokArgs, LogTransformerTransformerConfigGrokPtr and LogTransformerTransformerConfigGrokPtrOutput values. +// You can construct a concrete instance of `LogTransformerTransformerConfigGrokPtrInput` via: +// +// LogTransformerTransformerConfigGrokArgs{...} +// +// or: +// +// nil +type LogTransformerTransformerConfigGrokPtrInput interface { + pulumi.Input + + ToLogTransformerTransformerConfigGrokPtrOutput() LogTransformerTransformerConfigGrokPtrOutput + ToLogTransformerTransformerConfigGrokPtrOutputWithContext(context.Context) LogTransformerTransformerConfigGrokPtrOutput +} + +type logTransformerTransformerConfigGrokPtrType LogTransformerTransformerConfigGrokArgs + +func LogTransformerTransformerConfigGrokPtr(v *LogTransformerTransformerConfigGrokArgs) LogTransformerTransformerConfigGrokPtrInput { + return (*logTransformerTransformerConfigGrokPtrType)(v) +} + +func (*logTransformerTransformerConfigGrokPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**LogTransformerTransformerConfigGrok)(nil)).Elem() +} + +func (i *logTransformerTransformerConfigGrokPtrType) ToLogTransformerTransformerConfigGrokPtrOutput() LogTransformerTransformerConfigGrokPtrOutput { + return i.ToLogTransformerTransformerConfigGrokPtrOutputWithContext(context.Background()) +} + +func (i *logTransformerTransformerConfigGrokPtrType) ToLogTransformerTransformerConfigGrokPtrOutputWithContext(ctx context.Context) LogTransformerTransformerConfigGrokPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(LogTransformerTransformerConfigGrokPtrOutput) +} + +type LogTransformerTransformerConfigGrokOutput struct{ *pulumi.OutputState } + +func (LogTransformerTransformerConfigGrokOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LogTransformerTransformerConfigGrok)(nil)).Elem() +} + +func (o LogTransformerTransformerConfigGrokOutput) ToLogTransformerTransformerConfigGrokOutput() LogTransformerTransformerConfigGrokOutput { + return o +} + +func (o LogTransformerTransformerConfigGrokOutput) ToLogTransformerTransformerConfigGrokOutputWithContext(ctx context.Context) LogTransformerTransformerConfigGrokOutput { + return o +} + +func (o LogTransformerTransformerConfigGrokOutput) ToLogTransformerTransformerConfigGrokPtrOutput() LogTransformerTransformerConfigGrokPtrOutput { + return o.ToLogTransformerTransformerConfigGrokPtrOutputWithContext(context.Background()) +} + +func (o LogTransformerTransformerConfigGrokOutput) ToLogTransformerTransformerConfigGrokPtrOutputWithContext(ctx context.Context) LogTransformerTransformerConfigGrokPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v LogTransformerTransformerConfigGrok) *LogTransformerTransformerConfigGrok { + return &v + }).(LogTransformerTransformerConfigGrokPtrOutput) +} + +// Specifies the grok pattern to match against the log event. +func (o LogTransformerTransformerConfigGrokOutput) Match() pulumi.StringOutput { + return o.ApplyT(func(v LogTransformerTransformerConfigGrok) string { return v.Match }).(pulumi.StringOutput) +} + +// Specifies the path to the field in the log event that has the comma separated values to be parsed. If omitted, the whole log message is processed. +func (o LogTransformerTransformerConfigGrokOutput) Source() pulumi.StringPtrOutput { + return o.ApplyT(func(v LogTransformerTransformerConfigGrok) *string { return v.Source }).(pulumi.StringPtrOutput) +} + +type LogTransformerTransformerConfigGrokPtrOutput struct{ *pulumi.OutputState } + +func (LogTransformerTransformerConfigGrokPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**LogTransformerTransformerConfigGrok)(nil)).Elem() +} + +func (o LogTransformerTransformerConfigGrokPtrOutput) ToLogTransformerTransformerConfigGrokPtrOutput() LogTransformerTransformerConfigGrokPtrOutput { + return o +} + +func (o LogTransformerTransformerConfigGrokPtrOutput) ToLogTransformerTransformerConfigGrokPtrOutputWithContext(ctx context.Context) LogTransformerTransformerConfigGrokPtrOutput { + return o +} + +func (o LogTransformerTransformerConfigGrokPtrOutput) Elem() LogTransformerTransformerConfigGrokOutput { + return o.ApplyT(func(v *LogTransformerTransformerConfigGrok) LogTransformerTransformerConfigGrok { + if v != nil { + return *v + } + var ret LogTransformerTransformerConfigGrok + return ret + }).(LogTransformerTransformerConfigGrokOutput) +} + +// Specifies the grok pattern to match against the log event. +func (o LogTransformerTransformerConfigGrokPtrOutput) Match() pulumi.StringPtrOutput { + return o.ApplyT(func(v *LogTransformerTransformerConfigGrok) *string { + if v == nil { + return nil + } + return &v.Match + }).(pulumi.StringPtrOutput) +} + +// Specifies the path to the field in the log event that has the comma separated values to be parsed. If omitted, the whole log message is processed. +func (o LogTransformerTransformerConfigGrokPtrOutput) Source() pulumi.StringPtrOutput { + return o.ApplyT(func(v *LogTransformerTransformerConfigGrok) *string { + if v == nil { + return nil + } + return v.Source + }).(pulumi.StringPtrOutput) +} + +type LogTransformerTransformerConfigListToMap struct { + // Specifies whether the list will be flattened into single items. Defaults to `false`. + Flatten *bool `pulumi:"flatten"` + // Required if `flatten` is set to true. Specifies the element to keep. Allowed values are `first` and `last`. + FlattenedElement *string `pulumi:"flattenedElement"` + // Specifies the key of the field to be extracted as keys in the generated map. + Key string `pulumi:"key"` + // Specifies the key in the log event that has a list of objects that will be converted to a map. + Source string `pulumi:"source"` + // Specifies the key of the field that will hold the generated map. + Target *string `pulumi:"target"` + // Specifies the values that will be extracted from the source objects and put into the values of the generated map. If omitted, original objects in the source list will be put into the values of the generated map. + ValueKey *string `pulumi:"valueKey"` +} + +// LogTransformerTransformerConfigListToMapInput is an input type that accepts LogTransformerTransformerConfigListToMap and LogTransformerTransformerConfigListToMapOutput values. +// You can construct a concrete instance of `LogTransformerTransformerConfigListToMapInput` via: +// +// LogTransformerTransformerConfigListToMap{ "key": LogTransformerTransformerConfigListToArgs{...} } +type LogTransformerTransformerConfigListToMapInput interface { + pulumi.Input + + ToLogTransformerTransformerConfigListToMapOutput() LogTransformerTransformerConfigListToMapOutput + ToLogTransformerTransformerConfigListToMapOutputWithContext(context.Context) LogTransformerTransformerConfigListToMapOutput +} + +type LogTransformerTransformerConfigListToMapArgs struct { + // Specifies whether the list will be flattened into single items. Defaults to `false`. + Flatten pulumi.BoolPtrInput `pulumi:"flatten"` + // Required if `flatten` is set to true. Specifies the element to keep. Allowed values are `first` and `last`. + FlattenedElement pulumi.StringPtrInput `pulumi:"flattenedElement"` + // Specifies the key of the field to be extracted as keys in the generated map. + Key pulumi.StringInput `pulumi:"key"` + // Specifies the key in the log event that has a list of objects that will be converted to a map. + Source pulumi.StringInput `pulumi:"source"` + // Specifies the key of the field that will hold the generated map. + Target pulumi.StringPtrInput `pulumi:"target"` + // Specifies the values that will be extracted from the source objects and put into the values of the generated map. If omitted, original objects in the source list will be put into the values of the generated map. + ValueKey pulumi.StringPtrInput `pulumi:"valueKey"` +} + +func (LogTransformerTransformerConfigListToMapArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LogTransformerTransformerConfigListToMap)(nil)).Elem() +} + +func (i LogTransformerTransformerConfigListToMapArgs) ToLogTransformerTransformerConfigListToMapOutput() LogTransformerTransformerConfigListToMapOutput { + return i.ToLogTransformerTransformerConfigListToMapOutputWithContext(context.Background()) +} + +func (i LogTransformerTransformerConfigListToMapArgs) ToLogTransformerTransformerConfigListToMapOutputWithContext(ctx context.Context) LogTransformerTransformerConfigListToMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(LogTransformerTransformerConfigListToMapOutput) +} + +// LogTransformerTransformerConfigListToMapArrayInput is an input type that accepts LogTransformerTransformerConfigListToMapArray and LogTransformerTransformerConfigListToMapArrayOutput values. +// You can construct a concrete instance of `LogTransformerTransformerConfigListToMapArrayInput` via: +// +// LogTransformerTransformerConfigListToMapArray{ LogTransformerTransformerConfigListToMapArgs{...} } +type LogTransformerTransformerConfigListToMapArrayInput interface { + pulumi.Input + + ToLogTransformerTransformerConfigListToMapArrayOutput() LogTransformerTransformerConfigListToMapArrayOutput + ToLogTransformerTransformerConfigListToMapArrayOutputWithContext(context.Context) LogTransformerTransformerConfigListToMapArrayOutput +} + +type LogTransformerTransformerConfigListToMapArray []LogTransformerTransformerConfigListToMapInput + +func (LogTransformerTransformerConfigListToMapArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]LogTransformerTransformerConfigListToMap)(nil)).Elem() +} + +func (i LogTransformerTransformerConfigListToMapArray) ToLogTransformerTransformerConfigListToMapArrayOutput() LogTransformerTransformerConfigListToMapArrayOutput { + return i.ToLogTransformerTransformerConfigListToMapArrayOutputWithContext(context.Background()) +} + +func (i LogTransformerTransformerConfigListToMapArray) ToLogTransformerTransformerConfigListToMapArrayOutputWithContext(ctx context.Context) LogTransformerTransformerConfigListToMapArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(LogTransformerTransformerConfigListToMapArrayOutput) +} + +type LogTransformerTransformerConfigListToMapOutput struct{ *pulumi.OutputState } + +func (LogTransformerTransformerConfigListToMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LogTransformerTransformerConfigListToMap)(nil)).Elem() +} + +func (o LogTransformerTransformerConfigListToMapOutput) ToLogTransformerTransformerConfigListToMapOutput() LogTransformerTransformerConfigListToMapOutput { + return o +} + +func (o LogTransformerTransformerConfigListToMapOutput) ToLogTransformerTransformerConfigListToMapOutputWithContext(ctx context.Context) LogTransformerTransformerConfigListToMapOutput { + return o +} + +// Specifies whether the list will be flattened into single items. Defaults to `false`. +func (o LogTransformerTransformerConfigListToMapOutput) Flatten() pulumi.BoolPtrOutput { + return o.ApplyT(func(v LogTransformerTransformerConfigListToMap) *bool { return v.Flatten }).(pulumi.BoolPtrOutput) +} + +// Required if `flatten` is set to true. Specifies the element to keep. Allowed values are `first` and `last`. +func (o LogTransformerTransformerConfigListToMapOutput) FlattenedElement() pulumi.StringPtrOutput { + return o.ApplyT(func(v LogTransformerTransformerConfigListToMap) *string { return v.FlattenedElement }).(pulumi.StringPtrOutput) +} + +// Specifies the key of the field to be extracted as keys in the generated map. +func (o LogTransformerTransformerConfigListToMapOutput) Key() pulumi.StringOutput { + return o.ApplyT(func(v LogTransformerTransformerConfigListToMap) string { return v.Key }).(pulumi.StringOutput) +} + +// Specifies the key in the log event that has a list of objects that will be converted to a map. +func (o LogTransformerTransformerConfigListToMapOutput) Source() pulumi.StringOutput { + return o.ApplyT(func(v LogTransformerTransformerConfigListToMap) string { return v.Source }).(pulumi.StringOutput) +} + +// Specifies the key of the field that will hold the generated map. +func (o LogTransformerTransformerConfigListToMapOutput) Target() pulumi.StringPtrOutput { + return o.ApplyT(func(v LogTransformerTransformerConfigListToMap) *string { return v.Target }).(pulumi.StringPtrOutput) +} + +// Specifies the values that will be extracted from the source objects and put into the values of the generated map. If omitted, original objects in the source list will be put into the values of the generated map. +func (o LogTransformerTransformerConfigListToMapOutput) ValueKey() pulumi.StringPtrOutput { + return o.ApplyT(func(v LogTransformerTransformerConfigListToMap) *string { return v.ValueKey }).(pulumi.StringPtrOutput) +} + +type LogTransformerTransformerConfigListToMapArrayOutput struct{ *pulumi.OutputState } + +func (LogTransformerTransformerConfigListToMapArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]LogTransformerTransformerConfigListToMap)(nil)).Elem() +} + +func (o LogTransformerTransformerConfigListToMapArrayOutput) ToLogTransformerTransformerConfigListToMapArrayOutput() LogTransformerTransformerConfigListToMapArrayOutput { + return o +} + +func (o LogTransformerTransformerConfigListToMapArrayOutput) ToLogTransformerTransformerConfigListToMapArrayOutputWithContext(ctx context.Context) LogTransformerTransformerConfigListToMapArrayOutput { + return o +} + +func (o LogTransformerTransformerConfigListToMapArrayOutput) Index(i pulumi.IntInput) LogTransformerTransformerConfigListToMapOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) LogTransformerTransformerConfigListToMap { + return vs[0].([]LogTransformerTransformerConfigListToMap)[vs[1].(int)] + }).(LogTransformerTransformerConfigListToMapOutput) +} + +type LogTransformerTransformerConfigLowerCaseString struct { + // Specifies the keys of the fields to convert to lowercase. + WithKeys []string `pulumi:"withKeys"` +} + +// LogTransformerTransformerConfigLowerCaseStringInput is an input type that accepts LogTransformerTransformerConfigLowerCaseStringArgs and LogTransformerTransformerConfigLowerCaseStringOutput values. +// You can construct a concrete instance of `LogTransformerTransformerConfigLowerCaseStringInput` via: +// +// LogTransformerTransformerConfigLowerCaseStringArgs{...} +type LogTransformerTransformerConfigLowerCaseStringInput interface { + pulumi.Input + + ToLogTransformerTransformerConfigLowerCaseStringOutput() LogTransformerTransformerConfigLowerCaseStringOutput + ToLogTransformerTransformerConfigLowerCaseStringOutputWithContext(context.Context) LogTransformerTransformerConfigLowerCaseStringOutput +} + +type LogTransformerTransformerConfigLowerCaseStringArgs struct { + // Specifies the keys of the fields to convert to lowercase. + WithKeys pulumi.StringArrayInput `pulumi:"withKeys"` +} + +func (LogTransformerTransformerConfigLowerCaseStringArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LogTransformerTransformerConfigLowerCaseString)(nil)).Elem() +} + +func (i LogTransformerTransformerConfigLowerCaseStringArgs) ToLogTransformerTransformerConfigLowerCaseStringOutput() LogTransformerTransformerConfigLowerCaseStringOutput { + return i.ToLogTransformerTransformerConfigLowerCaseStringOutputWithContext(context.Background()) +} + +func (i LogTransformerTransformerConfigLowerCaseStringArgs) ToLogTransformerTransformerConfigLowerCaseStringOutputWithContext(ctx context.Context) LogTransformerTransformerConfigLowerCaseStringOutput { + return pulumi.ToOutputWithContext(ctx, i).(LogTransformerTransformerConfigLowerCaseStringOutput) +} + +// LogTransformerTransformerConfigLowerCaseStringArrayInput is an input type that accepts LogTransformerTransformerConfigLowerCaseStringArray and LogTransformerTransformerConfigLowerCaseStringArrayOutput values. +// You can construct a concrete instance of `LogTransformerTransformerConfigLowerCaseStringArrayInput` via: +// +// LogTransformerTransformerConfigLowerCaseStringArray{ LogTransformerTransformerConfigLowerCaseStringArgs{...} } +type LogTransformerTransformerConfigLowerCaseStringArrayInput interface { + pulumi.Input + + ToLogTransformerTransformerConfigLowerCaseStringArrayOutput() LogTransformerTransformerConfigLowerCaseStringArrayOutput + ToLogTransformerTransformerConfigLowerCaseStringArrayOutputWithContext(context.Context) LogTransformerTransformerConfigLowerCaseStringArrayOutput +} + +type LogTransformerTransformerConfigLowerCaseStringArray []LogTransformerTransformerConfigLowerCaseStringInput + +func (LogTransformerTransformerConfigLowerCaseStringArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]LogTransformerTransformerConfigLowerCaseString)(nil)).Elem() +} + +func (i LogTransformerTransformerConfigLowerCaseStringArray) ToLogTransformerTransformerConfigLowerCaseStringArrayOutput() LogTransformerTransformerConfigLowerCaseStringArrayOutput { + return i.ToLogTransformerTransformerConfigLowerCaseStringArrayOutputWithContext(context.Background()) +} + +func (i LogTransformerTransformerConfigLowerCaseStringArray) ToLogTransformerTransformerConfigLowerCaseStringArrayOutputWithContext(ctx context.Context) LogTransformerTransformerConfigLowerCaseStringArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(LogTransformerTransformerConfigLowerCaseStringArrayOutput) +} + +type LogTransformerTransformerConfigLowerCaseStringOutput struct{ *pulumi.OutputState } + +func (LogTransformerTransformerConfigLowerCaseStringOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LogTransformerTransformerConfigLowerCaseString)(nil)).Elem() +} + +func (o LogTransformerTransformerConfigLowerCaseStringOutput) ToLogTransformerTransformerConfigLowerCaseStringOutput() LogTransformerTransformerConfigLowerCaseStringOutput { + return o +} + +func (o LogTransformerTransformerConfigLowerCaseStringOutput) ToLogTransformerTransformerConfigLowerCaseStringOutputWithContext(ctx context.Context) LogTransformerTransformerConfigLowerCaseStringOutput { + return o +} + +// Specifies the keys of the fields to convert to lowercase. +func (o LogTransformerTransformerConfigLowerCaseStringOutput) WithKeys() pulumi.StringArrayOutput { + return o.ApplyT(func(v LogTransformerTransformerConfigLowerCaseString) []string { return v.WithKeys }).(pulumi.StringArrayOutput) +} + +type LogTransformerTransformerConfigLowerCaseStringArrayOutput struct{ *pulumi.OutputState } + +func (LogTransformerTransformerConfigLowerCaseStringArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]LogTransformerTransformerConfigLowerCaseString)(nil)).Elem() +} + +func (o LogTransformerTransformerConfigLowerCaseStringArrayOutput) ToLogTransformerTransformerConfigLowerCaseStringArrayOutput() LogTransformerTransformerConfigLowerCaseStringArrayOutput { + return o +} + +func (o LogTransformerTransformerConfigLowerCaseStringArrayOutput) ToLogTransformerTransformerConfigLowerCaseStringArrayOutputWithContext(ctx context.Context) LogTransformerTransformerConfigLowerCaseStringArrayOutput { + return o +} + +func (o LogTransformerTransformerConfigLowerCaseStringArrayOutput) Index(i pulumi.IntInput) LogTransformerTransformerConfigLowerCaseStringOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) LogTransformerTransformerConfigLowerCaseString { + return vs[0].([]LogTransformerTransformerConfigLowerCaseString)[vs[1].(int)] + }).(LogTransformerTransformerConfigLowerCaseStringOutput) +} + +type LogTransformerTransformerConfigMoveKey struct { + // Objects containing the information about the keys to move to the log event. You must include at least one entry, and five at most. See `moveKeys` `entry` below for details. + Entries []LogTransformerTransformerConfigMoveKeyEntry `pulumi:"entries"` +} + +// LogTransformerTransformerConfigMoveKeyInput is an input type that accepts LogTransformerTransformerConfigMoveKeyArgs and LogTransformerTransformerConfigMoveKeyOutput values. +// You can construct a concrete instance of `LogTransformerTransformerConfigMoveKeyInput` via: +// +// LogTransformerTransformerConfigMoveKeyArgs{...} +type LogTransformerTransformerConfigMoveKeyInput interface { + pulumi.Input + + ToLogTransformerTransformerConfigMoveKeyOutput() LogTransformerTransformerConfigMoveKeyOutput + ToLogTransformerTransformerConfigMoveKeyOutputWithContext(context.Context) LogTransformerTransformerConfigMoveKeyOutput +} + +type LogTransformerTransformerConfigMoveKeyArgs struct { + // Objects containing the information about the keys to move to the log event. You must include at least one entry, and five at most. See `moveKeys` `entry` below for details. + Entries LogTransformerTransformerConfigMoveKeyEntryArrayInput `pulumi:"entries"` +} + +func (LogTransformerTransformerConfigMoveKeyArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LogTransformerTransformerConfigMoveKey)(nil)).Elem() +} + +func (i LogTransformerTransformerConfigMoveKeyArgs) ToLogTransformerTransformerConfigMoveKeyOutput() LogTransformerTransformerConfigMoveKeyOutput { + return i.ToLogTransformerTransformerConfigMoveKeyOutputWithContext(context.Background()) +} + +func (i LogTransformerTransformerConfigMoveKeyArgs) ToLogTransformerTransformerConfigMoveKeyOutputWithContext(ctx context.Context) LogTransformerTransformerConfigMoveKeyOutput { + return pulumi.ToOutputWithContext(ctx, i).(LogTransformerTransformerConfigMoveKeyOutput) +} + +// LogTransformerTransformerConfigMoveKeyArrayInput is an input type that accepts LogTransformerTransformerConfigMoveKeyArray and LogTransformerTransformerConfigMoveKeyArrayOutput values. +// You can construct a concrete instance of `LogTransformerTransformerConfigMoveKeyArrayInput` via: +// +// LogTransformerTransformerConfigMoveKeyArray{ LogTransformerTransformerConfigMoveKeyArgs{...} } +type LogTransformerTransformerConfigMoveKeyArrayInput interface { + pulumi.Input + + ToLogTransformerTransformerConfigMoveKeyArrayOutput() LogTransformerTransformerConfigMoveKeyArrayOutput + ToLogTransformerTransformerConfigMoveKeyArrayOutputWithContext(context.Context) LogTransformerTransformerConfigMoveKeyArrayOutput +} + +type LogTransformerTransformerConfigMoveKeyArray []LogTransformerTransformerConfigMoveKeyInput + +func (LogTransformerTransformerConfigMoveKeyArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]LogTransformerTransformerConfigMoveKey)(nil)).Elem() +} + +func (i LogTransformerTransformerConfigMoveKeyArray) ToLogTransformerTransformerConfigMoveKeyArrayOutput() LogTransformerTransformerConfigMoveKeyArrayOutput { + return i.ToLogTransformerTransformerConfigMoveKeyArrayOutputWithContext(context.Background()) +} + +func (i LogTransformerTransformerConfigMoveKeyArray) ToLogTransformerTransformerConfigMoveKeyArrayOutputWithContext(ctx context.Context) LogTransformerTransformerConfigMoveKeyArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(LogTransformerTransformerConfigMoveKeyArrayOutput) +} + +type LogTransformerTransformerConfigMoveKeyOutput struct{ *pulumi.OutputState } + +func (LogTransformerTransformerConfigMoveKeyOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LogTransformerTransformerConfigMoveKey)(nil)).Elem() +} + +func (o LogTransformerTransformerConfigMoveKeyOutput) ToLogTransformerTransformerConfigMoveKeyOutput() LogTransformerTransformerConfigMoveKeyOutput { + return o +} + +func (o LogTransformerTransformerConfigMoveKeyOutput) ToLogTransformerTransformerConfigMoveKeyOutputWithContext(ctx context.Context) LogTransformerTransformerConfigMoveKeyOutput { + return o +} + +// Objects containing the information about the keys to move to the log event. You must include at least one entry, and five at most. See `moveKeys` `entry` below for details. +func (o LogTransformerTransformerConfigMoveKeyOutput) Entries() LogTransformerTransformerConfigMoveKeyEntryArrayOutput { + return o.ApplyT(func(v LogTransformerTransformerConfigMoveKey) []LogTransformerTransformerConfigMoveKeyEntry { + return v.Entries + }).(LogTransformerTransformerConfigMoveKeyEntryArrayOutput) +} + +type LogTransformerTransformerConfigMoveKeyArrayOutput struct{ *pulumi.OutputState } + +func (LogTransformerTransformerConfigMoveKeyArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]LogTransformerTransformerConfigMoveKey)(nil)).Elem() +} + +func (o LogTransformerTransformerConfigMoveKeyArrayOutput) ToLogTransformerTransformerConfigMoveKeyArrayOutput() LogTransformerTransformerConfigMoveKeyArrayOutput { + return o +} + +func (o LogTransformerTransformerConfigMoveKeyArrayOutput) ToLogTransformerTransformerConfigMoveKeyArrayOutputWithContext(ctx context.Context) LogTransformerTransformerConfigMoveKeyArrayOutput { + return o +} + +func (o LogTransformerTransformerConfigMoveKeyArrayOutput) Index(i pulumi.IntInput) LogTransformerTransformerConfigMoveKeyOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) LogTransformerTransformerConfigMoveKey { + return vs[0].([]LogTransformerTransformerConfigMoveKey)[vs[1].(int)] + }).(LogTransformerTransformerConfigMoveKeyOutput) +} + +type LogTransformerTransformerConfigMoveKeyEntry struct { + // Specifies whether to overwrite the value if the destination key already exists. Defaults to `false`. + // * `renameTo` - (Required) Specifies the new name of the key. + OverwriteIfExists *bool `pulumi:"overwriteIfExists"` + // Specifies the key to modify. + Source string `pulumi:"source"` + // Specifies the key to move to. + Target string `pulumi:"target"` +} + +// LogTransformerTransformerConfigMoveKeyEntryInput is an input type that accepts LogTransformerTransformerConfigMoveKeyEntryArgs and LogTransformerTransformerConfigMoveKeyEntryOutput values. +// You can construct a concrete instance of `LogTransformerTransformerConfigMoveKeyEntryInput` via: +// +// LogTransformerTransformerConfigMoveKeyEntryArgs{...} +type LogTransformerTransformerConfigMoveKeyEntryInput interface { + pulumi.Input + + ToLogTransformerTransformerConfigMoveKeyEntryOutput() LogTransformerTransformerConfigMoveKeyEntryOutput + ToLogTransformerTransformerConfigMoveKeyEntryOutputWithContext(context.Context) LogTransformerTransformerConfigMoveKeyEntryOutput +} + +type LogTransformerTransformerConfigMoveKeyEntryArgs struct { + // Specifies whether to overwrite the value if the destination key already exists. Defaults to `false`. + // * `renameTo` - (Required) Specifies the new name of the key. + OverwriteIfExists pulumi.BoolPtrInput `pulumi:"overwriteIfExists"` + // Specifies the key to modify. + Source pulumi.StringInput `pulumi:"source"` + // Specifies the key to move to. + Target pulumi.StringInput `pulumi:"target"` +} + +func (LogTransformerTransformerConfigMoveKeyEntryArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LogTransformerTransformerConfigMoveKeyEntry)(nil)).Elem() +} + +func (i LogTransformerTransformerConfigMoveKeyEntryArgs) ToLogTransformerTransformerConfigMoveKeyEntryOutput() LogTransformerTransformerConfigMoveKeyEntryOutput { + return i.ToLogTransformerTransformerConfigMoveKeyEntryOutputWithContext(context.Background()) +} + +func (i LogTransformerTransformerConfigMoveKeyEntryArgs) ToLogTransformerTransformerConfigMoveKeyEntryOutputWithContext(ctx context.Context) LogTransformerTransformerConfigMoveKeyEntryOutput { + return pulumi.ToOutputWithContext(ctx, i).(LogTransformerTransformerConfigMoveKeyEntryOutput) +} + +// LogTransformerTransformerConfigMoveKeyEntryArrayInput is an input type that accepts LogTransformerTransformerConfigMoveKeyEntryArray and LogTransformerTransformerConfigMoveKeyEntryArrayOutput values. +// You can construct a concrete instance of `LogTransformerTransformerConfigMoveKeyEntryArrayInput` via: +// +// LogTransformerTransformerConfigMoveKeyEntryArray{ LogTransformerTransformerConfigMoveKeyEntryArgs{...} } +type LogTransformerTransformerConfigMoveKeyEntryArrayInput interface { + pulumi.Input + + ToLogTransformerTransformerConfigMoveKeyEntryArrayOutput() LogTransformerTransformerConfigMoveKeyEntryArrayOutput + ToLogTransformerTransformerConfigMoveKeyEntryArrayOutputWithContext(context.Context) LogTransformerTransformerConfigMoveKeyEntryArrayOutput +} + +type LogTransformerTransformerConfigMoveKeyEntryArray []LogTransformerTransformerConfigMoveKeyEntryInput + +func (LogTransformerTransformerConfigMoveKeyEntryArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]LogTransformerTransformerConfigMoveKeyEntry)(nil)).Elem() +} + +func (i LogTransformerTransformerConfigMoveKeyEntryArray) ToLogTransformerTransformerConfigMoveKeyEntryArrayOutput() LogTransformerTransformerConfigMoveKeyEntryArrayOutput { + return i.ToLogTransformerTransformerConfigMoveKeyEntryArrayOutputWithContext(context.Background()) +} + +func (i LogTransformerTransformerConfigMoveKeyEntryArray) ToLogTransformerTransformerConfigMoveKeyEntryArrayOutputWithContext(ctx context.Context) LogTransformerTransformerConfigMoveKeyEntryArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(LogTransformerTransformerConfigMoveKeyEntryArrayOutput) +} + +type LogTransformerTransformerConfigMoveKeyEntryOutput struct{ *pulumi.OutputState } + +func (LogTransformerTransformerConfigMoveKeyEntryOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LogTransformerTransformerConfigMoveKeyEntry)(nil)).Elem() +} + +func (o LogTransformerTransformerConfigMoveKeyEntryOutput) ToLogTransformerTransformerConfigMoveKeyEntryOutput() LogTransformerTransformerConfigMoveKeyEntryOutput { + return o +} + +func (o LogTransformerTransformerConfigMoveKeyEntryOutput) ToLogTransformerTransformerConfigMoveKeyEntryOutputWithContext(ctx context.Context) LogTransformerTransformerConfigMoveKeyEntryOutput { + return o +} + +// Specifies whether to overwrite the value if the destination key already exists. Defaults to `false`. +// * `renameTo` - (Required) Specifies the new name of the key. +func (o LogTransformerTransformerConfigMoveKeyEntryOutput) OverwriteIfExists() pulumi.BoolPtrOutput { + return o.ApplyT(func(v LogTransformerTransformerConfigMoveKeyEntry) *bool { return v.OverwriteIfExists }).(pulumi.BoolPtrOutput) +} + +// Specifies the key to modify. +func (o LogTransformerTransformerConfigMoveKeyEntryOutput) Source() pulumi.StringOutput { + return o.ApplyT(func(v LogTransformerTransformerConfigMoveKeyEntry) string { return v.Source }).(pulumi.StringOutput) +} + +// Specifies the key to move to. +func (o LogTransformerTransformerConfigMoveKeyEntryOutput) Target() pulumi.StringOutput { + return o.ApplyT(func(v LogTransformerTransformerConfigMoveKeyEntry) string { return v.Target }).(pulumi.StringOutput) +} + +type LogTransformerTransformerConfigMoveKeyEntryArrayOutput struct{ *pulumi.OutputState } + +func (LogTransformerTransformerConfigMoveKeyEntryArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]LogTransformerTransformerConfigMoveKeyEntry)(nil)).Elem() +} + +func (o LogTransformerTransformerConfigMoveKeyEntryArrayOutput) ToLogTransformerTransformerConfigMoveKeyEntryArrayOutput() LogTransformerTransformerConfigMoveKeyEntryArrayOutput { + return o +} + +func (o LogTransformerTransformerConfigMoveKeyEntryArrayOutput) ToLogTransformerTransformerConfigMoveKeyEntryArrayOutputWithContext(ctx context.Context) LogTransformerTransformerConfigMoveKeyEntryArrayOutput { + return o +} + +func (o LogTransformerTransformerConfigMoveKeyEntryArrayOutput) Index(i pulumi.IntInput) LogTransformerTransformerConfigMoveKeyEntryOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) LogTransformerTransformerConfigMoveKeyEntry { + return vs[0].([]LogTransformerTransformerConfigMoveKeyEntry)[vs[1].(int)] + }).(LogTransformerTransformerConfigMoveKeyEntryOutput) +} + +type LogTransformerTransformerConfigParseCloudfront struct { + // Specifies the source field to be parsed. The only allowed value is `@message`. If omitted, the whole log message is processed. + Source *string `pulumi:"source"` +} + +// LogTransformerTransformerConfigParseCloudfrontInput is an input type that accepts LogTransformerTransformerConfigParseCloudfrontArgs and LogTransformerTransformerConfigParseCloudfrontOutput values. +// You can construct a concrete instance of `LogTransformerTransformerConfigParseCloudfrontInput` via: +// +// LogTransformerTransformerConfigParseCloudfrontArgs{...} +type LogTransformerTransformerConfigParseCloudfrontInput interface { + pulumi.Input + + ToLogTransformerTransformerConfigParseCloudfrontOutput() LogTransformerTransformerConfigParseCloudfrontOutput + ToLogTransformerTransformerConfigParseCloudfrontOutputWithContext(context.Context) LogTransformerTransformerConfigParseCloudfrontOutput +} + +type LogTransformerTransformerConfigParseCloudfrontArgs struct { + // Specifies the source field to be parsed. The only allowed value is `@message`. If omitted, the whole log message is processed. + Source pulumi.StringPtrInput `pulumi:"source"` +} + +func (LogTransformerTransformerConfigParseCloudfrontArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LogTransformerTransformerConfigParseCloudfront)(nil)).Elem() +} + +func (i LogTransformerTransformerConfigParseCloudfrontArgs) ToLogTransformerTransformerConfigParseCloudfrontOutput() LogTransformerTransformerConfigParseCloudfrontOutput { + return i.ToLogTransformerTransformerConfigParseCloudfrontOutputWithContext(context.Background()) +} + +func (i LogTransformerTransformerConfigParseCloudfrontArgs) ToLogTransformerTransformerConfigParseCloudfrontOutputWithContext(ctx context.Context) LogTransformerTransformerConfigParseCloudfrontOutput { + return pulumi.ToOutputWithContext(ctx, i).(LogTransformerTransformerConfigParseCloudfrontOutput) +} + +func (i LogTransformerTransformerConfigParseCloudfrontArgs) ToLogTransformerTransformerConfigParseCloudfrontPtrOutput() LogTransformerTransformerConfigParseCloudfrontPtrOutput { + return i.ToLogTransformerTransformerConfigParseCloudfrontPtrOutputWithContext(context.Background()) +} + +func (i LogTransformerTransformerConfigParseCloudfrontArgs) ToLogTransformerTransformerConfigParseCloudfrontPtrOutputWithContext(ctx context.Context) LogTransformerTransformerConfigParseCloudfrontPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(LogTransformerTransformerConfigParseCloudfrontOutput).ToLogTransformerTransformerConfigParseCloudfrontPtrOutputWithContext(ctx) +} + +// LogTransformerTransformerConfigParseCloudfrontPtrInput is an input type that accepts LogTransformerTransformerConfigParseCloudfrontArgs, LogTransformerTransformerConfigParseCloudfrontPtr and LogTransformerTransformerConfigParseCloudfrontPtrOutput values. +// You can construct a concrete instance of `LogTransformerTransformerConfigParseCloudfrontPtrInput` via: +// +// LogTransformerTransformerConfigParseCloudfrontArgs{...} +// +// or: +// +// nil +type LogTransformerTransformerConfigParseCloudfrontPtrInput interface { + pulumi.Input + + ToLogTransformerTransformerConfigParseCloudfrontPtrOutput() LogTransformerTransformerConfigParseCloudfrontPtrOutput + ToLogTransformerTransformerConfigParseCloudfrontPtrOutputWithContext(context.Context) LogTransformerTransformerConfigParseCloudfrontPtrOutput +} + +type logTransformerTransformerConfigParseCloudfrontPtrType LogTransformerTransformerConfigParseCloudfrontArgs + +func LogTransformerTransformerConfigParseCloudfrontPtr(v *LogTransformerTransformerConfigParseCloudfrontArgs) LogTransformerTransformerConfigParseCloudfrontPtrInput { + return (*logTransformerTransformerConfigParseCloudfrontPtrType)(v) +} + +func (*logTransformerTransformerConfigParseCloudfrontPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**LogTransformerTransformerConfigParseCloudfront)(nil)).Elem() +} + +func (i *logTransformerTransformerConfigParseCloudfrontPtrType) ToLogTransformerTransformerConfigParseCloudfrontPtrOutput() LogTransformerTransformerConfigParseCloudfrontPtrOutput { + return i.ToLogTransformerTransformerConfigParseCloudfrontPtrOutputWithContext(context.Background()) +} + +func (i *logTransformerTransformerConfigParseCloudfrontPtrType) ToLogTransformerTransformerConfigParseCloudfrontPtrOutputWithContext(ctx context.Context) LogTransformerTransformerConfigParseCloudfrontPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(LogTransformerTransformerConfigParseCloudfrontPtrOutput) +} + +type LogTransformerTransformerConfigParseCloudfrontOutput struct{ *pulumi.OutputState } + +func (LogTransformerTransformerConfigParseCloudfrontOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LogTransformerTransformerConfigParseCloudfront)(nil)).Elem() +} + +func (o LogTransformerTransformerConfigParseCloudfrontOutput) ToLogTransformerTransformerConfigParseCloudfrontOutput() LogTransformerTransformerConfigParseCloudfrontOutput { + return o +} + +func (o LogTransformerTransformerConfigParseCloudfrontOutput) ToLogTransformerTransformerConfigParseCloudfrontOutputWithContext(ctx context.Context) LogTransformerTransformerConfigParseCloudfrontOutput { + return o +} + +func (o LogTransformerTransformerConfigParseCloudfrontOutput) ToLogTransformerTransformerConfigParseCloudfrontPtrOutput() LogTransformerTransformerConfigParseCloudfrontPtrOutput { + return o.ToLogTransformerTransformerConfigParseCloudfrontPtrOutputWithContext(context.Background()) +} + +func (o LogTransformerTransformerConfigParseCloudfrontOutput) ToLogTransformerTransformerConfigParseCloudfrontPtrOutputWithContext(ctx context.Context) LogTransformerTransformerConfigParseCloudfrontPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v LogTransformerTransformerConfigParseCloudfront) *LogTransformerTransformerConfigParseCloudfront { + return &v + }).(LogTransformerTransformerConfigParseCloudfrontPtrOutput) +} + +// Specifies the source field to be parsed. The only allowed value is `@message`. If omitted, the whole log message is processed. +func (o LogTransformerTransformerConfigParseCloudfrontOutput) Source() pulumi.StringPtrOutput { + return o.ApplyT(func(v LogTransformerTransformerConfigParseCloudfront) *string { return v.Source }).(pulumi.StringPtrOutput) +} + +type LogTransformerTransformerConfigParseCloudfrontPtrOutput struct{ *pulumi.OutputState } + +func (LogTransformerTransformerConfigParseCloudfrontPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**LogTransformerTransformerConfigParseCloudfront)(nil)).Elem() +} + +func (o LogTransformerTransformerConfigParseCloudfrontPtrOutput) ToLogTransformerTransformerConfigParseCloudfrontPtrOutput() LogTransformerTransformerConfigParseCloudfrontPtrOutput { + return o +} + +func (o LogTransformerTransformerConfigParseCloudfrontPtrOutput) ToLogTransformerTransformerConfigParseCloudfrontPtrOutputWithContext(ctx context.Context) LogTransformerTransformerConfigParseCloudfrontPtrOutput { + return o +} + +func (o LogTransformerTransformerConfigParseCloudfrontPtrOutput) Elem() LogTransformerTransformerConfigParseCloudfrontOutput { + return o.ApplyT(func(v *LogTransformerTransformerConfigParseCloudfront) LogTransformerTransformerConfigParseCloudfront { + if v != nil { + return *v + } + var ret LogTransformerTransformerConfigParseCloudfront + return ret + }).(LogTransformerTransformerConfigParseCloudfrontOutput) +} + +// Specifies the source field to be parsed. The only allowed value is `@message`. If omitted, the whole log message is processed. +func (o LogTransformerTransformerConfigParseCloudfrontPtrOutput) Source() pulumi.StringPtrOutput { + return o.ApplyT(func(v *LogTransformerTransformerConfigParseCloudfront) *string { + if v == nil { + return nil + } + return v.Source + }).(pulumi.StringPtrOutput) +} + +type LogTransformerTransformerConfigParseJson struct { + // Specifies the location to put the parsed key value pair into. If omitted, it will be placed under the root node. + Destination *string `pulumi:"destination"` + // Specifies the path to the field in the log event that will be parsed. Defaults to `@message`. + Source *string `pulumi:"source"` +} + +// LogTransformerTransformerConfigParseJsonInput is an input type that accepts LogTransformerTransformerConfigParseJsonArgs and LogTransformerTransformerConfigParseJsonOutput values. +// You can construct a concrete instance of `LogTransformerTransformerConfigParseJsonInput` via: +// +// LogTransformerTransformerConfigParseJsonArgs{...} +type LogTransformerTransformerConfigParseJsonInput interface { + pulumi.Input + + ToLogTransformerTransformerConfigParseJsonOutput() LogTransformerTransformerConfigParseJsonOutput + ToLogTransformerTransformerConfigParseJsonOutputWithContext(context.Context) LogTransformerTransformerConfigParseJsonOutput +} + +type LogTransformerTransformerConfigParseJsonArgs struct { + // Specifies the location to put the parsed key value pair into. If omitted, it will be placed under the root node. + Destination pulumi.StringPtrInput `pulumi:"destination"` + // Specifies the path to the field in the log event that will be parsed. Defaults to `@message`. + Source pulumi.StringPtrInput `pulumi:"source"` +} + +func (LogTransformerTransformerConfigParseJsonArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LogTransformerTransformerConfigParseJson)(nil)).Elem() +} + +func (i LogTransformerTransformerConfigParseJsonArgs) ToLogTransformerTransformerConfigParseJsonOutput() LogTransformerTransformerConfigParseJsonOutput { + return i.ToLogTransformerTransformerConfigParseJsonOutputWithContext(context.Background()) +} + +func (i LogTransformerTransformerConfigParseJsonArgs) ToLogTransformerTransformerConfigParseJsonOutputWithContext(ctx context.Context) LogTransformerTransformerConfigParseJsonOutput { + return pulumi.ToOutputWithContext(ctx, i).(LogTransformerTransformerConfigParseJsonOutput) +} + +// LogTransformerTransformerConfigParseJsonArrayInput is an input type that accepts LogTransformerTransformerConfigParseJsonArray and LogTransformerTransformerConfigParseJsonArrayOutput values. +// You can construct a concrete instance of `LogTransformerTransformerConfigParseJsonArrayInput` via: +// +// LogTransformerTransformerConfigParseJsonArray{ LogTransformerTransformerConfigParseJsonArgs{...} } +type LogTransformerTransformerConfigParseJsonArrayInput interface { + pulumi.Input + + ToLogTransformerTransformerConfigParseJsonArrayOutput() LogTransformerTransformerConfigParseJsonArrayOutput + ToLogTransformerTransformerConfigParseJsonArrayOutputWithContext(context.Context) LogTransformerTransformerConfigParseJsonArrayOutput +} + +type LogTransformerTransformerConfigParseJsonArray []LogTransformerTransformerConfigParseJsonInput + +func (LogTransformerTransformerConfigParseJsonArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]LogTransformerTransformerConfigParseJson)(nil)).Elem() +} + +func (i LogTransformerTransformerConfigParseJsonArray) ToLogTransformerTransformerConfigParseJsonArrayOutput() LogTransformerTransformerConfigParseJsonArrayOutput { + return i.ToLogTransformerTransformerConfigParseJsonArrayOutputWithContext(context.Background()) +} + +func (i LogTransformerTransformerConfigParseJsonArray) ToLogTransformerTransformerConfigParseJsonArrayOutputWithContext(ctx context.Context) LogTransformerTransformerConfigParseJsonArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(LogTransformerTransformerConfigParseJsonArrayOutput) +} + +type LogTransformerTransformerConfigParseJsonOutput struct{ *pulumi.OutputState } + +func (LogTransformerTransformerConfigParseJsonOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LogTransformerTransformerConfigParseJson)(nil)).Elem() +} + +func (o LogTransformerTransformerConfigParseJsonOutput) ToLogTransformerTransformerConfigParseJsonOutput() LogTransformerTransformerConfigParseJsonOutput { + return o +} + +func (o LogTransformerTransformerConfigParseJsonOutput) ToLogTransformerTransformerConfigParseJsonOutputWithContext(ctx context.Context) LogTransformerTransformerConfigParseJsonOutput { + return o +} + +// Specifies the location to put the parsed key value pair into. If omitted, it will be placed under the root node. +func (o LogTransformerTransformerConfigParseJsonOutput) Destination() pulumi.StringPtrOutput { + return o.ApplyT(func(v LogTransformerTransformerConfigParseJson) *string { return v.Destination }).(pulumi.StringPtrOutput) +} + +// Specifies the path to the field in the log event that will be parsed. Defaults to `@message`. +func (o LogTransformerTransformerConfigParseJsonOutput) Source() pulumi.StringPtrOutput { + return o.ApplyT(func(v LogTransformerTransformerConfigParseJson) *string { return v.Source }).(pulumi.StringPtrOutput) +} + +type LogTransformerTransformerConfigParseJsonArrayOutput struct{ *pulumi.OutputState } + +func (LogTransformerTransformerConfigParseJsonArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]LogTransformerTransformerConfigParseJson)(nil)).Elem() +} + +func (o LogTransformerTransformerConfigParseJsonArrayOutput) ToLogTransformerTransformerConfigParseJsonArrayOutput() LogTransformerTransformerConfigParseJsonArrayOutput { + return o +} + +func (o LogTransformerTransformerConfigParseJsonArrayOutput) ToLogTransformerTransformerConfigParseJsonArrayOutputWithContext(ctx context.Context) LogTransformerTransformerConfigParseJsonArrayOutput { + return o +} + +func (o LogTransformerTransformerConfigParseJsonArrayOutput) Index(i pulumi.IntInput) LogTransformerTransformerConfigParseJsonOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) LogTransformerTransformerConfigParseJson { + return vs[0].([]LogTransformerTransformerConfigParseJson)[vs[1].(int)] + }).(LogTransformerTransformerConfigParseJsonOutput) +} + +type LogTransformerTransformerConfigParseKeyValue struct { + // Specifies the destination field to put the extracted key-value pairs into. + Destination *string `pulumi:"destination"` + // Specifies the field delimiter string that is used between key-value pairs in the original log events. Defaults to the ampersand `&` character. + FieldDelimiter *string `pulumi:"fieldDelimiter"` + // Specifies a prefix that will be added to all transformed keys. + KeyPrefix *string `pulumi:"keyPrefix"` + // Specifies the delimiter string to use between the key and value in each pair in the transformed log event. Defaults to the equal `=` character. + KeyValueDelimiter *string `pulumi:"keyValueDelimiter"` + // Specifies a value to insert into the value field in the result if a key-value pair is not successfully split. + NonMatchValue *string `pulumi:"nonMatchValue"` + // Specifies whether to overwrite the value if the destination key already exists. Defaults to `false`. + OverwriteIfExists *bool `pulumi:"overwriteIfExists"` + // Specifies the path to the field in the log event that will be parsed. Defaults to `@message`. + Source *string `pulumi:"source"` +} + +// LogTransformerTransformerConfigParseKeyValueInput is an input type that accepts LogTransformerTransformerConfigParseKeyValueArgs and LogTransformerTransformerConfigParseKeyValueOutput values. +// You can construct a concrete instance of `LogTransformerTransformerConfigParseKeyValueInput` via: +// +// LogTransformerTransformerConfigParseKeyValueArgs{...} +type LogTransformerTransformerConfigParseKeyValueInput interface { + pulumi.Input + + ToLogTransformerTransformerConfigParseKeyValueOutput() LogTransformerTransformerConfigParseKeyValueOutput + ToLogTransformerTransformerConfigParseKeyValueOutputWithContext(context.Context) LogTransformerTransformerConfigParseKeyValueOutput +} + +type LogTransformerTransformerConfigParseKeyValueArgs struct { + // Specifies the destination field to put the extracted key-value pairs into. + Destination pulumi.StringPtrInput `pulumi:"destination"` + // Specifies the field delimiter string that is used between key-value pairs in the original log events. Defaults to the ampersand `&` character. + FieldDelimiter pulumi.StringPtrInput `pulumi:"fieldDelimiter"` + // Specifies a prefix that will be added to all transformed keys. + KeyPrefix pulumi.StringPtrInput `pulumi:"keyPrefix"` + // Specifies the delimiter string to use between the key and value in each pair in the transformed log event. Defaults to the equal `=` character. + KeyValueDelimiter pulumi.StringPtrInput `pulumi:"keyValueDelimiter"` + // Specifies a value to insert into the value field in the result if a key-value pair is not successfully split. + NonMatchValue pulumi.StringPtrInput `pulumi:"nonMatchValue"` + // Specifies whether to overwrite the value if the destination key already exists. Defaults to `false`. + OverwriteIfExists pulumi.BoolPtrInput `pulumi:"overwriteIfExists"` + // Specifies the path to the field in the log event that will be parsed. Defaults to `@message`. + Source pulumi.StringPtrInput `pulumi:"source"` +} + +func (LogTransformerTransformerConfigParseKeyValueArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LogTransformerTransformerConfigParseKeyValue)(nil)).Elem() +} + +func (i LogTransformerTransformerConfigParseKeyValueArgs) ToLogTransformerTransformerConfigParseKeyValueOutput() LogTransformerTransformerConfigParseKeyValueOutput { + return i.ToLogTransformerTransformerConfigParseKeyValueOutputWithContext(context.Background()) +} + +func (i LogTransformerTransformerConfigParseKeyValueArgs) ToLogTransformerTransformerConfigParseKeyValueOutputWithContext(ctx context.Context) LogTransformerTransformerConfigParseKeyValueOutput { + return pulumi.ToOutputWithContext(ctx, i).(LogTransformerTransformerConfigParseKeyValueOutput) +} + +// LogTransformerTransformerConfigParseKeyValueArrayInput is an input type that accepts LogTransformerTransformerConfigParseKeyValueArray and LogTransformerTransformerConfigParseKeyValueArrayOutput values. +// You can construct a concrete instance of `LogTransformerTransformerConfigParseKeyValueArrayInput` via: +// +// LogTransformerTransformerConfigParseKeyValueArray{ LogTransformerTransformerConfigParseKeyValueArgs{...} } +type LogTransformerTransformerConfigParseKeyValueArrayInput interface { + pulumi.Input + + ToLogTransformerTransformerConfigParseKeyValueArrayOutput() LogTransformerTransformerConfigParseKeyValueArrayOutput + ToLogTransformerTransformerConfigParseKeyValueArrayOutputWithContext(context.Context) LogTransformerTransformerConfigParseKeyValueArrayOutput +} + +type LogTransformerTransformerConfigParseKeyValueArray []LogTransformerTransformerConfigParseKeyValueInput + +func (LogTransformerTransformerConfigParseKeyValueArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]LogTransformerTransformerConfigParseKeyValue)(nil)).Elem() +} + +func (i LogTransformerTransformerConfigParseKeyValueArray) ToLogTransformerTransformerConfigParseKeyValueArrayOutput() LogTransformerTransformerConfigParseKeyValueArrayOutput { + return i.ToLogTransformerTransformerConfigParseKeyValueArrayOutputWithContext(context.Background()) +} + +func (i LogTransformerTransformerConfigParseKeyValueArray) ToLogTransformerTransformerConfigParseKeyValueArrayOutputWithContext(ctx context.Context) LogTransformerTransformerConfigParseKeyValueArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(LogTransformerTransformerConfigParseKeyValueArrayOutput) +} + +type LogTransformerTransformerConfigParseKeyValueOutput struct{ *pulumi.OutputState } + +func (LogTransformerTransformerConfigParseKeyValueOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LogTransformerTransformerConfigParseKeyValue)(nil)).Elem() +} + +func (o LogTransformerTransformerConfigParseKeyValueOutput) ToLogTransformerTransformerConfigParseKeyValueOutput() LogTransformerTransformerConfigParseKeyValueOutput { + return o +} + +func (o LogTransformerTransformerConfigParseKeyValueOutput) ToLogTransformerTransformerConfigParseKeyValueOutputWithContext(ctx context.Context) LogTransformerTransformerConfigParseKeyValueOutput { + return o +} + +// Specifies the destination field to put the extracted key-value pairs into. +func (o LogTransformerTransformerConfigParseKeyValueOutput) Destination() pulumi.StringPtrOutput { + return o.ApplyT(func(v LogTransformerTransformerConfigParseKeyValue) *string { return v.Destination }).(pulumi.StringPtrOutput) +} + +// Specifies the field delimiter string that is used between key-value pairs in the original log events. Defaults to the ampersand `&` character. +func (o LogTransformerTransformerConfigParseKeyValueOutput) FieldDelimiter() pulumi.StringPtrOutput { + return o.ApplyT(func(v LogTransformerTransformerConfigParseKeyValue) *string { return v.FieldDelimiter }).(pulumi.StringPtrOutput) +} + +// Specifies a prefix that will be added to all transformed keys. +func (o LogTransformerTransformerConfigParseKeyValueOutput) KeyPrefix() pulumi.StringPtrOutput { + return o.ApplyT(func(v LogTransformerTransformerConfigParseKeyValue) *string { return v.KeyPrefix }).(pulumi.StringPtrOutput) +} + +// Specifies the delimiter string to use between the key and value in each pair in the transformed log event. Defaults to the equal `=` character. +func (o LogTransformerTransformerConfigParseKeyValueOutput) KeyValueDelimiter() pulumi.StringPtrOutput { + return o.ApplyT(func(v LogTransformerTransformerConfigParseKeyValue) *string { return v.KeyValueDelimiter }).(pulumi.StringPtrOutput) +} + +// Specifies a value to insert into the value field in the result if a key-value pair is not successfully split. +func (o LogTransformerTransformerConfigParseKeyValueOutput) NonMatchValue() pulumi.StringPtrOutput { + return o.ApplyT(func(v LogTransformerTransformerConfigParseKeyValue) *string { return v.NonMatchValue }).(pulumi.StringPtrOutput) +} + +// Specifies whether to overwrite the value if the destination key already exists. Defaults to `false`. +func (o LogTransformerTransformerConfigParseKeyValueOutput) OverwriteIfExists() pulumi.BoolPtrOutput { + return o.ApplyT(func(v LogTransformerTransformerConfigParseKeyValue) *bool { return v.OverwriteIfExists }).(pulumi.BoolPtrOutput) +} + +// Specifies the path to the field in the log event that will be parsed. Defaults to `@message`. +func (o LogTransformerTransformerConfigParseKeyValueOutput) Source() pulumi.StringPtrOutput { + return o.ApplyT(func(v LogTransformerTransformerConfigParseKeyValue) *string { return v.Source }).(pulumi.StringPtrOutput) +} + +type LogTransformerTransformerConfigParseKeyValueArrayOutput struct{ *pulumi.OutputState } + +func (LogTransformerTransformerConfigParseKeyValueArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]LogTransformerTransformerConfigParseKeyValue)(nil)).Elem() +} + +func (o LogTransformerTransformerConfigParseKeyValueArrayOutput) ToLogTransformerTransformerConfigParseKeyValueArrayOutput() LogTransformerTransformerConfigParseKeyValueArrayOutput { + return o +} + +func (o LogTransformerTransformerConfigParseKeyValueArrayOutput) ToLogTransformerTransformerConfigParseKeyValueArrayOutputWithContext(ctx context.Context) LogTransformerTransformerConfigParseKeyValueArrayOutput { + return o +} + +func (o LogTransformerTransformerConfigParseKeyValueArrayOutput) Index(i pulumi.IntInput) LogTransformerTransformerConfigParseKeyValueOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) LogTransformerTransformerConfigParseKeyValue { + return vs[0].([]LogTransformerTransformerConfigParseKeyValue)[vs[1].(int)] + }).(LogTransformerTransformerConfigParseKeyValueOutput) +} + +type LogTransformerTransformerConfigParsePostgres struct { + // Specifies the source field to be parsed. The only allowed value is `@message`. If omitted, the whole log message is processed. + Source *string `pulumi:"source"` +} + +// LogTransformerTransformerConfigParsePostgresInput is an input type that accepts LogTransformerTransformerConfigParsePostgresArgs and LogTransformerTransformerConfigParsePostgresOutput values. +// You can construct a concrete instance of `LogTransformerTransformerConfigParsePostgresInput` via: +// +// LogTransformerTransformerConfigParsePostgresArgs{...} +type LogTransformerTransformerConfigParsePostgresInput interface { + pulumi.Input + + ToLogTransformerTransformerConfigParsePostgresOutput() LogTransformerTransformerConfigParsePostgresOutput + ToLogTransformerTransformerConfigParsePostgresOutputWithContext(context.Context) LogTransformerTransformerConfigParsePostgresOutput +} + +type LogTransformerTransformerConfigParsePostgresArgs struct { + // Specifies the source field to be parsed. The only allowed value is `@message`. If omitted, the whole log message is processed. + Source pulumi.StringPtrInput `pulumi:"source"` +} + +func (LogTransformerTransformerConfigParsePostgresArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LogTransformerTransformerConfigParsePostgres)(nil)).Elem() +} + +func (i LogTransformerTransformerConfigParsePostgresArgs) ToLogTransformerTransformerConfigParsePostgresOutput() LogTransformerTransformerConfigParsePostgresOutput { + return i.ToLogTransformerTransformerConfigParsePostgresOutputWithContext(context.Background()) +} + +func (i LogTransformerTransformerConfigParsePostgresArgs) ToLogTransformerTransformerConfigParsePostgresOutputWithContext(ctx context.Context) LogTransformerTransformerConfigParsePostgresOutput { + return pulumi.ToOutputWithContext(ctx, i).(LogTransformerTransformerConfigParsePostgresOutput) +} + +func (i LogTransformerTransformerConfigParsePostgresArgs) ToLogTransformerTransformerConfigParsePostgresPtrOutput() LogTransformerTransformerConfigParsePostgresPtrOutput { + return i.ToLogTransformerTransformerConfigParsePostgresPtrOutputWithContext(context.Background()) +} + +func (i LogTransformerTransformerConfigParsePostgresArgs) ToLogTransformerTransformerConfigParsePostgresPtrOutputWithContext(ctx context.Context) LogTransformerTransformerConfigParsePostgresPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(LogTransformerTransformerConfigParsePostgresOutput).ToLogTransformerTransformerConfigParsePostgresPtrOutputWithContext(ctx) +} + +// LogTransformerTransformerConfigParsePostgresPtrInput is an input type that accepts LogTransformerTransformerConfigParsePostgresArgs, LogTransformerTransformerConfigParsePostgresPtr and LogTransformerTransformerConfigParsePostgresPtrOutput values. +// You can construct a concrete instance of `LogTransformerTransformerConfigParsePostgresPtrInput` via: +// +// LogTransformerTransformerConfigParsePostgresArgs{...} +// +// or: +// +// nil +type LogTransformerTransformerConfigParsePostgresPtrInput interface { + pulumi.Input + + ToLogTransformerTransformerConfigParsePostgresPtrOutput() LogTransformerTransformerConfigParsePostgresPtrOutput + ToLogTransformerTransformerConfigParsePostgresPtrOutputWithContext(context.Context) LogTransformerTransformerConfigParsePostgresPtrOutput +} + +type logTransformerTransformerConfigParsePostgresPtrType LogTransformerTransformerConfigParsePostgresArgs + +func LogTransformerTransformerConfigParsePostgresPtr(v *LogTransformerTransformerConfigParsePostgresArgs) LogTransformerTransformerConfigParsePostgresPtrInput { + return (*logTransformerTransformerConfigParsePostgresPtrType)(v) +} + +func (*logTransformerTransformerConfigParsePostgresPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**LogTransformerTransformerConfigParsePostgres)(nil)).Elem() +} + +func (i *logTransformerTransformerConfigParsePostgresPtrType) ToLogTransformerTransformerConfigParsePostgresPtrOutput() LogTransformerTransformerConfigParsePostgresPtrOutput { + return i.ToLogTransformerTransformerConfigParsePostgresPtrOutputWithContext(context.Background()) +} + +func (i *logTransformerTransformerConfigParsePostgresPtrType) ToLogTransformerTransformerConfigParsePostgresPtrOutputWithContext(ctx context.Context) LogTransformerTransformerConfigParsePostgresPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(LogTransformerTransformerConfigParsePostgresPtrOutput) +} + +type LogTransformerTransformerConfigParsePostgresOutput struct{ *pulumi.OutputState } + +func (LogTransformerTransformerConfigParsePostgresOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LogTransformerTransformerConfigParsePostgres)(nil)).Elem() +} + +func (o LogTransformerTransformerConfigParsePostgresOutput) ToLogTransformerTransformerConfigParsePostgresOutput() LogTransformerTransformerConfigParsePostgresOutput { + return o +} + +func (o LogTransformerTransformerConfigParsePostgresOutput) ToLogTransformerTransformerConfigParsePostgresOutputWithContext(ctx context.Context) LogTransformerTransformerConfigParsePostgresOutput { + return o +} + +func (o LogTransformerTransformerConfigParsePostgresOutput) ToLogTransformerTransformerConfigParsePostgresPtrOutput() LogTransformerTransformerConfigParsePostgresPtrOutput { + return o.ToLogTransformerTransformerConfigParsePostgresPtrOutputWithContext(context.Background()) +} + +func (o LogTransformerTransformerConfigParsePostgresOutput) ToLogTransformerTransformerConfigParsePostgresPtrOutputWithContext(ctx context.Context) LogTransformerTransformerConfigParsePostgresPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v LogTransformerTransformerConfigParsePostgres) *LogTransformerTransformerConfigParsePostgres { + return &v + }).(LogTransformerTransformerConfigParsePostgresPtrOutput) +} + +// Specifies the source field to be parsed. The only allowed value is `@message`. If omitted, the whole log message is processed. +func (o LogTransformerTransformerConfigParsePostgresOutput) Source() pulumi.StringPtrOutput { + return o.ApplyT(func(v LogTransformerTransformerConfigParsePostgres) *string { return v.Source }).(pulumi.StringPtrOutput) +} + +type LogTransformerTransformerConfigParsePostgresPtrOutput struct{ *pulumi.OutputState } + +func (LogTransformerTransformerConfigParsePostgresPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**LogTransformerTransformerConfigParsePostgres)(nil)).Elem() +} + +func (o LogTransformerTransformerConfigParsePostgresPtrOutput) ToLogTransformerTransformerConfigParsePostgresPtrOutput() LogTransformerTransformerConfigParsePostgresPtrOutput { + return o +} + +func (o LogTransformerTransformerConfigParsePostgresPtrOutput) ToLogTransformerTransformerConfigParsePostgresPtrOutputWithContext(ctx context.Context) LogTransformerTransformerConfigParsePostgresPtrOutput { + return o +} + +func (o LogTransformerTransformerConfigParsePostgresPtrOutput) Elem() LogTransformerTransformerConfigParsePostgresOutput { + return o.ApplyT(func(v *LogTransformerTransformerConfigParsePostgres) LogTransformerTransformerConfigParsePostgres { + if v != nil { + return *v + } + var ret LogTransformerTransformerConfigParsePostgres + return ret + }).(LogTransformerTransformerConfigParsePostgresOutput) +} + +// Specifies the source field to be parsed. The only allowed value is `@message`. If omitted, the whole log message is processed. +func (o LogTransformerTransformerConfigParsePostgresPtrOutput) Source() pulumi.StringPtrOutput { + return o.ApplyT(func(v *LogTransformerTransformerConfigParsePostgres) *string { + if v == nil { + return nil + } + return v.Source + }).(pulumi.StringPtrOutput) +} + +type LogTransformerTransformerConfigParseRoute53 struct { + // Specifies the source field to be parsed. The only allowed value is `@message`. If omitted, the whole log message is processed. + Source *string `pulumi:"source"` +} + +// LogTransformerTransformerConfigParseRoute53Input is an input type that accepts LogTransformerTransformerConfigParseRoute53Args and LogTransformerTransformerConfigParseRoute53Output values. +// You can construct a concrete instance of `LogTransformerTransformerConfigParseRoute53Input` via: +// +// LogTransformerTransformerConfigParseRoute53Args{...} +type LogTransformerTransformerConfigParseRoute53Input interface { + pulumi.Input + + ToLogTransformerTransformerConfigParseRoute53Output() LogTransformerTransformerConfigParseRoute53Output + ToLogTransformerTransformerConfigParseRoute53OutputWithContext(context.Context) LogTransformerTransformerConfigParseRoute53Output +} + +type LogTransformerTransformerConfigParseRoute53Args struct { + // Specifies the source field to be parsed. The only allowed value is `@message`. If omitted, the whole log message is processed. + Source pulumi.StringPtrInput `pulumi:"source"` +} + +func (LogTransformerTransformerConfigParseRoute53Args) ElementType() reflect.Type { + return reflect.TypeOf((*LogTransformerTransformerConfigParseRoute53)(nil)).Elem() +} + +func (i LogTransformerTransformerConfigParseRoute53Args) ToLogTransformerTransformerConfigParseRoute53Output() LogTransformerTransformerConfigParseRoute53Output { + return i.ToLogTransformerTransformerConfigParseRoute53OutputWithContext(context.Background()) +} + +func (i LogTransformerTransformerConfigParseRoute53Args) ToLogTransformerTransformerConfigParseRoute53OutputWithContext(ctx context.Context) LogTransformerTransformerConfigParseRoute53Output { + return pulumi.ToOutputWithContext(ctx, i).(LogTransformerTransformerConfigParseRoute53Output) +} + +func (i LogTransformerTransformerConfigParseRoute53Args) ToLogTransformerTransformerConfigParseRoute53PtrOutput() LogTransformerTransformerConfigParseRoute53PtrOutput { + return i.ToLogTransformerTransformerConfigParseRoute53PtrOutputWithContext(context.Background()) +} + +func (i LogTransformerTransformerConfigParseRoute53Args) ToLogTransformerTransformerConfigParseRoute53PtrOutputWithContext(ctx context.Context) LogTransformerTransformerConfigParseRoute53PtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(LogTransformerTransformerConfigParseRoute53Output).ToLogTransformerTransformerConfigParseRoute53PtrOutputWithContext(ctx) +} + +// LogTransformerTransformerConfigParseRoute53PtrInput is an input type that accepts LogTransformerTransformerConfigParseRoute53Args, LogTransformerTransformerConfigParseRoute53Ptr and LogTransformerTransformerConfigParseRoute53PtrOutput values. +// You can construct a concrete instance of `LogTransformerTransformerConfigParseRoute53PtrInput` via: +// +// LogTransformerTransformerConfigParseRoute53Args{...} +// +// or: +// +// nil +type LogTransformerTransformerConfigParseRoute53PtrInput interface { + pulumi.Input + + ToLogTransformerTransformerConfigParseRoute53PtrOutput() LogTransformerTransformerConfigParseRoute53PtrOutput + ToLogTransformerTransformerConfigParseRoute53PtrOutputWithContext(context.Context) LogTransformerTransformerConfigParseRoute53PtrOutput +} + +type logTransformerTransformerConfigParseRoute53PtrType LogTransformerTransformerConfigParseRoute53Args + +func LogTransformerTransformerConfigParseRoute53Ptr(v *LogTransformerTransformerConfigParseRoute53Args) LogTransformerTransformerConfigParseRoute53PtrInput { + return (*logTransformerTransformerConfigParseRoute53PtrType)(v) +} + +func (*logTransformerTransformerConfigParseRoute53PtrType) ElementType() reflect.Type { + return reflect.TypeOf((**LogTransformerTransformerConfigParseRoute53)(nil)).Elem() +} + +func (i *logTransformerTransformerConfigParseRoute53PtrType) ToLogTransformerTransformerConfigParseRoute53PtrOutput() LogTransformerTransformerConfigParseRoute53PtrOutput { + return i.ToLogTransformerTransformerConfigParseRoute53PtrOutputWithContext(context.Background()) +} + +func (i *logTransformerTransformerConfigParseRoute53PtrType) ToLogTransformerTransformerConfigParseRoute53PtrOutputWithContext(ctx context.Context) LogTransformerTransformerConfigParseRoute53PtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(LogTransformerTransformerConfigParseRoute53PtrOutput) +} + +type LogTransformerTransformerConfigParseRoute53Output struct{ *pulumi.OutputState } + +func (LogTransformerTransformerConfigParseRoute53Output) ElementType() reflect.Type { + return reflect.TypeOf((*LogTransformerTransformerConfigParseRoute53)(nil)).Elem() +} + +func (o LogTransformerTransformerConfigParseRoute53Output) ToLogTransformerTransformerConfigParseRoute53Output() LogTransformerTransformerConfigParseRoute53Output { + return o +} + +func (o LogTransformerTransformerConfigParseRoute53Output) ToLogTransformerTransformerConfigParseRoute53OutputWithContext(ctx context.Context) LogTransformerTransformerConfigParseRoute53Output { + return o +} + +func (o LogTransformerTransformerConfigParseRoute53Output) ToLogTransformerTransformerConfigParseRoute53PtrOutput() LogTransformerTransformerConfigParseRoute53PtrOutput { + return o.ToLogTransformerTransformerConfigParseRoute53PtrOutputWithContext(context.Background()) +} + +func (o LogTransformerTransformerConfigParseRoute53Output) ToLogTransformerTransformerConfigParseRoute53PtrOutputWithContext(ctx context.Context) LogTransformerTransformerConfigParseRoute53PtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v LogTransformerTransformerConfigParseRoute53) *LogTransformerTransformerConfigParseRoute53 { + return &v + }).(LogTransformerTransformerConfigParseRoute53PtrOutput) +} + +// Specifies the source field to be parsed. The only allowed value is `@message`. If omitted, the whole log message is processed. +func (o LogTransformerTransformerConfigParseRoute53Output) Source() pulumi.StringPtrOutput { + return o.ApplyT(func(v LogTransformerTransformerConfigParseRoute53) *string { return v.Source }).(pulumi.StringPtrOutput) +} + +type LogTransformerTransformerConfigParseRoute53PtrOutput struct{ *pulumi.OutputState } + +func (LogTransformerTransformerConfigParseRoute53PtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**LogTransformerTransformerConfigParseRoute53)(nil)).Elem() +} + +func (o LogTransformerTransformerConfigParseRoute53PtrOutput) ToLogTransformerTransformerConfigParseRoute53PtrOutput() LogTransformerTransformerConfigParseRoute53PtrOutput { + return o +} + +func (o LogTransformerTransformerConfigParseRoute53PtrOutput) ToLogTransformerTransformerConfigParseRoute53PtrOutputWithContext(ctx context.Context) LogTransformerTransformerConfigParseRoute53PtrOutput { + return o +} + +func (o LogTransformerTransformerConfigParseRoute53PtrOutput) Elem() LogTransformerTransformerConfigParseRoute53Output { + return o.ApplyT(func(v *LogTransformerTransformerConfigParseRoute53) LogTransformerTransformerConfigParseRoute53 { + if v != nil { + return *v + } + var ret LogTransformerTransformerConfigParseRoute53 + return ret + }).(LogTransformerTransformerConfigParseRoute53Output) +} + +// Specifies the source field to be parsed. The only allowed value is `@message`. If omitted, the whole log message is processed. +func (o LogTransformerTransformerConfigParseRoute53PtrOutput) Source() pulumi.StringPtrOutput { + return o.ApplyT(func(v *LogTransformerTransformerConfigParseRoute53) *string { + if v == nil { + return nil + } + return v.Source + }).(pulumi.StringPtrOutput) +} + +type LogTransformerTransformerConfigParseToOcsf struct { + EventSource string `pulumi:"eventSource"` + // Specifies the version of the OCSF schema to use for the transformed log events. The only allowed value is `V1.1`. + OcsfVersion string `pulumi:"ocsfVersion"` + // Specifies the source field to be parsed. The only allowed value is `@message`. If omitted, the whole log message is processed. + Source *string `pulumi:"source"` +} + +// LogTransformerTransformerConfigParseToOcsfInput is an input type that accepts LogTransformerTransformerConfigParseToOcsfArgs and LogTransformerTransformerConfigParseToOcsfOutput values. +// You can construct a concrete instance of `LogTransformerTransformerConfigParseToOcsfInput` via: +// +// LogTransformerTransformerConfigParseToOcsfArgs{...} +type LogTransformerTransformerConfigParseToOcsfInput interface { + pulumi.Input + + ToLogTransformerTransformerConfigParseToOcsfOutput() LogTransformerTransformerConfigParseToOcsfOutput + ToLogTransformerTransformerConfigParseToOcsfOutputWithContext(context.Context) LogTransformerTransformerConfigParseToOcsfOutput +} + +type LogTransformerTransformerConfigParseToOcsfArgs struct { + EventSource pulumi.StringInput `pulumi:"eventSource"` + // Specifies the version of the OCSF schema to use for the transformed log events. The only allowed value is `V1.1`. + OcsfVersion pulumi.StringInput `pulumi:"ocsfVersion"` + // Specifies the source field to be parsed. The only allowed value is `@message`. If omitted, the whole log message is processed. + Source pulumi.StringPtrInput `pulumi:"source"` +} + +func (LogTransformerTransformerConfigParseToOcsfArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LogTransformerTransformerConfigParseToOcsf)(nil)).Elem() +} + +func (i LogTransformerTransformerConfigParseToOcsfArgs) ToLogTransformerTransformerConfigParseToOcsfOutput() LogTransformerTransformerConfigParseToOcsfOutput { + return i.ToLogTransformerTransformerConfigParseToOcsfOutputWithContext(context.Background()) +} + +func (i LogTransformerTransformerConfigParseToOcsfArgs) ToLogTransformerTransformerConfigParseToOcsfOutputWithContext(ctx context.Context) LogTransformerTransformerConfigParseToOcsfOutput { + return pulumi.ToOutputWithContext(ctx, i).(LogTransformerTransformerConfigParseToOcsfOutput) +} + +func (i LogTransformerTransformerConfigParseToOcsfArgs) ToLogTransformerTransformerConfigParseToOcsfPtrOutput() LogTransformerTransformerConfigParseToOcsfPtrOutput { + return i.ToLogTransformerTransformerConfigParseToOcsfPtrOutputWithContext(context.Background()) +} + +func (i LogTransformerTransformerConfigParseToOcsfArgs) ToLogTransformerTransformerConfigParseToOcsfPtrOutputWithContext(ctx context.Context) LogTransformerTransformerConfigParseToOcsfPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(LogTransformerTransformerConfigParseToOcsfOutput).ToLogTransformerTransformerConfigParseToOcsfPtrOutputWithContext(ctx) +} + +// LogTransformerTransformerConfigParseToOcsfPtrInput is an input type that accepts LogTransformerTransformerConfigParseToOcsfArgs, LogTransformerTransformerConfigParseToOcsfPtr and LogTransformerTransformerConfigParseToOcsfPtrOutput values. +// You can construct a concrete instance of `LogTransformerTransformerConfigParseToOcsfPtrInput` via: +// +// LogTransformerTransformerConfigParseToOcsfArgs{...} +// +// or: +// +// nil +type LogTransformerTransformerConfigParseToOcsfPtrInput interface { + pulumi.Input + + ToLogTransformerTransformerConfigParseToOcsfPtrOutput() LogTransformerTransformerConfigParseToOcsfPtrOutput + ToLogTransformerTransformerConfigParseToOcsfPtrOutputWithContext(context.Context) LogTransformerTransformerConfigParseToOcsfPtrOutput +} + +type logTransformerTransformerConfigParseToOcsfPtrType LogTransformerTransformerConfigParseToOcsfArgs + +func LogTransformerTransformerConfigParseToOcsfPtr(v *LogTransformerTransformerConfigParseToOcsfArgs) LogTransformerTransformerConfigParseToOcsfPtrInput { + return (*logTransformerTransformerConfigParseToOcsfPtrType)(v) +} + +func (*logTransformerTransformerConfigParseToOcsfPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**LogTransformerTransformerConfigParseToOcsf)(nil)).Elem() +} + +func (i *logTransformerTransformerConfigParseToOcsfPtrType) ToLogTransformerTransformerConfigParseToOcsfPtrOutput() LogTransformerTransformerConfigParseToOcsfPtrOutput { + return i.ToLogTransformerTransformerConfigParseToOcsfPtrOutputWithContext(context.Background()) +} + +func (i *logTransformerTransformerConfigParseToOcsfPtrType) ToLogTransformerTransformerConfigParseToOcsfPtrOutputWithContext(ctx context.Context) LogTransformerTransformerConfigParseToOcsfPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(LogTransformerTransformerConfigParseToOcsfPtrOutput) +} + +type LogTransformerTransformerConfigParseToOcsfOutput struct{ *pulumi.OutputState } + +func (LogTransformerTransformerConfigParseToOcsfOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LogTransformerTransformerConfigParseToOcsf)(nil)).Elem() +} + +func (o LogTransformerTransformerConfigParseToOcsfOutput) ToLogTransformerTransformerConfigParseToOcsfOutput() LogTransformerTransformerConfigParseToOcsfOutput { + return o +} + +func (o LogTransformerTransformerConfigParseToOcsfOutput) ToLogTransformerTransformerConfigParseToOcsfOutputWithContext(ctx context.Context) LogTransformerTransformerConfigParseToOcsfOutput { + return o +} + +func (o LogTransformerTransformerConfigParseToOcsfOutput) ToLogTransformerTransformerConfigParseToOcsfPtrOutput() LogTransformerTransformerConfigParseToOcsfPtrOutput { + return o.ToLogTransformerTransformerConfigParseToOcsfPtrOutputWithContext(context.Background()) +} + +func (o LogTransformerTransformerConfigParseToOcsfOutput) ToLogTransformerTransformerConfigParseToOcsfPtrOutputWithContext(ctx context.Context) LogTransformerTransformerConfigParseToOcsfPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v LogTransformerTransformerConfigParseToOcsf) *LogTransformerTransformerConfigParseToOcsf { + return &v + }).(LogTransformerTransformerConfigParseToOcsfPtrOutput) +} + +func (o LogTransformerTransformerConfigParseToOcsfOutput) EventSource() pulumi.StringOutput { + return o.ApplyT(func(v LogTransformerTransformerConfigParseToOcsf) string { return v.EventSource }).(pulumi.StringOutput) +} + +// Specifies the version of the OCSF schema to use for the transformed log events. The only allowed value is `V1.1`. +func (o LogTransformerTransformerConfigParseToOcsfOutput) OcsfVersion() pulumi.StringOutput { + return o.ApplyT(func(v LogTransformerTransformerConfigParseToOcsf) string { return v.OcsfVersion }).(pulumi.StringOutput) +} + +// Specifies the source field to be parsed. The only allowed value is `@message`. If omitted, the whole log message is processed. +func (o LogTransformerTransformerConfigParseToOcsfOutput) Source() pulumi.StringPtrOutput { + return o.ApplyT(func(v LogTransformerTransformerConfigParseToOcsf) *string { return v.Source }).(pulumi.StringPtrOutput) +} + +type LogTransformerTransformerConfigParseToOcsfPtrOutput struct{ *pulumi.OutputState } + +func (LogTransformerTransformerConfigParseToOcsfPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**LogTransformerTransformerConfigParseToOcsf)(nil)).Elem() +} + +func (o LogTransformerTransformerConfigParseToOcsfPtrOutput) ToLogTransformerTransformerConfigParseToOcsfPtrOutput() LogTransformerTransformerConfigParseToOcsfPtrOutput { + return o +} + +func (o LogTransformerTransformerConfigParseToOcsfPtrOutput) ToLogTransformerTransformerConfigParseToOcsfPtrOutputWithContext(ctx context.Context) LogTransformerTransformerConfigParseToOcsfPtrOutput { + return o +} + +func (o LogTransformerTransformerConfigParseToOcsfPtrOutput) Elem() LogTransformerTransformerConfigParseToOcsfOutput { + return o.ApplyT(func(v *LogTransformerTransformerConfigParseToOcsf) LogTransformerTransformerConfigParseToOcsf { + if v != nil { + return *v + } + var ret LogTransformerTransformerConfigParseToOcsf + return ret + }).(LogTransformerTransformerConfigParseToOcsfOutput) +} + +func (o LogTransformerTransformerConfigParseToOcsfPtrOutput) EventSource() pulumi.StringPtrOutput { + return o.ApplyT(func(v *LogTransformerTransformerConfigParseToOcsf) *string { + if v == nil { + return nil + } + return &v.EventSource + }).(pulumi.StringPtrOutput) +} + +// Specifies the version of the OCSF schema to use for the transformed log events. The only allowed value is `V1.1`. +func (o LogTransformerTransformerConfigParseToOcsfPtrOutput) OcsfVersion() pulumi.StringPtrOutput { + return o.ApplyT(func(v *LogTransformerTransformerConfigParseToOcsf) *string { + if v == nil { + return nil + } + return &v.OcsfVersion + }).(pulumi.StringPtrOutput) +} + +// Specifies the source field to be parsed. The only allowed value is `@message`. If omitted, the whole log message is processed. +func (o LogTransformerTransformerConfigParseToOcsfPtrOutput) Source() pulumi.StringPtrOutput { + return o.ApplyT(func(v *LogTransformerTransformerConfigParseToOcsf) *string { + if v == nil { + return nil + } + return v.Source + }).(pulumi.StringPtrOutput) +} + +type LogTransformerTransformerConfigParseVpc struct { + // Specifies the source field to be parsed. The only allowed value is `@message`. If omitted, the whole log message is processed. + Source *string `pulumi:"source"` +} + +// LogTransformerTransformerConfigParseVpcInput is an input type that accepts LogTransformerTransformerConfigParseVpcArgs and LogTransformerTransformerConfigParseVpcOutput values. +// You can construct a concrete instance of `LogTransformerTransformerConfigParseVpcInput` via: +// +// LogTransformerTransformerConfigParseVpcArgs{...} +type LogTransformerTransformerConfigParseVpcInput interface { + pulumi.Input + + ToLogTransformerTransformerConfigParseVpcOutput() LogTransformerTransformerConfigParseVpcOutput + ToLogTransformerTransformerConfigParseVpcOutputWithContext(context.Context) LogTransformerTransformerConfigParseVpcOutput +} + +type LogTransformerTransformerConfigParseVpcArgs struct { + // Specifies the source field to be parsed. The only allowed value is `@message`. If omitted, the whole log message is processed. + Source pulumi.StringPtrInput `pulumi:"source"` +} + +func (LogTransformerTransformerConfigParseVpcArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LogTransformerTransformerConfigParseVpc)(nil)).Elem() +} + +func (i LogTransformerTransformerConfigParseVpcArgs) ToLogTransformerTransformerConfigParseVpcOutput() LogTransformerTransformerConfigParseVpcOutput { + return i.ToLogTransformerTransformerConfigParseVpcOutputWithContext(context.Background()) +} + +func (i LogTransformerTransformerConfigParseVpcArgs) ToLogTransformerTransformerConfigParseVpcOutputWithContext(ctx context.Context) LogTransformerTransformerConfigParseVpcOutput { + return pulumi.ToOutputWithContext(ctx, i).(LogTransformerTransformerConfigParseVpcOutput) +} + +func (i LogTransformerTransformerConfigParseVpcArgs) ToLogTransformerTransformerConfigParseVpcPtrOutput() LogTransformerTransformerConfigParseVpcPtrOutput { + return i.ToLogTransformerTransformerConfigParseVpcPtrOutputWithContext(context.Background()) +} + +func (i LogTransformerTransformerConfigParseVpcArgs) ToLogTransformerTransformerConfigParseVpcPtrOutputWithContext(ctx context.Context) LogTransformerTransformerConfigParseVpcPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(LogTransformerTransformerConfigParseVpcOutput).ToLogTransformerTransformerConfigParseVpcPtrOutputWithContext(ctx) +} + +// LogTransformerTransformerConfigParseVpcPtrInput is an input type that accepts LogTransformerTransformerConfigParseVpcArgs, LogTransformerTransformerConfigParseVpcPtr and LogTransformerTransformerConfigParseVpcPtrOutput values. +// You can construct a concrete instance of `LogTransformerTransformerConfigParseVpcPtrInput` via: +// +// LogTransformerTransformerConfigParseVpcArgs{...} +// +// or: +// +// nil +type LogTransformerTransformerConfigParseVpcPtrInput interface { + pulumi.Input + + ToLogTransformerTransformerConfigParseVpcPtrOutput() LogTransformerTransformerConfigParseVpcPtrOutput + ToLogTransformerTransformerConfigParseVpcPtrOutputWithContext(context.Context) LogTransformerTransformerConfigParseVpcPtrOutput +} + +type logTransformerTransformerConfigParseVpcPtrType LogTransformerTransformerConfigParseVpcArgs + +func LogTransformerTransformerConfigParseVpcPtr(v *LogTransformerTransformerConfigParseVpcArgs) LogTransformerTransformerConfigParseVpcPtrInput { + return (*logTransformerTransformerConfigParseVpcPtrType)(v) +} + +func (*logTransformerTransformerConfigParseVpcPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**LogTransformerTransformerConfigParseVpc)(nil)).Elem() +} + +func (i *logTransformerTransformerConfigParseVpcPtrType) ToLogTransformerTransformerConfigParseVpcPtrOutput() LogTransformerTransformerConfigParseVpcPtrOutput { + return i.ToLogTransformerTransformerConfigParseVpcPtrOutputWithContext(context.Background()) +} + +func (i *logTransformerTransformerConfigParseVpcPtrType) ToLogTransformerTransformerConfigParseVpcPtrOutputWithContext(ctx context.Context) LogTransformerTransformerConfigParseVpcPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(LogTransformerTransformerConfigParseVpcPtrOutput) +} + +type LogTransformerTransformerConfigParseVpcOutput struct{ *pulumi.OutputState } + +func (LogTransformerTransformerConfigParseVpcOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LogTransformerTransformerConfigParseVpc)(nil)).Elem() +} + +func (o LogTransformerTransformerConfigParseVpcOutput) ToLogTransformerTransformerConfigParseVpcOutput() LogTransformerTransformerConfigParseVpcOutput { + return o +} + +func (o LogTransformerTransformerConfigParseVpcOutput) ToLogTransformerTransformerConfigParseVpcOutputWithContext(ctx context.Context) LogTransformerTransformerConfigParseVpcOutput { + return o +} + +func (o LogTransformerTransformerConfigParseVpcOutput) ToLogTransformerTransformerConfigParseVpcPtrOutput() LogTransformerTransformerConfigParseVpcPtrOutput { + return o.ToLogTransformerTransformerConfigParseVpcPtrOutputWithContext(context.Background()) +} + +func (o LogTransformerTransformerConfigParseVpcOutput) ToLogTransformerTransformerConfigParseVpcPtrOutputWithContext(ctx context.Context) LogTransformerTransformerConfigParseVpcPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v LogTransformerTransformerConfigParseVpc) *LogTransformerTransformerConfigParseVpc { + return &v + }).(LogTransformerTransformerConfigParseVpcPtrOutput) +} + +// Specifies the source field to be parsed. The only allowed value is `@message`. If omitted, the whole log message is processed. +func (o LogTransformerTransformerConfigParseVpcOutput) Source() pulumi.StringPtrOutput { + return o.ApplyT(func(v LogTransformerTransformerConfigParseVpc) *string { return v.Source }).(pulumi.StringPtrOutput) +} + +type LogTransformerTransformerConfigParseVpcPtrOutput struct{ *pulumi.OutputState } + +func (LogTransformerTransformerConfigParseVpcPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**LogTransformerTransformerConfigParseVpc)(nil)).Elem() +} + +func (o LogTransformerTransformerConfigParseVpcPtrOutput) ToLogTransformerTransformerConfigParseVpcPtrOutput() LogTransformerTransformerConfigParseVpcPtrOutput { + return o +} + +func (o LogTransformerTransformerConfigParseVpcPtrOutput) ToLogTransformerTransformerConfigParseVpcPtrOutputWithContext(ctx context.Context) LogTransformerTransformerConfigParseVpcPtrOutput { + return o +} + +func (o LogTransformerTransformerConfigParseVpcPtrOutput) Elem() LogTransformerTransformerConfigParseVpcOutput { + return o.ApplyT(func(v *LogTransformerTransformerConfigParseVpc) LogTransformerTransformerConfigParseVpc { + if v != nil { + return *v + } + var ret LogTransformerTransformerConfigParseVpc + return ret + }).(LogTransformerTransformerConfigParseVpcOutput) +} + +// Specifies the source field to be parsed. The only allowed value is `@message`. If omitted, the whole log message is processed. +func (o LogTransformerTransformerConfigParseVpcPtrOutput) Source() pulumi.StringPtrOutput { + return o.ApplyT(func(v *LogTransformerTransformerConfigParseVpc) *string { + if v == nil { + return nil + } + return v.Source + }).(pulumi.StringPtrOutput) +} + +type LogTransformerTransformerConfigParseWaf struct { + // Specifies the source field to be parsed. The only allowed value is `@message`. If omitted, the whole log message is processed. + Source *string `pulumi:"source"` +} + +// LogTransformerTransformerConfigParseWafInput is an input type that accepts LogTransformerTransformerConfigParseWafArgs and LogTransformerTransformerConfigParseWafOutput values. +// You can construct a concrete instance of `LogTransformerTransformerConfigParseWafInput` via: +// +// LogTransformerTransformerConfigParseWafArgs{...} +type LogTransformerTransformerConfigParseWafInput interface { + pulumi.Input + + ToLogTransformerTransformerConfigParseWafOutput() LogTransformerTransformerConfigParseWafOutput + ToLogTransformerTransformerConfigParseWafOutputWithContext(context.Context) LogTransformerTransformerConfigParseWafOutput +} + +type LogTransformerTransformerConfigParseWafArgs struct { + // Specifies the source field to be parsed. The only allowed value is `@message`. If omitted, the whole log message is processed. + Source pulumi.StringPtrInput `pulumi:"source"` +} + +func (LogTransformerTransformerConfigParseWafArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LogTransformerTransformerConfigParseWaf)(nil)).Elem() +} + +func (i LogTransformerTransformerConfigParseWafArgs) ToLogTransformerTransformerConfigParseWafOutput() LogTransformerTransformerConfigParseWafOutput { + return i.ToLogTransformerTransformerConfigParseWafOutputWithContext(context.Background()) +} + +func (i LogTransformerTransformerConfigParseWafArgs) ToLogTransformerTransformerConfigParseWafOutputWithContext(ctx context.Context) LogTransformerTransformerConfigParseWafOutput { + return pulumi.ToOutputWithContext(ctx, i).(LogTransformerTransformerConfigParseWafOutput) +} + +func (i LogTransformerTransformerConfigParseWafArgs) ToLogTransformerTransformerConfigParseWafPtrOutput() LogTransformerTransformerConfigParseWafPtrOutput { + return i.ToLogTransformerTransformerConfigParseWafPtrOutputWithContext(context.Background()) +} + +func (i LogTransformerTransformerConfigParseWafArgs) ToLogTransformerTransformerConfigParseWafPtrOutputWithContext(ctx context.Context) LogTransformerTransformerConfigParseWafPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(LogTransformerTransformerConfigParseWafOutput).ToLogTransformerTransformerConfigParseWafPtrOutputWithContext(ctx) +} + +// LogTransformerTransformerConfigParseWafPtrInput is an input type that accepts LogTransformerTransformerConfigParseWafArgs, LogTransformerTransformerConfigParseWafPtr and LogTransformerTransformerConfigParseWafPtrOutput values. +// You can construct a concrete instance of `LogTransformerTransformerConfigParseWafPtrInput` via: +// +// LogTransformerTransformerConfigParseWafArgs{...} +// +// or: +// +// nil +type LogTransformerTransformerConfigParseWafPtrInput interface { + pulumi.Input + + ToLogTransformerTransformerConfigParseWafPtrOutput() LogTransformerTransformerConfigParseWafPtrOutput + ToLogTransformerTransformerConfigParseWafPtrOutputWithContext(context.Context) LogTransformerTransformerConfigParseWafPtrOutput +} + +type logTransformerTransformerConfigParseWafPtrType LogTransformerTransformerConfigParseWafArgs + +func LogTransformerTransformerConfigParseWafPtr(v *LogTransformerTransformerConfigParseWafArgs) LogTransformerTransformerConfigParseWafPtrInput { + return (*logTransformerTransformerConfigParseWafPtrType)(v) +} + +func (*logTransformerTransformerConfigParseWafPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**LogTransformerTransformerConfigParseWaf)(nil)).Elem() +} + +func (i *logTransformerTransformerConfigParseWafPtrType) ToLogTransformerTransformerConfigParseWafPtrOutput() LogTransformerTransformerConfigParseWafPtrOutput { + return i.ToLogTransformerTransformerConfigParseWafPtrOutputWithContext(context.Background()) +} + +func (i *logTransformerTransformerConfigParseWafPtrType) ToLogTransformerTransformerConfigParseWafPtrOutputWithContext(ctx context.Context) LogTransformerTransformerConfigParseWafPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(LogTransformerTransformerConfigParseWafPtrOutput) +} + +type LogTransformerTransformerConfigParseWafOutput struct{ *pulumi.OutputState } + +func (LogTransformerTransformerConfigParseWafOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LogTransformerTransformerConfigParseWaf)(nil)).Elem() +} + +func (o LogTransformerTransformerConfigParseWafOutput) ToLogTransformerTransformerConfigParseWafOutput() LogTransformerTransformerConfigParseWafOutput { + return o +} + +func (o LogTransformerTransformerConfigParseWafOutput) ToLogTransformerTransformerConfigParseWafOutputWithContext(ctx context.Context) LogTransformerTransformerConfigParseWafOutput { + return o +} + +func (o LogTransformerTransformerConfigParseWafOutput) ToLogTransformerTransformerConfigParseWafPtrOutput() LogTransformerTransformerConfigParseWafPtrOutput { + return o.ToLogTransformerTransformerConfigParseWafPtrOutputWithContext(context.Background()) +} + +func (o LogTransformerTransformerConfigParseWafOutput) ToLogTransformerTransformerConfigParseWafPtrOutputWithContext(ctx context.Context) LogTransformerTransformerConfigParseWafPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v LogTransformerTransformerConfigParseWaf) *LogTransformerTransformerConfigParseWaf { + return &v + }).(LogTransformerTransformerConfigParseWafPtrOutput) +} + +// Specifies the source field to be parsed. The only allowed value is `@message`. If omitted, the whole log message is processed. +func (o LogTransformerTransformerConfigParseWafOutput) Source() pulumi.StringPtrOutput { + return o.ApplyT(func(v LogTransformerTransformerConfigParseWaf) *string { return v.Source }).(pulumi.StringPtrOutput) +} + +type LogTransformerTransformerConfigParseWafPtrOutput struct{ *pulumi.OutputState } + +func (LogTransformerTransformerConfigParseWafPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**LogTransformerTransformerConfigParseWaf)(nil)).Elem() +} + +func (o LogTransformerTransformerConfigParseWafPtrOutput) ToLogTransformerTransformerConfigParseWafPtrOutput() LogTransformerTransformerConfigParseWafPtrOutput { + return o +} + +func (o LogTransformerTransformerConfigParseWafPtrOutput) ToLogTransformerTransformerConfigParseWafPtrOutputWithContext(ctx context.Context) LogTransformerTransformerConfigParseWafPtrOutput { + return o +} + +func (o LogTransformerTransformerConfigParseWafPtrOutput) Elem() LogTransformerTransformerConfigParseWafOutput { + return o.ApplyT(func(v *LogTransformerTransformerConfigParseWaf) LogTransformerTransformerConfigParseWaf { + if v != nil { + return *v + } + var ret LogTransformerTransformerConfigParseWaf + return ret + }).(LogTransformerTransformerConfigParseWafOutput) +} + +// Specifies the source field to be parsed. The only allowed value is `@message`. If omitted, the whole log message is processed. +func (o LogTransformerTransformerConfigParseWafPtrOutput) Source() pulumi.StringPtrOutput { + return o.ApplyT(func(v *LogTransformerTransformerConfigParseWaf) *string { + if v == nil { + return nil + } + return v.Source + }).(pulumi.StringPtrOutput) +} + +type LogTransformerTransformerConfigRenameKey struct { + // Objects containing the information about the keys to rename. You must include at least one entry, and five at most. See `renameKeys` `entry` below for details. + Entries []LogTransformerTransformerConfigRenameKeyEntry `pulumi:"entries"` +} + +// LogTransformerTransformerConfigRenameKeyInput is an input type that accepts LogTransformerTransformerConfigRenameKeyArgs and LogTransformerTransformerConfigRenameKeyOutput values. +// You can construct a concrete instance of `LogTransformerTransformerConfigRenameKeyInput` via: +// +// LogTransformerTransformerConfigRenameKeyArgs{...} +type LogTransformerTransformerConfigRenameKeyInput interface { + pulumi.Input + + ToLogTransformerTransformerConfigRenameKeyOutput() LogTransformerTransformerConfigRenameKeyOutput + ToLogTransformerTransformerConfigRenameKeyOutputWithContext(context.Context) LogTransformerTransformerConfigRenameKeyOutput +} + +type LogTransformerTransformerConfigRenameKeyArgs struct { + // Objects containing the information about the keys to rename. You must include at least one entry, and five at most. See `renameKeys` `entry` below for details. + Entries LogTransformerTransformerConfigRenameKeyEntryArrayInput `pulumi:"entries"` +} + +func (LogTransformerTransformerConfigRenameKeyArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LogTransformerTransformerConfigRenameKey)(nil)).Elem() +} + +func (i LogTransformerTransformerConfigRenameKeyArgs) ToLogTransformerTransformerConfigRenameKeyOutput() LogTransformerTransformerConfigRenameKeyOutput { + return i.ToLogTransformerTransformerConfigRenameKeyOutputWithContext(context.Background()) +} + +func (i LogTransformerTransformerConfigRenameKeyArgs) ToLogTransformerTransformerConfigRenameKeyOutputWithContext(ctx context.Context) LogTransformerTransformerConfigRenameKeyOutput { + return pulumi.ToOutputWithContext(ctx, i).(LogTransformerTransformerConfigRenameKeyOutput) +} + +// LogTransformerTransformerConfigRenameKeyArrayInput is an input type that accepts LogTransformerTransformerConfigRenameKeyArray and LogTransformerTransformerConfigRenameKeyArrayOutput values. +// You can construct a concrete instance of `LogTransformerTransformerConfigRenameKeyArrayInput` via: +// +// LogTransformerTransformerConfigRenameKeyArray{ LogTransformerTransformerConfigRenameKeyArgs{...} } +type LogTransformerTransformerConfigRenameKeyArrayInput interface { + pulumi.Input + + ToLogTransformerTransformerConfigRenameKeyArrayOutput() LogTransformerTransformerConfigRenameKeyArrayOutput + ToLogTransformerTransformerConfigRenameKeyArrayOutputWithContext(context.Context) LogTransformerTransformerConfigRenameKeyArrayOutput +} + +type LogTransformerTransformerConfigRenameKeyArray []LogTransformerTransformerConfigRenameKeyInput + +func (LogTransformerTransformerConfigRenameKeyArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]LogTransformerTransformerConfigRenameKey)(nil)).Elem() +} + +func (i LogTransformerTransformerConfigRenameKeyArray) ToLogTransformerTransformerConfigRenameKeyArrayOutput() LogTransformerTransformerConfigRenameKeyArrayOutput { + return i.ToLogTransformerTransformerConfigRenameKeyArrayOutputWithContext(context.Background()) +} + +func (i LogTransformerTransformerConfigRenameKeyArray) ToLogTransformerTransformerConfigRenameKeyArrayOutputWithContext(ctx context.Context) LogTransformerTransformerConfigRenameKeyArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(LogTransformerTransformerConfigRenameKeyArrayOutput) +} + +type LogTransformerTransformerConfigRenameKeyOutput struct{ *pulumi.OutputState } + +func (LogTransformerTransformerConfigRenameKeyOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LogTransformerTransformerConfigRenameKey)(nil)).Elem() +} + +func (o LogTransformerTransformerConfigRenameKeyOutput) ToLogTransformerTransformerConfigRenameKeyOutput() LogTransformerTransformerConfigRenameKeyOutput { + return o +} + +func (o LogTransformerTransformerConfigRenameKeyOutput) ToLogTransformerTransformerConfigRenameKeyOutputWithContext(ctx context.Context) LogTransformerTransformerConfigRenameKeyOutput { + return o +} + +// Objects containing the information about the keys to rename. You must include at least one entry, and five at most. See `renameKeys` `entry` below for details. +func (o LogTransformerTransformerConfigRenameKeyOutput) Entries() LogTransformerTransformerConfigRenameKeyEntryArrayOutput { + return o.ApplyT(func(v LogTransformerTransformerConfigRenameKey) []LogTransformerTransformerConfigRenameKeyEntry { + return v.Entries + }).(LogTransformerTransformerConfigRenameKeyEntryArrayOutput) +} + +type LogTransformerTransformerConfigRenameKeyArrayOutput struct{ *pulumi.OutputState } + +func (LogTransformerTransformerConfigRenameKeyArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]LogTransformerTransformerConfigRenameKey)(nil)).Elem() +} + +func (o LogTransformerTransformerConfigRenameKeyArrayOutput) ToLogTransformerTransformerConfigRenameKeyArrayOutput() LogTransformerTransformerConfigRenameKeyArrayOutput { + return o +} + +func (o LogTransformerTransformerConfigRenameKeyArrayOutput) ToLogTransformerTransformerConfigRenameKeyArrayOutputWithContext(ctx context.Context) LogTransformerTransformerConfigRenameKeyArrayOutput { + return o +} + +func (o LogTransformerTransformerConfigRenameKeyArrayOutput) Index(i pulumi.IntInput) LogTransformerTransformerConfigRenameKeyOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) LogTransformerTransformerConfigRenameKey { + return vs[0].([]LogTransformerTransformerConfigRenameKey)[vs[1].(int)] + }).(LogTransformerTransformerConfigRenameKeyOutput) +} + +type LogTransformerTransformerConfigRenameKeyEntry struct { + // Specifies the key with the value that will be converted to a different type. + Key string `pulumi:"key"` + // Specifies whether to overwrite the value if the destination key already exists. Defaults to `false`. + // * `renameTo` - (Required) Specifies the new name of the key. + OverwriteIfExists *bool `pulumi:"overwriteIfExists"` + RenameTo string `pulumi:"renameTo"` +} + +// LogTransformerTransformerConfigRenameKeyEntryInput is an input type that accepts LogTransformerTransformerConfigRenameKeyEntryArgs and LogTransformerTransformerConfigRenameKeyEntryOutput values. +// You can construct a concrete instance of `LogTransformerTransformerConfigRenameKeyEntryInput` via: +// +// LogTransformerTransformerConfigRenameKeyEntryArgs{...} +type LogTransformerTransformerConfigRenameKeyEntryInput interface { + pulumi.Input + + ToLogTransformerTransformerConfigRenameKeyEntryOutput() LogTransformerTransformerConfigRenameKeyEntryOutput + ToLogTransformerTransformerConfigRenameKeyEntryOutputWithContext(context.Context) LogTransformerTransformerConfigRenameKeyEntryOutput +} + +type LogTransformerTransformerConfigRenameKeyEntryArgs struct { + // Specifies the key with the value that will be converted to a different type. + Key pulumi.StringInput `pulumi:"key"` + // Specifies whether to overwrite the value if the destination key already exists. Defaults to `false`. + // * `renameTo` - (Required) Specifies the new name of the key. + OverwriteIfExists pulumi.BoolPtrInput `pulumi:"overwriteIfExists"` + RenameTo pulumi.StringInput `pulumi:"renameTo"` +} + +func (LogTransformerTransformerConfigRenameKeyEntryArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LogTransformerTransformerConfigRenameKeyEntry)(nil)).Elem() +} + +func (i LogTransformerTransformerConfigRenameKeyEntryArgs) ToLogTransformerTransformerConfigRenameKeyEntryOutput() LogTransformerTransformerConfigRenameKeyEntryOutput { + return i.ToLogTransformerTransformerConfigRenameKeyEntryOutputWithContext(context.Background()) +} + +func (i LogTransformerTransformerConfigRenameKeyEntryArgs) ToLogTransformerTransformerConfigRenameKeyEntryOutputWithContext(ctx context.Context) LogTransformerTransformerConfigRenameKeyEntryOutput { + return pulumi.ToOutputWithContext(ctx, i).(LogTransformerTransformerConfigRenameKeyEntryOutput) +} + +// LogTransformerTransformerConfigRenameKeyEntryArrayInput is an input type that accepts LogTransformerTransformerConfigRenameKeyEntryArray and LogTransformerTransformerConfigRenameKeyEntryArrayOutput values. +// You can construct a concrete instance of `LogTransformerTransformerConfigRenameKeyEntryArrayInput` via: +// +// LogTransformerTransformerConfigRenameKeyEntryArray{ LogTransformerTransformerConfigRenameKeyEntryArgs{...} } +type LogTransformerTransformerConfigRenameKeyEntryArrayInput interface { + pulumi.Input + + ToLogTransformerTransformerConfigRenameKeyEntryArrayOutput() LogTransformerTransformerConfigRenameKeyEntryArrayOutput + ToLogTransformerTransformerConfigRenameKeyEntryArrayOutputWithContext(context.Context) LogTransformerTransformerConfigRenameKeyEntryArrayOutput +} + +type LogTransformerTransformerConfigRenameKeyEntryArray []LogTransformerTransformerConfigRenameKeyEntryInput + +func (LogTransformerTransformerConfigRenameKeyEntryArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]LogTransformerTransformerConfigRenameKeyEntry)(nil)).Elem() +} + +func (i LogTransformerTransformerConfigRenameKeyEntryArray) ToLogTransformerTransformerConfigRenameKeyEntryArrayOutput() LogTransformerTransformerConfigRenameKeyEntryArrayOutput { + return i.ToLogTransformerTransformerConfigRenameKeyEntryArrayOutputWithContext(context.Background()) +} + +func (i LogTransformerTransformerConfigRenameKeyEntryArray) ToLogTransformerTransformerConfigRenameKeyEntryArrayOutputWithContext(ctx context.Context) LogTransformerTransformerConfigRenameKeyEntryArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(LogTransformerTransformerConfigRenameKeyEntryArrayOutput) +} + +type LogTransformerTransformerConfigRenameKeyEntryOutput struct{ *pulumi.OutputState } + +func (LogTransformerTransformerConfigRenameKeyEntryOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LogTransformerTransformerConfigRenameKeyEntry)(nil)).Elem() +} + +func (o LogTransformerTransformerConfigRenameKeyEntryOutput) ToLogTransformerTransformerConfigRenameKeyEntryOutput() LogTransformerTransformerConfigRenameKeyEntryOutput { + return o +} + +func (o LogTransformerTransformerConfigRenameKeyEntryOutput) ToLogTransformerTransformerConfigRenameKeyEntryOutputWithContext(ctx context.Context) LogTransformerTransformerConfigRenameKeyEntryOutput { + return o +} + +// Specifies the key with the value that will be converted to a different type. +func (o LogTransformerTransformerConfigRenameKeyEntryOutput) Key() pulumi.StringOutput { + return o.ApplyT(func(v LogTransformerTransformerConfigRenameKeyEntry) string { return v.Key }).(pulumi.StringOutput) +} + +// Specifies whether to overwrite the value if the destination key already exists. Defaults to `false`. +// * `renameTo` - (Required) Specifies the new name of the key. +func (o LogTransformerTransformerConfigRenameKeyEntryOutput) OverwriteIfExists() pulumi.BoolPtrOutput { + return o.ApplyT(func(v LogTransformerTransformerConfigRenameKeyEntry) *bool { return v.OverwriteIfExists }).(pulumi.BoolPtrOutput) +} + +func (o LogTransformerTransformerConfigRenameKeyEntryOutput) RenameTo() pulumi.StringOutput { + return o.ApplyT(func(v LogTransformerTransformerConfigRenameKeyEntry) string { return v.RenameTo }).(pulumi.StringOutput) +} + +type LogTransformerTransformerConfigRenameKeyEntryArrayOutput struct{ *pulumi.OutputState } + +func (LogTransformerTransformerConfigRenameKeyEntryArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]LogTransformerTransformerConfigRenameKeyEntry)(nil)).Elem() +} + +func (o LogTransformerTransformerConfigRenameKeyEntryArrayOutput) ToLogTransformerTransformerConfigRenameKeyEntryArrayOutput() LogTransformerTransformerConfigRenameKeyEntryArrayOutput { + return o +} + +func (o LogTransformerTransformerConfigRenameKeyEntryArrayOutput) ToLogTransformerTransformerConfigRenameKeyEntryArrayOutputWithContext(ctx context.Context) LogTransformerTransformerConfigRenameKeyEntryArrayOutput { + return o +} + +func (o LogTransformerTransformerConfigRenameKeyEntryArrayOutput) Index(i pulumi.IntInput) LogTransformerTransformerConfigRenameKeyEntryOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) LogTransformerTransformerConfigRenameKeyEntry { + return vs[0].([]LogTransformerTransformerConfigRenameKeyEntry)[vs[1].(int)] + }).(LogTransformerTransformerConfigRenameKeyEntryOutput) +} + +type LogTransformerTransformerConfigSplitString struct { + // Objects containing the information about the fields to split. You must include at least one entry, and ten at most. See `splitString` `entry` below for details. + Entries []LogTransformerTransformerConfigSplitStringEntry `pulumi:"entries"` +} + +// LogTransformerTransformerConfigSplitStringInput is an input type that accepts LogTransformerTransformerConfigSplitStringArgs and LogTransformerTransformerConfigSplitStringOutput values. +// You can construct a concrete instance of `LogTransformerTransformerConfigSplitStringInput` via: +// +// LogTransformerTransformerConfigSplitStringArgs{...} +type LogTransformerTransformerConfigSplitStringInput interface { + pulumi.Input + + ToLogTransformerTransformerConfigSplitStringOutput() LogTransformerTransformerConfigSplitStringOutput + ToLogTransformerTransformerConfigSplitStringOutputWithContext(context.Context) LogTransformerTransformerConfigSplitStringOutput +} + +type LogTransformerTransformerConfigSplitStringArgs struct { + // Objects containing the information about the fields to split. You must include at least one entry, and ten at most. See `splitString` `entry` below for details. + Entries LogTransformerTransformerConfigSplitStringEntryArrayInput `pulumi:"entries"` +} + +func (LogTransformerTransformerConfigSplitStringArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LogTransformerTransformerConfigSplitString)(nil)).Elem() +} + +func (i LogTransformerTransformerConfigSplitStringArgs) ToLogTransformerTransformerConfigSplitStringOutput() LogTransformerTransformerConfigSplitStringOutput { + return i.ToLogTransformerTransformerConfigSplitStringOutputWithContext(context.Background()) +} + +func (i LogTransformerTransformerConfigSplitStringArgs) ToLogTransformerTransformerConfigSplitStringOutputWithContext(ctx context.Context) LogTransformerTransformerConfigSplitStringOutput { + return pulumi.ToOutputWithContext(ctx, i).(LogTransformerTransformerConfigSplitStringOutput) +} + +// LogTransformerTransformerConfigSplitStringArrayInput is an input type that accepts LogTransformerTransformerConfigSplitStringArray and LogTransformerTransformerConfigSplitStringArrayOutput values. +// You can construct a concrete instance of `LogTransformerTransformerConfigSplitStringArrayInput` via: +// +// LogTransformerTransformerConfigSplitStringArray{ LogTransformerTransformerConfigSplitStringArgs{...} } +type LogTransformerTransformerConfigSplitStringArrayInput interface { + pulumi.Input + + ToLogTransformerTransformerConfigSplitStringArrayOutput() LogTransformerTransformerConfigSplitStringArrayOutput + ToLogTransformerTransformerConfigSplitStringArrayOutputWithContext(context.Context) LogTransformerTransformerConfigSplitStringArrayOutput +} + +type LogTransformerTransformerConfigSplitStringArray []LogTransformerTransformerConfigSplitStringInput + +func (LogTransformerTransformerConfigSplitStringArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]LogTransformerTransformerConfigSplitString)(nil)).Elem() +} + +func (i LogTransformerTransformerConfigSplitStringArray) ToLogTransformerTransformerConfigSplitStringArrayOutput() LogTransformerTransformerConfigSplitStringArrayOutput { + return i.ToLogTransformerTransformerConfigSplitStringArrayOutputWithContext(context.Background()) +} + +func (i LogTransformerTransformerConfigSplitStringArray) ToLogTransformerTransformerConfigSplitStringArrayOutputWithContext(ctx context.Context) LogTransformerTransformerConfigSplitStringArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(LogTransformerTransformerConfigSplitStringArrayOutput) +} + +type LogTransformerTransformerConfigSplitStringOutput struct{ *pulumi.OutputState } + +func (LogTransformerTransformerConfigSplitStringOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LogTransformerTransformerConfigSplitString)(nil)).Elem() +} + +func (o LogTransformerTransformerConfigSplitStringOutput) ToLogTransformerTransformerConfigSplitStringOutput() LogTransformerTransformerConfigSplitStringOutput { + return o +} + +func (o LogTransformerTransformerConfigSplitStringOutput) ToLogTransformerTransformerConfigSplitStringOutputWithContext(ctx context.Context) LogTransformerTransformerConfigSplitStringOutput { + return o +} + +// Objects containing the information about the fields to split. You must include at least one entry, and ten at most. See `splitString` `entry` below for details. +func (o LogTransformerTransformerConfigSplitStringOutput) Entries() LogTransformerTransformerConfigSplitStringEntryArrayOutput { + return o.ApplyT(func(v LogTransformerTransformerConfigSplitString) []LogTransformerTransformerConfigSplitStringEntry { + return v.Entries + }).(LogTransformerTransformerConfigSplitStringEntryArrayOutput) +} + +type LogTransformerTransformerConfigSplitStringArrayOutput struct{ *pulumi.OutputState } + +func (LogTransformerTransformerConfigSplitStringArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]LogTransformerTransformerConfigSplitString)(nil)).Elem() +} + +func (o LogTransformerTransformerConfigSplitStringArrayOutput) ToLogTransformerTransformerConfigSplitStringArrayOutput() LogTransformerTransformerConfigSplitStringArrayOutput { + return o +} + +func (o LogTransformerTransformerConfigSplitStringArrayOutput) ToLogTransformerTransformerConfigSplitStringArrayOutputWithContext(ctx context.Context) LogTransformerTransformerConfigSplitStringArrayOutput { + return o +} + +func (o LogTransformerTransformerConfigSplitStringArrayOutput) Index(i pulumi.IntInput) LogTransformerTransformerConfigSplitStringOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) LogTransformerTransformerConfigSplitString { + return vs[0].([]LogTransformerTransformerConfigSplitString)[vs[1].(int)] + }).(LogTransformerTransformerConfigSplitStringOutput) +} + +type LogTransformerTransformerConfigSplitStringEntry struct { + // Specifies the separator characters to split the string entry on. + Delimiter string `pulumi:"delimiter"` + // Specifies the key to modify. + Source string `pulumi:"source"` +} + +// LogTransformerTransformerConfigSplitStringEntryInput is an input type that accepts LogTransformerTransformerConfigSplitStringEntryArgs and LogTransformerTransformerConfigSplitStringEntryOutput values. +// You can construct a concrete instance of `LogTransformerTransformerConfigSplitStringEntryInput` via: +// +// LogTransformerTransformerConfigSplitStringEntryArgs{...} +type LogTransformerTransformerConfigSplitStringEntryInput interface { + pulumi.Input + + ToLogTransformerTransformerConfigSplitStringEntryOutput() LogTransformerTransformerConfigSplitStringEntryOutput + ToLogTransformerTransformerConfigSplitStringEntryOutputWithContext(context.Context) LogTransformerTransformerConfigSplitStringEntryOutput +} + +type LogTransformerTransformerConfigSplitStringEntryArgs struct { + // Specifies the separator characters to split the string entry on. + Delimiter pulumi.StringInput `pulumi:"delimiter"` + // Specifies the key to modify. + Source pulumi.StringInput `pulumi:"source"` +} + +func (LogTransformerTransformerConfigSplitStringEntryArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LogTransformerTransformerConfigSplitStringEntry)(nil)).Elem() +} + +func (i LogTransformerTransformerConfigSplitStringEntryArgs) ToLogTransformerTransformerConfigSplitStringEntryOutput() LogTransformerTransformerConfigSplitStringEntryOutput { + return i.ToLogTransformerTransformerConfigSplitStringEntryOutputWithContext(context.Background()) +} + +func (i LogTransformerTransformerConfigSplitStringEntryArgs) ToLogTransformerTransformerConfigSplitStringEntryOutputWithContext(ctx context.Context) LogTransformerTransformerConfigSplitStringEntryOutput { + return pulumi.ToOutputWithContext(ctx, i).(LogTransformerTransformerConfigSplitStringEntryOutput) +} + +// LogTransformerTransformerConfigSplitStringEntryArrayInput is an input type that accepts LogTransformerTransformerConfigSplitStringEntryArray and LogTransformerTransformerConfigSplitStringEntryArrayOutput values. +// You can construct a concrete instance of `LogTransformerTransformerConfigSplitStringEntryArrayInput` via: +// +// LogTransformerTransformerConfigSplitStringEntryArray{ LogTransformerTransformerConfigSplitStringEntryArgs{...} } +type LogTransformerTransformerConfigSplitStringEntryArrayInput interface { + pulumi.Input + + ToLogTransformerTransformerConfigSplitStringEntryArrayOutput() LogTransformerTransformerConfigSplitStringEntryArrayOutput + ToLogTransformerTransformerConfigSplitStringEntryArrayOutputWithContext(context.Context) LogTransformerTransformerConfigSplitStringEntryArrayOutput +} + +type LogTransformerTransformerConfigSplitStringEntryArray []LogTransformerTransformerConfigSplitStringEntryInput + +func (LogTransformerTransformerConfigSplitStringEntryArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]LogTransformerTransformerConfigSplitStringEntry)(nil)).Elem() +} + +func (i LogTransformerTransformerConfigSplitStringEntryArray) ToLogTransformerTransformerConfigSplitStringEntryArrayOutput() LogTransformerTransformerConfigSplitStringEntryArrayOutput { + return i.ToLogTransformerTransformerConfigSplitStringEntryArrayOutputWithContext(context.Background()) +} + +func (i LogTransformerTransformerConfigSplitStringEntryArray) ToLogTransformerTransformerConfigSplitStringEntryArrayOutputWithContext(ctx context.Context) LogTransformerTransformerConfigSplitStringEntryArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(LogTransformerTransformerConfigSplitStringEntryArrayOutput) +} + +type LogTransformerTransformerConfigSplitStringEntryOutput struct{ *pulumi.OutputState } + +func (LogTransformerTransformerConfigSplitStringEntryOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LogTransformerTransformerConfigSplitStringEntry)(nil)).Elem() +} + +func (o LogTransformerTransformerConfigSplitStringEntryOutput) ToLogTransformerTransformerConfigSplitStringEntryOutput() LogTransformerTransformerConfigSplitStringEntryOutput { + return o +} + +func (o LogTransformerTransformerConfigSplitStringEntryOutput) ToLogTransformerTransformerConfigSplitStringEntryOutputWithContext(ctx context.Context) LogTransformerTransformerConfigSplitStringEntryOutput { + return o +} + +// Specifies the separator characters to split the string entry on. +func (o LogTransformerTransformerConfigSplitStringEntryOutput) Delimiter() pulumi.StringOutput { + return o.ApplyT(func(v LogTransformerTransformerConfigSplitStringEntry) string { return v.Delimiter }).(pulumi.StringOutput) +} + +// Specifies the key to modify. +func (o LogTransformerTransformerConfigSplitStringEntryOutput) Source() pulumi.StringOutput { + return o.ApplyT(func(v LogTransformerTransformerConfigSplitStringEntry) string { return v.Source }).(pulumi.StringOutput) +} + +type LogTransformerTransformerConfigSplitStringEntryArrayOutput struct{ *pulumi.OutputState } + +func (LogTransformerTransformerConfigSplitStringEntryArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]LogTransformerTransformerConfigSplitStringEntry)(nil)).Elem() +} + +func (o LogTransformerTransformerConfigSplitStringEntryArrayOutput) ToLogTransformerTransformerConfigSplitStringEntryArrayOutput() LogTransformerTransformerConfigSplitStringEntryArrayOutput { + return o +} + +func (o LogTransformerTransformerConfigSplitStringEntryArrayOutput) ToLogTransformerTransformerConfigSplitStringEntryArrayOutputWithContext(ctx context.Context) LogTransformerTransformerConfigSplitStringEntryArrayOutput { + return o +} + +func (o LogTransformerTransformerConfigSplitStringEntryArrayOutput) Index(i pulumi.IntInput) LogTransformerTransformerConfigSplitStringEntryOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) LogTransformerTransformerConfigSplitStringEntry { + return vs[0].([]LogTransformerTransformerConfigSplitStringEntry)[vs[1].(int)] + }).(LogTransformerTransformerConfigSplitStringEntryOutput) +} + +type LogTransformerTransformerConfigSubstituteString struct { + // Objects containing the information about the fields to substitute. You must include at least one entry, and ten at most. See `substituteString` `entry` below for details. + Entries []LogTransformerTransformerConfigSubstituteStringEntry `pulumi:"entries"` +} + +// LogTransformerTransformerConfigSubstituteStringInput is an input type that accepts LogTransformerTransformerConfigSubstituteStringArgs and LogTransformerTransformerConfigSubstituteStringOutput values. +// You can construct a concrete instance of `LogTransformerTransformerConfigSubstituteStringInput` via: +// +// LogTransformerTransformerConfigSubstituteStringArgs{...} +type LogTransformerTransformerConfigSubstituteStringInput interface { + pulumi.Input + + ToLogTransformerTransformerConfigSubstituteStringOutput() LogTransformerTransformerConfigSubstituteStringOutput + ToLogTransformerTransformerConfigSubstituteStringOutputWithContext(context.Context) LogTransformerTransformerConfigSubstituteStringOutput +} + +type LogTransformerTransformerConfigSubstituteStringArgs struct { + // Objects containing the information about the fields to substitute. You must include at least one entry, and ten at most. See `substituteString` `entry` below for details. + Entries LogTransformerTransformerConfigSubstituteStringEntryArrayInput `pulumi:"entries"` +} + +func (LogTransformerTransformerConfigSubstituteStringArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LogTransformerTransformerConfigSubstituteString)(nil)).Elem() +} + +func (i LogTransformerTransformerConfigSubstituteStringArgs) ToLogTransformerTransformerConfigSubstituteStringOutput() LogTransformerTransformerConfigSubstituteStringOutput { + return i.ToLogTransformerTransformerConfigSubstituteStringOutputWithContext(context.Background()) +} + +func (i LogTransformerTransformerConfigSubstituteStringArgs) ToLogTransformerTransformerConfigSubstituteStringOutputWithContext(ctx context.Context) LogTransformerTransformerConfigSubstituteStringOutput { + return pulumi.ToOutputWithContext(ctx, i).(LogTransformerTransformerConfigSubstituteStringOutput) +} + +// LogTransformerTransformerConfigSubstituteStringArrayInput is an input type that accepts LogTransformerTransformerConfigSubstituteStringArray and LogTransformerTransformerConfigSubstituteStringArrayOutput values. +// You can construct a concrete instance of `LogTransformerTransformerConfigSubstituteStringArrayInput` via: +// +// LogTransformerTransformerConfigSubstituteStringArray{ LogTransformerTransformerConfigSubstituteStringArgs{...} } +type LogTransformerTransformerConfigSubstituteStringArrayInput interface { + pulumi.Input + + ToLogTransformerTransformerConfigSubstituteStringArrayOutput() LogTransformerTransformerConfigSubstituteStringArrayOutput + ToLogTransformerTransformerConfigSubstituteStringArrayOutputWithContext(context.Context) LogTransformerTransformerConfigSubstituteStringArrayOutput +} + +type LogTransformerTransformerConfigSubstituteStringArray []LogTransformerTransformerConfigSubstituteStringInput + +func (LogTransformerTransformerConfigSubstituteStringArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]LogTransformerTransformerConfigSubstituteString)(nil)).Elem() +} + +func (i LogTransformerTransformerConfigSubstituteStringArray) ToLogTransformerTransformerConfigSubstituteStringArrayOutput() LogTransformerTransformerConfigSubstituteStringArrayOutput { + return i.ToLogTransformerTransformerConfigSubstituteStringArrayOutputWithContext(context.Background()) +} + +func (i LogTransformerTransformerConfigSubstituteStringArray) ToLogTransformerTransformerConfigSubstituteStringArrayOutputWithContext(ctx context.Context) LogTransformerTransformerConfigSubstituteStringArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(LogTransformerTransformerConfigSubstituteStringArrayOutput) +} + +type LogTransformerTransformerConfigSubstituteStringOutput struct{ *pulumi.OutputState } + +func (LogTransformerTransformerConfigSubstituteStringOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LogTransformerTransformerConfigSubstituteString)(nil)).Elem() +} + +func (o LogTransformerTransformerConfigSubstituteStringOutput) ToLogTransformerTransformerConfigSubstituteStringOutput() LogTransformerTransformerConfigSubstituteStringOutput { + return o +} + +func (o LogTransformerTransformerConfigSubstituteStringOutput) ToLogTransformerTransformerConfigSubstituteStringOutputWithContext(ctx context.Context) LogTransformerTransformerConfigSubstituteStringOutput { + return o +} + +// Objects containing the information about the fields to substitute. You must include at least one entry, and ten at most. See `substituteString` `entry` below for details. +func (o LogTransformerTransformerConfigSubstituteStringOutput) Entries() LogTransformerTransformerConfigSubstituteStringEntryArrayOutput { + return o.ApplyT(func(v LogTransformerTransformerConfigSubstituteString) []LogTransformerTransformerConfigSubstituteStringEntry { + return v.Entries + }).(LogTransformerTransformerConfigSubstituteStringEntryArrayOutput) +} + +type LogTransformerTransformerConfigSubstituteStringArrayOutput struct{ *pulumi.OutputState } + +func (LogTransformerTransformerConfigSubstituteStringArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]LogTransformerTransformerConfigSubstituteString)(nil)).Elem() +} + +func (o LogTransformerTransformerConfigSubstituteStringArrayOutput) ToLogTransformerTransformerConfigSubstituteStringArrayOutput() LogTransformerTransformerConfigSubstituteStringArrayOutput { + return o +} + +func (o LogTransformerTransformerConfigSubstituteStringArrayOutput) ToLogTransformerTransformerConfigSubstituteStringArrayOutputWithContext(ctx context.Context) LogTransformerTransformerConfigSubstituteStringArrayOutput { + return o +} + +func (o LogTransformerTransformerConfigSubstituteStringArrayOutput) Index(i pulumi.IntInput) LogTransformerTransformerConfigSubstituteStringOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) LogTransformerTransformerConfigSubstituteString { + return vs[0].([]LogTransformerTransformerConfigSubstituteString)[vs[1].(int)] + }).(LogTransformerTransformerConfigSubstituteStringOutput) +} + +type LogTransformerTransformerConfigSubstituteStringEntry struct { + // Specifies the regular expression string to be replaced. + From string `pulumi:"from"` + // Specifies the key to modify. + Source string `pulumi:"source"` + // Specifies the string to be substituted for each match of `from`. + To string `pulumi:"to"` +} + +// LogTransformerTransformerConfigSubstituteStringEntryInput is an input type that accepts LogTransformerTransformerConfigSubstituteStringEntryArgs and LogTransformerTransformerConfigSubstituteStringEntryOutput values. +// You can construct a concrete instance of `LogTransformerTransformerConfigSubstituteStringEntryInput` via: +// +// LogTransformerTransformerConfigSubstituteStringEntryArgs{...} +type LogTransformerTransformerConfigSubstituteStringEntryInput interface { + pulumi.Input + + ToLogTransformerTransformerConfigSubstituteStringEntryOutput() LogTransformerTransformerConfigSubstituteStringEntryOutput + ToLogTransformerTransformerConfigSubstituteStringEntryOutputWithContext(context.Context) LogTransformerTransformerConfigSubstituteStringEntryOutput +} + +type LogTransformerTransformerConfigSubstituteStringEntryArgs struct { + // Specifies the regular expression string to be replaced. + From pulumi.StringInput `pulumi:"from"` + // Specifies the key to modify. + Source pulumi.StringInput `pulumi:"source"` + // Specifies the string to be substituted for each match of `from`. + To pulumi.StringInput `pulumi:"to"` +} + +func (LogTransformerTransformerConfigSubstituteStringEntryArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LogTransformerTransformerConfigSubstituteStringEntry)(nil)).Elem() +} + +func (i LogTransformerTransformerConfigSubstituteStringEntryArgs) ToLogTransformerTransformerConfigSubstituteStringEntryOutput() LogTransformerTransformerConfigSubstituteStringEntryOutput { + return i.ToLogTransformerTransformerConfigSubstituteStringEntryOutputWithContext(context.Background()) +} + +func (i LogTransformerTransformerConfigSubstituteStringEntryArgs) ToLogTransformerTransformerConfigSubstituteStringEntryOutputWithContext(ctx context.Context) LogTransformerTransformerConfigSubstituteStringEntryOutput { + return pulumi.ToOutputWithContext(ctx, i).(LogTransformerTransformerConfigSubstituteStringEntryOutput) +} + +// LogTransformerTransformerConfigSubstituteStringEntryArrayInput is an input type that accepts LogTransformerTransformerConfigSubstituteStringEntryArray and LogTransformerTransformerConfigSubstituteStringEntryArrayOutput values. +// You can construct a concrete instance of `LogTransformerTransformerConfigSubstituteStringEntryArrayInput` via: +// +// LogTransformerTransformerConfigSubstituteStringEntryArray{ LogTransformerTransformerConfigSubstituteStringEntryArgs{...} } +type LogTransformerTransformerConfigSubstituteStringEntryArrayInput interface { + pulumi.Input + + ToLogTransformerTransformerConfigSubstituteStringEntryArrayOutput() LogTransformerTransformerConfigSubstituteStringEntryArrayOutput + ToLogTransformerTransformerConfigSubstituteStringEntryArrayOutputWithContext(context.Context) LogTransformerTransformerConfigSubstituteStringEntryArrayOutput +} + +type LogTransformerTransformerConfigSubstituteStringEntryArray []LogTransformerTransformerConfigSubstituteStringEntryInput + +func (LogTransformerTransformerConfigSubstituteStringEntryArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]LogTransformerTransformerConfigSubstituteStringEntry)(nil)).Elem() +} + +func (i LogTransformerTransformerConfigSubstituteStringEntryArray) ToLogTransformerTransformerConfigSubstituteStringEntryArrayOutput() LogTransformerTransformerConfigSubstituteStringEntryArrayOutput { + return i.ToLogTransformerTransformerConfigSubstituteStringEntryArrayOutputWithContext(context.Background()) +} + +func (i LogTransformerTransformerConfigSubstituteStringEntryArray) ToLogTransformerTransformerConfigSubstituteStringEntryArrayOutputWithContext(ctx context.Context) LogTransformerTransformerConfigSubstituteStringEntryArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(LogTransformerTransformerConfigSubstituteStringEntryArrayOutput) +} + +type LogTransformerTransformerConfigSubstituteStringEntryOutput struct{ *pulumi.OutputState } + +func (LogTransformerTransformerConfigSubstituteStringEntryOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LogTransformerTransformerConfigSubstituteStringEntry)(nil)).Elem() +} + +func (o LogTransformerTransformerConfigSubstituteStringEntryOutput) ToLogTransformerTransformerConfigSubstituteStringEntryOutput() LogTransformerTransformerConfigSubstituteStringEntryOutput { + return o +} + +func (o LogTransformerTransformerConfigSubstituteStringEntryOutput) ToLogTransformerTransformerConfigSubstituteStringEntryOutputWithContext(ctx context.Context) LogTransformerTransformerConfigSubstituteStringEntryOutput { + return o +} + +// Specifies the regular expression string to be replaced. +func (o LogTransformerTransformerConfigSubstituteStringEntryOutput) From() pulumi.StringOutput { + return o.ApplyT(func(v LogTransformerTransformerConfigSubstituteStringEntry) string { return v.From }).(pulumi.StringOutput) +} + +// Specifies the key to modify. +func (o LogTransformerTransformerConfigSubstituteStringEntryOutput) Source() pulumi.StringOutput { + return o.ApplyT(func(v LogTransformerTransformerConfigSubstituteStringEntry) string { return v.Source }).(pulumi.StringOutput) +} + +// Specifies the string to be substituted for each match of `from`. +func (o LogTransformerTransformerConfigSubstituteStringEntryOutput) To() pulumi.StringOutput { + return o.ApplyT(func(v LogTransformerTransformerConfigSubstituteStringEntry) string { return v.To }).(pulumi.StringOutput) +} + +type LogTransformerTransformerConfigSubstituteStringEntryArrayOutput struct{ *pulumi.OutputState } + +func (LogTransformerTransformerConfigSubstituteStringEntryArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]LogTransformerTransformerConfigSubstituteStringEntry)(nil)).Elem() +} + +func (o LogTransformerTransformerConfigSubstituteStringEntryArrayOutput) ToLogTransformerTransformerConfigSubstituteStringEntryArrayOutput() LogTransformerTransformerConfigSubstituteStringEntryArrayOutput { + return o +} + +func (o LogTransformerTransformerConfigSubstituteStringEntryArrayOutput) ToLogTransformerTransformerConfigSubstituteStringEntryArrayOutputWithContext(ctx context.Context) LogTransformerTransformerConfigSubstituteStringEntryArrayOutput { + return o +} + +func (o LogTransformerTransformerConfigSubstituteStringEntryArrayOutput) Index(i pulumi.IntInput) LogTransformerTransformerConfigSubstituteStringEntryOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) LogTransformerTransformerConfigSubstituteStringEntry { + return vs[0].([]LogTransformerTransformerConfigSubstituteStringEntry)[vs[1].(int)] + }).(LogTransformerTransformerConfigSubstituteStringEntryOutput) +} + +type LogTransformerTransformerConfigTrimString struct { + // Specifies the keys of the fields to trim. + WithKeys []string `pulumi:"withKeys"` +} + +// LogTransformerTransformerConfigTrimStringInput is an input type that accepts LogTransformerTransformerConfigTrimStringArgs and LogTransformerTransformerConfigTrimStringOutput values. +// You can construct a concrete instance of `LogTransformerTransformerConfigTrimStringInput` via: +// +// LogTransformerTransformerConfigTrimStringArgs{...} +type LogTransformerTransformerConfigTrimStringInput interface { + pulumi.Input + + ToLogTransformerTransformerConfigTrimStringOutput() LogTransformerTransformerConfigTrimStringOutput + ToLogTransformerTransformerConfigTrimStringOutputWithContext(context.Context) LogTransformerTransformerConfigTrimStringOutput +} + +type LogTransformerTransformerConfigTrimStringArgs struct { + // Specifies the keys of the fields to trim. + WithKeys pulumi.StringArrayInput `pulumi:"withKeys"` +} + +func (LogTransformerTransformerConfigTrimStringArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LogTransformerTransformerConfigTrimString)(nil)).Elem() +} + +func (i LogTransformerTransformerConfigTrimStringArgs) ToLogTransformerTransformerConfigTrimStringOutput() LogTransformerTransformerConfigTrimStringOutput { + return i.ToLogTransformerTransformerConfigTrimStringOutputWithContext(context.Background()) +} + +func (i LogTransformerTransformerConfigTrimStringArgs) ToLogTransformerTransformerConfigTrimStringOutputWithContext(ctx context.Context) LogTransformerTransformerConfigTrimStringOutput { + return pulumi.ToOutputWithContext(ctx, i).(LogTransformerTransformerConfigTrimStringOutput) +} + +// LogTransformerTransformerConfigTrimStringArrayInput is an input type that accepts LogTransformerTransformerConfigTrimStringArray and LogTransformerTransformerConfigTrimStringArrayOutput values. +// You can construct a concrete instance of `LogTransformerTransformerConfigTrimStringArrayInput` via: +// +// LogTransformerTransformerConfigTrimStringArray{ LogTransformerTransformerConfigTrimStringArgs{...} } +type LogTransformerTransformerConfigTrimStringArrayInput interface { + pulumi.Input + + ToLogTransformerTransformerConfigTrimStringArrayOutput() LogTransformerTransformerConfigTrimStringArrayOutput + ToLogTransformerTransformerConfigTrimStringArrayOutputWithContext(context.Context) LogTransformerTransformerConfigTrimStringArrayOutput +} + +type LogTransformerTransformerConfigTrimStringArray []LogTransformerTransformerConfigTrimStringInput + +func (LogTransformerTransformerConfigTrimStringArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]LogTransformerTransformerConfigTrimString)(nil)).Elem() +} + +func (i LogTransformerTransformerConfigTrimStringArray) ToLogTransformerTransformerConfigTrimStringArrayOutput() LogTransformerTransformerConfigTrimStringArrayOutput { + return i.ToLogTransformerTransformerConfigTrimStringArrayOutputWithContext(context.Background()) +} + +func (i LogTransformerTransformerConfigTrimStringArray) ToLogTransformerTransformerConfigTrimStringArrayOutputWithContext(ctx context.Context) LogTransformerTransformerConfigTrimStringArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(LogTransformerTransformerConfigTrimStringArrayOutput) +} + +type LogTransformerTransformerConfigTrimStringOutput struct{ *pulumi.OutputState } + +func (LogTransformerTransformerConfigTrimStringOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LogTransformerTransformerConfigTrimString)(nil)).Elem() +} + +func (o LogTransformerTransformerConfigTrimStringOutput) ToLogTransformerTransformerConfigTrimStringOutput() LogTransformerTransformerConfigTrimStringOutput { + return o +} + +func (o LogTransformerTransformerConfigTrimStringOutput) ToLogTransformerTransformerConfigTrimStringOutputWithContext(ctx context.Context) LogTransformerTransformerConfigTrimStringOutput { + return o +} + +// Specifies the keys of the fields to trim. +func (o LogTransformerTransformerConfigTrimStringOutput) WithKeys() pulumi.StringArrayOutput { + return o.ApplyT(func(v LogTransformerTransformerConfigTrimString) []string { return v.WithKeys }).(pulumi.StringArrayOutput) +} + +type LogTransformerTransformerConfigTrimStringArrayOutput struct{ *pulumi.OutputState } + +func (LogTransformerTransformerConfigTrimStringArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]LogTransformerTransformerConfigTrimString)(nil)).Elem() +} + +func (o LogTransformerTransformerConfigTrimStringArrayOutput) ToLogTransformerTransformerConfigTrimStringArrayOutput() LogTransformerTransformerConfigTrimStringArrayOutput { + return o +} + +func (o LogTransformerTransformerConfigTrimStringArrayOutput) ToLogTransformerTransformerConfigTrimStringArrayOutputWithContext(ctx context.Context) LogTransformerTransformerConfigTrimStringArrayOutput { + return o +} + +func (o LogTransformerTransformerConfigTrimStringArrayOutput) Index(i pulumi.IntInput) LogTransformerTransformerConfigTrimStringOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) LogTransformerTransformerConfigTrimString { + return vs[0].([]LogTransformerTransformerConfigTrimString)[vs[1].(int)] + }).(LogTransformerTransformerConfigTrimStringOutput) +} + +type LogTransformerTransformerConfigTypeConverter struct { + // Objects containing the information about the fields to change the type of. You must include at least one entry, and five at most. See `typeConverter` `entry` below for details. + Entries []LogTransformerTransformerConfigTypeConverterEntry `pulumi:"entries"` +} + +// LogTransformerTransformerConfigTypeConverterInput is an input type that accepts LogTransformerTransformerConfigTypeConverterArgs and LogTransformerTransformerConfigTypeConverterOutput values. +// You can construct a concrete instance of `LogTransformerTransformerConfigTypeConverterInput` via: +// +// LogTransformerTransformerConfigTypeConverterArgs{...} +type LogTransformerTransformerConfigTypeConverterInput interface { + pulumi.Input + + ToLogTransformerTransformerConfigTypeConverterOutput() LogTransformerTransformerConfigTypeConverterOutput + ToLogTransformerTransformerConfigTypeConverterOutputWithContext(context.Context) LogTransformerTransformerConfigTypeConverterOutput +} + +type LogTransformerTransformerConfigTypeConverterArgs struct { + // Objects containing the information about the fields to change the type of. You must include at least one entry, and five at most. See `typeConverter` `entry` below for details. + Entries LogTransformerTransformerConfigTypeConverterEntryArrayInput `pulumi:"entries"` +} + +func (LogTransformerTransformerConfigTypeConverterArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LogTransformerTransformerConfigTypeConverter)(nil)).Elem() +} + +func (i LogTransformerTransformerConfigTypeConverterArgs) ToLogTransformerTransformerConfigTypeConverterOutput() LogTransformerTransformerConfigTypeConverterOutput { + return i.ToLogTransformerTransformerConfigTypeConverterOutputWithContext(context.Background()) +} + +func (i LogTransformerTransformerConfigTypeConverterArgs) ToLogTransformerTransformerConfigTypeConverterOutputWithContext(ctx context.Context) LogTransformerTransformerConfigTypeConverterOutput { + return pulumi.ToOutputWithContext(ctx, i).(LogTransformerTransformerConfigTypeConverterOutput) +} + +// LogTransformerTransformerConfigTypeConverterArrayInput is an input type that accepts LogTransformerTransformerConfigTypeConverterArray and LogTransformerTransformerConfigTypeConverterArrayOutput values. +// You can construct a concrete instance of `LogTransformerTransformerConfigTypeConverterArrayInput` via: +// +// LogTransformerTransformerConfigTypeConverterArray{ LogTransformerTransformerConfigTypeConverterArgs{...} } +type LogTransformerTransformerConfigTypeConverterArrayInput interface { + pulumi.Input + + ToLogTransformerTransformerConfigTypeConverterArrayOutput() LogTransformerTransformerConfigTypeConverterArrayOutput + ToLogTransformerTransformerConfigTypeConverterArrayOutputWithContext(context.Context) LogTransformerTransformerConfigTypeConverterArrayOutput +} + +type LogTransformerTransformerConfigTypeConverterArray []LogTransformerTransformerConfigTypeConverterInput + +func (LogTransformerTransformerConfigTypeConverterArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]LogTransformerTransformerConfigTypeConverter)(nil)).Elem() +} + +func (i LogTransformerTransformerConfigTypeConverterArray) ToLogTransformerTransformerConfigTypeConverterArrayOutput() LogTransformerTransformerConfigTypeConverterArrayOutput { + return i.ToLogTransformerTransformerConfigTypeConverterArrayOutputWithContext(context.Background()) +} + +func (i LogTransformerTransformerConfigTypeConverterArray) ToLogTransformerTransformerConfigTypeConverterArrayOutputWithContext(ctx context.Context) LogTransformerTransformerConfigTypeConverterArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(LogTransformerTransformerConfigTypeConverterArrayOutput) +} + +type LogTransformerTransformerConfigTypeConverterOutput struct{ *pulumi.OutputState } + +func (LogTransformerTransformerConfigTypeConverterOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LogTransformerTransformerConfigTypeConverter)(nil)).Elem() +} + +func (o LogTransformerTransformerConfigTypeConverterOutput) ToLogTransformerTransformerConfigTypeConverterOutput() LogTransformerTransformerConfigTypeConverterOutput { + return o +} + +func (o LogTransformerTransformerConfigTypeConverterOutput) ToLogTransformerTransformerConfigTypeConverterOutputWithContext(ctx context.Context) LogTransformerTransformerConfigTypeConverterOutput { + return o +} + +// Objects containing the information about the fields to change the type of. You must include at least one entry, and five at most. See `typeConverter` `entry` below for details. +func (o LogTransformerTransformerConfigTypeConverterOutput) Entries() LogTransformerTransformerConfigTypeConverterEntryArrayOutput { + return o.ApplyT(func(v LogTransformerTransformerConfigTypeConverter) []LogTransformerTransformerConfigTypeConverterEntry { + return v.Entries + }).(LogTransformerTransformerConfigTypeConverterEntryArrayOutput) +} + +type LogTransformerTransformerConfigTypeConverterArrayOutput struct{ *pulumi.OutputState } + +func (LogTransformerTransformerConfigTypeConverterArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]LogTransformerTransformerConfigTypeConverter)(nil)).Elem() +} + +func (o LogTransformerTransformerConfigTypeConverterArrayOutput) ToLogTransformerTransformerConfigTypeConverterArrayOutput() LogTransformerTransformerConfigTypeConverterArrayOutput { + return o +} + +func (o LogTransformerTransformerConfigTypeConverterArrayOutput) ToLogTransformerTransformerConfigTypeConverterArrayOutputWithContext(ctx context.Context) LogTransformerTransformerConfigTypeConverterArrayOutput { + return o +} + +func (o LogTransformerTransformerConfigTypeConverterArrayOutput) Index(i pulumi.IntInput) LogTransformerTransformerConfigTypeConverterOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) LogTransformerTransformerConfigTypeConverter { + return vs[0].([]LogTransformerTransformerConfigTypeConverter)[vs[1].(int)] + }).(LogTransformerTransformerConfigTypeConverterOutput) +} + +type LogTransformerTransformerConfigTypeConverterEntry struct { + // Specifies the key with the value that will be converted to a different type. + Key string `pulumi:"key"` + // Specifies the type to convert the field value to. Allowed values are: `integer`, `double`, `string` and `boolean`. + Type string `pulumi:"type"` +} + +// LogTransformerTransformerConfigTypeConverterEntryInput is an input type that accepts LogTransformerTransformerConfigTypeConverterEntryArgs and LogTransformerTransformerConfigTypeConverterEntryOutput values. +// You can construct a concrete instance of `LogTransformerTransformerConfigTypeConverterEntryInput` via: +// +// LogTransformerTransformerConfigTypeConverterEntryArgs{...} +type LogTransformerTransformerConfigTypeConverterEntryInput interface { + pulumi.Input + + ToLogTransformerTransformerConfigTypeConverterEntryOutput() LogTransformerTransformerConfigTypeConverterEntryOutput + ToLogTransformerTransformerConfigTypeConverterEntryOutputWithContext(context.Context) LogTransformerTransformerConfigTypeConverterEntryOutput +} + +type LogTransformerTransformerConfigTypeConverterEntryArgs struct { + // Specifies the key with the value that will be converted to a different type. + Key pulumi.StringInput `pulumi:"key"` + // Specifies the type to convert the field value to. Allowed values are: `integer`, `double`, `string` and `boolean`. + Type pulumi.StringInput `pulumi:"type"` +} + +func (LogTransformerTransformerConfigTypeConverterEntryArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LogTransformerTransformerConfigTypeConverterEntry)(nil)).Elem() +} + +func (i LogTransformerTransformerConfigTypeConverterEntryArgs) ToLogTransformerTransformerConfigTypeConverterEntryOutput() LogTransformerTransformerConfigTypeConverterEntryOutput { + return i.ToLogTransformerTransformerConfigTypeConverterEntryOutputWithContext(context.Background()) +} + +func (i LogTransformerTransformerConfigTypeConverterEntryArgs) ToLogTransformerTransformerConfigTypeConverterEntryOutputWithContext(ctx context.Context) LogTransformerTransformerConfigTypeConverterEntryOutput { + return pulumi.ToOutputWithContext(ctx, i).(LogTransformerTransformerConfigTypeConverterEntryOutput) +} + +// LogTransformerTransformerConfigTypeConverterEntryArrayInput is an input type that accepts LogTransformerTransformerConfigTypeConverterEntryArray and LogTransformerTransformerConfigTypeConverterEntryArrayOutput values. +// You can construct a concrete instance of `LogTransformerTransformerConfigTypeConverterEntryArrayInput` via: +// +// LogTransformerTransformerConfigTypeConverterEntryArray{ LogTransformerTransformerConfigTypeConverterEntryArgs{...} } +type LogTransformerTransformerConfigTypeConverterEntryArrayInput interface { + pulumi.Input + + ToLogTransformerTransformerConfigTypeConverterEntryArrayOutput() LogTransformerTransformerConfigTypeConverterEntryArrayOutput + ToLogTransformerTransformerConfigTypeConverterEntryArrayOutputWithContext(context.Context) LogTransformerTransformerConfigTypeConverterEntryArrayOutput +} + +type LogTransformerTransformerConfigTypeConverterEntryArray []LogTransformerTransformerConfigTypeConverterEntryInput + +func (LogTransformerTransformerConfigTypeConverterEntryArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]LogTransformerTransformerConfigTypeConverterEntry)(nil)).Elem() +} + +func (i LogTransformerTransformerConfigTypeConverterEntryArray) ToLogTransformerTransformerConfigTypeConverterEntryArrayOutput() LogTransformerTransformerConfigTypeConverterEntryArrayOutput { + return i.ToLogTransformerTransformerConfigTypeConverterEntryArrayOutputWithContext(context.Background()) +} + +func (i LogTransformerTransformerConfigTypeConverterEntryArray) ToLogTransformerTransformerConfigTypeConverterEntryArrayOutputWithContext(ctx context.Context) LogTransformerTransformerConfigTypeConverterEntryArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(LogTransformerTransformerConfigTypeConverterEntryArrayOutput) +} + +type LogTransformerTransformerConfigTypeConverterEntryOutput struct{ *pulumi.OutputState } + +func (LogTransformerTransformerConfigTypeConverterEntryOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LogTransformerTransformerConfigTypeConverterEntry)(nil)).Elem() +} + +func (o LogTransformerTransformerConfigTypeConverterEntryOutput) ToLogTransformerTransformerConfigTypeConverterEntryOutput() LogTransformerTransformerConfigTypeConverterEntryOutput { + return o +} + +func (o LogTransformerTransformerConfigTypeConverterEntryOutput) ToLogTransformerTransformerConfigTypeConverterEntryOutputWithContext(ctx context.Context) LogTransformerTransformerConfigTypeConverterEntryOutput { + return o +} + +// Specifies the key with the value that will be converted to a different type. +func (o LogTransformerTransformerConfigTypeConverterEntryOutput) Key() pulumi.StringOutput { + return o.ApplyT(func(v LogTransformerTransformerConfigTypeConverterEntry) string { return v.Key }).(pulumi.StringOutput) +} + +// Specifies the type to convert the field value to. Allowed values are: `integer`, `double`, `string` and `boolean`. +func (o LogTransformerTransformerConfigTypeConverterEntryOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v LogTransformerTransformerConfigTypeConverterEntry) string { return v.Type }).(pulumi.StringOutput) +} + +type LogTransformerTransformerConfigTypeConverterEntryArrayOutput struct{ *pulumi.OutputState } + +func (LogTransformerTransformerConfigTypeConverterEntryArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]LogTransformerTransformerConfigTypeConverterEntry)(nil)).Elem() +} + +func (o LogTransformerTransformerConfigTypeConverterEntryArrayOutput) ToLogTransformerTransformerConfigTypeConverterEntryArrayOutput() LogTransformerTransformerConfigTypeConverterEntryArrayOutput { + return o +} + +func (o LogTransformerTransformerConfigTypeConverterEntryArrayOutput) ToLogTransformerTransformerConfigTypeConverterEntryArrayOutputWithContext(ctx context.Context) LogTransformerTransformerConfigTypeConverterEntryArrayOutput { + return o +} + +func (o LogTransformerTransformerConfigTypeConverterEntryArrayOutput) Index(i pulumi.IntInput) LogTransformerTransformerConfigTypeConverterEntryOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) LogTransformerTransformerConfigTypeConverterEntry { + return vs[0].([]LogTransformerTransformerConfigTypeConverterEntry)[vs[1].(int)] + }).(LogTransformerTransformerConfigTypeConverterEntryOutput) +} + +type LogTransformerTransformerConfigUpperCaseString struct { + // Specifies the keys of the fields to convert to uppercase. + WithKeys []string `pulumi:"withKeys"` +} + +// LogTransformerTransformerConfigUpperCaseStringInput is an input type that accepts LogTransformerTransformerConfigUpperCaseStringArgs and LogTransformerTransformerConfigUpperCaseStringOutput values. +// You can construct a concrete instance of `LogTransformerTransformerConfigUpperCaseStringInput` via: +// +// LogTransformerTransformerConfigUpperCaseStringArgs{...} +type LogTransformerTransformerConfigUpperCaseStringInput interface { + pulumi.Input + + ToLogTransformerTransformerConfigUpperCaseStringOutput() LogTransformerTransformerConfigUpperCaseStringOutput + ToLogTransformerTransformerConfigUpperCaseStringOutputWithContext(context.Context) LogTransformerTransformerConfigUpperCaseStringOutput +} + +type LogTransformerTransformerConfigUpperCaseStringArgs struct { + // Specifies the keys of the fields to convert to uppercase. + WithKeys pulumi.StringArrayInput `pulumi:"withKeys"` +} + +func (LogTransformerTransformerConfigUpperCaseStringArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LogTransformerTransformerConfigUpperCaseString)(nil)).Elem() +} + +func (i LogTransformerTransformerConfigUpperCaseStringArgs) ToLogTransformerTransformerConfigUpperCaseStringOutput() LogTransformerTransformerConfigUpperCaseStringOutput { + return i.ToLogTransformerTransformerConfigUpperCaseStringOutputWithContext(context.Background()) +} + +func (i LogTransformerTransformerConfigUpperCaseStringArgs) ToLogTransformerTransformerConfigUpperCaseStringOutputWithContext(ctx context.Context) LogTransformerTransformerConfigUpperCaseStringOutput { + return pulumi.ToOutputWithContext(ctx, i).(LogTransformerTransformerConfigUpperCaseStringOutput) +} + +// LogTransformerTransformerConfigUpperCaseStringArrayInput is an input type that accepts LogTransformerTransformerConfigUpperCaseStringArray and LogTransformerTransformerConfigUpperCaseStringArrayOutput values. +// You can construct a concrete instance of `LogTransformerTransformerConfigUpperCaseStringArrayInput` via: +// +// LogTransformerTransformerConfigUpperCaseStringArray{ LogTransformerTransformerConfigUpperCaseStringArgs{...} } +type LogTransformerTransformerConfigUpperCaseStringArrayInput interface { + pulumi.Input + + ToLogTransformerTransformerConfigUpperCaseStringArrayOutput() LogTransformerTransformerConfigUpperCaseStringArrayOutput + ToLogTransformerTransformerConfigUpperCaseStringArrayOutputWithContext(context.Context) LogTransformerTransformerConfigUpperCaseStringArrayOutput +} + +type LogTransformerTransformerConfigUpperCaseStringArray []LogTransformerTransformerConfigUpperCaseStringInput + +func (LogTransformerTransformerConfigUpperCaseStringArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]LogTransformerTransformerConfigUpperCaseString)(nil)).Elem() +} + +func (i LogTransformerTransformerConfigUpperCaseStringArray) ToLogTransformerTransformerConfigUpperCaseStringArrayOutput() LogTransformerTransformerConfigUpperCaseStringArrayOutput { + return i.ToLogTransformerTransformerConfigUpperCaseStringArrayOutputWithContext(context.Background()) +} + +func (i LogTransformerTransformerConfigUpperCaseStringArray) ToLogTransformerTransformerConfigUpperCaseStringArrayOutputWithContext(ctx context.Context) LogTransformerTransformerConfigUpperCaseStringArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(LogTransformerTransformerConfigUpperCaseStringArrayOutput) +} + +type LogTransformerTransformerConfigUpperCaseStringOutput struct{ *pulumi.OutputState } + +func (LogTransformerTransformerConfigUpperCaseStringOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LogTransformerTransformerConfigUpperCaseString)(nil)).Elem() +} + +func (o LogTransformerTransformerConfigUpperCaseStringOutput) ToLogTransformerTransformerConfigUpperCaseStringOutput() LogTransformerTransformerConfigUpperCaseStringOutput { + return o +} + +func (o LogTransformerTransformerConfigUpperCaseStringOutput) ToLogTransformerTransformerConfigUpperCaseStringOutputWithContext(ctx context.Context) LogTransformerTransformerConfigUpperCaseStringOutput { + return o +} + +// Specifies the keys of the fields to convert to uppercase. +func (o LogTransformerTransformerConfigUpperCaseStringOutput) WithKeys() pulumi.StringArrayOutput { + return o.ApplyT(func(v LogTransformerTransformerConfigUpperCaseString) []string { return v.WithKeys }).(pulumi.StringArrayOutput) +} + +type LogTransformerTransformerConfigUpperCaseStringArrayOutput struct{ *pulumi.OutputState } + +func (LogTransformerTransformerConfigUpperCaseStringArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]LogTransformerTransformerConfigUpperCaseString)(nil)).Elem() +} + +func (o LogTransformerTransformerConfigUpperCaseStringArrayOutput) ToLogTransformerTransformerConfigUpperCaseStringArrayOutput() LogTransformerTransformerConfigUpperCaseStringArrayOutput { + return o +} + +func (o LogTransformerTransformerConfigUpperCaseStringArrayOutput) ToLogTransformerTransformerConfigUpperCaseStringArrayOutputWithContext(ctx context.Context) LogTransformerTransformerConfigUpperCaseStringArrayOutput { + return o +} + +func (o LogTransformerTransformerConfigUpperCaseStringArrayOutput) Index(i pulumi.IntInput) LogTransformerTransformerConfigUpperCaseStringOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) LogTransformerTransformerConfigUpperCaseString { + return vs[0].([]LogTransformerTransformerConfigUpperCaseString)[vs[1].(int)] + }).(LogTransformerTransformerConfigUpperCaseStringOutput) +} + type MetricAlarmMetricQuery struct { // The ID of the account where the metrics are located, if this is a cross-account alarm. AccountId *string `pulumi:"accountId"` @@ -10407,6 +14377,68 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*LogDeliveryS3DeliveryConfigurationArrayInput)(nil)).Elem(), LogDeliveryS3DeliveryConfigurationArray{}) pulumi.RegisterInputType(reflect.TypeOf((*LogMetricFilterMetricTransformationInput)(nil)).Elem(), LogMetricFilterMetricTransformationArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*LogMetricFilterMetricTransformationPtrInput)(nil)).Elem(), LogMetricFilterMetricTransformationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*LogTransformerTransformerConfigInput)(nil)).Elem(), LogTransformerTransformerConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*LogTransformerTransformerConfigArrayInput)(nil)).Elem(), LogTransformerTransformerConfigArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*LogTransformerTransformerConfigAddKeysInput)(nil)).Elem(), LogTransformerTransformerConfigAddKeysArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*LogTransformerTransformerConfigAddKeysPtrInput)(nil)).Elem(), LogTransformerTransformerConfigAddKeysArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*LogTransformerTransformerConfigAddKeysEntryInput)(nil)).Elem(), LogTransformerTransformerConfigAddKeysEntryArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*LogTransformerTransformerConfigAddKeysEntryArrayInput)(nil)).Elem(), LogTransformerTransformerConfigAddKeysEntryArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*LogTransformerTransformerConfigCopyValueInput)(nil)).Elem(), LogTransformerTransformerConfigCopyValueArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*LogTransformerTransformerConfigCopyValuePtrInput)(nil)).Elem(), LogTransformerTransformerConfigCopyValueArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*LogTransformerTransformerConfigCopyValueEntryInput)(nil)).Elem(), LogTransformerTransformerConfigCopyValueEntryArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*LogTransformerTransformerConfigCopyValueEntryArrayInput)(nil)).Elem(), LogTransformerTransformerConfigCopyValueEntryArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*LogTransformerTransformerConfigCsvInput)(nil)).Elem(), LogTransformerTransformerConfigCsvArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*LogTransformerTransformerConfigCsvArrayInput)(nil)).Elem(), LogTransformerTransformerConfigCsvArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*LogTransformerTransformerConfigDateTimeConverterInput)(nil)).Elem(), LogTransformerTransformerConfigDateTimeConverterArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*LogTransformerTransformerConfigDateTimeConverterArrayInput)(nil)).Elem(), LogTransformerTransformerConfigDateTimeConverterArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*LogTransformerTransformerConfigDeleteKeyInput)(nil)).Elem(), LogTransformerTransformerConfigDeleteKeyArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*LogTransformerTransformerConfigDeleteKeyArrayInput)(nil)).Elem(), LogTransformerTransformerConfigDeleteKeyArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*LogTransformerTransformerConfigGrokInput)(nil)).Elem(), LogTransformerTransformerConfigGrokArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*LogTransformerTransformerConfigGrokPtrInput)(nil)).Elem(), LogTransformerTransformerConfigGrokArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*LogTransformerTransformerConfigListToMapInput)(nil)).Elem(), LogTransformerTransformerConfigListToMapArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*LogTransformerTransformerConfigListToMapArrayInput)(nil)).Elem(), LogTransformerTransformerConfigListToMapArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*LogTransformerTransformerConfigLowerCaseStringInput)(nil)).Elem(), LogTransformerTransformerConfigLowerCaseStringArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*LogTransformerTransformerConfigLowerCaseStringArrayInput)(nil)).Elem(), LogTransformerTransformerConfigLowerCaseStringArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*LogTransformerTransformerConfigMoveKeyInput)(nil)).Elem(), LogTransformerTransformerConfigMoveKeyArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*LogTransformerTransformerConfigMoveKeyArrayInput)(nil)).Elem(), LogTransformerTransformerConfigMoveKeyArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*LogTransformerTransformerConfigMoveKeyEntryInput)(nil)).Elem(), LogTransformerTransformerConfigMoveKeyEntryArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*LogTransformerTransformerConfigMoveKeyEntryArrayInput)(nil)).Elem(), LogTransformerTransformerConfigMoveKeyEntryArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*LogTransformerTransformerConfigParseCloudfrontInput)(nil)).Elem(), LogTransformerTransformerConfigParseCloudfrontArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*LogTransformerTransformerConfigParseCloudfrontPtrInput)(nil)).Elem(), LogTransformerTransformerConfigParseCloudfrontArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*LogTransformerTransformerConfigParseJsonInput)(nil)).Elem(), LogTransformerTransformerConfigParseJsonArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*LogTransformerTransformerConfigParseJsonArrayInput)(nil)).Elem(), LogTransformerTransformerConfigParseJsonArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*LogTransformerTransformerConfigParseKeyValueInput)(nil)).Elem(), LogTransformerTransformerConfigParseKeyValueArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*LogTransformerTransformerConfigParseKeyValueArrayInput)(nil)).Elem(), LogTransformerTransformerConfigParseKeyValueArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*LogTransformerTransformerConfigParsePostgresInput)(nil)).Elem(), LogTransformerTransformerConfigParsePostgresArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*LogTransformerTransformerConfigParsePostgresPtrInput)(nil)).Elem(), LogTransformerTransformerConfigParsePostgresArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*LogTransformerTransformerConfigParseRoute53Input)(nil)).Elem(), LogTransformerTransformerConfigParseRoute53Args{}) + pulumi.RegisterInputType(reflect.TypeOf((*LogTransformerTransformerConfigParseRoute53PtrInput)(nil)).Elem(), LogTransformerTransformerConfigParseRoute53Args{}) + pulumi.RegisterInputType(reflect.TypeOf((*LogTransformerTransformerConfigParseToOcsfInput)(nil)).Elem(), LogTransformerTransformerConfigParseToOcsfArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*LogTransformerTransformerConfigParseToOcsfPtrInput)(nil)).Elem(), LogTransformerTransformerConfigParseToOcsfArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*LogTransformerTransformerConfigParseVpcInput)(nil)).Elem(), LogTransformerTransformerConfigParseVpcArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*LogTransformerTransformerConfigParseVpcPtrInput)(nil)).Elem(), LogTransformerTransformerConfigParseVpcArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*LogTransformerTransformerConfigParseWafInput)(nil)).Elem(), LogTransformerTransformerConfigParseWafArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*LogTransformerTransformerConfigParseWafPtrInput)(nil)).Elem(), LogTransformerTransformerConfigParseWafArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*LogTransformerTransformerConfigRenameKeyInput)(nil)).Elem(), LogTransformerTransformerConfigRenameKeyArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*LogTransformerTransformerConfigRenameKeyArrayInput)(nil)).Elem(), LogTransformerTransformerConfigRenameKeyArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*LogTransformerTransformerConfigRenameKeyEntryInput)(nil)).Elem(), LogTransformerTransformerConfigRenameKeyEntryArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*LogTransformerTransformerConfigRenameKeyEntryArrayInput)(nil)).Elem(), LogTransformerTransformerConfigRenameKeyEntryArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*LogTransformerTransformerConfigSplitStringInput)(nil)).Elem(), LogTransformerTransformerConfigSplitStringArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*LogTransformerTransformerConfigSplitStringArrayInput)(nil)).Elem(), LogTransformerTransformerConfigSplitStringArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*LogTransformerTransformerConfigSplitStringEntryInput)(nil)).Elem(), LogTransformerTransformerConfigSplitStringEntryArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*LogTransformerTransformerConfigSplitStringEntryArrayInput)(nil)).Elem(), LogTransformerTransformerConfigSplitStringEntryArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*LogTransformerTransformerConfigSubstituteStringInput)(nil)).Elem(), LogTransformerTransformerConfigSubstituteStringArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*LogTransformerTransformerConfigSubstituteStringArrayInput)(nil)).Elem(), LogTransformerTransformerConfigSubstituteStringArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*LogTransformerTransformerConfigSubstituteStringEntryInput)(nil)).Elem(), LogTransformerTransformerConfigSubstituteStringEntryArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*LogTransformerTransformerConfigSubstituteStringEntryArrayInput)(nil)).Elem(), LogTransformerTransformerConfigSubstituteStringEntryArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*LogTransformerTransformerConfigTrimStringInput)(nil)).Elem(), LogTransformerTransformerConfigTrimStringArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*LogTransformerTransformerConfigTrimStringArrayInput)(nil)).Elem(), LogTransformerTransformerConfigTrimStringArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*LogTransformerTransformerConfigTypeConverterInput)(nil)).Elem(), LogTransformerTransformerConfigTypeConverterArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*LogTransformerTransformerConfigTypeConverterArrayInput)(nil)).Elem(), LogTransformerTransformerConfigTypeConverterArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*LogTransformerTransformerConfigTypeConverterEntryInput)(nil)).Elem(), LogTransformerTransformerConfigTypeConverterEntryArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*LogTransformerTransformerConfigTypeConverterEntryArrayInput)(nil)).Elem(), LogTransformerTransformerConfigTypeConverterEntryArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*LogTransformerTransformerConfigUpperCaseStringInput)(nil)).Elem(), LogTransformerTransformerConfigUpperCaseStringArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*LogTransformerTransformerConfigUpperCaseStringArrayInput)(nil)).Elem(), LogTransformerTransformerConfigUpperCaseStringArray{}) pulumi.RegisterInputType(reflect.TypeOf((*MetricAlarmMetricQueryInput)(nil)).Elem(), MetricAlarmMetricQueryArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*MetricAlarmMetricQueryArrayInput)(nil)).Elem(), MetricAlarmMetricQueryArray{}) pulumi.RegisterInputType(reflect.TypeOf((*MetricAlarmMetricQueryMetricInput)(nil)).Elem(), MetricAlarmMetricQueryMetricArgs{}) @@ -10548,6 +14580,68 @@ func init() { pulumi.RegisterOutputType(LogDeliveryS3DeliveryConfigurationArrayOutput{}) pulumi.RegisterOutputType(LogMetricFilterMetricTransformationOutput{}) pulumi.RegisterOutputType(LogMetricFilterMetricTransformationPtrOutput{}) + pulumi.RegisterOutputType(LogTransformerTransformerConfigOutput{}) + pulumi.RegisterOutputType(LogTransformerTransformerConfigArrayOutput{}) + pulumi.RegisterOutputType(LogTransformerTransformerConfigAddKeysOutput{}) + pulumi.RegisterOutputType(LogTransformerTransformerConfigAddKeysPtrOutput{}) + pulumi.RegisterOutputType(LogTransformerTransformerConfigAddKeysEntryOutput{}) + pulumi.RegisterOutputType(LogTransformerTransformerConfigAddKeysEntryArrayOutput{}) + pulumi.RegisterOutputType(LogTransformerTransformerConfigCopyValueOutput{}) + pulumi.RegisterOutputType(LogTransformerTransformerConfigCopyValuePtrOutput{}) + pulumi.RegisterOutputType(LogTransformerTransformerConfigCopyValueEntryOutput{}) + pulumi.RegisterOutputType(LogTransformerTransformerConfigCopyValueEntryArrayOutput{}) + pulumi.RegisterOutputType(LogTransformerTransformerConfigCsvOutput{}) + pulumi.RegisterOutputType(LogTransformerTransformerConfigCsvArrayOutput{}) + pulumi.RegisterOutputType(LogTransformerTransformerConfigDateTimeConverterOutput{}) + pulumi.RegisterOutputType(LogTransformerTransformerConfigDateTimeConverterArrayOutput{}) + pulumi.RegisterOutputType(LogTransformerTransformerConfigDeleteKeyOutput{}) + pulumi.RegisterOutputType(LogTransformerTransformerConfigDeleteKeyArrayOutput{}) + pulumi.RegisterOutputType(LogTransformerTransformerConfigGrokOutput{}) + pulumi.RegisterOutputType(LogTransformerTransformerConfigGrokPtrOutput{}) + pulumi.RegisterOutputType(LogTransformerTransformerConfigListToMapOutput{}) + pulumi.RegisterOutputType(LogTransformerTransformerConfigListToMapArrayOutput{}) + pulumi.RegisterOutputType(LogTransformerTransformerConfigLowerCaseStringOutput{}) + pulumi.RegisterOutputType(LogTransformerTransformerConfigLowerCaseStringArrayOutput{}) + pulumi.RegisterOutputType(LogTransformerTransformerConfigMoveKeyOutput{}) + pulumi.RegisterOutputType(LogTransformerTransformerConfigMoveKeyArrayOutput{}) + pulumi.RegisterOutputType(LogTransformerTransformerConfigMoveKeyEntryOutput{}) + pulumi.RegisterOutputType(LogTransformerTransformerConfigMoveKeyEntryArrayOutput{}) + pulumi.RegisterOutputType(LogTransformerTransformerConfigParseCloudfrontOutput{}) + pulumi.RegisterOutputType(LogTransformerTransformerConfigParseCloudfrontPtrOutput{}) + pulumi.RegisterOutputType(LogTransformerTransformerConfigParseJsonOutput{}) + pulumi.RegisterOutputType(LogTransformerTransformerConfigParseJsonArrayOutput{}) + pulumi.RegisterOutputType(LogTransformerTransformerConfigParseKeyValueOutput{}) + pulumi.RegisterOutputType(LogTransformerTransformerConfigParseKeyValueArrayOutput{}) + pulumi.RegisterOutputType(LogTransformerTransformerConfigParsePostgresOutput{}) + pulumi.RegisterOutputType(LogTransformerTransformerConfigParsePostgresPtrOutput{}) + pulumi.RegisterOutputType(LogTransformerTransformerConfigParseRoute53Output{}) + pulumi.RegisterOutputType(LogTransformerTransformerConfigParseRoute53PtrOutput{}) + pulumi.RegisterOutputType(LogTransformerTransformerConfigParseToOcsfOutput{}) + pulumi.RegisterOutputType(LogTransformerTransformerConfigParseToOcsfPtrOutput{}) + pulumi.RegisterOutputType(LogTransformerTransformerConfigParseVpcOutput{}) + pulumi.RegisterOutputType(LogTransformerTransformerConfigParseVpcPtrOutput{}) + pulumi.RegisterOutputType(LogTransformerTransformerConfigParseWafOutput{}) + pulumi.RegisterOutputType(LogTransformerTransformerConfigParseWafPtrOutput{}) + pulumi.RegisterOutputType(LogTransformerTransformerConfigRenameKeyOutput{}) + pulumi.RegisterOutputType(LogTransformerTransformerConfigRenameKeyArrayOutput{}) + pulumi.RegisterOutputType(LogTransformerTransformerConfigRenameKeyEntryOutput{}) + pulumi.RegisterOutputType(LogTransformerTransformerConfigRenameKeyEntryArrayOutput{}) + pulumi.RegisterOutputType(LogTransformerTransformerConfigSplitStringOutput{}) + pulumi.RegisterOutputType(LogTransformerTransformerConfigSplitStringArrayOutput{}) + pulumi.RegisterOutputType(LogTransformerTransformerConfigSplitStringEntryOutput{}) + pulumi.RegisterOutputType(LogTransformerTransformerConfigSplitStringEntryArrayOutput{}) + pulumi.RegisterOutputType(LogTransformerTransformerConfigSubstituteStringOutput{}) + pulumi.RegisterOutputType(LogTransformerTransformerConfigSubstituteStringArrayOutput{}) + pulumi.RegisterOutputType(LogTransformerTransformerConfigSubstituteStringEntryOutput{}) + pulumi.RegisterOutputType(LogTransformerTransformerConfigSubstituteStringEntryArrayOutput{}) + pulumi.RegisterOutputType(LogTransformerTransformerConfigTrimStringOutput{}) + pulumi.RegisterOutputType(LogTransformerTransformerConfigTrimStringArrayOutput{}) + pulumi.RegisterOutputType(LogTransformerTransformerConfigTypeConverterOutput{}) + pulumi.RegisterOutputType(LogTransformerTransformerConfigTypeConverterArrayOutput{}) + pulumi.RegisterOutputType(LogTransformerTransformerConfigTypeConverterEntryOutput{}) + pulumi.RegisterOutputType(LogTransformerTransformerConfigTypeConverterEntryArrayOutput{}) + pulumi.RegisterOutputType(LogTransformerTransformerConfigUpperCaseStringOutput{}) + pulumi.RegisterOutputType(LogTransformerTransformerConfigUpperCaseStringArrayOutput{}) pulumi.RegisterOutputType(MetricAlarmMetricQueryOutput{}) pulumi.RegisterOutputType(MetricAlarmMetricQueryArrayOutput{}) pulumi.RegisterOutputType(MetricAlarmMetricQueryMetricOutput{}) diff --git a/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/ec2/defaultCreditSpecification.go b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/ec2/defaultCreditSpecification.go index 6aafe99a6..5372ac2f8 100644 --- a/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/ec2/defaultCreditSpecification.go +++ b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/ec2/defaultCreditSpecification.go @@ -47,8 +47,6 @@ import ( // // Using `pulumi import`, import EC2 (Elastic Compute Cloud) Default Credit Specification using the `instance_family`. For example: // -// console -// // % pulumi import aws_ec2_default_credit_specification.example t2 type DefaultCreditSpecification struct { pulumi.CustomResourceState diff --git a/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/ec2/encryptionControl.go b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/ec2/encryptionControl.go new file mode 100644 index 000000000..f5900fbe3 --- /dev/null +++ b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/ec2/encryptionControl.go @@ -0,0 +1,655 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ec2 + +import ( + "context" + "reflect" + + "errors" + "github.com/pulumi/pulumi-aws/sdk/v7/go/aws/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Manages a VPC Encryption Control. +// +// ## Example Usage +// +// ### Basic Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-aws/sdk/v7/go/aws/ec2" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// exampleVpc, err := ec2.NewVpc(ctx, "example", &ec2.VpcArgs{ +// CidrBlock: pulumi.String("10.1.0.0/16"), +// }) +// if err != nil { +// return err +// } +// _, err = ec2.NewVpcEncryptionControl(ctx, "example", &ec2.VpcEncryptionControlArgs{ +// VpcId: exampleVpc.ID(), +// Mode: pulumi.String("monitor"), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// ## Import +// +// Using `pulumi import`, import VPC Encryption Control using the `id`. For example: +// +// ```sh +// $ pulumi import aws:ec2/encryptionControl:EncryptionControl example vpcec-12345678901234567 +// ``` +// +// Deprecated: aws.ec2/encryptioncontrol.EncryptionControl has been deprecated in favor of aws.ec2/vpcencryptioncontrol.VpcEncryptionControl +type EncryptionControl struct { + pulumi.CustomResourceState + + // Whether to exclude Egress-Only Internet Gateways from encryption enforcement. + // Valid values are `disable` or `enable`. + // Default is `disable`. + // Only valid when `mode` is `enforce`. + EgressOnlyInternetGatewayExclusion pulumi.StringOutput `pulumi:"egressOnlyInternetGatewayExclusion"` + // Whether to exclude Elastic File System (EFS) from encryption enforcement. + // Valid values are `disable` or `enable`. + // Default is `disable`. + // Only valid when `mode` is `enforce`. + ElasticFileSystemExclusion pulumi.StringOutput `pulumi:"elasticFileSystemExclusion"` + // Whether to exclude Internet Gateways from encryption enforcement. + // Valid values are `disable` or `enable`. + // Default is `disable`. + // Only valid when `mode` is `enforce`. + InternetGatewayExclusion pulumi.StringOutput `pulumi:"internetGatewayExclusion"` + // Whether to exclude Lambda Functions from encryption enforcement. + // Valid values are `disable` or `enable`. + // Default is `disable`. + // Only valid when `mode` is `enforce`. + LambdaExclusion pulumi.StringOutput `pulumi:"lambdaExclusion"` + // Mode to enable for VPC Encryption Control. + // Valid values are `monitor` or `enforce`. + Mode pulumi.StringOutput `pulumi:"mode"` + // Whether to exclude NAT Gateways from encryption enforcement. + // Valid values are `disable` or `enable`. + // Default is `disable`. + // Only valid when `mode` is `enforce`. + NatGatewayExclusion pulumi.StringOutput `pulumi:"natGatewayExclusion"` + // Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration. + Region pulumi.StringOutput `pulumi:"region"` + // State of exclusions from encryption enforcement. + // Will be `nil` if `mode` is `monitor`. + // See `resourceExclusions` below + ResourceExclusions EncryptionControlResourceExclusionsOutput `pulumi:"resourceExclusions"` + // The current state of the VPC Encryption Control. + State pulumi.StringOutput `pulumi:"state"` + // A message providing additional information about the state of the VPC Encryption Control. + StateMessage pulumi.StringOutput `pulumi:"stateMessage"` + // A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + Tags pulumi.StringMapOutput `pulumi:"tags"` + // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"` + Timeouts EncryptionControlTimeoutsPtrOutput `pulumi:"timeouts"` + // Whether to exclude Virtual Private Gateways from encryption enforcement. + // Valid values are `disable` or `enable`. + // Default is `disable`. + // Only valid when `mode` is `enforce`. + VirtualPrivateGatewayExclusion pulumi.StringOutput `pulumi:"virtualPrivateGatewayExclusion"` + // The ID of the VPC the VPC Encryption Control is linked to. + // + // The following arguments are optional: + VpcId pulumi.StringOutput `pulumi:"vpcId"` + // Whether to exclude VPC Lattice from encryption enforcement. + // Valid values are `disable` or `enable`. + // Default is `disable`. + // Only valid when `mode` is `enforce`. + VpcLatticeExclusion pulumi.StringOutput `pulumi:"vpcLatticeExclusion"` + // Whether to exclude peered VPCs from encryption enforcement. + // Valid values are `disable` or `enable`. + // Default is `disable`. + // Only valid when `mode` is `enforce`. + VpcPeeringExclusion pulumi.StringOutput `pulumi:"vpcPeeringExclusion"` +} + +// NewEncryptionControl registers a new resource with the given unique name, arguments, and options. +func NewEncryptionControl(ctx *pulumi.Context, + name string, args *EncryptionControlArgs, opts ...pulumi.ResourceOption) (*EncryptionControl, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Mode == nil { + return nil, errors.New("invalid value for required argument 'Mode'") + } + if args.VpcId == nil { + return nil, errors.New("invalid value for required argument 'VpcId'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource EncryptionControl + err := ctx.RegisterResource("aws:ec2/encryptionControl:EncryptionControl", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetEncryptionControl gets an existing EncryptionControl 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 GetEncryptionControl(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *EncryptionControlState, opts ...pulumi.ResourceOption) (*EncryptionControl, error) { + var resource EncryptionControl + err := ctx.ReadResource("aws:ec2/encryptionControl:EncryptionControl", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering EncryptionControl resources. +type encryptionControlState struct { + // Whether to exclude Egress-Only Internet Gateways from encryption enforcement. + // Valid values are `disable` or `enable`. + // Default is `disable`. + // Only valid when `mode` is `enforce`. + EgressOnlyInternetGatewayExclusion *string `pulumi:"egressOnlyInternetGatewayExclusion"` + // Whether to exclude Elastic File System (EFS) from encryption enforcement. + // Valid values are `disable` or `enable`. + // Default is `disable`. + // Only valid when `mode` is `enforce`. + ElasticFileSystemExclusion *string `pulumi:"elasticFileSystemExclusion"` + // Whether to exclude Internet Gateways from encryption enforcement. + // Valid values are `disable` or `enable`. + // Default is `disable`. + // Only valid when `mode` is `enforce`. + InternetGatewayExclusion *string `pulumi:"internetGatewayExclusion"` + // Whether to exclude Lambda Functions from encryption enforcement. + // Valid values are `disable` or `enable`. + // Default is `disable`. + // Only valid when `mode` is `enforce`. + LambdaExclusion *string `pulumi:"lambdaExclusion"` + // Mode to enable for VPC Encryption Control. + // Valid values are `monitor` or `enforce`. + Mode *string `pulumi:"mode"` + // Whether to exclude NAT Gateways from encryption enforcement. + // Valid values are `disable` or `enable`. + // Default is `disable`. + // Only valid when `mode` is `enforce`. + NatGatewayExclusion *string `pulumi:"natGatewayExclusion"` + // Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration. + Region *string `pulumi:"region"` + // State of exclusions from encryption enforcement. + // Will be `nil` if `mode` is `monitor`. + // See `resourceExclusions` below + ResourceExclusions *EncryptionControlResourceExclusions `pulumi:"resourceExclusions"` + // The current state of the VPC Encryption Control. + State *string `pulumi:"state"` + // A message providing additional information about the state of the VPC Encryption Control. + StateMessage *string `pulumi:"stateMessage"` + // A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + Tags map[string]string `pulumi:"tags"` + // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + TagsAll map[string]string `pulumi:"tagsAll"` + Timeouts *EncryptionControlTimeouts `pulumi:"timeouts"` + // Whether to exclude Virtual Private Gateways from encryption enforcement. + // Valid values are `disable` or `enable`. + // Default is `disable`. + // Only valid when `mode` is `enforce`. + VirtualPrivateGatewayExclusion *string `pulumi:"virtualPrivateGatewayExclusion"` + // The ID of the VPC the VPC Encryption Control is linked to. + // + // The following arguments are optional: + VpcId *string `pulumi:"vpcId"` + // Whether to exclude VPC Lattice from encryption enforcement. + // Valid values are `disable` or `enable`. + // Default is `disable`. + // Only valid when `mode` is `enforce`. + VpcLatticeExclusion *string `pulumi:"vpcLatticeExclusion"` + // Whether to exclude peered VPCs from encryption enforcement. + // Valid values are `disable` or `enable`. + // Default is `disable`. + // Only valid when `mode` is `enforce`. + VpcPeeringExclusion *string `pulumi:"vpcPeeringExclusion"` +} + +type EncryptionControlState struct { + // Whether to exclude Egress-Only Internet Gateways from encryption enforcement. + // Valid values are `disable` or `enable`. + // Default is `disable`. + // Only valid when `mode` is `enforce`. + EgressOnlyInternetGatewayExclusion pulumi.StringPtrInput + // Whether to exclude Elastic File System (EFS) from encryption enforcement. + // Valid values are `disable` or `enable`. + // Default is `disable`. + // Only valid when `mode` is `enforce`. + ElasticFileSystemExclusion pulumi.StringPtrInput + // Whether to exclude Internet Gateways from encryption enforcement. + // Valid values are `disable` or `enable`. + // Default is `disable`. + // Only valid when `mode` is `enforce`. + InternetGatewayExclusion pulumi.StringPtrInput + // Whether to exclude Lambda Functions from encryption enforcement. + // Valid values are `disable` or `enable`. + // Default is `disable`. + // Only valid when `mode` is `enforce`. + LambdaExclusion pulumi.StringPtrInput + // Mode to enable for VPC Encryption Control. + // Valid values are `monitor` or `enforce`. + Mode pulumi.StringPtrInput + // Whether to exclude NAT Gateways from encryption enforcement. + // Valid values are `disable` or `enable`. + // Default is `disable`. + // Only valid when `mode` is `enforce`. + NatGatewayExclusion pulumi.StringPtrInput + // Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration. + Region pulumi.StringPtrInput + // State of exclusions from encryption enforcement. + // Will be `nil` if `mode` is `monitor`. + // See `resourceExclusions` below + ResourceExclusions EncryptionControlResourceExclusionsPtrInput + // The current state of the VPC Encryption Control. + State pulumi.StringPtrInput + // A message providing additional information about the state of the VPC Encryption Control. + StateMessage pulumi.StringPtrInput + // A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + Tags pulumi.StringMapInput + // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + TagsAll pulumi.StringMapInput + Timeouts EncryptionControlTimeoutsPtrInput + // Whether to exclude Virtual Private Gateways from encryption enforcement. + // Valid values are `disable` or `enable`. + // Default is `disable`. + // Only valid when `mode` is `enforce`. + VirtualPrivateGatewayExclusion pulumi.StringPtrInput + // The ID of the VPC the VPC Encryption Control is linked to. + // + // The following arguments are optional: + VpcId pulumi.StringPtrInput + // Whether to exclude VPC Lattice from encryption enforcement. + // Valid values are `disable` or `enable`. + // Default is `disable`. + // Only valid when `mode` is `enforce`. + VpcLatticeExclusion pulumi.StringPtrInput + // Whether to exclude peered VPCs from encryption enforcement. + // Valid values are `disable` or `enable`. + // Default is `disable`. + // Only valid when `mode` is `enforce`. + VpcPeeringExclusion pulumi.StringPtrInput +} + +func (EncryptionControlState) ElementType() reflect.Type { + return reflect.TypeOf((*encryptionControlState)(nil)).Elem() +} + +type encryptionControlArgs struct { + // Whether to exclude Egress-Only Internet Gateways from encryption enforcement. + // Valid values are `disable` or `enable`. + // Default is `disable`. + // Only valid when `mode` is `enforce`. + EgressOnlyInternetGatewayExclusion *string `pulumi:"egressOnlyInternetGatewayExclusion"` + // Whether to exclude Elastic File System (EFS) from encryption enforcement. + // Valid values are `disable` or `enable`. + // Default is `disable`. + // Only valid when `mode` is `enforce`. + ElasticFileSystemExclusion *string `pulumi:"elasticFileSystemExclusion"` + // Whether to exclude Internet Gateways from encryption enforcement. + // Valid values are `disable` or `enable`. + // Default is `disable`. + // Only valid when `mode` is `enforce`. + InternetGatewayExclusion *string `pulumi:"internetGatewayExclusion"` + // Whether to exclude Lambda Functions from encryption enforcement. + // Valid values are `disable` or `enable`. + // Default is `disable`. + // Only valid when `mode` is `enforce`. + LambdaExclusion *string `pulumi:"lambdaExclusion"` + // Mode to enable for VPC Encryption Control. + // Valid values are `monitor` or `enforce`. + Mode string `pulumi:"mode"` + // Whether to exclude NAT Gateways from encryption enforcement. + // Valid values are `disable` or `enable`. + // Default is `disable`. + // Only valid when `mode` is `enforce`. + NatGatewayExclusion *string `pulumi:"natGatewayExclusion"` + // Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration. + Region *string `pulumi:"region"` + // A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + Tags map[string]string `pulumi:"tags"` + Timeouts *EncryptionControlTimeouts `pulumi:"timeouts"` + // Whether to exclude Virtual Private Gateways from encryption enforcement. + // Valid values are `disable` or `enable`. + // Default is `disable`. + // Only valid when `mode` is `enforce`. + VirtualPrivateGatewayExclusion *string `pulumi:"virtualPrivateGatewayExclusion"` + // The ID of the VPC the VPC Encryption Control is linked to. + // + // The following arguments are optional: + VpcId string `pulumi:"vpcId"` + // Whether to exclude VPC Lattice from encryption enforcement. + // Valid values are `disable` or `enable`. + // Default is `disable`. + // Only valid when `mode` is `enforce`. + VpcLatticeExclusion *string `pulumi:"vpcLatticeExclusion"` + // Whether to exclude peered VPCs from encryption enforcement. + // Valid values are `disable` or `enable`. + // Default is `disable`. + // Only valid when `mode` is `enforce`. + VpcPeeringExclusion *string `pulumi:"vpcPeeringExclusion"` +} + +// The set of arguments for constructing a EncryptionControl resource. +type EncryptionControlArgs struct { + // Whether to exclude Egress-Only Internet Gateways from encryption enforcement. + // Valid values are `disable` or `enable`. + // Default is `disable`. + // Only valid when `mode` is `enforce`. + EgressOnlyInternetGatewayExclusion pulumi.StringPtrInput + // Whether to exclude Elastic File System (EFS) from encryption enforcement. + // Valid values are `disable` or `enable`. + // Default is `disable`. + // Only valid when `mode` is `enforce`. + ElasticFileSystemExclusion pulumi.StringPtrInput + // Whether to exclude Internet Gateways from encryption enforcement. + // Valid values are `disable` or `enable`. + // Default is `disable`. + // Only valid when `mode` is `enforce`. + InternetGatewayExclusion pulumi.StringPtrInput + // Whether to exclude Lambda Functions from encryption enforcement. + // Valid values are `disable` or `enable`. + // Default is `disable`. + // Only valid when `mode` is `enforce`. + LambdaExclusion pulumi.StringPtrInput + // Mode to enable for VPC Encryption Control. + // Valid values are `monitor` or `enforce`. + Mode pulumi.StringInput + // Whether to exclude NAT Gateways from encryption enforcement. + // Valid values are `disable` or `enable`. + // Default is `disable`. + // Only valid when `mode` is `enforce`. + NatGatewayExclusion pulumi.StringPtrInput + // Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration. + Region pulumi.StringPtrInput + // A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + Tags pulumi.StringMapInput + Timeouts EncryptionControlTimeoutsPtrInput + // Whether to exclude Virtual Private Gateways from encryption enforcement. + // Valid values are `disable` or `enable`. + // Default is `disable`. + // Only valid when `mode` is `enforce`. + VirtualPrivateGatewayExclusion pulumi.StringPtrInput + // The ID of the VPC the VPC Encryption Control is linked to. + // + // The following arguments are optional: + VpcId pulumi.StringInput + // Whether to exclude VPC Lattice from encryption enforcement. + // Valid values are `disable` or `enable`. + // Default is `disable`. + // Only valid when `mode` is `enforce`. + VpcLatticeExclusion pulumi.StringPtrInput + // Whether to exclude peered VPCs from encryption enforcement. + // Valid values are `disable` or `enable`. + // Default is `disable`. + // Only valid when `mode` is `enforce`. + VpcPeeringExclusion pulumi.StringPtrInput +} + +func (EncryptionControlArgs) ElementType() reflect.Type { + return reflect.TypeOf((*encryptionControlArgs)(nil)).Elem() +} + +type EncryptionControlInput interface { + pulumi.Input + + ToEncryptionControlOutput() EncryptionControlOutput + ToEncryptionControlOutputWithContext(ctx context.Context) EncryptionControlOutput +} + +func (*EncryptionControl) ElementType() reflect.Type { + return reflect.TypeOf((**EncryptionControl)(nil)).Elem() +} + +func (i *EncryptionControl) ToEncryptionControlOutput() EncryptionControlOutput { + return i.ToEncryptionControlOutputWithContext(context.Background()) +} + +func (i *EncryptionControl) ToEncryptionControlOutputWithContext(ctx context.Context) EncryptionControlOutput { + return pulumi.ToOutputWithContext(ctx, i).(EncryptionControlOutput) +} + +// EncryptionControlArrayInput is an input type that accepts EncryptionControlArray and EncryptionControlArrayOutput values. +// You can construct a concrete instance of `EncryptionControlArrayInput` via: +// +// EncryptionControlArray{ EncryptionControlArgs{...} } +type EncryptionControlArrayInput interface { + pulumi.Input + + ToEncryptionControlArrayOutput() EncryptionControlArrayOutput + ToEncryptionControlArrayOutputWithContext(context.Context) EncryptionControlArrayOutput +} + +type EncryptionControlArray []EncryptionControlInput + +func (EncryptionControlArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*EncryptionControl)(nil)).Elem() +} + +func (i EncryptionControlArray) ToEncryptionControlArrayOutput() EncryptionControlArrayOutput { + return i.ToEncryptionControlArrayOutputWithContext(context.Background()) +} + +func (i EncryptionControlArray) ToEncryptionControlArrayOutputWithContext(ctx context.Context) EncryptionControlArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(EncryptionControlArrayOutput) +} + +// EncryptionControlMapInput is an input type that accepts EncryptionControlMap and EncryptionControlMapOutput values. +// You can construct a concrete instance of `EncryptionControlMapInput` via: +// +// EncryptionControlMap{ "key": EncryptionControlArgs{...} } +type EncryptionControlMapInput interface { + pulumi.Input + + ToEncryptionControlMapOutput() EncryptionControlMapOutput + ToEncryptionControlMapOutputWithContext(context.Context) EncryptionControlMapOutput +} + +type EncryptionControlMap map[string]EncryptionControlInput + +func (EncryptionControlMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*EncryptionControl)(nil)).Elem() +} + +func (i EncryptionControlMap) ToEncryptionControlMapOutput() EncryptionControlMapOutput { + return i.ToEncryptionControlMapOutputWithContext(context.Background()) +} + +func (i EncryptionControlMap) ToEncryptionControlMapOutputWithContext(ctx context.Context) EncryptionControlMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(EncryptionControlMapOutput) +} + +type EncryptionControlOutput struct{ *pulumi.OutputState } + +func (EncryptionControlOutput) ElementType() reflect.Type { + return reflect.TypeOf((**EncryptionControl)(nil)).Elem() +} + +func (o EncryptionControlOutput) ToEncryptionControlOutput() EncryptionControlOutput { + return o +} + +func (o EncryptionControlOutput) ToEncryptionControlOutputWithContext(ctx context.Context) EncryptionControlOutput { + return o +} + +// Whether to exclude Egress-Only Internet Gateways from encryption enforcement. +// Valid values are `disable` or `enable`. +// Default is `disable`. +// Only valid when `mode` is `enforce`. +func (o EncryptionControlOutput) EgressOnlyInternetGatewayExclusion() pulumi.StringOutput { + return o.ApplyT(func(v *EncryptionControl) pulumi.StringOutput { return v.EgressOnlyInternetGatewayExclusion }).(pulumi.StringOutput) +} + +// Whether to exclude Elastic File System (EFS) from encryption enforcement. +// Valid values are `disable` or `enable`. +// Default is `disable`. +// Only valid when `mode` is `enforce`. +func (o EncryptionControlOutput) ElasticFileSystemExclusion() pulumi.StringOutput { + return o.ApplyT(func(v *EncryptionControl) pulumi.StringOutput { return v.ElasticFileSystemExclusion }).(pulumi.StringOutput) +} + +// Whether to exclude Internet Gateways from encryption enforcement. +// Valid values are `disable` or `enable`. +// Default is `disable`. +// Only valid when `mode` is `enforce`. +func (o EncryptionControlOutput) InternetGatewayExclusion() pulumi.StringOutput { + return o.ApplyT(func(v *EncryptionControl) pulumi.StringOutput { return v.InternetGatewayExclusion }).(pulumi.StringOutput) +} + +// Whether to exclude Lambda Functions from encryption enforcement. +// Valid values are `disable` or `enable`. +// Default is `disable`. +// Only valid when `mode` is `enforce`. +func (o EncryptionControlOutput) LambdaExclusion() pulumi.StringOutput { + return o.ApplyT(func(v *EncryptionControl) pulumi.StringOutput { return v.LambdaExclusion }).(pulumi.StringOutput) +} + +// Mode to enable for VPC Encryption Control. +// Valid values are `monitor` or `enforce`. +func (o EncryptionControlOutput) Mode() pulumi.StringOutput { + return o.ApplyT(func(v *EncryptionControl) pulumi.StringOutput { return v.Mode }).(pulumi.StringOutput) +} + +// Whether to exclude NAT Gateways from encryption enforcement. +// Valid values are `disable` or `enable`. +// Default is `disable`. +// Only valid when `mode` is `enforce`. +func (o EncryptionControlOutput) NatGatewayExclusion() pulumi.StringOutput { + return o.ApplyT(func(v *EncryptionControl) pulumi.StringOutput { return v.NatGatewayExclusion }).(pulumi.StringOutput) +} + +// Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration. +func (o EncryptionControlOutput) Region() pulumi.StringOutput { + return o.ApplyT(func(v *EncryptionControl) pulumi.StringOutput { return v.Region }).(pulumi.StringOutput) +} + +// State of exclusions from encryption enforcement. +// Will be `nil` if `mode` is `monitor`. +// See `resourceExclusions` below +func (o EncryptionControlOutput) ResourceExclusions() EncryptionControlResourceExclusionsOutput { + return o.ApplyT(func(v *EncryptionControl) EncryptionControlResourceExclusionsOutput { return v.ResourceExclusions }).(EncryptionControlResourceExclusionsOutput) +} + +// The current state of the VPC Encryption Control. +func (o EncryptionControlOutput) State() pulumi.StringOutput { + return o.ApplyT(func(v *EncryptionControl) pulumi.StringOutput { return v.State }).(pulumi.StringOutput) +} + +// A message providing additional information about the state of the VPC Encryption Control. +func (o EncryptionControlOutput) StateMessage() pulumi.StringOutput { + return o.ApplyT(func(v *EncryptionControl) pulumi.StringOutput { return v.StateMessage }).(pulumi.StringOutput) +} + +// A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. +func (o EncryptionControlOutput) Tags() pulumi.StringMapOutput { + return o.ApplyT(func(v *EncryptionControl) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput) +} + +// A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. +func (o EncryptionControlOutput) TagsAll() pulumi.StringMapOutput { + return o.ApplyT(func(v *EncryptionControl) pulumi.StringMapOutput { return v.TagsAll }).(pulumi.StringMapOutput) +} + +func (o EncryptionControlOutput) Timeouts() EncryptionControlTimeoutsPtrOutput { + return o.ApplyT(func(v *EncryptionControl) EncryptionControlTimeoutsPtrOutput { return v.Timeouts }).(EncryptionControlTimeoutsPtrOutput) +} + +// Whether to exclude Virtual Private Gateways from encryption enforcement. +// Valid values are `disable` or `enable`. +// Default is `disable`. +// Only valid when `mode` is `enforce`. +func (o EncryptionControlOutput) VirtualPrivateGatewayExclusion() pulumi.StringOutput { + return o.ApplyT(func(v *EncryptionControl) pulumi.StringOutput { return v.VirtualPrivateGatewayExclusion }).(pulumi.StringOutput) +} + +// The ID of the VPC the VPC Encryption Control is linked to. +// +// The following arguments are optional: +func (o EncryptionControlOutput) VpcId() pulumi.StringOutput { + return o.ApplyT(func(v *EncryptionControl) pulumi.StringOutput { return v.VpcId }).(pulumi.StringOutput) +} + +// Whether to exclude VPC Lattice from encryption enforcement. +// Valid values are `disable` or `enable`. +// Default is `disable`. +// Only valid when `mode` is `enforce`. +func (o EncryptionControlOutput) VpcLatticeExclusion() pulumi.StringOutput { + return o.ApplyT(func(v *EncryptionControl) pulumi.StringOutput { return v.VpcLatticeExclusion }).(pulumi.StringOutput) +} + +// Whether to exclude peered VPCs from encryption enforcement. +// Valid values are `disable` or `enable`. +// Default is `disable`. +// Only valid when `mode` is `enforce`. +func (o EncryptionControlOutput) VpcPeeringExclusion() pulumi.StringOutput { + return o.ApplyT(func(v *EncryptionControl) pulumi.StringOutput { return v.VpcPeeringExclusion }).(pulumi.StringOutput) +} + +type EncryptionControlArrayOutput struct{ *pulumi.OutputState } + +func (EncryptionControlArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*EncryptionControl)(nil)).Elem() +} + +func (o EncryptionControlArrayOutput) ToEncryptionControlArrayOutput() EncryptionControlArrayOutput { + return o +} + +func (o EncryptionControlArrayOutput) ToEncryptionControlArrayOutputWithContext(ctx context.Context) EncryptionControlArrayOutput { + return o +} + +func (o EncryptionControlArrayOutput) Index(i pulumi.IntInput) EncryptionControlOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *EncryptionControl { + return vs[0].([]*EncryptionControl)[vs[1].(int)] + }).(EncryptionControlOutput) +} + +type EncryptionControlMapOutput struct{ *pulumi.OutputState } + +func (EncryptionControlMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*EncryptionControl)(nil)).Elem() +} + +func (o EncryptionControlMapOutput) ToEncryptionControlMapOutput() EncryptionControlMapOutput { + return o +} + +func (o EncryptionControlMapOutput) ToEncryptionControlMapOutputWithContext(ctx context.Context) EncryptionControlMapOutput { + return o +} + +func (o EncryptionControlMapOutput) MapIndex(k pulumi.StringInput) EncryptionControlOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *EncryptionControl { + return vs[0].(map[string]*EncryptionControl)[vs[1].(string)] + }).(EncryptionControlOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*EncryptionControlInput)(nil)).Elem(), &EncryptionControl{}) + pulumi.RegisterInputType(reflect.TypeOf((*EncryptionControlArrayInput)(nil)).Elem(), EncryptionControlArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*EncryptionControlMapInput)(nil)).Elem(), EncryptionControlMap{}) + pulumi.RegisterOutputType(EncryptionControlOutput{}) + pulumi.RegisterOutputType(EncryptionControlArrayOutput{}) + pulumi.RegisterOutputType(EncryptionControlMapOutput{}) +} diff --git a/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/ec2/flowLog.go b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/ec2/flowLog.go index 49b1ca810..5742d0e77 100644 --- a/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/ec2/flowLog.go +++ b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/ec2/flowLog.go @@ -409,21 +409,23 @@ type FlowLog struct { MaxAggregationInterval pulumi.IntPtrOutput `pulumi:"maxAggregationInterval"` // Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration. Region pulumi.StringOutput `pulumi:"region"` + // Regional NAT Gateway ID to attach to. + RegionalNatGatewayId pulumi.StringPtrOutput `pulumi:"regionalNatGatewayId"` // Subnet ID to attach to. SubnetId pulumi.StringPtrOutput `pulumi:"subnetId"` // Key-value map of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. - // - // > **NOTE:** One of `eniId`, `subnetId`, `transitGatewayId`, `transitGatewayAttachmentId`, or `vpcId` must be specified. Tags pulumi.StringMapOutput `pulumi:"tags"` // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"` - // The type of traffic to capture. Valid values: `ACCEPT`,`REJECT`, `ALL`. + // The type of traffic to capture. Valid values: `ACCEPT`,`REJECT`, `ALL`. Required if `eniId`, `regionalNatGatewayId`, `subnetId`, or `vpcId` is specified. TrafficType pulumi.StringPtrOutput `pulumi:"trafficType"` // Transit Gateway Attachment ID to attach to. TransitGatewayAttachmentId pulumi.StringPtrOutput `pulumi:"transitGatewayAttachmentId"` // Transit Gateway ID to attach to. TransitGatewayId pulumi.StringPtrOutput `pulumi:"transitGatewayId"` // VPC ID to attach to. + // + // > **NOTE:** One of `eniId`, `regionalNatGatewayId`, `subnetId`, `transitGatewayId`, `transitGatewayAttachmentId`, or `vpcId` must be specified. VpcId pulumi.StringPtrOutput `pulumi:"vpcId"` } @@ -479,21 +481,23 @@ type flowLogState struct { MaxAggregationInterval *int `pulumi:"maxAggregationInterval"` // Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration. Region *string `pulumi:"region"` + // Regional NAT Gateway ID to attach to. + RegionalNatGatewayId *string `pulumi:"regionalNatGatewayId"` // Subnet ID to attach to. SubnetId *string `pulumi:"subnetId"` // Key-value map of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. - // - // > **NOTE:** One of `eniId`, `subnetId`, `transitGatewayId`, `transitGatewayAttachmentId`, or `vpcId` must be specified. Tags map[string]string `pulumi:"tags"` // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. TagsAll map[string]string `pulumi:"tagsAll"` - // The type of traffic to capture. Valid values: `ACCEPT`,`REJECT`, `ALL`. + // The type of traffic to capture. Valid values: `ACCEPT`,`REJECT`, `ALL`. Required if `eniId`, `regionalNatGatewayId`, `subnetId`, or `vpcId` is specified. TrafficType *string `pulumi:"trafficType"` // Transit Gateway Attachment ID to attach to. TransitGatewayAttachmentId *string `pulumi:"transitGatewayAttachmentId"` // Transit Gateway ID to attach to. TransitGatewayId *string `pulumi:"transitGatewayId"` // VPC ID to attach to. + // + // > **NOTE:** One of `eniId`, `regionalNatGatewayId`, `subnetId`, `transitGatewayId`, `transitGatewayAttachmentId`, or `vpcId` must be specified. VpcId *string `pulumi:"vpcId"` } @@ -520,21 +524,23 @@ type FlowLogState struct { MaxAggregationInterval pulumi.IntPtrInput // Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration. Region pulumi.StringPtrInput + // Regional NAT Gateway ID to attach to. + RegionalNatGatewayId pulumi.StringPtrInput // Subnet ID to attach to. SubnetId pulumi.StringPtrInput // Key-value map of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. - // - // > **NOTE:** One of `eniId`, `subnetId`, `transitGatewayId`, `transitGatewayAttachmentId`, or `vpcId` must be specified. Tags pulumi.StringMapInput // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. TagsAll pulumi.StringMapInput - // The type of traffic to capture. Valid values: `ACCEPT`,`REJECT`, `ALL`. + // The type of traffic to capture. Valid values: `ACCEPT`,`REJECT`, `ALL`. Required if `eniId`, `regionalNatGatewayId`, `subnetId`, or `vpcId` is specified. TrafficType pulumi.StringPtrInput // Transit Gateway Attachment ID to attach to. TransitGatewayAttachmentId pulumi.StringPtrInput // Transit Gateway ID to attach to. TransitGatewayId pulumi.StringPtrInput // VPC ID to attach to. + // + // > **NOTE:** One of `eniId`, `regionalNatGatewayId`, `subnetId`, `transitGatewayId`, `transitGatewayAttachmentId`, or `vpcId` must be specified. VpcId pulumi.StringPtrInput } @@ -563,19 +569,21 @@ type flowLogArgs struct { MaxAggregationInterval *int `pulumi:"maxAggregationInterval"` // Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration. Region *string `pulumi:"region"` + // Regional NAT Gateway ID to attach to. + RegionalNatGatewayId *string `pulumi:"regionalNatGatewayId"` // Subnet ID to attach to. SubnetId *string `pulumi:"subnetId"` // Key-value map of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. - // - // > **NOTE:** One of `eniId`, `subnetId`, `transitGatewayId`, `transitGatewayAttachmentId`, or `vpcId` must be specified. Tags map[string]string `pulumi:"tags"` - // The type of traffic to capture. Valid values: `ACCEPT`,`REJECT`, `ALL`. + // The type of traffic to capture. Valid values: `ACCEPT`,`REJECT`, `ALL`. Required if `eniId`, `regionalNatGatewayId`, `subnetId`, or `vpcId` is specified. TrafficType *string `pulumi:"trafficType"` // Transit Gateway Attachment ID to attach to. TransitGatewayAttachmentId *string `pulumi:"transitGatewayAttachmentId"` // Transit Gateway ID to attach to. TransitGatewayId *string `pulumi:"transitGatewayId"` // VPC ID to attach to. + // + // > **NOTE:** One of `eniId`, `regionalNatGatewayId`, `subnetId`, `transitGatewayId`, `transitGatewayAttachmentId`, or `vpcId` must be specified. VpcId *string `pulumi:"vpcId"` } @@ -601,19 +609,21 @@ type FlowLogArgs struct { MaxAggregationInterval pulumi.IntPtrInput // Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration. Region pulumi.StringPtrInput + // Regional NAT Gateway ID to attach to. + RegionalNatGatewayId pulumi.StringPtrInput // Subnet ID to attach to. SubnetId pulumi.StringPtrInput // Key-value map of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. - // - // > **NOTE:** One of `eniId`, `subnetId`, `transitGatewayId`, `transitGatewayAttachmentId`, or `vpcId` must be specified. Tags pulumi.StringMapInput - // The type of traffic to capture. Valid values: `ACCEPT`,`REJECT`, `ALL`. + // The type of traffic to capture. Valid values: `ACCEPT`,`REJECT`, `ALL`. Required if `eniId`, `regionalNatGatewayId`, `subnetId`, or `vpcId` is specified. TrafficType pulumi.StringPtrInput // Transit Gateway Attachment ID to attach to. TransitGatewayAttachmentId pulumi.StringPtrInput // Transit Gateway ID to attach to. TransitGatewayId pulumi.StringPtrInput // VPC ID to attach to. + // + // > **NOTE:** One of `eniId`, `regionalNatGatewayId`, `subnetId`, `transitGatewayId`, `transitGatewayAttachmentId`, or `vpcId` must be specified. VpcId pulumi.StringPtrInput } @@ -756,14 +766,17 @@ func (o FlowLogOutput) Region() pulumi.StringOutput { return o.ApplyT(func(v *FlowLog) pulumi.StringOutput { return v.Region }).(pulumi.StringOutput) } +// Regional NAT Gateway ID to attach to. +func (o FlowLogOutput) RegionalNatGatewayId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *FlowLog) pulumi.StringPtrOutput { return v.RegionalNatGatewayId }).(pulumi.StringPtrOutput) +} + // Subnet ID to attach to. func (o FlowLogOutput) SubnetId() pulumi.StringPtrOutput { return o.ApplyT(func(v *FlowLog) pulumi.StringPtrOutput { return v.SubnetId }).(pulumi.StringPtrOutput) } // Key-value map of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. -// -// > **NOTE:** One of `eniId`, `subnetId`, `transitGatewayId`, `transitGatewayAttachmentId`, or `vpcId` must be specified. func (o FlowLogOutput) Tags() pulumi.StringMapOutput { return o.ApplyT(func(v *FlowLog) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput) } @@ -773,7 +786,7 @@ func (o FlowLogOutput) TagsAll() pulumi.StringMapOutput { return o.ApplyT(func(v *FlowLog) pulumi.StringMapOutput { return v.TagsAll }).(pulumi.StringMapOutput) } -// The type of traffic to capture. Valid values: `ACCEPT`,`REJECT`, `ALL`. +// The type of traffic to capture. Valid values: `ACCEPT`,`REJECT`, `ALL`. Required if `eniId`, `regionalNatGatewayId`, `subnetId`, or `vpcId` is specified. func (o FlowLogOutput) TrafficType() pulumi.StringPtrOutput { return o.ApplyT(func(v *FlowLog) pulumi.StringPtrOutput { return v.TrafficType }).(pulumi.StringPtrOutput) } @@ -789,6 +802,8 @@ func (o FlowLogOutput) TransitGatewayId() pulumi.StringPtrOutput { } // VPC ID to attach to. +// +// > **NOTE:** One of `eniId`, `regionalNatGatewayId`, `subnetId`, `transitGatewayId`, `transitGatewayAttachmentId`, or `vpcId` must be specified. func (o FlowLogOutput) VpcId() pulumi.StringPtrOutput { return o.ApplyT(func(v *FlowLog) pulumi.StringPtrOutput { return v.VpcId }).(pulumi.StringPtrOutput) } diff --git a/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/ec2/getNatGateway.go b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/ec2/getNatGateway.go index 95222a0b1..75872cc49 100644 --- a/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/ec2/getNatGateway.go +++ b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/ec2/getNatGateway.go @@ -102,26 +102,38 @@ type LookupNatGatewayArgs struct { // A collection of values returned by getNatGateway. type LookupNatGatewayResult struct { - // ID of the EIP allocated to the selected NAT Gateway. + // Allocation ID of the Elastic IP address. AllocationId string `pulumi:"allocationId"` - // The association ID of the Elastic IP address that's associated with the NAT Gateway. Only available when `connectivityType` is `public`. + // Association ID of the Elastic IP address. AssociationId string `pulumi:"associationId"` + // (regional NAT gateways only) Indicates whether AWS automatically manages AZ coverage. + AutoProvisionZones string `pulumi:"autoProvisionZones"` + // (regional NAT gateways only) Indicates whether AWS automatically allocates additional Elastic IP addresses (EIPs) in an AZ when the NAT gateway needs more ports due to increased concurrent connections to a single destination from that AZ. + AutoScalingIps string `pulumi:"autoScalingIps"` + // Specifies whether to create a zonal (single-AZ) or regional (multi-AZ) NAT gateway. + AvailabilityMode string `pulumi:"availabilityMode"` + // (regional NAT gateways only) Repeatable configuration block for the Elastic IP addresses (EIPs) and availability zones for the regional NAT gateway. + AvailabilityZoneAddresses []GetNatGatewayAvailabilityZoneAddress `pulumi:"availabilityZoneAddresses"` // Connectivity type of the NAT Gateway. ConnectivityType string `pulumi:"connectivityType"` Filters []GetNatGatewayFilter `pulumi:"filters"` Id string `pulumi:"id"` - // The ID of the ENI allocated to the selected NAT Gateway. + // ID of the network interface. NetworkInterfaceId string `pulumi:"networkInterfaceId"` - // Private IP address of the selected NAT Gateway. + // (zonal NAT gateways only) Private IP address of the selected NAT Gateway. PrivateIp string `pulumi:"privateIp"` - // Public IP (EIP) address of the selected NAT Gateway. + // Public IP address. PublicIp string `pulumi:"publicIp"` Region string `pulumi:"region"` - // Secondary allocation EIP IDs for the selected NAT Gateway. + // (regional NAT gateways only) Repeatable blocks for information about the IP addresses and network interface associated with the regional NAT gateway. + RegionalNatGatewayAddresses []GetNatGatewayRegionalNatGatewayAddress `pulumi:"regionalNatGatewayAddresses"` + // (regional NAT gateways only) ID of the automatically created route table. + RouteTableId string `pulumi:"routeTableId"` + // (zonal NAT gateways only) Secondary allocation EIP IDs for the selected NAT Gateway. SecondaryAllocationIds []string `pulumi:"secondaryAllocationIds"` - // The number of secondary private IPv4 addresses assigned to the selected NAT Gateway. + // (zonal NAT gateways only) The number of secondary private IPv4 addresses assigned to the selected NAT Gateway. SecondaryPrivateIpAddressCount int `pulumi:"secondaryPrivateIpAddressCount"` - // Secondary private IPv4 addresses assigned to the selected NAT Gateway. + // (zonal NAT gateways only) Secondary private IPv4 addresses assigned to the selected NAT Gateway. SecondaryPrivateIpAddresses []string `pulumi:"secondaryPrivateIpAddresses"` State string `pulumi:"state"` SubnetId string `pulumi:"subnetId"` @@ -180,16 +192,38 @@ func (o LookupNatGatewayResultOutput) ToLookupNatGatewayResultOutputWithContext( return o } -// ID of the EIP allocated to the selected NAT Gateway. +// Allocation ID of the Elastic IP address. func (o LookupNatGatewayResultOutput) AllocationId() pulumi.StringOutput { return o.ApplyT(func(v LookupNatGatewayResult) string { return v.AllocationId }).(pulumi.StringOutput) } -// The association ID of the Elastic IP address that's associated with the NAT Gateway. Only available when `connectivityType` is `public`. +// Association ID of the Elastic IP address. func (o LookupNatGatewayResultOutput) AssociationId() pulumi.StringOutput { return o.ApplyT(func(v LookupNatGatewayResult) string { return v.AssociationId }).(pulumi.StringOutput) } +// (regional NAT gateways only) Indicates whether AWS automatically manages AZ coverage. +func (o LookupNatGatewayResultOutput) AutoProvisionZones() pulumi.StringOutput { + return o.ApplyT(func(v LookupNatGatewayResult) string { return v.AutoProvisionZones }).(pulumi.StringOutput) +} + +// (regional NAT gateways only) Indicates whether AWS automatically allocates additional Elastic IP addresses (EIPs) in an AZ when the NAT gateway needs more ports due to increased concurrent connections to a single destination from that AZ. +func (o LookupNatGatewayResultOutput) AutoScalingIps() pulumi.StringOutput { + return o.ApplyT(func(v LookupNatGatewayResult) string { return v.AutoScalingIps }).(pulumi.StringOutput) +} + +// Specifies whether to create a zonal (single-AZ) or regional (multi-AZ) NAT gateway. +func (o LookupNatGatewayResultOutput) AvailabilityMode() pulumi.StringOutput { + return o.ApplyT(func(v LookupNatGatewayResult) string { return v.AvailabilityMode }).(pulumi.StringOutput) +} + +// (regional NAT gateways only) Repeatable configuration block for the Elastic IP addresses (EIPs) and availability zones for the regional NAT gateway. +func (o LookupNatGatewayResultOutput) AvailabilityZoneAddresses() GetNatGatewayAvailabilityZoneAddressArrayOutput { + return o.ApplyT(func(v LookupNatGatewayResult) []GetNatGatewayAvailabilityZoneAddress { + return v.AvailabilityZoneAddresses + }).(GetNatGatewayAvailabilityZoneAddressArrayOutput) +} + // Connectivity type of the NAT Gateway. func (o LookupNatGatewayResultOutput) ConnectivityType() pulumi.StringOutput { return o.ApplyT(func(v LookupNatGatewayResult) string { return v.ConnectivityType }).(pulumi.StringOutput) @@ -203,17 +237,17 @@ func (o LookupNatGatewayResultOutput) Id() pulumi.StringOutput { return o.ApplyT(func(v LookupNatGatewayResult) string { return v.Id }).(pulumi.StringOutput) } -// The ID of the ENI allocated to the selected NAT Gateway. +// ID of the network interface. func (o LookupNatGatewayResultOutput) NetworkInterfaceId() pulumi.StringOutput { return o.ApplyT(func(v LookupNatGatewayResult) string { return v.NetworkInterfaceId }).(pulumi.StringOutput) } -// Private IP address of the selected NAT Gateway. +// (zonal NAT gateways only) Private IP address of the selected NAT Gateway. func (o LookupNatGatewayResultOutput) PrivateIp() pulumi.StringOutput { return o.ApplyT(func(v LookupNatGatewayResult) string { return v.PrivateIp }).(pulumi.StringOutput) } -// Public IP (EIP) address of the selected NAT Gateway. +// Public IP address. func (o LookupNatGatewayResultOutput) PublicIp() pulumi.StringOutput { return o.ApplyT(func(v LookupNatGatewayResult) string { return v.PublicIp }).(pulumi.StringOutput) } @@ -222,17 +256,29 @@ func (o LookupNatGatewayResultOutput) Region() pulumi.StringOutput { return o.ApplyT(func(v LookupNatGatewayResult) string { return v.Region }).(pulumi.StringOutput) } -// Secondary allocation EIP IDs for the selected NAT Gateway. +// (regional NAT gateways only) Repeatable blocks for information about the IP addresses and network interface associated with the regional NAT gateway. +func (o LookupNatGatewayResultOutput) RegionalNatGatewayAddresses() GetNatGatewayRegionalNatGatewayAddressArrayOutput { + return o.ApplyT(func(v LookupNatGatewayResult) []GetNatGatewayRegionalNatGatewayAddress { + return v.RegionalNatGatewayAddresses + }).(GetNatGatewayRegionalNatGatewayAddressArrayOutput) +} + +// (regional NAT gateways only) ID of the automatically created route table. +func (o LookupNatGatewayResultOutput) RouteTableId() pulumi.StringOutput { + return o.ApplyT(func(v LookupNatGatewayResult) string { return v.RouteTableId }).(pulumi.StringOutput) +} + +// (zonal NAT gateways only) Secondary allocation EIP IDs for the selected NAT Gateway. func (o LookupNatGatewayResultOutput) SecondaryAllocationIds() pulumi.StringArrayOutput { return o.ApplyT(func(v LookupNatGatewayResult) []string { return v.SecondaryAllocationIds }).(pulumi.StringArrayOutput) } -// The number of secondary private IPv4 addresses assigned to the selected NAT Gateway. +// (zonal NAT gateways only) The number of secondary private IPv4 addresses assigned to the selected NAT Gateway. func (o LookupNatGatewayResultOutput) SecondaryPrivateIpAddressCount() pulumi.IntOutput { return o.ApplyT(func(v LookupNatGatewayResult) int { return v.SecondaryPrivateIpAddressCount }).(pulumi.IntOutput) } -// Secondary private IPv4 addresses assigned to the selected NAT Gateway. +// (zonal NAT gateways only) Secondary private IPv4 addresses assigned to the selected NAT Gateway. func (o LookupNatGatewayResultOutput) SecondaryPrivateIpAddresses() pulumi.StringArrayOutput { return o.ApplyT(func(v LookupNatGatewayResult) []string { return v.SecondaryPrivateIpAddresses }).(pulumi.StringArrayOutput) } diff --git a/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/ec2/getVpnConnection.go b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/ec2/getVpnConnection.go index 32b9d34bf..87ddebf43 100644 --- a/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/ec2/getVpnConnection.go +++ b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/ec2/getVpnConnection.go @@ -126,8 +126,10 @@ type LookupVpnConnectionResult struct { // Type of VPN connection. Currently the only supported type is ipsec.1. Type string `pulumi:"type"` // List of objects containing information about the VPN tunnel. - VgwTelemetries []GetVpnConnectionVgwTelemetry `pulumi:"vgwTelemetries"` - VpnConnectionId string `pulumi:"vpnConnectionId"` + VgwTelemetries []GetVpnConnectionVgwTelemetry `pulumi:"vgwTelemetries"` + // ID of a VPN concentrator associated with the VPN connection. + VpnConcentratorId string `pulumi:"vpnConcentratorId"` + VpnConnectionId string `pulumi:"vpnConnectionId"` // ID of a virtual private gateway associated with the VPN connection. VpnGatewayId string `pulumi:"vpnGatewayId"` } @@ -248,6 +250,11 @@ func (o LookupVpnConnectionResultOutput) VgwTelemetries() GetVpnConnectionVgwTel return o.ApplyT(func(v LookupVpnConnectionResult) []GetVpnConnectionVgwTelemetry { return v.VgwTelemetries }).(GetVpnConnectionVgwTelemetryArrayOutput) } +// ID of a VPN concentrator associated with the VPN connection. +func (o LookupVpnConnectionResultOutput) VpnConcentratorId() pulumi.StringOutput { + return o.ApplyT(func(v LookupVpnConnectionResult) string { return v.VpnConcentratorId }).(pulumi.StringOutput) +} + func (o LookupVpnConnectionResultOutput) VpnConnectionId() pulumi.StringOutput { return o.ApplyT(func(v LookupVpnConnectionResult) string { return v.VpnConnectionId }).(pulumi.StringOutput) } diff --git a/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/ec2/init.go b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/ec2/init.go index a426a2203..be40d1940 100644 --- a/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/ec2/init.go +++ b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/ec2/init.go @@ -65,6 +65,8 @@ func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi r = &EipAssociation{} case "aws:ec2/eipDomainName:EipDomainName": r = &EipDomainName{} + case "aws:ec2/encryptionControl:EncryptionControl": + r = &EncryptionControl{} case "aws:ec2/fleet:Fleet": r = &Fleet{} case "aws:ec2/flowLog:FlowLog": @@ -171,6 +173,8 @@ func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi r = &VpcDhcpOptions{} case "aws:ec2/vpcDhcpOptionsAssociation:VpcDhcpOptionsAssociation": r = &VpcDhcpOptionsAssociation{} + case "aws:ec2/vpcEncryptionControl:VpcEncryptionControl": + r = &VpcEncryptionControl{} case "aws:ec2/vpcEndpoint:VpcEndpoint": r = &VpcEndpoint{} case "aws:ec2/vpcEndpointConnectionAccepter:VpcEndpointConnectionAccepter": @@ -215,6 +219,8 @@ func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi r = &VpcPeeringConnection{} case "aws:ec2/vpcPeeringConnectionAccepter:VpcPeeringConnectionAccepter": r = &VpcPeeringConnectionAccepter{} + case "aws:ec2/vpnConcentrator:VpnConcentrator": + r = &VpnConcentrator{} case "aws:ec2/vpnConnection:VpnConnection": r = &VpnConnection{} case "aws:ec2/vpnConnectionRoute:VpnConnectionRoute": @@ -348,6 +354,11 @@ func init() { "ec2/eipDomainName", &module{version}, ) + pulumi.RegisterResourceModule( + "aws", + "ec2/encryptionControl", + &module{version}, + ) pulumi.RegisterResourceModule( "aws", "ec2/fleet", @@ -613,6 +624,11 @@ func init() { "ec2/vpcDhcpOptionsAssociation", &module{version}, ) + pulumi.RegisterResourceModule( + "aws", + "ec2/vpcEncryptionControl", + &module{version}, + ) pulumi.RegisterResourceModule( "aws", "ec2/vpcEndpoint", @@ -723,6 +739,11 @@ func init() { "ec2/vpcPeeringConnectionAccepter", &module{version}, ) + pulumi.RegisterResourceModule( + "aws", + "ec2/vpnConcentrator", + &module{version}, + ) pulumi.RegisterResourceModule( "aws", "ec2/vpnConnection", diff --git a/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/ec2/instance.go b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/ec2/instance.go index 7b6af042b..f5e610a3d 100644 --- a/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/ec2/instance.go +++ b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/ec2/instance.go @@ -357,8 +357,6 @@ import ( // // Using `pulumi import`, import instances using the `id`. For example: // -// console -// // % pulumi import aws_instance.web i-12345678 type Instance struct { pulumi.CustomResourceState diff --git a/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/ec2/natGateway.go b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/ec2/natGateway.go index 6b621bbc6..83b7530cc 100644 --- a/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/ec2/natGateway.go +++ b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/ec2/natGateway.go @@ -7,7 +7,6 @@ import ( "context" "reflect" - "errors" "github.com/pulumi/pulumi-aws/sdk/v7/go/aws/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -138,6 +137,121 @@ import ( // // ``` // +// ### Regional NAT Gateway with auto mode +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-aws/sdk/v7/go/aws" +// "github.com/pulumi/pulumi-aws/sdk/v7/go/aws/ec2" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := aws.GetAvailabilityZones(ctx, &aws.GetAvailabilityZonesArgs{}, nil) +// if err != nil { +// return err +// } +// example, err := ec2.NewVpc(ctx, "example", &ec2.VpcArgs{ +// CidrBlock: pulumi.String("10.0.0.0/16"), +// }) +// if err != nil { +// return err +// } +// _, err = ec2.NewInternetGateway(ctx, "example", &ec2.InternetGatewayArgs{ +// VpcId: example.ID(), +// }) +// if err != nil { +// return err +// } +// _, err = ec2.NewNatGateway(ctx, "example", &ec2.NatGatewayArgs{ +// VpcId: example.ID(), +// AvailabilityMode: pulumi.String("regional"), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// ### Regional NAT Gateway with manual mode +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-aws/sdk/v7/go/aws" +// "github.com/pulumi/pulumi-aws/sdk/v7/go/aws/ec2" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// available, err := aws.GetAvailabilityZones(ctx, &aws.GetAvailabilityZonesArgs{}, nil) +// if err != nil { +// return err +// } +// example, err := ec2.NewVpc(ctx, "example", &ec2.VpcArgs{ +// CidrBlock: pulumi.String("10.0.0.0/16"), +// }) +// if err != nil { +// return err +// } +// _, err = ec2.NewInternetGateway(ctx, "example", &ec2.InternetGatewayArgs{ +// VpcId: example.ID(), +// }) +// if err != nil { +// return err +// } +// var exampleEip []*ec2.Eip +// for index := 0; index < 3; index++ { +// key0 := index +// _ := index +// __res, err := ec2.NewEip(ctx, fmt.Sprintf("example-%v", key0), &ec2.EipArgs{ +// Domain: pulumi.String("vpc"), +// }) +// if err != nil { +// return err +// } +// exampleEip = append(exampleEip, __res) +// } +// _, err = ec2.NewNatGateway(ctx, "example", &ec2.NatGatewayArgs{ +// VpcId: example.ID(), +// AvailabilityMode: pulumi.String("regional"), +// AvailabilityZoneAddresses: ec2.NatGatewayAvailabilityZoneAddressArray{ +// &ec2.NatGatewayAvailabilityZoneAddressArgs{ +// AllocationIds: pulumi.StringArray{ +// exampleEip[0].ID(), +// }, +// AvailabilityZone: pulumi.String(available.Names[0]), +// }, +// &ec2.NatGatewayAvailabilityZoneAddressArgs{ +// AllocationIds: pulumi.StringArray{ +// exampleEip[1].ID(), +// exampleEip[2].ID(), +// }, +// AvailabilityZone: pulumi.String(available.Names[1]), +// }, +// }, +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// // ## Import // // Using `pulumi import`, import NAT Gateways using the `id`. For example: @@ -148,44 +262,56 @@ import ( type NatGateway struct { pulumi.CustomResourceState - // The Allocation ID of the Elastic IP address for the NAT Gateway. Required for `connectivityType` of `public`. + // The Allocation ID of the Elastic IP address for the NAT Gateway. Required when `connectivityType` is set to `public` and `availabilityMode` is set to `zonal`. When `availabilityMode` is set to `regional`, this must not be set; instead, use the `availabilityZoneAddress` block to specify EIPs for each AZ. AllocationId pulumi.StringPtrOutput `pulumi:"allocationId"` - // The association ID of the Elastic IP address that's associated with the NAT Gateway. Only available when `connectivityType` is `public`. + // Association ID of the Elastic IP address. AssociationId pulumi.StringOutput `pulumi:"associationId"` - // Connectivity type for the NAT Gateway. Valid values are `private` and `public`. Defaults to `public`. + // (regional NAT gateways only) Indicates whether AWS automatically manages AZ coverage. + AutoProvisionZones pulumi.StringOutput `pulumi:"autoProvisionZones"` + // (regional NAT gateways only) Indicates whether AWS automatically allocates additional Elastic IP addresses (EIPs) in an AZ when the NAT gateway needs more ports due to increased concurrent connections to a single destination from that AZ. + AutoScalingIps pulumi.StringOutput `pulumi:"autoScalingIps"` + // Specifies whether to create a zonal (single-AZ) or regional (multi-AZ) NAT gateway. Valid values are `zonal` and `regional`. Defaults to `zonal`. + AvailabilityMode pulumi.StringOutput `pulumi:"availabilityMode"` + // Repeatable configuration block for the Elastic IP addresses (EIPs) and availability zones for the regional NAT gateway. When not specified, the regional NAT gateway will automatically expand to new AZs and associate EIPs upon detection of an elastic network interface (auto mode). When specified, auto-expansion is disabled (manual mode). See `availabilityZoneAddress` below for details. + AvailabilityZoneAddresses NatGatewayAvailabilityZoneAddressArrayOutput `pulumi:"availabilityZoneAddresses"` + // Connectivity type for the NAT Gateway. Valid values are `private` and `public`. When `availabilityMode` is set to `regional`, this must be set to `public`. Defaults to `public`. ConnectivityType pulumi.StringPtrOutput `pulumi:"connectivityType"` - // The ID of the network interface associated with the NAT Gateway. + // ID of the network interface. NetworkInterfaceId pulumi.StringOutput `pulumi:"networkInterfaceId"` // The private IPv4 address to assign to the NAT Gateway. If you don't provide an address, a private IPv4 address will be automatically assigned. PrivateIp pulumi.StringOutput `pulumi:"privateIp"` - // The Elastic IP address associated with the NAT Gateway. + // Public IP address. PublicIp pulumi.StringOutput `pulumi:"publicIp"` // Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration. Region pulumi.StringOutput `pulumi:"region"` + // (regional NAT gateways only) Repeatable blocks for information about the IP addresses and network interface associated with the regional NAT gateway. + RegionalNatGatewayAddresses NatGatewayRegionalNatGatewayAddressArrayOutput `pulumi:"regionalNatGatewayAddresses"` + RegionalNatGatewayAutoMode pulumi.StringOutput `pulumi:"regionalNatGatewayAutoMode"` + // (regional NAT gateways only) ID of the automatically created route table. + RouteTableId pulumi.StringOutput `pulumi:"routeTableId"` // A list of secondary allocation EIP IDs for this NAT Gateway. To remove all secondary allocations an empty list should be specified. SecondaryAllocationIds pulumi.StringArrayOutput `pulumi:"secondaryAllocationIds"` - // [Private NAT Gateway only] The number of secondary private IPv4 addresses you want to assign to the NAT Gateway. + // The number of secondary private IPv4 addresses you want to assign to the NAT Gateway. SecondaryPrivateIpAddressCount pulumi.IntOutput `pulumi:"secondaryPrivateIpAddressCount"` // A list of secondary private IPv4 addresses to assign to the NAT Gateway. To remove all secondary private addresses an empty list should be specified. SecondaryPrivateIpAddresses pulumi.StringArrayOutput `pulumi:"secondaryPrivateIpAddresses"` - // The Subnet ID of the subnet in which to place the NAT Gateway. - SubnetId pulumi.StringOutput `pulumi:"subnetId"` + // The Subnet ID of the subnet in which to place the NAT Gateway. Required when `availabilityMode` is set to `zonal`. Must not be set when `availabilityMode` is set to `regional`. + SubnetId pulumi.StringPtrOutput `pulumi:"subnetId"` // A map of tags to assign to the resource. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. Tags pulumi.StringMapOutput `pulumi:"tags"` // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"` + // VPC ID where this NAT Gateway will be created. Required when `availabilityMode` is set to `regional`. + VpcId pulumi.StringOutput `pulumi:"vpcId"` } // NewNatGateway registers a new resource with the given unique name, arguments, and options. func NewNatGateway(ctx *pulumi.Context, name string, args *NatGatewayArgs, opts ...pulumi.ResourceOption) (*NatGateway, error) { if args == nil { - return nil, errors.New("missing one or more required arguments") + args = &NatGatewayArgs{} } - if args.SubnetId == nil { - return nil, errors.New("invalid value for required argument 'SubnetId'") - } opts = internal.PkgResourceDefaultOpts(opts) var resource NatGateway err := ctx.RegisterResource("aws:ec2/natGateway:NatGateway", name, args, &resource, opts...) @@ -209,61 +335,91 @@ func GetNatGateway(ctx *pulumi.Context, // Input properties used for looking up and filtering NatGateway resources. type natGatewayState struct { - // The Allocation ID of the Elastic IP address for the NAT Gateway. Required for `connectivityType` of `public`. + // The Allocation ID of the Elastic IP address for the NAT Gateway. Required when `connectivityType` is set to `public` and `availabilityMode` is set to `zonal`. When `availabilityMode` is set to `regional`, this must not be set; instead, use the `availabilityZoneAddress` block to specify EIPs for each AZ. AllocationId *string `pulumi:"allocationId"` - // The association ID of the Elastic IP address that's associated with the NAT Gateway. Only available when `connectivityType` is `public`. + // Association ID of the Elastic IP address. AssociationId *string `pulumi:"associationId"` - // Connectivity type for the NAT Gateway. Valid values are `private` and `public`. Defaults to `public`. + // (regional NAT gateways only) Indicates whether AWS automatically manages AZ coverage. + AutoProvisionZones *string `pulumi:"autoProvisionZones"` + // (regional NAT gateways only) Indicates whether AWS automatically allocates additional Elastic IP addresses (EIPs) in an AZ when the NAT gateway needs more ports due to increased concurrent connections to a single destination from that AZ. + AutoScalingIps *string `pulumi:"autoScalingIps"` + // Specifies whether to create a zonal (single-AZ) or regional (multi-AZ) NAT gateway. Valid values are `zonal` and `regional`. Defaults to `zonal`. + AvailabilityMode *string `pulumi:"availabilityMode"` + // Repeatable configuration block for the Elastic IP addresses (EIPs) and availability zones for the regional NAT gateway. When not specified, the regional NAT gateway will automatically expand to new AZs and associate EIPs upon detection of an elastic network interface (auto mode). When specified, auto-expansion is disabled (manual mode). See `availabilityZoneAddress` below for details. + AvailabilityZoneAddresses []NatGatewayAvailabilityZoneAddress `pulumi:"availabilityZoneAddresses"` + // Connectivity type for the NAT Gateway. Valid values are `private` and `public`. When `availabilityMode` is set to `regional`, this must be set to `public`. Defaults to `public`. ConnectivityType *string `pulumi:"connectivityType"` - // The ID of the network interface associated with the NAT Gateway. + // ID of the network interface. NetworkInterfaceId *string `pulumi:"networkInterfaceId"` // The private IPv4 address to assign to the NAT Gateway. If you don't provide an address, a private IPv4 address will be automatically assigned. PrivateIp *string `pulumi:"privateIp"` - // The Elastic IP address associated with the NAT Gateway. + // Public IP address. PublicIp *string `pulumi:"publicIp"` // Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration. Region *string `pulumi:"region"` + // (regional NAT gateways only) Repeatable blocks for information about the IP addresses and network interface associated with the regional NAT gateway. + RegionalNatGatewayAddresses []NatGatewayRegionalNatGatewayAddress `pulumi:"regionalNatGatewayAddresses"` + RegionalNatGatewayAutoMode *string `pulumi:"regionalNatGatewayAutoMode"` + // (regional NAT gateways only) ID of the automatically created route table. + RouteTableId *string `pulumi:"routeTableId"` // A list of secondary allocation EIP IDs for this NAT Gateway. To remove all secondary allocations an empty list should be specified. SecondaryAllocationIds []string `pulumi:"secondaryAllocationIds"` - // [Private NAT Gateway only] The number of secondary private IPv4 addresses you want to assign to the NAT Gateway. + // The number of secondary private IPv4 addresses you want to assign to the NAT Gateway. SecondaryPrivateIpAddressCount *int `pulumi:"secondaryPrivateIpAddressCount"` // A list of secondary private IPv4 addresses to assign to the NAT Gateway. To remove all secondary private addresses an empty list should be specified. SecondaryPrivateIpAddresses []string `pulumi:"secondaryPrivateIpAddresses"` - // The Subnet ID of the subnet in which to place the NAT Gateway. + // The Subnet ID of the subnet in which to place the NAT Gateway. Required when `availabilityMode` is set to `zonal`. Must not be set when `availabilityMode` is set to `regional`. SubnetId *string `pulumi:"subnetId"` // A map of tags to assign to the resource. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. Tags map[string]string `pulumi:"tags"` // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. TagsAll map[string]string `pulumi:"tagsAll"` + // VPC ID where this NAT Gateway will be created. Required when `availabilityMode` is set to `regional`. + VpcId *string `pulumi:"vpcId"` } type NatGatewayState struct { - // The Allocation ID of the Elastic IP address for the NAT Gateway. Required for `connectivityType` of `public`. + // The Allocation ID of the Elastic IP address for the NAT Gateway. Required when `connectivityType` is set to `public` and `availabilityMode` is set to `zonal`. When `availabilityMode` is set to `regional`, this must not be set; instead, use the `availabilityZoneAddress` block to specify EIPs for each AZ. AllocationId pulumi.StringPtrInput - // The association ID of the Elastic IP address that's associated with the NAT Gateway. Only available when `connectivityType` is `public`. + // Association ID of the Elastic IP address. AssociationId pulumi.StringPtrInput - // Connectivity type for the NAT Gateway. Valid values are `private` and `public`. Defaults to `public`. + // (regional NAT gateways only) Indicates whether AWS automatically manages AZ coverage. + AutoProvisionZones pulumi.StringPtrInput + // (regional NAT gateways only) Indicates whether AWS automatically allocates additional Elastic IP addresses (EIPs) in an AZ when the NAT gateway needs more ports due to increased concurrent connections to a single destination from that AZ. + AutoScalingIps pulumi.StringPtrInput + // Specifies whether to create a zonal (single-AZ) or regional (multi-AZ) NAT gateway. Valid values are `zonal` and `regional`. Defaults to `zonal`. + AvailabilityMode pulumi.StringPtrInput + // Repeatable configuration block for the Elastic IP addresses (EIPs) and availability zones for the regional NAT gateway. When not specified, the regional NAT gateway will automatically expand to new AZs and associate EIPs upon detection of an elastic network interface (auto mode). When specified, auto-expansion is disabled (manual mode). See `availabilityZoneAddress` below for details. + AvailabilityZoneAddresses NatGatewayAvailabilityZoneAddressArrayInput + // Connectivity type for the NAT Gateway. Valid values are `private` and `public`. When `availabilityMode` is set to `regional`, this must be set to `public`. Defaults to `public`. ConnectivityType pulumi.StringPtrInput - // The ID of the network interface associated with the NAT Gateway. + // ID of the network interface. NetworkInterfaceId pulumi.StringPtrInput // The private IPv4 address to assign to the NAT Gateway. If you don't provide an address, a private IPv4 address will be automatically assigned. PrivateIp pulumi.StringPtrInput - // The Elastic IP address associated with the NAT Gateway. + // Public IP address. PublicIp pulumi.StringPtrInput // Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration. Region pulumi.StringPtrInput + // (regional NAT gateways only) Repeatable blocks for information about the IP addresses and network interface associated with the regional NAT gateway. + RegionalNatGatewayAddresses NatGatewayRegionalNatGatewayAddressArrayInput + RegionalNatGatewayAutoMode pulumi.StringPtrInput + // (regional NAT gateways only) ID of the automatically created route table. + RouteTableId pulumi.StringPtrInput // A list of secondary allocation EIP IDs for this NAT Gateway. To remove all secondary allocations an empty list should be specified. SecondaryAllocationIds pulumi.StringArrayInput - // [Private NAT Gateway only] The number of secondary private IPv4 addresses you want to assign to the NAT Gateway. + // The number of secondary private IPv4 addresses you want to assign to the NAT Gateway. SecondaryPrivateIpAddressCount pulumi.IntPtrInput // A list of secondary private IPv4 addresses to assign to the NAT Gateway. To remove all secondary private addresses an empty list should be specified. SecondaryPrivateIpAddresses pulumi.StringArrayInput - // The Subnet ID of the subnet in which to place the NAT Gateway. + // The Subnet ID of the subnet in which to place the NAT Gateway. Required when `availabilityMode` is set to `zonal`. Must not be set when `availabilityMode` is set to `regional`. SubnetId pulumi.StringPtrInput // A map of tags to assign to the resource. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. Tags pulumi.StringMapInput // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. TagsAll pulumi.StringMapInput + // VPC ID where this NAT Gateway will be created. Required when `availabilityMode` is set to `regional`. + VpcId pulumi.StringPtrInput } func (NatGatewayState) ElementType() reflect.Type { @@ -271,9 +427,13 @@ func (NatGatewayState) ElementType() reflect.Type { } type natGatewayArgs struct { - // The Allocation ID of the Elastic IP address for the NAT Gateway. Required for `connectivityType` of `public`. + // The Allocation ID of the Elastic IP address for the NAT Gateway. Required when `connectivityType` is set to `public` and `availabilityMode` is set to `zonal`. When `availabilityMode` is set to `regional`, this must not be set; instead, use the `availabilityZoneAddress` block to specify EIPs for each AZ. AllocationId *string `pulumi:"allocationId"` - // Connectivity type for the NAT Gateway. Valid values are `private` and `public`. Defaults to `public`. + // Specifies whether to create a zonal (single-AZ) or regional (multi-AZ) NAT gateway. Valid values are `zonal` and `regional`. Defaults to `zonal`. + AvailabilityMode *string `pulumi:"availabilityMode"` + // Repeatable configuration block for the Elastic IP addresses (EIPs) and availability zones for the regional NAT gateway. When not specified, the regional NAT gateway will automatically expand to new AZs and associate EIPs upon detection of an elastic network interface (auto mode). When specified, auto-expansion is disabled (manual mode). See `availabilityZoneAddress` below for details. + AvailabilityZoneAddresses []NatGatewayAvailabilityZoneAddress `pulumi:"availabilityZoneAddresses"` + // Connectivity type for the NAT Gateway. Valid values are `private` and `public`. When `availabilityMode` is set to `regional`, this must be set to `public`. Defaults to `public`. ConnectivityType *string `pulumi:"connectivityType"` // The private IPv4 address to assign to the NAT Gateway. If you don't provide an address, a private IPv4 address will be automatically assigned. PrivateIp *string `pulumi:"privateIp"` @@ -281,21 +441,27 @@ type natGatewayArgs struct { Region *string `pulumi:"region"` // A list of secondary allocation EIP IDs for this NAT Gateway. To remove all secondary allocations an empty list should be specified. SecondaryAllocationIds []string `pulumi:"secondaryAllocationIds"` - // [Private NAT Gateway only] The number of secondary private IPv4 addresses you want to assign to the NAT Gateway. + // The number of secondary private IPv4 addresses you want to assign to the NAT Gateway. SecondaryPrivateIpAddressCount *int `pulumi:"secondaryPrivateIpAddressCount"` // A list of secondary private IPv4 addresses to assign to the NAT Gateway. To remove all secondary private addresses an empty list should be specified. SecondaryPrivateIpAddresses []string `pulumi:"secondaryPrivateIpAddresses"` - // The Subnet ID of the subnet in which to place the NAT Gateway. - SubnetId string `pulumi:"subnetId"` + // The Subnet ID of the subnet in which to place the NAT Gateway. Required when `availabilityMode` is set to `zonal`. Must not be set when `availabilityMode` is set to `regional`. + SubnetId *string `pulumi:"subnetId"` // A map of tags to assign to the resource. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. Tags map[string]string `pulumi:"tags"` + // VPC ID where this NAT Gateway will be created. Required when `availabilityMode` is set to `regional`. + VpcId *string `pulumi:"vpcId"` } // The set of arguments for constructing a NatGateway resource. type NatGatewayArgs struct { - // The Allocation ID of the Elastic IP address for the NAT Gateway. Required for `connectivityType` of `public`. + // The Allocation ID of the Elastic IP address for the NAT Gateway. Required when `connectivityType` is set to `public` and `availabilityMode` is set to `zonal`. When `availabilityMode` is set to `regional`, this must not be set; instead, use the `availabilityZoneAddress` block to specify EIPs for each AZ. AllocationId pulumi.StringPtrInput - // Connectivity type for the NAT Gateway. Valid values are `private` and `public`. Defaults to `public`. + // Specifies whether to create a zonal (single-AZ) or regional (multi-AZ) NAT gateway. Valid values are `zonal` and `regional`. Defaults to `zonal`. + AvailabilityMode pulumi.StringPtrInput + // Repeatable configuration block for the Elastic IP addresses (EIPs) and availability zones for the regional NAT gateway. When not specified, the regional NAT gateway will automatically expand to new AZs and associate EIPs upon detection of an elastic network interface (auto mode). When specified, auto-expansion is disabled (manual mode). See `availabilityZoneAddress` below for details. + AvailabilityZoneAddresses NatGatewayAvailabilityZoneAddressArrayInput + // Connectivity type for the NAT Gateway. Valid values are `private` and `public`. When `availabilityMode` is set to `regional`, this must be set to `public`. Defaults to `public`. ConnectivityType pulumi.StringPtrInput // The private IPv4 address to assign to the NAT Gateway. If you don't provide an address, a private IPv4 address will be automatically assigned. PrivateIp pulumi.StringPtrInput @@ -303,14 +469,16 @@ type NatGatewayArgs struct { Region pulumi.StringPtrInput // A list of secondary allocation EIP IDs for this NAT Gateway. To remove all secondary allocations an empty list should be specified. SecondaryAllocationIds pulumi.StringArrayInput - // [Private NAT Gateway only] The number of secondary private IPv4 addresses you want to assign to the NAT Gateway. + // The number of secondary private IPv4 addresses you want to assign to the NAT Gateway. SecondaryPrivateIpAddressCount pulumi.IntPtrInput // A list of secondary private IPv4 addresses to assign to the NAT Gateway. To remove all secondary private addresses an empty list should be specified. SecondaryPrivateIpAddresses pulumi.StringArrayInput - // The Subnet ID of the subnet in which to place the NAT Gateway. - SubnetId pulumi.StringInput + // The Subnet ID of the subnet in which to place the NAT Gateway. Required when `availabilityMode` is set to `zonal`. Must not be set when `availabilityMode` is set to `regional`. + SubnetId pulumi.StringPtrInput // A map of tags to assign to the resource. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. Tags pulumi.StringMapInput + // VPC ID where this NAT Gateway will be created. Required when `availabilityMode` is set to `regional`. + VpcId pulumi.StringPtrInput } func (NatGatewayArgs) ElementType() reflect.Type { @@ -400,22 +568,42 @@ func (o NatGatewayOutput) ToNatGatewayOutputWithContext(ctx context.Context) Nat return o } -// The Allocation ID of the Elastic IP address for the NAT Gateway. Required for `connectivityType` of `public`. +// The Allocation ID of the Elastic IP address for the NAT Gateway. Required when `connectivityType` is set to `public` and `availabilityMode` is set to `zonal`. When `availabilityMode` is set to `regional`, this must not be set; instead, use the `availabilityZoneAddress` block to specify EIPs for each AZ. func (o NatGatewayOutput) AllocationId() pulumi.StringPtrOutput { return o.ApplyT(func(v *NatGateway) pulumi.StringPtrOutput { return v.AllocationId }).(pulumi.StringPtrOutput) } -// The association ID of the Elastic IP address that's associated with the NAT Gateway. Only available when `connectivityType` is `public`. +// Association ID of the Elastic IP address. func (o NatGatewayOutput) AssociationId() pulumi.StringOutput { return o.ApplyT(func(v *NatGateway) pulumi.StringOutput { return v.AssociationId }).(pulumi.StringOutput) } -// Connectivity type for the NAT Gateway. Valid values are `private` and `public`. Defaults to `public`. +// (regional NAT gateways only) Indicates whether AWS automatically manages AZ coverage. +func (o NatGatewayOutput) AutoProvisionZones() pulumi.StringOutput { + return o.ApplyT(func(v *NatGateway) pulumi.StringOutput { return v.AutoProvisionZones }).(pulumi.StringOutput) +} + +// (regional NAT gateways only) Indicates whether AWS automatically allocates additional Elastic IP addresses (EIPs) in an AZ when the NAT gateway needs more ports due to increased concurrent connections to a single destination from that AZ. +func (o NatGatewayOutput) AutoScalingIps() pulumi.StringOutput { + return o.ApplyT(func(v *NatGateway) pulumi.StringOutput { return v.AutoScalingIps }).(pulumi.StringOutput) +} + +// Specifies whether to create a zonal (single-AZ) or regional (multi-AZ) NAT gateway. Valid values are `zonal` and `regional`. Defaults to `zonal`. +func (o NatGatewayOutput) AvailabilityMode() pulumi.StringOutput { + return o.ApplyT(func(v *NatGateway) pulumi.StringOutput { return v.AvailabilityMode }).(pulumi.StringOutput) +} + +// Repeatable configuration block for the Elastic IP addresses (EIPs) and availability zones for the regional NAT gateway. When not specified, the regional NAT gateway will automatically expand to new AZs and associate EIPs upon detection of an elastic network interface (auto mode). When specified, auto-expansion is disabled (manual mode). See `availabilityZoneAddress` below for details. +func (o NatGatewayOutput) AvailabilityZoneAddresses() NatGatewayAvailabilityZoneAddressArrayOutput { + return o.ApplyT(func(v *NatGateway) NatGatewayAvailabilityZoneAddressArrayOutput { return v.AvailabilityZoneAddresses }).(NatGatewayAvailabilityZoneAddressArrayOutput) +} + +// Connectivity type for the NAT Gateway. Valid values are `private` and `public`. When `availabilityMode` is set to `regional`, this must be set to `public`. Defaults to `public`. func (o NatGatewayOutput) ConnectivityType() pulumi.StringPtrOutput { return o.ApplyT(func(v *NatGateway) pulumi.StringPtrOutput { return v.ConnectivityType }).(pulumi.StringPtrOutput) } -// The ID of the network interface associated with the NAT Gateway. +// ID of the network interface. func (o NatGatewayOutput) NetworkInterfaceId() pulumi.StringOutput { return o.ApplyT(func(v *NatGateway) pulumi.StringOutput { return v.NetworkInterfaceId }).(pulumi.StringOutput) } @@ -425,7 +613,7 @@ func (o NatGatewayOutput) PrivateIp() pulumi.StringOutput { return o.ApplyT(func(v *NatGateway) pulumi.StringOutput { return v.PrivateIp }).(pulumi.StringOutput) } -// The Elastic IP address associated with the NAT Gateway. +// Public IP address. func (o NatGatewayOutput) PublicIp() pulumi.StringOutput { return o.ApplyT(func(v *NatGateway) pulumi.StringOutput { return v.PublicIp }).(pulumi.StringOutput) } @@ -435,12 +623,28 @@ func (o NatGatewayOutput) Region() pulumi.StringOutput { return o.ApplyT(func(v *NatGateway) pulumi.StringOutput { return v.Region }).(pulumi.StringOutput) } +// (regional NAT gateways only) Repeatable blocks for information about the IP addresses and network interface associated with the regional NAT gateway. +func (o NatGatewayOutput) RegionalNatGatewayAddresses() NatGatewayRegionalNatGatewayAddressArrayOutput { + return o.ApplyT(func(v *NatGateway) NatGatewayRegionalNatGatewayAddressArrayOutput { + return v.RegionalNatGatewayAddresses + }).(NatGatewayRegionalNatGatewayAddressArrayOutput) +} + +func (o NatGatewayOutput) RegionalNatGatewayAutoMode() pulumi.StringOutput { + return o.ApplyT(func(v *NatGateway) pulumi.StringOutput { return v.RegionalNatGatewayAutoMode }).(pulumi.StringOutput) +} + +// (regional NAT gateways only) ID of the automatically created route table. +func (o NatGatewayOutput) RouteTableId() pulumi.StringOutput { + return o.ApplyT(func(v *NatGateway) pulumi.StringOutput { return v.RouteTableId }).(pulumi.StringOutput) +} + // A list of secondary allocation EIP IDs for this NAT Gateway. To remove all secondary allocations an empty list should be specified. func (o NatGatewayOutput) SecondaryAllocationIds() pulumi.StringArrayOutput { return o.ApplyT(func(v *NatGateway) pulumi.StringArrayOutput { return v.SecondaryAllocationIds }).(pulumi.StringArrayOutput) } -// [Private NAT Gateway only] The number of secondary private IPv4 addresses you want to assign to the NAT Gateway. +// The number of secondary private IPv4 addresses you want to assign to the NAT Gateway. func (o NatGatewayOutput) SecondaryPrivateIpAddressCount() pulumi.IntOutput { return o.ApplyT(func(v *NatGateway) pulumi.IntOutput { return v.SecondaryPrivateIpAddressCount }).(pulumi.IntOutput) } @@ -450,9 +654,9 @@ func (o NatGatewayOutput) SecondaryPrivateIpAddresses() pulumi.StringArrayOutput return o.ApplyT(func(v *NatGateway) pulumi.StringArrayOutput { return v.SecondaryPrivateIpAddresses }).(pulumi.StringArrayOutput) } -// The Subnet ID of the subnet in which to place the NAT Gateway. -func (o NatGatewayOutput) SubnetId() pulumi.StringOutput { - return o.ApplyT(func(v *NatGateway) pulumi.StringOutput { return v.SubnetId }).(pulumi.StringOutput) +// The Subnet ID of the subnet in which to place the NAT Gateway. Required when `availabilityMode` is set to `zonal`. Must not be set when `availabilityMode` is set to `regional`. +func (o NatGatewayOutput) SubnetId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *NatGateway) pulumi.StringPtrOutput { return v.SubnetId }).(pulumi.StringPtrOutput) } // A map of tags to assign to the resource. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. @@ -465,6 +669,11 @@ func (o NatGatewayOutput) TagsAll() pulumi.StringMapOutput { return o.ApplyT(func(v *NatGateway) pulumi.StringMapOutput { return v.TagsAll }).(pulumi.StringMapOutput) } +// VPC ID where this NAT Gateway will be created. Required when `availabilityMode` is set to `regional`. +func (o NatGatewayOutput) VpcId() pulumi.StringOutput { + return o.ApplyT(func(v *NatGateway) pulumi.StringOutput { return v.VpcId }).(pulumi.StringOutput) +} + type NatGatewayArrayOutput struct{ *pulumi.OutputState } func (NatGatewayArrayOutput) ElementType() reflect.Type { diff --git a/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/ec2/pulumiTypes.go b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/ec2/pulumiTypes.go index ff88687fd..522b38063 100644 --- a/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/ec2/pulumiTypes.go +++ b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/ec2/pulumiTypes.go @@ -2710,15755 +2710,16394 @@ func (o EipDomainNameTimeoutsPtrOutput) Update() pulumi.StringPtrOutput { }).(pulumi.StringPtrOutput) } -type FleetFleetInstanceSet struct { - // The IDs of the instances. - InstanceIds []string `pulumi:"instanceIds"` - // The instance type. - InstanceType *string `pulumi:"instanceType"` - // Indicates if the instance that was launched is a Spot Instance or On-Demand Instance. - Lifecycle *string `pulumi:"lifecycle"` - // The value is `Windows` for Windows instances. Otherwise, the value is blank. - Platform *string `pulumi:"platform"` +type EncryptionControlResourceExclusions struct { + // `state` and `stateMessage` describing encryption enforcement state for Egress-Only Internet Gateways. + EgressOnlyInternetGateway EncryptionControlResourceExclusionsEgressOnlyInternetGateway `pulumi:"egressOnlyInternetGateway"` + // `state` and `stateMessage` describing encryption enforcement state for Elastic File System (EFS). + ElasticFileSystem EncryptionControlResourceExclusionsElasticFileSystem `pulumi:"elasticFileSystem"` + // `state` and `stateMessage` describing encryption enforcement state for Internet Gateways. + InternetGateway EncryptionControlResourceExclusionsInternetGateway `pulumi:"internetGateway"` + // `state` and `stateMessage` describing encryption enforcement state for Lambda Functions. + Lambda EncryptionControlResourceExclusionsLambda `pulumi:"lambda"` + // `state` and `stateMessage` describing encryption enforcement state for NAT Gateways. + NatGateway EncryptionControlResourceExclusionsNatGateway `pulumi:"natGateway"` + // `state` and `stateMessage` describing encryption enforcement state for Virtual Private Gateways. + VirtualPrivateGateway EncryptionControlResourceExclusionsVirtualPrivateGateway `pulumi:"virtualPrivateGateway"` + // `state` and `stateMessage` describing encryption enforcement state for VPC Lattice. + VpcLattice EncryptionControlResourceExclusionsVpcLattice `pulumi:"vpcLattice"` + // `state` and `stateMessage` describing encryption enforcement state for peered VPCs. + VpcPeering EncryptionControlResourceExclusionsVpcPeering `pulumi:"vpcPeering"` } -// FleetFleetInstanceSetInput is an input type that accepts FleetFleetInstanceSetArgs and FleetFleetInstanceSetOutput values. -// You can construct a concrete instance of `FleetFleetInstanceSetInput` via: +// EncryptionControlResourceExclusionsInput is an input type that accepts EncryptionControlResourceExclusionsArgs and EncryptionControlResourceExclusionsOutput values. +// You can construct a concrete instance of `EncryptionControlResourceExclusionsInput` via: // -// FleetFleetInstanceSetArgs{...} -type FleetFleetInstanceSetInput interface { +// EncryptionControlResourceExclusionsArgs{...} +type EncryptionControlResourceExclusionsInput interface { pulumi.Input - ToFleetFleetInstanceSetOutput() FleetFleetInstanceSetOutput - ToFleetFleetInstanceSetOutputWithContext(context.Context) FleetFleetInstanceSetOutput + ToEncryptionControlResourceExclusionsOutput() EncryptionControlResourceExclusionsOutput + ToEncryptionControlResourceExclusionsOutputWithContext(context.Context) EncryptionControlResourceExclusionsOutput } -type FleetFleetInstanceSetArgs struct { - // The IDs of the instances. - InstanceIds pulumi.StringArrayInput `pulumi:"instanceIds"` - // The instance type. - InstanceType pulumi.StringPtrInput `pulumi:"instanceType"` - // Indicates if the instance that was launched is a Spot Instance or On-Demand Instance. - Lifecycle pulumi.StringPtrInput `pulumi:"lifecycle"` - // The value is `Windows` for Windows instances. Otherwise, the value is blank. - Platform pulumi.StringPtrInput `pulumi:"platform"` +type EncryptionControlResourceExclusionsArgs struct { + // `state` and `stateMessage` describing encryption enforcement state for Egress-Only Internet Gateways. + EgressOnlyInternetGateway EncryptionControlResourceExclusionsEgressOnlyInternetGatewayInput `pulumi:"egressOnlyInternetGateway"` + // `state` and `stateMessage` describing encryption enforcement state for Elastic File System (EFS). + ElasticFileSystem EncryptionControlResourceExclusionsElasticFileSystemInput `pulumi:"elasticFileSystem"` + // `state` and `stateMessage` describing encryption enforcement state for Internet Gateways. + InternetGateway EncryptionControlResourceExclusionsInternetGatewayInput `pulumi:"internetGateway"` + // `state` and `stateMessage` describing encryption enforcement state for Lambda Functions. + Lambda EncryptionControlResourceExclusionsLambdaInput `pulumi:"lambda"` + // `state` and `stateMessage` describing encryption enforcement state for NAT Gateways. + NatGateway EncryptionControlResourceExclusionsNatGatewayInput `pulumi:"natGateway"` + // `state` and `stateMessage` describing encryption enforcement state for Virtual Private Gateways. + VirtualPrivateGateway EncryptionControlResourceExclusionsVirtualPrivateGatewayInput `pulumi:"virtualPrivateGateway"` + // `state` and `stateMessage` describing encryption enforcement state for VPC Lattice. + VpcLattice EncryptionControlResourceExclusionsVpcLatticeInput `pulumi:"vpcLattice"` + // `state` and `stateMessage` describing encryption enforcement state for peered VPCs. + VpcPeering EncryptionControlResourceExclusionsVpcPeeringInput `pulumi:"vpcPeering"` } -func (FleetFleetInstanceSetArgs) ElementType() reflect.Type { - return reflect.TypeOf((*FleetFleetInstanceSet)(nil)).Elem() +func (EncryptionControlResourceExclusionsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*EncryptionControlResourceExclusions)(nil)).Elem() } -func (i FleetFleetInstanceSetArgs) ToFleetFleetInstanceSetOutput() FleetFleetInstanceSetOutput { - return i.ToFleetFleetInstanceSetOutputWithContext(context.Background()) +func (i EncryptionControlResourceExclusionsArgs) ToEncryptionControlResourceExclusionsOutput() EncryptionControlResourceExclusionsOutput { + return i.ToEncryptionControlResourceExclusionsOutputWithContext(context.Background()) } -func (i FleetFleetInstanceSetArgs) ToFleetFleetInstanceSetOutputWithContext(ctx context.Context) FleetFleetInstanceSetOutput { - return pulumi.ToOutputWithContext(ctx, i).(FleetFleetInstanceSetOutput) +func (i EncryptionControlResourceExclusionsArgs) ToEncryptionControlResourceExclusionsOutputWithContext(ctx context.Context) EncryptionControlResourceExclusionsOutput { + return pulumi.ToOutputWithContext(ctx, i).(EncryptionControlResourceExclusionsOutput) } -// FleetFleetInstanceSetArrayInput is an input type that accepts FleetFleetInstanceSetArray and FleetFleetInstanceSetArrayOutput values. -// You can construct a concrete instance of `FleetFleetInstanceSetArrayInput` via: +func (i EncryptionControlResourceExclusionsArgs) ToEncryptionControlResourceExclusionsPtrOutput() EncryptionControlResourceExclusionsPtrOutput { + return i.ToEncryptionControlResourceExclusionsPtrOutputWithContext(context.Background()) +} + +func (i EncryptionControlResourceExclusionsArgs) ToEncryptionControlResourceExclusionsPtrOutputWithContext(ctx context.Context) EncryptionControlResourceExclusionsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(EncryptionControlResourceExclusionsOutput).ToEncryptionControlResourceExclusionsPtrOutputWithContext(ctx) +} + +// EncryptionControlResourceExclusionsPtrInput is an input type that accepts EncryptionControlResourceExclusionsArgs, EncryptionControlResourceExclusionsPtr and EncryptionControlResourceExclusionsPtrOutput values. +// You can construct a concrete instance of `EncryptionControlResourceExclusionsPtrInput` via: // -// FleetFleetInstanceSetArray{ FleetFleetInstanceSetArgs{...} } -type FleetFleetInstanceSetArrayInput interface { +// EncryptionControlResourceExclusionsArgs{...} +// +// or: +// +// nil +type EncryptionControlResourceExclusionsPtrInput interface { pulumi.Input - ToFleetFleetInstanceSetArrayOutput() FleetFleetInstanceSetArrayOutput - ToFleetFleetInstanceSetArrayOutputWithContext(context.Context) FleetFleetInstanceSetArrayOutput + ToEncryptionControlResourceExclusionsPtrOutput() EncryptionControlResourceExclusionsPtrOutput + ToEncryptionControlResourceExclusionsPtrOutputWithContext(context.Context) EncryptionControlResourceExclusionsPtrOutput } -type FleetFleetInstanceSetArray []FleetFleetInstanceSetInput +type encryptionControlResourceExclusionsPtrType EncryptionControlResourceExclusionsArgs -func (FleetFleetInstanceSetArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]FleetFleetInstanceSet)(nil)).Elem() +func EncryptionControlResourceExclusionsPtr(v *EncryptionControlResourceExclusionsArgs) EncryptionControlResourceExclusionsPtrInput { + return (*encryptionControlResourceExclusionsPtrType)(v) } -func (i FleetFleetInstanceSetArray) ToFleetFleetInstanceSetArrayOutput() FleetFleetInstanceSetArrayOutput { - return i.ToFleetFleetInstanceSetArrayOutputWithContext(context.Background()) +func (*encryptionControlResourceExclusionsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**EncryptionControlResourceExclusions)(nil)).Elem() } -func (i FleetFleetInstanceSetArray) ToFleetFleetInstanceSetArrayOutputWithContext(ctx context.Context) FleetFleetInstanceSetArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(FleetFleetInstanceSetArrayOutput) +func (i *encryptionControlResourceExclusionsPtrType) ToEncryptionControlResourceExclusionsPtrOutput() EncryptionControlResourceExclusionsPtrOutput { + return i.ToEncryptionControlResourceExclusionsPtrOutputWithContext(context.Background()) } -type FleetFleetInstanceSetOutput struct{ *pulumi.OutputState } +func (i *encryptionControlResourceExclusionsPtrType) ToEncryptionControlResourceExclusionsPtrOutputWithContext(ctx context.Context) EncryptionControlResourceExclusionsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(EncryptionControlResourceExclusionsPtrOutput) +} -func (FleetFleetInstanceSetOutput) ElementType() reflect.Type { - return reflect.TypeOf((*FleetFleetInstanceSet)(nil)).Elem() +type EncryptionControlResourceExclusionsOutput struct{ *pulumi.OutputState } + +func (EncryptionControlResourceExclusionsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*EncryptionControlResourceExclusions)(nil)).Elem() } -func (o FleetFleetInstanceSetOutput) ToFleetFleetInstanceSetOutput() FleetFleetInstanceSetOutput { +func (o EncryptionControlResourceExclusionsOutput) ToEncryptionControlResourceExclusionsOutput() EncryptionControlResourceExclusionsOutput { return o } -func (o FleetFleetInstanceSetOutput) ToFleetFleetInstanceSetOutputWithContext(ctx context.Context) FleetFleetInstanceSetOutput { +func (o EncryptionControlResourceExclusionsOutput) ToEncryptionControlResourceExclusionsOutputWithContext(ctx context.Context) EncryptionControlResourceExclusionsOutput { return o } -// The IDs of the instances. -func (o FleetFleetInstanceSetOutput) InstanceIds() pulumi.StringArrayOutput { - return o.ApplyT(func(v FleetFleetInstanceSet) []string { return v.InstanceIds }).(pulumi.StringArrayOutput) +func (o EncryptionControlResourceExclusionsOutput) ToEncryptionControlResourceExclusionsPtrOutput() EncryptionControlResourceExclusionsPtrOutput { + return o.ToEncryptionControlResourceExclusionsPtrOutputWithContext(context.Background()) } -// The instance type. -func (o FleetFleetInstanceSetOutput) InstanceType() pulumi.StringPtrOutput { - return o.ApplyT(func(v FleetFleetInstanceSet) *string { return v.InstanceType }).(pulumi.StringPtrOutput) +func (o EncryptionControlResourceExclusionsOutput) ToEncryptionControlResourceExclusionsPtrOutputWithContext(ctx context.Context) EncryptionControlResourceExclusionsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v EncryptionControlResourceExclusions) *EncryptionControlResourceExclusions { + return &v + }).(EncryptionControlResourceExclusionsPtrOutput) } -// Indicates if the instance that was launched is a Spot Instance or On-Demand Instance. -func (o FleetFleetInstanceSetOutput) Lifecycle() pulumi.StringPtrOutput { - return o.ApplyT(func(v FleetFleetInstanceSet) *string { return v.Lifecycle }).(pulumi.StringPtrOutput) +// `state` and `stateMessage` describing encryption enforcement state for Egress-Only Internet Gateways. +func (o EncryptionControlResourceExclusionsOutput) EgressOnlyInternetGateway() EncryptionControlResourceExclusionsEgressOnlyInternetGatewayOutput { + return o.ApplyT(func(v EncryptionControlResourceExclusions) EncryptionControlResourceExclusionsEgressOnlyInternetGateway { + return v.EgressOnlyInternetGateway + }).(EncryptionControlResourceExclusionsEgressOnlyInternetGatewayOutput) } -// The value is `Windows` for Windows instances. Otherwise, the value is blank. -func (o FleetFleetInstanceSetOutput) Platform() pulumi.StringPtrOutput { - return o.ApplyT(func(v FleetFleetInstanceSet) *string { return v.Platform }).(pulumi.StringPtrOutput) +// `state` and `stateMessage` describing encryption enforcement state for Elastic File System (EFS). +func (o EncryptionControlResourceExclusionsOutput) ElasticFileSystem() EncryptionControlResourceExclusionsElasticFileSystemOutput { + return o.ApplyT(func(v EncryptionControlResourceExclusions) EncryptionControlResourceExclusionsElasticFileSystem { + return v.ElasticFileSystem + }).(EncryptionControlResourceExclusionsElasticFileSystemOutput) } -type FleetFleetInstanceSetArrayOutput struct{ *pulumi.OutputState } +// `state` and `stateMessage` describing encryption enforcement state for Internet Gateways. +func (o EncryptionControlResourceExclusionsOutput) InternetGateway() EncryptionControlResourceExclusionsInternetGatewayOutput { + return o.ApplyT(func(v EncryptionControlResourceExclusions) EncryptionControlResourceExclusionsInternetGateway { + return v.InternetGateway + }).(EncryptionControlResourceExclusionsInternetGatewayOutput) +} -func (FleetFleetInstanceSetArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]FleetFleetInstanceSet)(nil)).Elem() +// `state` and `stateMessage` describing encryption enforcement state for Lambda Functions. +func (o EncryptionControlResourceExclusionsOutput) Lambda() EncryptionControlResourceExclusionsLambdaOutput { + return o.ApplyT(func(v EncryptionControlResourceExclusions) EncryptionControlResourceExclusionsLambda { return v.Lambda }).(EncryptionControlResourceExclusionsLambdaOutput) } -func (o FleetFleetInstanceSetArrayOutput) ToFleetFleetInstanceSetArrayOutput() FleetFleetInstanceSetArrayOutput { +// `state` and `stateMessage` describing encryption enforcement state for NAT Gateways. +func (o EncryptionControlResourceExclusionsOutput) NatGateway() EncryptionControlResourceExclusionsNatGatewayOutput { + return o.ApplyT(func(v EncryptionControlResourceExclusions) EncryptionControlResourceExclusionsNatGateway { + return v.NatGateway + }).(EncryptionControlResourceExclusionsNatGatewayOutput) +} + +// `state` and `stateMessage` describing encryption enforcement state for Virtual Private Gateways. +func (o EncryptionControlResourceExclusionsOutput) VirtualPrivateGateway() EncryptionControlResourceExclusionsVirtualPrivateGatewayOutput { + return o.ApplyT(func(v EncryptionControlResourceExclusions) EncryptionControlResourceExclusionsVirtualPrivateGateway { + return v.VirtualPrivateGateway + }).(EncryptionControlResourceExclusionsVirtualPrivateGatewayOutput) +} + +// `state` and `stateMessage` describing encryption enforcement state for VPC Lattice. +func (o EncryptionControlResourceExclusionsOutput) VpcLattice() EncryptionControlResourceExclusionsVpcLatticeOutput { + return o.ApplyT(func(v EncryptionControlResourceExclusions) EncryptionControlResourceExclusionsVpcLattice { + return v.VpcLattice + }).(EncryptionControlResourceExclusionsVpcLatticeOutput) +} + +// `state` and `stateMessage` describing encryption enforcement state for peered VPCs. +func (o EncryptionControlResourceExclusionsOutput) VpcPeering() EncryptionControlResourceExclusionsVpcPeeringOutput { + return o.ApplyT(func(v EncryptionControlResourceExclusions) EncryptionControlResourceExclusionsVpcPeering { + return v.VpcPeering + }).(EncryptionControlResourceExclusionsVpcPeeringOutput) +} + +type EncryptionControlResourceExclusionsPtrOutput struct{ *pulumi.OutputState } + +func (EncryptionControlResourceExclusionsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**EncryptionControlResourceExclusions)(nil)).Elem() +} + +func (o EncryptionControlResourceExclusionsPtrOutput) ToEncryptionControlResourceExclusionsPtrOutput() EncryptionControlResourceExclusionsPtrOutput { return o } -func (o FleetFleetInstanceSetArrayOutput) ToFleetFleetInstanceSetArrayOutputWithContext(ctx context.Context) FleetFleetInstanceSetArrayOutput { +func (o EncryptionControlResourceExclusionsPtrOutput) ToEncryptionControlResourceExclusionsPtrOutputWithContext(ctx context.Context) EncryptionControlResourceExclusionsPtrOutput { return o } -func (o FleetFleetInstanceSetArrayOutput) Index(i pulumi.IntInput) FleetFleetInstanceSetOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) FleetFleetInstanceSet { - return vs[0].([]FleetFleetInstanceSet)[vs[1].(int)] - }).(FleetFleetInstanceSetOutput) +func (o EncryptionControlResourceExclusionsPtrOutput) Elem() EncryptionControlResourceExclusionsOutput { + return o.ApplyT(func(v *EncryptionControlResourceExclusions) EncryptionControlResourceExclusions { + if v != nil { + return *v + } + var ret EncryptionControlResourceExclusions + return ret + }).(EncryptionControlResourceExclusionsOutput) } -type FleetLaunchTemplateConfig struct { - // Nested argument containing EC2 Launch Template to use. Defined below. - LaunchTemplateSpecification *FleetLaunchTemplateConfigLaunchTemplateSpecification `pulumi:"launchTemplateSpecification"` - // Nested argument(s) containing parameters to override the same parameters in the Launch Template. Defined below. - Overrides []FleetLaunchTemplateConfigOverride `pulumi:"overrides"` +// `state` and `stateMessage` describing encryption enforcement state for Egress-Only Internet Gateways. +func (o EncryptionControlResourceExclusionsPtrOutput) EgressOnlyInternetGateway() EncryptionControlResourceExclusionsEgressOnlyInternetGatewayPtrOutput { + return o.ApplyT(func(v *EncryptionControlResourceExclusions) *EncryptionControlResourceExclusionsEgressOnlyInternetGateway { + if v == nil { + return nil + } + return &v.EgressOnlyInternetGateway + }).(EncryptionControlResourceExclusionsEgressOnlyInternetGatewayPtrOutput) } -// FleetLaunchTemplateConfigInput is an input type that accepts FleetLaunchTemplateConfigArgs and FleetLaunchTemplateConfigOutput values. -// You can construct a concrete instance of `FleetLaunchTemplateConfigInput` via: +// `state` and `stateMessage` describing encryption enforcement state for Elastic File System (EFS). +func (o EncryptionControlResourceExclusionsPtrOutput) ElasticFileSystem() EncryptionControlResourceExclusionsElasticFileSystemPtrOutput { + return o.ApplyT(func(v *EncryptionControlResourceExclusions) *EncryptionControlResourceExclusionsElasticFileSystem { + if v == nil { + return nil + } + return &v.ElasticFileSystem + }).(EncryptionControlResourceExclusionsElasticFileSystemPtrOutput) +} + +// `state` and `stateMessage` describing encryption enforcement state for Internet Gateways. +func (o EncryptionControlResourceExclusionsPtrOutput) InternetGateway() EncryptionControlResourceExclusionsInternetGatewayPtrOutput { + return o.ApplyT(func(v *EncryptionControlResourceExclusions) *EncryptionControlResourceExclusionsInternetGateway { + if v == nil { + return nil + } + return &v.InternetGateway + }).(EncryptionControlResourceExclusionsInternetGatewayPtrOutput) +} + +// `state` and `stateMessage` describing encryption enforcement state for Lambda Functions. +func (o EncryptionControlResourceExclusionsPtrOutput) Lambda() EncryptionControlResourceExclusionsLambdaPtrOutput { + return o.ApplyT(func(v *EncryptionControlResourceExclusions) *EncryptionControlResourceExclusionsLambda { + if v == nil { + return nil + } + return &v.Lambda + }).(EncryptionControlResourceExclusionsLambdaPtrOutput) +} + +// `state` and `stateMessage` describing encryption enforcement state for NAT Gateways. +func (o EncryptionControlResourceExclusionsPtrOutput) NatGateway() EncryptionControlResourceExclusionsNatGatewayPtrOutput { + return o.ApplyT(func(v *EncryptionControlResourceExclusions) *EncryptionControlResourceExclusionsNatGateway { + if v == nil { + return nil + } + return &v.NatGateway + }).(EncryptionControlResourceExclusionsNatGatewayPtrOutput) +} + +// `state` and `stateMessage` describing encryption enforcement state for Virtual Private Gateways. +func (o EncryptionControlResourceExclusionsPtrOutput) VirtualPrivateGateway() EncryptionControlResourceExclusionsVirtualPrivateGatewayPtrOutput { + return o.ApplyT(func(v *EncryptionControlResourceExclusions) *EncryptionControlResourceExclusionsVirtualPrivateGateway { + if v == nil { + return nil + } + return &v.VirtualPrivateGateway + }).(EncryptionControlResourceExclusionsVirtualPrivateGatewayPtrOutput) +} + +// `state` and `stateMessage` describing encryption enforcement state for VPC Lattice. +func (o EncryptionControlResourceExclusionsPtrOutput) VpcLattice() EncryptionControlResourceExclusionsVpcLatticePtrOutput { + return o.ApplyT(func(v *EncryptionControlResourceExclusions) *EncryptionControlResourceExclusionsVpcLattice { + if v == nil { + return nil + } + return &v.VpcLattice + }).(EncryptionControlResourceExclusionsVpcLatticePtrOutput) +} + +// `state` and `stateMessage` describing encryption enforcement state for peered VPCs. +func (o EncryptionControlResourceExclusionsPtrOutput) VpcPeering() EncryptionControlResourceExclusionsVpcPeeringPtrOutput { + return o.ApplyT(func(v *EncryptionControlResourceExclusions) *EncryptionControlResourceExclusionsVpcPeering { + if v == nil { + return nil + } + return &v.VpcPeering + }).(EncryptionControlResourceExclusionsVpcPeeringPtrOutput) +} + +type EncryptionControlResourceExclusionsEgressOnlyInternetGateway struct { + // The current state of the VPC Encryption Control. + State string `pulumi:"state"` + // A message providing additional information about the state of the VPC Encryption Control. + StateMessage string `pulumi:"stateMessage"` +} + +// EncryptionControlResourceExclusionsEgressOnlyInternetGatewayInput is an input type that accepts EncryptionControlResourceExclusionsEgressOnlyInternetGatewayArgs and EncryptionControlResourceExclusionsEgressOnlyInternetGatewayOutput values. +// You can construct a concrete instance of `EncryptionControlResourceExclusionsEgressOnlyInternetGatewayInput` via: // -// FleetLaunchTemplateConfigArgs{...} -type FleetLaunchTemplateConfigInput interface { +// EncryptionControlResourceExclusionsEgressOnlyInternetGatewayArgs{...} +type EncryptionControlResourceExclusionsEgressOnlyInternetGatewayInput interface { pulumi.Input - ToFleetLaunchTemplateConfigOutput() FleetLaunchTemplateConfigOutput - ToFleetLaunchTemplateConfigOutputWithContext(context.Context) FleetLaunchTemplateConfigOutput + ToEncryptionControlResourceExclusionsEgressOnlyInternetGatewayOutput() EncryptionControlResourceExclusionsEgressOnlyInternetGatewayOutput + ToEncryptionControlResourceExclusionsEgressOnlyInternetGatewayOutputWithContext(context.Context) EncryptionControlResourceExclusionsEgressOnlyInternetGatewayOutput } -type FleetLaunchTemplateConfigArgs struct { - // Nested argument containing EC2 Launch Template to use. Defined below. - LaunchTemplateSpecification FleetLaunchTemplateConfigLaunchTemplateSpecificationPtrInput `pulumi:"launchTemplateSpecification"` - // Nested argument(s) containing parameters to override the same parameters in the Launch Template. Defined below. - Overrides FleetLaunchTemplateConfigOverrideArrayInput `pulumi:"overrides"` +type EncryptionControlResourceExclusionsEgressOnlyInternetGatewayArgs struct { + // The current state of the VPC Encryption Control. + State pulumi.StringInput `pulumi:"state"` + // A message providing additional information about the state of the VPC Encryption Control. + StateMessage pulumi.StringInput `pulumi:"stateMessage"` } -func (FleetLaunchTemplateConfigArgs) ElementType() reflect.Type { - return reflect.TypeOf((*FleetLaunchTemplateConfig)(nil)).Elem() +func (EncryptionControlResourceExclusionsEgressOnlyInternetGatewayArgs) ElementType() reflect.Type { + return reflect.TypeOf((*EncryptionControlResourceExclusionsEgressOnlyInternetGateway)(nil)).Elem() } -func (i FleetLaunchTemplateConfigArgs) ToFleetLaunchTemplateConfigOutput() FleetLaunchTemplateConfigOutput { - return i.ToFleetLaunchTemplateConfigOutputWithContext(context.Background()) +func (i EncryptionControlResourceExclusionsEgressOnlyInternetGatewayArgs) ToEncryptionControlResourceExclusionsEgressOnlyInternetGatewayOutput() EncryptionControlResourceExclusionsEgressOnlyInternetGatewayOutput { + return i.ToEncryptionControlResourceExclusionsEgressOnlyInternetGatewayOutputWithContext(context.Background()) } -func (i FleetLaunchTemplateConfigArgs) ToFleetLaunchTemplateConfigOutputWithContext(ctx context.Context) FleetLaunchTemplateConfigOutput { - return pulumi.ToOutputWithContext(ctx, i).(FleetLaunchTemplateConfigOutput) +func (i EncryptionControlResourceExclusionsEgressOnlyInternetGatewayArgs) ToEncryptionControlResourceExclusionsEgressOnlyInternetGatewayOutputWithContext(ctx context.Context) EncryptionControlResourceExclusionsEgressOnlyInternetGatewayOutput { + return pulumi.ToOutputWithContext(ctx, i).(EncryptionControlResourceExclusionsEgressOnlyInternetGatewayOutput) } -// FleetLaunchTemplateConfigArrayInput is an input type that accepts FleetLaunchTemplateConfigArray and FleetLaunchTemplateConfigArrayOutput values. -// You can construct a concrete instance of `FleetLaunchTemplateConfigArrayInput` via: +func (i EncryptionControlResourceExclusionsEgressOnlyInternetGatewayArgs) ToEncryptionControlResourceExclusionsEgressOnlyInternetGatewayPtrOutput() EncryptionControlResourceExclusionsEgressOnlyInternetGatewayPtrOutput { + return i.ToEncryptionControlResourceExclusionsEgressOnlyInternetGatewayPtrOutputWithContext(context.Background()) +} + +func (i EncryptionControlResourceExclusionsEgressOnlyInternetGatewayArgs) ToEncryptionControlResourceExclusionsEgressOnlyInternetGatewayPtrOutputWithContext(ctx context.Context) EncryptionControlResourceExclusionsEgressOnlyInternetGatewayPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(EncryptionControlResourceExclusionsEgressOnlyInternetGatewayOutput).ToEncryptionControlResourceExclusionsEgressOnlyInternetGatewayPtrOutputWithContext(ctx) +} + +// EncryptionControlResourceExclusionsEgressOnlyInternetGatewayPtrInput is an input type that accepts EncryptionControlResourceExclusionsEgressOnlyInternetGatewayArgs, EncryptionControlResourceExclusionsEgressOnlyInternetGatewayPtr and EncryptionControlResourceExclusionsEgressOnlyInternetGatewayPtrOutput values. +// You can construct a concrete instance of `EncryptionControlResourceExclusionsEgressOnlyInternetGatewayPtrInput` via: // -// FleetLaunchTemplateConfigArray{ FleetLaunchTemplateConfigArgs{...} } -type FleetLaunchTemplateConfigArrayInput interface { +// EncryptionControlResourceExclusionsEgressOnlyInternetGatewayArgs{...} +// +// or: +// +// nil +type EncryptionControlResourceExclusionsEgressOnlyInternetGatewayPtrInput interface { pulumi.Input - ToFleetLaunchTemplateConfigArrayOutput() FleetLaunchTemplateConfigArrayOutput - ToFleetLaunchTemplateConfigArrayOutputWithContext(context.Context) FleetLaunchTemplateConfigArrayOutput + ToEncryptionControlResourceExclusionsEgressOnlyInternetGatewayPtrOutput() EncryptionControlResourceExclusionsEgressOnlyInternetGatewayPtrOutput + ToEncryptionControlResourceExclusionsEgressOnlyInternetGatewayPtrOutputWithContext(context.Context) EncryptionControlResourceExclusionsEgressOnlyInternetGatewayPtrOutput } -type FleetLaunchTemplateConfigArray []FleetLaunchTemplateConfigInput +type encryptionControlResourceExclusionsEgressOnlyInternetGatewayPtrType EncryptionControlResourceExclusionsEgressOnlyInternetGatewayArgs -func (FleetLaunchTemplateConfigArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]FleetLaunchTemplateConfig)(nil)).Elem() +func EncryptionControlResourceExclusionsEgressOnlyInternetGatewayPtr(v *EncryptionControlResourceExclusionsEgressOnlyInternetGatewayArgs) EncryptionControlResourceExclusionsEgressOnlyInternetGatewayPtrInput { + return (*encryptionControlResourceExclusionsEgressOnlyInternetGatewayPtrType)(v) } -func (i FleetLaunchTemplateConfigArray) ToFleetLaunchTemplateConfigArrayOutput() FleetLaunchTemplateConfigArrayOutput { - return i.ToFleetLaunchTemplateConfigArrayOutputWithContext(context.Background()) +func (*encryptionControlResourceExclusionsEgressOnlyInternetGatewayPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**EncryptionControlResourceExclusionsEgressOnlyInternetGateway)(nil)).Elem() } -func (i FleetLaunchTemplateConfigArray) ToFleetLaunchTemplateConfigArrayOutputWithContext(ctx context.Context) FleetLaunchTemplateConfigArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(FleetLaunchTemplateConfigArrayOutput) +func (i *encryptionControlResourceExclusionsEgressOnlyInternetGatewayPtrType) ToEncryptionControlResourceExclusionsEgressOnlyInternetGatewayPtrOutput() EncryptionControlResourceExclusionsEgressOnlyInternetGatewayPtrOutput { + return i.ToEncryptionControlResourceExclusionsEgressOnlyInternetGatewayPtrOutputWithContext(context.Background()) } -type FleetLaunchTemplateConfigOutput struct{ *pulumi.OutputState } +func (i *encryptionControlResourceExclusionsEgressOnlyInternetGatewayPtrType) ToEncryptionControlResourceExclusionsEgressOnlyInternetGatewayPtrOutputWithContext(ctx context.Context) EncryptionControlResourceExclusionsEgressOnlyInternetGatewayPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(EncryptionControlResourceExclusionsEgressOnlyInternetGatewayPtrOutput) +} -func (FleetLaunchTemplateConfigOutput) ElementType() reflect.Type { - return reflect.TypeOf((*FleetLaunchTemplateConfig)(nil)).Elem() +type EncryptionControlResourceExclusionsEgressOnlyInternetGatewayOutput struct{ *pulumi.OutputState } + +func (EncryptionControlResourceExclusionsEgressOnlyInternetGatewayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*EncryptionControlResourceExclusionsEgressOnlyInternetGateway)(nil)).Elem() } -func (o FleetLaunchTemplateConfigOutput) ToFleetLaunchTemplateConfigOutput() FleetLaunchTemplateConfigOutput { +func (o EncryptionControlResourceExclusionsEgressOnlyInternetGatewayOutput) ToEncryptionControlResourceExclusionsEgressOnlyInternetGatewayOutput() EncryptionControlResourceExclusionsEgressOnlyInternetGatewayOutput { return o } -func (o FleetLaunchTemplateConfigOutput) ToFleetLaunchTemplateConfigOutputWithContext(ctx context.Context) FleetLaunchTemplateConfigOutput { +func (o EncryptionControlResourceExclusionsEgressOnlyInternetGatewayOutput) ToEncryptionControlResourceExclusionsEgressOnlyInternetGatewayOutputWithContext(ctx context.Context) EncryptionControlResourceExclusionsEgressOnlyInternetGatewayOutput { return o } -// Nested argument containing EC2 Launch Template to use. Defined below. -func (o FleetLaunchTemplateConfigOutput) LaunchTemplateSpecification() FleetLaunchTemplateConfigLaunchTemplateSpecificationPtrOutput { - return o.ApplyT(func(v FleetLaunchTemplateConfig) *FleetLaunchTemplateConfigLaunchTemplateSpecification { - return v.LaunchTemplateSpecification - }).(FleetLaunchTemplateConfigLaunchTemplateSpecificationPtrOutput) +func (o EncryptionControlResourceExclusionsEgressOnlyInternetGatewayOutput) ToEncryptionControlResourceExclusionsEgressOnlyInternetGatewayPtrOutput() EncryptionControlResourceExclusionsEgressOnlyInternetGatewayPtrOutput { + return o.ToEncryptionControlResourceExclusionsEgressOnlyInternetGatewayPtrOutputWithContext(context.Background()) } -// Nested argument(s) containing parameters to override the same parameters in the Launch Template. Defined below. -func (o FleetLaunchTemplateConfigOutput) Overrides() FleetLaunchTemplateConfigOverrideArrayOutput { - return o.ApplyT(func(v FleetLaunchTemplateConfig) []FleetLaunchTemplateConfigOverride { return v.Overrides }).(FleetLaunchTemplateConfigOverrideArrayOutput) +func (o EncryptionControlResourceExclusionsEgressOnlyInternetGatewayOutput) ToEncryptionControlResourceExclusionsEgressOnlyInternetGatewayPtrOutputWithContext(ctx context.Context) EncryptionControlResourceExclusionsEgressOnlyInternetGatewayPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v EncryptionControlResourceExclusionsEgressOnlyInternetGateway) *EncryptionControlResourceExclusionsEgressOnlyInternetGateway { + return &v + }).(EncryptionControlResourceExclusionsEgressOnlyInternetGatewayPtrOutput) } -type FleetLaunchTemplateConfigArrayOutput struct{ *pulumi.OutputState } +// The current state of the VPC Encryption Control. +func (o EncryptionControlResourceExclusionsEgressOnlyInternetGatewayOutput) State() pulumi.StringOutput { + return o.ApplyT(func(v EncryptionControlResourceExclusionsEgressOnlyInternetGateway) string { return v.State }).(pulumi.StringOutput) +} -func (FleetLaunchTemplateConfigArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]FleetLaunchTemplateConfig)(nil)).Elem() +// A message providing additional information about the state of the VPC Encryption Control. +func (o EncryptionControlResourceExclusionsEgressOnlyInternetGatewayOutput) StateMessage() pulumi.StringOutput { + return o.ApplyT(func(v EncryptionControlResourceExclusionsEgressOnlyInternetGateway) string { return v.StateMessage }).(pulumi.StringOutput) } -func (o FleetLaunchTemplateConfigArrayOutput) ToFleetLaunchTemplateConfigArrayOutput() FleetLaunchTemplateConfigArrayOutput { +type EncryptionControlResourceExclusionsEgressOnlyInternetGatewayPtrOutput struct{ *pulumi.OutputState } + +func (EncryptionControlResourceExclusionsEgressOnlyInternetGatewayPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**EncryptionControlResourceExclusionsEgressOnlyInternetGateway)(nil)).Elem() +} + +func (o EncryptionControlResourceExclusionsEgressOnlyInternetGatewayPtrOutput) ToEncryptionControlResourceExclusionsEgressOnlyInternetGatewayPtrOutput() EncryptionControlResourceExclusionsEgressOnlyInternetGatewayPtrOutput { return o } -func (o FleetLaunchTemplateConfigArrayOutput) ToFleetLaunchTemplateConfigArrayOutputWithContext(ctx context.Context) FleetLaunchTemplateConfigArrayOutput { +func (o EncryptionControlResourceExclusionsEgressOnlyInternetGatewayPtrOutput) ToEncryptionControlResourceExclusionsEgressOnlyInternetGatewayPtrOutputWithContext(ctx context.Context) EncryptionControlResourceExclusionsEgressOnlyInternetGatewayPtrOutput { return o } -func (o FleetLaunchTemplateConfigArrayOutput) Index(i pulumi.IntInput) FleetLaunchTemplateConfigOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) FleetLaunchTemplateConfig { - return vs[0].([]FleetLaunchTemplateConfig)[vs[1].(int)] - }).(FleetLaunchTemplateConfigOutput) +func (o EncryptionControlResourceExclusionsEgressOnlyInternetGatewayPtrOutput) Elem() EncryptionControlResourceExclusionsEgressOnlyInternetGatewayOutput { + return o.ApplyT(func(v *EncryptionControlResourceExclusionsEgressOnlyInternetGateway) EncryptionControlResourceExclusionsEgressOnlyInternetGateway { + if v != nil { + return *v + } + var ret EncryptionControlResourceExclusionsEgressOnlyInternetGateway + return ret + }).(EncryptionControlResourceExclusionsEgressOnlyInternetGatewayOutput) } -type FleetLaunchTemplateConfigLaunchTemplateSpecification struct { - // The ID of the launch template. - LaunchTemplateId *string `pulumi:"launchTemplateId"` - // The name of the launch template. - LaunchTemplateName *string `pulumi:"launchTemplateName"` - // The launch template version number, `$Latest`, or `$Default.` - Version string `pulumi:"version"` +// The current state of the VPC Encryption Control. +func (o EncryptionControlResourceExclusionsEgressOnlyInternetGatewayPtrOutput) State() pulumi.StringPtrOutput { + return o.ApplyT(func(v *EncryptionControlResourceExclusionsEgressOnlyInternetGateway) *string { + if v == nil { + return nil + } + return &v.State + }).(pulumi.StringPtrOutput) } -// FleetLaunchTemplateConfigLaunchTemplateSpecificationInput is an input type that accepts FleetLaunchTemplateConfigLaunchTemplateSpecificationArgs and FleetLaunchTemplateConfigLaunchTemplateSpecificationOutput values. -// You can construct a concrete instance of `FleetLaunchTemplateConfigLaunchTemplateSpecificationInput` via: +// A message providing additional information about the state of the VPC Encryption Control. +func (o EncryptionControlResourceExclusionsEgressOnlyInternetGatewayPtrOutput) StateMessage() pulumi.StringPtrOutput { + return o.ApplyT(func(v *EncryptionControlResourceExclusionsEgressOnlyInternetGateway) *string { + if v == nil { + return nil + } + return &v.StateMessage + }).(pulumi.StringPtrOutput) +} + +type EncryptionControlResourceExclusionsElasticFileSystem struct { + // The current state of the VPC Encryption Control. + State string `pulumi:"state"` + // A message providing additional information about the state of the VPC Encryption Control. + StateMessage string `pulumi:"stateMessage"` +} + +// EncryptionControlResourceExclusionsElasticFileSystemInput is an input type that accepts EncryptionControlResourceExclusionsElasticFileSystemArgs and EncryptionControlResourceExclusionsElasticFileSystemOutput values. +// You can construct a concrete instance of `EncryptionControlResourceExclusionsElasticFileSystemInput` via: // -// FleetLaunchTemplateConfigLaunchTemplateSpecificationArgs{...} -type FleetLaunchTemplateConfigLaunchTemplateSpecificationInput interface { +// EncryptionControlResourceExclusionsElasticFileSystemArgs{...} +type EncryptionControlResourceExclusionsElasticFileSystemInput interface { pulumi.Input - ToFleetLaunchTemplateConfigLaunchTemplateSpecificationOutput() FleetLaunchTemplateConfigLaunchTemplateSpecificationOutput - ToFleetLaunchTemplateConfigLaunchTemplateSpecificationOutputWithContext(context.Context) FleetLaunchTemplateConfigLaunchTemplateSpecificationOutput + ToEncryptionControlResourceExclusionsElasticFileSystemOutput() EncryptionControlResourceExclusionsElasticFileSystemOutput + ToEncryptionControlResourceExclusionsElasticFileSystemOutputWithContext(context.Context) EncryptionControlResourceExclusionsElasticFileSystemOutput } -type FleetLaunchTemplateConfigLaunchTemplateSpecificationArgs struct { - // The ID of the launch template. - LaunchTemplateId pulumi.StringPtrInput `pulumi:"launchTemplateId"` - // The name of the launch template. - LaunchTemplateName pulumi.StringPtrInput `pulumi:"launchTemplateName"` - // The launch template version number, `$Latest`, or `$Default.` - Version pulumi.StringInput `pulumi:"version"` +type EncryptionControlResourceExclusionsElasticFileSystemArgs struct { + // The current state of the VPC Encryption Control. + State pulumi.StringInput `pulumi:"state"` + // A message providing additional information about the state of the VPC Encryption Control. + StateMessage pulumi.StringInput `pulumi:"stateMessage"` } -func (FleetLaunchTemplateConfigLaunchTemplateSpecificationArgs) ElementType() reflect.Type { - return reflect.TypeOf((*FleetLaunchTemplateConfigLaunchTemplateSpecification)(nil)).Elem() +func (EncryptionControlResourceExclusionsElasticFileSystemArgs) ElementType() reflect.Type { + return reflect.TypeOf((*EncryptionControlResourceExclusionsElasticFileSystem)(nil)).Elem() } -func (i FleetLaunchTemplateConfigLaunchTemplateSpecificationArgs) ToFleetLaunchTemplateConfigLaunchTemplateSpecificationOutput() FleetLaunchTemplateConfigLaunchTemplateSpecificationOutput { - return i.ToFleetLaunchTemplateConfigLaunchTemplateSpecificationOutputWithContext(context.Background()) +func (i EncryptionControlResourceExclusionsElasticFileSystemArgs) ToEncryptionControlResourceExclusionsElasticFileSystemOutput() EncryptionControlResourceExclusionsElasticFileSystemOutput { + return i.ToEncryptionControlResourceExclusionsElasticFileSystemOutputWithContext(context.Background()) } -func (i FleetLaunchTemplateConfigLaunchTemplateSpecificationArgs) ToFleetLaunchTemplateConfigLaunchTemplateSpecificationOutputWithContext(ctx context.Context) FleetLaunchTemplateConfigLaunchTemplateSpecificationOutput { - return pulumi.ToOutputWithContext(ctx, i).(FleetLaunchTemplateConfigLaunchTemplateSpecificationOutput) +func (i EncryptionControlResourceExclusionsElasticFileSystemArgs) ToEncryptionControlResourceExclusionsElasticFileSystemOutputWithContext(ctx context.Context) EncryptionControlResourceExclusionsElasticFileSystemOutput { + return pulumi.ToOutputWithContext(ctx, i).(EncryptionControlResourceExclusionsElasticFileSystemOutput) } -func (i FleetLaunchTemplateConfigLaunchTemplateSpecificationArgs) ToFleetLaunchTemplateConfigLaunchTemplateSpecificationPtrOutput() FleetLaunchTemplateConfigLaunchTemplateSpecificationPtrOutput { - return i.ToFleetLaunchTemplateConfigLaunchTemplateSpecificationPtrOutputWithContext(context.Background()) +func (i EncryptionControlResourceExclusionsElasticFileSystemArgs) ToEncryptionControlResourceExclusionsElasticFileSystemPtrOutput() EncryptionControlResourceExclusionsElasticFileSystemPtrOutput { + return i.ToEncryptionControlResourceExclusionsElasticFileSystemPtrOutputWithContext(context.Background()) } -func (i FleetLaunchTemplateConfigLaunchTemplateSpecificationArgs) ToFleetLaunchTemplateConfigLaunchTemplateSpecificationPtrOutputWithContext(ctx context.Context) FleetLaunchTemplateConfigLaunchTemplateSpecificationPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(FleetLaunchTemplateConfigLaunchTemplateSpecificationOutput).ToFleetLaunchTemplateConfigLaunchTemplateSpecificationPtrOutputWithContext(ctx) +func (i EncryptionControlResourceExclusionsElasticFileSystemArgs) ToEncryptionControlResourceExclusionsElasticFileSystemPtrOutputWithContext(ctx context.Context) EncryptionControlResourceExclusionsElasticFileSystemPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(EncryptionControlResourceExclusionsElasticFileSystemOutput).ToEncryptionControlResourceExclusionsElasticFileSystemPtrOutputWithContext(ctx) } -// FleetLaunchTemplateConfigLaunchTemplateSpecificationPtrInput is an input type that accepts FleetLaunchTemplateConfigLaunchTemplateSpecificationArgs, FleetLaunchTemplateConfigLaunchTemplateSpecificationPtr and FleetLaunchTemplateConfigLaunchTemplateSpecificationPtrOutput values. -// You can construct a concrete instance of `FleetLaunchTemplateConfigLaunchTemplateSpecificationPtrInput` via: +// EncryptionControlResourceExclusionsElasticFileSystemPtrInput is an input type that accepts EncryptionControlResourceExclusionsElasticFileSystemArgs, EncryptionControlResourceExclusionsElasticFileSystemPtr and EncryptionControlResourceExclusionsElasticFileSystemPtrOutput values. +// You can construct a concrete instance of `EncryptionControlResourceExclusionsElasticFileSystemPtrInput` via: // -// FleetLaunchTemplateConfigLaunchTemplateSpecificationArgs{...} +// EncryptionControlResourceExclusionsElasticFileSystemArgs{...} // // or: // // nil -type FleetLaunchTemplateConfigLaunchTemplateSpecificationPtrInput interface { +type EncryptionControlResourceExclusionsElasticFileSystemPtrInput interface { pulumi.Input - ToFleetLaunchTemplateConfigLaunchTemplateSpecificationPtrOutput() FleetLaunchTemplateConfigLaunchTemplateSpecificationPtrOutput - ToFleetLaunchTemplateConfigLaunchTemplateSpecificationPtrOutputWithContext(context.Context) FleetLaunchTemplateConfigLaunchTemplateSpecificationPtrOutput + ToEncryptionControlResourceExclusionsElasticFileSystemPtrOutput() EncryptionControlResourceExclusionsElasticFileSystemPtrOutput + ToEncryptionControlResourceExclusionsElasticFileSystemPtrOutputWithContext(context.Context) EncryptionControlResourceExclusionsElasticFileSystemPtrOutput } -type fleetLaunchTemplateConfigLaunchTemplateSpecificationPtrType FleetLaunchTemplateConfigLaunchTemplateSpecificationArgs +type encryptionControlResourceExclusionsElasticFileSystemPtrType EncryptionControlResourceExclusionsElasticFileSystemArgs -func FleetLaunchTemplateConfigLaunchTemplateSpecificationPtr(v *FleetLaunchTemplateConfigLaunchTemplateSpecificationArgs) FleetLaunchTemplateConfigLaunchTemplateSpecificationPtrInput { - return (*fleetLaunchTemplateConfigLaunchTemplateSpecificationPtrType)(v) +func EncryptionControlResourceExclusionsElasticFileSystemPtr(v *EncryptionControlResourceExclusionsElasticFileSystemArgs) EncryptionControlResourceExclusionsElasticFileSystemPtrInput { + return (*encryptionControlResourceExclusionsElasticFileSystemPtrType)(v) } -func (*fleetLaunchTemplateConfigLaunchTemplateSpecificationPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**FleetLaunchTemplateConfigLaunchTemplateSpecification)(nil)).Elem() +func (*encryptionControlResourceExclusionsElasticFileSystemPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**EncryptionControlResourceExclusionsElasticFileSystem)(nil)).Elem() } -func (i *fleetLaunchTemplateConfigLaunchTemplateSpecificationPtrType) ToFleetLaunchTemplateConfigLaunchTemplateSpecificationPtrOutput() FleetLaunchTemplateConfigLaunchTemplateSpecificationPtrOutput { - return i.ToFleetLaunchTemplateConfigLaunchTemplateSpecificationPtrOutputWithContext(context.Background()) +func (i *encryptionControlResourceExclusionsElasticFileSystemPtrType) ToEncryptionControlResourceExclusionsElasticFileSystemPtrOutput() EncryptionControlResourceExclusionsElasticFileSystemPtrOutput { + return i.ToEncryptionControlResourceExclusionsElasticFileSystemPtrOutputWithContext(context.Background()) } -func (i *fleetLaunchTemplateConfigLaunchTemplateSpecificationPtrType) ToFleetLaunchTemplateConfigLaunchTemplateSpecificationPtrOutputWithContext(ctx context.Context) FleetLaunchTemplateConfigLaunchTemplateSpecificationPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(FleetLaunchTemplateConfigLaunchTemplateSpecificationPtrOutput) +func (i *encryptionControlResourceExclusionsElasticFileSystemPtrType) ToEncryptionControlResourceExclusionsElasticFileSystemPtrOutputWithContext(ctx context.Context) EncryptionControlResourceExclusionsElasticFileSystemPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(EncryptionControlResourceExclusionsElasticFileSystemPtrOutput) } -type FleetLaunchTemplateConfigLaunchTemplateSpecificationOutput struct{ *pulumi.OutputState } +type EncryptionControlResourceExclusionsElasticFileSystemOutput struct{ *pulumi.OutputState } -func (FleetLaunchTemplateConfigLaunchTemplateSpecificationOutput) ElementType() reflect.Type { - return reflect.TypeOf((*FleetLaunchTemplateConfigLaunchTemplateSpecification)(nil)).Elem() +func (EncryptionControlResourceExclusionsElasticFileSystemOutput) ElementType() reflect.Type { + return reflect.TypeOf((*EncryptionControlResourceExclusionsElasticFileSystem)(nil)).Elem() } -func (o FleetLaunchTemplateConfigLaunchTemplateSpecificationOutput) ToFleetLaunchTemplateConfigLaunchTemplateSpecificationOutput() FleetLaunchTemplateConfigLaunchTemplateSpecificationOutput { +func (o EncryptionControlResourceExclusionsElasticFileSystemOutput) ToEncryptionControlResourceExclusionsElasticFileSystemOutput() EncryptionControlResourceExclusionsElasticFileSystemOutput { return o } -func (o FleetLaunchTemplateConfigLaunchTemplateSpecificationOutput) ToFleetLaunchTemplateConfigLaunchTemplateSpecificationOutputWithContext(ctx context.Context) FleetLaunchTemplateConfigLaunchTemplateSpecificationOutput { +func (o EncryptionControlResourceExclusionsElasticFileSystemOutput) ToEncryptionControlResourceExclusionsElasticFileSystemOutputWithContext(ctx context.Context) EncryptionControlResourceExclusionsElasticFileSystemOutput { return o } -func (o FleetLaunchTemplateConfigLaunchTemplateSpecificationOutput) ToFleetLaunchTemplateConfigLaunchTemplateSpecificationPtrOutput() FleetLaunchTemplateConfigLaunchTemplateSpecificationPtrOutput { - return o.ToFleetLaunchTemplateConfigLaunchTemplateSpecificationPtrOutputWithContext(context.Background()) +func (o EncryptionControlResourceExclusionsElasticFileSystemOutput) ToEncryptionControlResourceExclusionsElasticFileSystemPtrOutput() EncryptionControlResourceExclusionsElasticFileSystemPtrOutput { + return o.ToEncryptionControlResourceExclusionsElasticFileSystemPtrOutputWithContext(context.Background()) } -func (o FleetLaunchTemplateConfigLaunchTemplateSpecificationOutput) ToFleetLaunchTemplateConfigLaunchTemplateSpecificationPtrOutputWithContext(ctx context.Context) FleetLaunchTemplateConfigLaunchTemplateSpecificationPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v FleetLaunchTemplateConfigLaunchTemplateSpecification) *FleetLaunchTemplateConfigLaunchTemplateSpecification { +func (o EncryptionControlResourceExclusionsElasticFileSystemOutput) ToEncryptionControlResourceExclusionsElasticFileSystemPtrOutputWithContext(ctx context.Context) EncryptionControlResourceExclusionsElasticFileSystemPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v EncryptionControlResourceExclusionsElasticFileSystem) *EncryptionControlResourceExclusionsElasticFileSystem { return &v - }).(FleetLaunchTemplateConfigLaunchTemplateSpecificationPtrOutput) -} - -// The ID of the launch template. -func (o FleetLaunchTemplateConfigLaunchTemplateSpecificationOutput) LaunchTemplateId() pulumi.StringPtrOutput { - return o.ApplyT(func(v FleetLaunchTemplateConfigLaunchTemplateSpecification) *string { return v.LaunchTemplateId }).(pulumi.StringPtrOutput) + }).(EncryptionControlResourceExclusionsElasticFileSystemPtrOutput) } -// The name of the launch template. -func (o FleetLaunchTemplateConfigLaunchTemplateSpecificationOutput) LaunchTemplateName() pulumi.StringPtrOutput { - return o.ApplyT(func(v FleetLaunchTemplateConfigLaunchTemplateSpecification) *string { return v.LaunchTemplateName }).(pulumi.StringPtrOutput) +// The current state of the VPC Encryption Control. +func (o EncryptionControlResourceExclusionsElasticFileSystemOutput) State() pulumi.StringOutput { + return o.ApplyT(func(v EncryptionControlResourceExclusionsElasticFileSystem) string { return v.State }).(pulumi.StringOutput) } -// The launch template version number, `$Latest`, or `$Default.` -func (o FleetLaunchTemplateConfigLaunchTemplateSpecificationOutput) Version() pulumi.StringOutput { - return o.ApplyT(func(v FleetLaunchTemplateConfigLaunchTemplateSpecification) string { return v.Version }).(pulumi.StringOutput) +// A message providing additional information about the state of the VPC Encryption Control. +func (o EncryptionControlResourceExclusionsElasticFileSystemOutput) StateMessage() pulumi.StringOutput { + return o.ApplyT(func(v EncryptionControlResourceExclusionsElasticFileSystem) string { return v.StateMessage }).(pulumi.StringOutput) } -type FleetLaunchTemplateConfigLaunchTemplateSpecificationPtrOutput struct{ *pulumi.OutputState } +type EncryptionControlResourceExclusionsElasticFileSystemPtrOutput struct{ *pulumi.OutputState } -func (FleetLaunchTemplateConfigLaunchTemplateSpecificationPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**FleetLaunchTemplateConfigLaunchTemplateSpecification)(nil)).Elem() +func (EncryptionControlResourceExclusionsElasticFileSystemPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**EncryptionControlResourceExclusionsElasticFileSystem)(nil)).Elem() } -func (o FleetLaunchTemplateConfigLaunchTemplateSpecificationPtrOutput) ToFleetLaunchTemplateConfigLaunchTemplateSpecificationPtrOutput() FleetLaunchTemplateConfigLaunchTemplateSpecificationPtrOutput { +func (o EncryptionControlResourceExclusionsElasticFileSystemPtrOutput) ToEncryptionControlResourceExclusionsElasticFileSystemPtrOutput() EncryptionControlResourceExclusionsElasticFileSystemPtrOutput { return o } -func (o FleetLaunchTemplateConfigLaunchTemplateSpecificationPtrOutput) ToFleetLaunchTemplateConfigLaunchTemplateSpecificationPtrOutputWithContext(ctx context.Context) FleetLaunchTemplateConfigLaunchTemplateSpecificationPtrOutput { +func (o EncryptionControlResourceExclusionsElasticFileSystemPtrOutput) ToEncryptionControlResourceExclusionsElasticFileSystemPtrOutputWithContext(ctx context.Context) EncryptionControlResourceExclusionsElasticFileSystemPtrOutput { return o } -func (o FleetLaunchTemplateConfigLaunchTemplateSpecificationPtrOutput) Elem() FleetLaunchTemplateConfigLaunchTemplateSpecificationOutput { - return o.ApplyT(func(v *FleetLaunchTemplateConfigLaunchTemplateSpecification) FleetLaunchTemplateConfigLaunchTemplateSpecification { +func (o EncryptionControlResourceExclusionsElasticFileSystemPtrOutput) Elem() EncryptionControlResourceExclusionsElasticFileSystemOutput { + return o.ApplyT(func(v *EncryptionControlResourceExclusionsElasticFileSystem) EncryptionControlResourceExclusionsElasticFileSystem { if v != nil { return *v } - var ret FleetLaunchTemplateConfigLaunchTemplateSpecification + var ret EncryptionControlResourceExclusionsElasticFileSystem return ret - }).(FleetLaunchTemplateConfigLaunchTemplateSpecificationOutput) -} - -// The ID of the launch template. -func (o FleetLaunchTemplateConfigLaunchTemplateSpecificationPtrOutput) LaunchTemplateId() pulumi.StringPtrOutput { - return o.ApplyT(func(v *FleetLaunchTemplateConfigLaunchTemplateSpecification) *string { - if v == nil { - return nil - } - return v.LaunchTemplateId - }).(pulumi.StringPtrOutput) + }).(EncryptionControlResourceExclusionsElasticFileSystemOutput) } -// The name of the launch template. -func (o FleetLaunchTemplateConfigLaunchTemplateSpecificationPtrOutput) LaunchTemplateName() pulumi.StringPtrOutput { - return o.ApplyT(func(v *FleetLaunchTemplateConfigLaunchTemplateSpecification) *string { +// The current state of the VPC Encryption Control. +func (o EncryptionControlResourceExclusionsElasticFileSystemPtrOutput) State() pulumi.StringPtrOutput { + return o.ApplyT(func(v *EncryptionControlResourceExclusionsElasticFileSystem) *string { if v == nil { return nil } - return v.LaunchTemplateName + return &v.State }).(pulumi.StringPtrOutput) } -// The launch template version number, `$Latest`, or `$Default.` -func (o FleetLaunchTemplateConfigLaunchTemplateSpecificationPtrOutput) Version() pulumi.StringPtrOutput { - return o.ApplyT(func(v *FleetLaunchTemplateConfigLaunchTemplateSpecification) *string { +// A message providing additional information about the state of the VPC Encryption Control. +func (o EncryptionControlResourceExclusionsElasticFileSystemPtrOutput) StateMessage() pulumi.StringPtrOutput { + return o.ApplyT(func(v *EncryptionControlResourceExclusionsElasticFileSystem) *string { if v == nil { return nil } - return &v.Version + return &v.StateMessage }).(pulumi.StringPtrOutput) } -type FleetLaunchTemplateConfigOverride struct { - // Availability Zone in which to launch the instances. - AvailabilityZone *string `pulumi:"availabilityZone"` - // Override the instance type in the Launch Template with instance types that satisfy the requirements. - InstanceRequirements *FleetLaunchTemplateConfigOverrideInstanceRequirements `pulumi:"instanceRequirements"` - // Instance type. - InstanceType *string `pulumi:"instanceType"` - // Maximum price per unit hour that you are willing to pay for a Spot Instance. - MaxPrice *string `pulumi:"maxPrice"` - // Priority for the launch template override. If `onDemandOptions` `allocationStrategy` is set to `prioritized`, EC2 Fleet uses priority to determine which launch template override to use first in fulfilling On-Demand capacity. The highest priority is launched first. The lower the number, the higher the priority. If no number is set, the launch template override has the lowest priority. Valid values are whole numbers starting at 0. - Priority *float64 `pulumi:"priority"` - // ID of the subnet in which to launch the instances. - SubnetId *string `pulumi:"subnetId"` - // Number of units provided by the specified instance type. - WeightedCapacity *float64 `pulumi:"weightedCapacity"` +type EncryptionControlResourceExclusionsInternetGateway struct { + // The current state of the VPC Encryption Control. + State string `pulumi:"state"` + // A message providing additional information about the state of the VPC Encryption Control. + StateMessage string `pulumi:"stateMessage"` } -// FleetLaunchTemplateConfigOverrideInput is an input type that accepts FleetLaunchTemplateConfigOverrideArgs and FleetLaunchTemplateConfigOverrideOutput values. -// You can construct a concrete instance of `FleetLaunchTemplateConfigOverrideInput` via: +// EncryptionControlResourceExclusionsInternetGatewayInput is an input type that accepts EncryptionControlResourceExclusionsInternetGatewayArgs and EncryptionControlResourceExclusionsInternetGatewayOutput values. +// You can construct a concrete instance of `EncryptionControlResourceExclusionsInternetGatewayInput` via: // -// FleetLaunchTemplateConfigOverrideArgs{...} -type FleetLaunchTemplateConfigOverrideInput interface { +// EncryptionControlResourceExclusionsInternetGatewayArgs{...} +type EncryptionControlResourceExclusionsInternetGatewayInput interface { pulumi.Input - ToFleetLaunchTemplateConfigOverrideOutput() FleetLaunchTemplateConfigOverrideOutput - ToFleetLaunchTemplateConfigOverrideOutputWithContext(context.Context) FleetLaunchTemplateConfigOverrideOutput + ToEncryptionControlResourceExclusionsInternetGatewayOutput() EncryptionControlResourceExclusionsInternetGatewayOutput + ToEncryptionControlResourceExclusionsInternetGatewayOutputWithContext(context.Context) EncryptionControlResourceExclusionsInternetGatewayOutput } -type FleetLaunchTemplateConfigOverrideArgs struct { - // Availability Zone in which to launch the instances. - AvailabilityZone pulumi.StringPtrInput `pulumi:"availabilityZone"` - // Override the instance type in the Launch Template with instance types that satisfy the requirements. - InstanceRequirements FleetLaunchTemplateConfigOverrideInstanceRequirementsPtrInput `pulumi:"instanceRequirements"` - // Instance type. - InstanceType pulumi.StringPtrInput `pulumi:"instanceType"` - // Maximum price per unit hour that you are willing to pay for a Spot Instance. - MaxPrice pulumi.StringPtrInput `pulumi:"maxPrice"` - // Priority for the launch template override. If `onDemandOptions` `allocationStrategy` is set to `prioritized`, EC2 Fleet uses priority to determine which launch template override to use first in fulfilling On-Demand capacity. The highest priority is launched first. The lower the number, the higher the priority. If no number is set, the launch template override has the lowest priority. Valid values are whole numbers starting at 0. - Priority pulumi.Float64PtrInput `pulumi:"priority"` - // ID of the subnet in which to launch the instances. - SubnetId pulumi.StringPtrInput `pulumi:"subnetId"` - // Number of units provided by the specified instance type. - WeightedCapacity pulumi.Float64PtrInput `pulumi:"weightedCapacity"` +type EncryptionControlResourceExclusionsInternetGatewayArgs struct { + // The current state of the VPC Encryption Control. + State pulumi.StringInput `pulumi:"state"` + // A message providing additional information about the state of the VPC Encryption Control. + StateMessage pulumi.StringInput `pulumi:"stateMessage"` } -func (FleetLaunchTemplateConfigOverrideArgs) ElementType() reflect.Type { - return reflect.TypeOf((*FleetLaunchTemplateConfigOverride)(nil)).Elem() +func (EncryptionControlResourceExclusionsInternetGatewayArgs) ElementType() reflect.Type { + return reflect.TypeOf((*EncryptionControlResourceExclusionsInternetGateway)(nil)).Elem() } -func (i FleetLaunchTemplateConfigOverrideArgs) ToFleetLaunchTemplateConfigOverrideOutput() FleetLaunchTemplateConfigOverrideOutput { - return i.ToFleetLaunchTemplateConfigOverrideOutputWithContext(context.Background()) +func (i EncryptionControlResourceExclusionsInternetGatewayArgs) ToEncryptionControlResourceExclusionsInternetGatewayOutput() EncryptionControlResourceExclusionsInternetGatewayOutput { + return i.ToEncryptionControlResourceExclusionsInternetGatewayOutputWithContext(context.Background()) } -func (i FleetLaunchTemplateConfigOverrideArgs) ToFleetLaunchTemplateConfigOverrideOutputWithContext(ctx context.Context) FleetLaunchTemplateConfigOverrideOutput { - return pulumi.ToOutputWithContext(ctx, i).(FleetLaunchTemplateConfigOverrideOutput) +func (i EncryptionControlResourceExclusionsInternetGatewayArgs) ToEncryptionControlResourceExclusionsInternetGatewayOutputWithContext(ctx context.Context) EncryptionControlResourceExclusionsInternetGatewayOutput { + return pulumi.ToOutputWithContext(ctx, i).(EncryptionControlResourceExclusionsInternetGatewayOutput) } -// FleetLaunchTemplateConfigOverrideArrayInput is an input type that accepts FleetLaunchTemplateConfigOverrideArray and FleetLaunchTemplateConfigOverrideArrayOutput values. -// You can construct a concrete instance of `FleetLaunchTemplateConfigOverrideArrayInput` via: +func (i EncryptionControlResourceExclusionsInternetGatewayArgs) ToEncryptionControlResourceExclusionsInternetGatewayPtrOutput() EncryptionControlResourceExclusionsInternetGatewayPtrOutput { + return i.ToEncryptionControlResourceExclusionsInternetGatewayPtrOutputWithContext(context.Background()) +} + +func (i EncryptionControlResourceExclusionsInternetGatewayArgs) ToEncryptionControlResourceExclusionsInternetGatewayPtrOutputWithContext(ctx context.Context) EncryptionControlResourceExclusionsInternetGatewayPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(EncryptionControlResourceExclusionsInternetGatewayOutput).ToEncryptionControlResourceExclusionsInternetGatewayPtrOutputWithContext(ctx) +} + +// EncryptionControlResourceExclusionsInternetGatewayPtrInput is an input type that accepts EncryptionControlResourceExclusionsInternetGatewayArgs, EncryptionControlResourceExclusionsInternetGatewayPtr and EncryptionControlResourceExclusionsInternetGatewayPtrOutput values. +// You can construct a concrete instance of `EncryptionControlResourceExclusionsInternetGatewayPtrInput` via: // -// FleetLaunchTemplateConfigOverrideArray{ FleetLaunchTemplateConfigOverrideArgs{...} } -type FleetLaunchTemplateConfigOverrideArrayInput interface { +// EncryptionControlResourceExclusionsInternetGatewayArgs{...} +// +// or: +// +// nil +type EncryptionControlResourceExclusionsInternetGatewayPtrInput interface { pulumi.Input - ToFleetLaunchTemplateConfigOverrideArrayOutput() FleetLaunchTemplateConfigOverrideArrayOutput - ToFleetLaunchTemplateConfigOverrideArrayOutputWithContext(context.Context) FleetLaunchTemplateConfigOverrideArrayOutput + ToEncryptionControlResourceExclusionsInternetGatewayPtrOutput() EncryptionControlResourceExclusionsInternetGatewayPtrOutput + ToEncryptionControlResourceExclusionsInternetGatewayPtrOutputWithContext(context.Context) EncryptionControlResourceExclusionsInternetGatewayPtrOutput } -type FleetLaunchTemplateConfigOverrideArray []FleetLaunchTemplateConfigOverrideInput +type encryptionControlResourceExclusionsInternetGatewayPtrType EncryptionControlResourceExclusionsInternetGatewayArgs -func (FleetLaunchTemplateConfigOverrideArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]FleetLaunchTemplateConfigOverride)(nil)).Elem() +func EncryptionControlResourceExclusionsInternetGatewayPtr(v *EncryptionControlResourceExclusionsInternetGatewayArgs) EncryptionControlResourceExclusionsInternetGatewayPtrInput { + return (*encryptionControlResourceExclusionsInternetGatewayPtrType)(v) } -func (i FleetLaunchTemplateConfigOverrideArray) ToFleetLaunchTemplateConfigOverrideArrayOutput() FleetLaunchTemplateConfigOverrideArrayOutput { - return i.ToFleetLaunchTemplateConfigOverrideArrayOutputWithContext(context.Background()) +func (*encryptionControlResourceExclusionsInternetGatewayPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**EncryptionControlResourceExclusionsInternetGateway)(nil)).Elem() } -func (i FleetLaunchTemplateConfigOverrideArray) ToFleetLaunchTemplateConfigOverrideArrayOutputWithContext(ctx context.Context) FleetLaunchTemplateConfigOverrideArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(FleetLaunchTemplateConfigOverrideArrayOutput) +func (i *encryptionControlResourceExclusionsInternetGatewayPtrType) ToEncryptionControlResourceExclusionsInternetGatewayPtrOutput() EncryptionControlResourceExclusionsInternetGatewayPtrOutput { + return i.ToEncryptionControlResourceExclusionsInternetGatewayPtrOutputWithContext(context.Background()) } -type FleetLaunchTemplateConfigOverrideOutput struct{ *pulumi.OutputState } +func (i *encryptionControlResourceExclusionsInternetGatewayPtrType) ToEncryptionControlResourceExclusionsInternetGatewayPtrOutputWithContext(ctx context.Context) EncryptionControlResourceExclusionsInternetGatewayPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(EncryptionControlResourceExclusionsInternetGatewayPtrOutput) +} -func (FleetLaunchTemplateConfigOverrideOutput) ElementType() reflect.Type { - return reflect.TypeOf((*FleetLaunchTemplateConfigOverride)(nil)).Elem() +type EncryptionControlResourceExclusionsInternetGatewayOutput struct{ *pulumi.OutputState } + +func (EncryptionControlResourceExclusionsInternetGatewayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*EncryptionControlResourceExclusionsInternetGateway)(nil)).Elem() } -func (o FleetLaunchTemplateConfigOverrideOutput) ToFleetLaunchTemplateConfigOverrideOutput() FleetLaunchTemplateConfigOverrideOutput { +func (o EncryptionControlResourceExclusionsInternetGatewayOutput) ToEncryptionControlResourceExclusionsInternetGatewayOutput() EncryptionControlResourceExclusionsInternetGatewayOutput { return o } -func (o FleetLaunchTemplateConfigOverrideOutput) ToFleetLaunchTemplateConfigOverrideOutputWithContext(ctx context.Context) FleetLaunchTemplateConfigOverrideOutput { +func (o EncryptionControlResourceExclusionsInternetGatewayOutput) ToEncryptionControlResourceExclusionsInternetGatewayOutputWithContext(ctx context.Context) EncryptionControlResourceExclusionsInternetGatewayOutput { return o } -// Availability Zone in which to launch the instances. -func (o FleetLaunchTemplateConfigOverrideOutput) AvailabilityZone() pulumi.StringPtrOutput { - return o.ApplyT(func(v FleetLaunchTemplateConfigOverride) *string { return v.AvailabilityZone }).(pulumi.StringPtrOutput) +func (o EncryptionControlResourceExclusionsInternetGatewayOutput) ToEncryptionControlResourceExclusionsInternetGatewayPtrOutput() EncryptionControlResourceExclusionsInternetGatewayPtrOutput { + return o.ToEncryptionControlResourceExclusionsInternetGatewayPtrOutputWithContext(context.Background()) } -// Override the instance type in the Launch Template with instance types that satisfy the requirements. -func (o FleetLaunchTemplateConfigOverrideOutput) InstanceRequirements() FleetLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput { - return o.ApplyT(func(v FleetLaunchTemplateConfigOverride) *FleetLaunchTemplateConfigOverrideInstanceRequirements { - return v.InstanceRequirements - }).(FleetLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput) +func (o EncryptionControlResourceExclusionsInternetGatewayOutput) ToEncryptionControlResourceExclusionsInternetGatewayPtrOutputWithContext(ctx context.Context) EncryptionControlResourceExclusionsInternetGatewayPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v EncryptionControlResourceExclusionsInternetGateway) *EncryptionControlResourceExclusionsInternetGateway { + return &v + }).(EncryptionControlResourceExclusionsInternetGatewayPtrOutput) } -// Instance type. -func (o FleetLaunchTemplateConfigOverrideOutput) InstanceType() pulumi.StringPtrOutput { - return o.ApplyT(func(v FleetLaunchTemplateConfigOverride) *string { return v.InstanceType }).(pulumi.StringPtrOutput) +// The current state of the VPC Encryption Control. +func (o EncryptionControlResourceExclusionsInternetGatewayOutput) State() pulumi.StringOutput { + return o.ApplyT(func(v EncryptionControlResourceExclusionsInternetGateway) string { return v.State }).(pulumi.StringOutput) } -// Maximum price per unit hour that you are willing to pay for a Spot Instance. -func (o FleetLaunchTemplateConfigOverrideOutput) MaxPrice() pulumi.StringPtrOutput { - return o.ApplyT(func(v FleetLaunchTemplateConfigOverride) *string { return v.MaxPrice }).(pulumi.StringPtrOutput) +// A message providing additional information about the state of the VPC Encryption Control. +func (o EncryptionControlResourceExclusionsInternetGatewayOutput) StateMessage() pulumi.StringOutput { + return o.ApplyT(func(v EncryptionControlResourceExclusionsInternetGateway) string { return v.StateMessage }).(pulumi.StringOutput) } -// Priority for the launch template override. If `onDemandOptions` `allocationStrategy` is set to `prioritized`, EC2 Fleet uses priority to determine which launch template override to use first in fulfilling On-Demand capacity. The highest priority is launched first. The lower the number, the higher the priority. If no number is set, the launch template override has the lowest priority. Valid values are whole numbers starting at 0. -func (o FleetLaunchTemplateConfigOverrideOutput) Priority() pulumi.Float64PtrOutput { - return o.ApplyT(func(v FleetLaunchTemplateConfigOverride) *float64 { return v.Priority }).(pulumi.Float64PtrOutput) +type EncryptionControlResourceExclusionsInternetGatewayPtrOutput struct{ *pulumi.OutputState } + +func (EncryptionControlResourceExclusionsInternetGatewayPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**EncryptionControlResourceExclusionsInternetGateway)(nil)).Elem() } -// ID of the subnet in which to launch the instances. -func (o FleetLaunchTemplateConfigOverrideOutput) SubnetId() pulumi.StringPtrOutput { - return o.ApplyT(func(v FleetLaunchTemplateConfigOverride) *string { return v.SubnetId }).(pulumi.StringPtrOutput) +func (o EncryptionControlResourceExclusionsInternetGatewayPtrOutput) ToEncryptionControlResourceExclusionsInternetGatewayPtrOutput() EncryptionControlResourceExclusionsInternetGatewayPtrOutput { + return o } -// Number of units provided by the specified instance type. -func (o FleetLaunchTemplateConfigOverrideOutput) WeightedCapacity() pulumi.Float64PtrOutput { - return o.ApplyT(func(v FleetLaunchTemplateConfigOverride) *float64 { return v.WeightedCapacity }).(pulumi.Float64PtrOutput) +func (o EncryptionControlResourceExclusionsInternetGatewayPtrOutput) ToEncryptionControlResourceExclusionsInternetGatewayPtrOutputWithContext(ctx context.Context) EncryptionControlResourceExclusionsInternetGatewayPtrOutput { + return o } -type FleetLaunchTemplateConfigOverrideArrayOutput struct{ *pulumi.OutputState } +func (o EncryptionControlResourceExclusionsInternetGatewayPtrOutput) Elem() EncryptionControlResourceExclusionsInternetGatewayOutput { + return o.ApplyT(func(v *EncryptionControlResourceExclusionsInternetGateway) EncryptionControlResourceExclusionsInternetGateway { + if v != nil { + return *v + } + var ret EncryptionControlResourceExclusionsInternetGateway + return ret + }).(EncryptionControlResourceExclusionsInternetGatewayOutput) +} -func (FleetLaunchTemplateConfigOverrideArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]FleetLaunchTemplateConfigOverride)(nil)).Elem() +// The current state of the VPC Encryption Control. +func (o EncryptionControlResourceExclusionsInternetGatewayPtrOutput) State() pulumi.StringPtrOutput { + return o.ApplyT(func(v *EncryptionControlResourceExclusionsInternetGateway) *string { + if v == nil { + return nil + } + return &v.State + }).(pulumi.StringPtrOutput) } -func (o FleetLaunchTemplateConfigOverrideArrayOutput) ToFleetLaunchTemplateConfigOverrideArrayOutput() FleetLaunchTemplateConfigOverrideArrayOutput { +// A message providing additional information about the state of the VPC Encryption Control. +func (o EncryptionControlResourceExclusionsInternetGatewayPtrOutput) StateMessage() pulumi.StringPtrOutput { + return o.ApplyT(func(v *EncryptionControlResourceExclusionsInternetGateway) *string { + if v == nil { + return nil + } + return &v.StateMessage + }).(pulumi.StringPtrOutput) +} + +type EncryptionControlResourceExclusionsLambda struct { + // The current state of the VPC Encryption Control. + State string `pulumi:"state"` + // A message providing additional information about the state of the VPC Encryption Control. + StateMessage string `pulumi:"stateMessage"` +} + +// EncryptionControlResourceExclusionsLambdaInput is an input type that accepts EncryptionControlResourceExclusionsLambdaArgs and EncryptionControlResourceExclusionsLambdaOutput values. +// You can construct a concrete instance of `EncryptionControlResourceExclusionsLambdaInput` via: +// +// EncryptionControlResourceExclusionsLambdaArgs{...} +type EncryptionControlResourceExclusionsLambdaInput interface { + pulumi.Input + + ToEncryptionControlResourceExclusionsLambdaOutput() EncryptionControlResourceExclusionsLambdaOutput + ToEncryptionControlResourceExclusionsLambdaOutputWithContext(context.Context) EncryptionControlResourceExclusionsLambdaOutput +} + +type EncryptionControlResourceExclusionsLambdaArgs struct { + // The current state of the VPC Encryption Control. + State pulumi.StringInput `pulumi:"state"` + // A message providing additional information about the state of the VPC Encryption Control. + StateMessage pulumi.StringInput `pulumi:"stateMessage"` +} + +func (EncryptionControlResourceExclusionsLambdaArgs) ElementType() reflect.Type { + return reflect.TypeOf((*EncryptionControlResourceExclusionsLambda)(nil)).Elem() +} + +func (i EncryptionControlResourceExclusionsLambdaArgs) ToEncryptionControlResourceExclusionsLambdaOutput() EncryptionControlResourceExclusionsLambdaOutput { + return i.ToEncryptionControlResourceExclusionsLambdaOutputWithContext(context.Background()) +} + +func (i EncryptionControlResourceExclusionsLambdaArgs) ToEncryptionControlResourceExclusionsLambdaOutputWithContext(ctx context.Context) EncryptionControlResourceExclusionsLambdaOutput { + return pulumi.ToOutputWithContext(ctx, i).(EncryptionControlResourceExclusionsLambdaOutput) +} + +func (i EncryptionControlResourceExclusionsLambdaArgs) ToEncryptionControlResourceExclusionsLambdaPtrOutput() EncryptionControlResourceExclusionsLambdaPtrOutput { + return i.ToEncryptionControlResourceExclusionsLambdaPtrOutputWithContext(context.Background()) +} + +func (i EncryptionControlResourceExclusionsLambdaArgs) ToEncryptionControlResourceExclusionsLambdaPtrOutputWithContext(ctx context.Context) EncryptionControlResourceExclusionsLambdaPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(EncryptionControlResourceExclusionsLambdaOutput).ToEncryptionControlResourceExclusionsLambdaPtrOutputWithContext(ctx) +} + +// EncryptionControlResourceExclusionsLambdaPtrInput is an input type that accepts EncryptionControlResourceExclusionsLambdaArgs, EncryptionControlResourceExclusionsLambdaPtr and EncryptionControlResourceExclusionsLambdaPtrOutput values. +// You can construct a concrete instance of `EncryptionControlResourceExclusionsLambdaPtrInput` via: +// +// EncryptionControlResourceExclusionsLambdaArgs{...} +// +// or: +// +// nil +type EncryptionControlResourceExclusionsLambdaPtrInput interface { + pulumi.Input + + ToEncryptionControlResourceExclusionsLambdaPtrOutput() EncryptionControlResourceExclusionsLambdaPtrOutput + ToEncryptionControlResourceExclusionsLambdaPtrOutputWithContext(context.Context) EncryptionControlResourceExclusionsLambdaPtrOutput +} + +type encryptionControlResourceExclusionsLambdaPtrType EncryptionControlResourceExclusionsLambdaArgs + +func EncryptionControlResourceExclusionsLambdaPtr(v *EncryptionControlResourceExclusionsLambdaArgs) EncryptionControlResourceExclusionsLambdaPtrInput { + return (*encryptionControlResourceExclusionsLambdaPtrType)(v) +} + +func (*encryptionControlResourceExclusionsLambdaPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**EncryptionControlResourceExclusionsLambda)(nil)).Elem() +} + +func (i *encryptionControlResourceExclusionsLambdaPtrType) ToEncryptionControlResourceExclusionsLambdaPtrOutput() EncryptionControlResourceExclusionsLambdaPtrOutput { + return i.ToEncryptionControlResourceExclusionsLambdaPtrOutputWithContext(context.Background()) +} + +func (i *encryptionControlResourceExclusionsLambdaPtrType) ToEncryptionControlResourceExclusionsLambdaPtrOutputWithContext(ctx context.Context) EncryptionControlResourceExclusionsLambdaPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(EncryptionControlResourceExclusionsLambdaPtrOutput) +} + +type EncryptionControlResourceExclusionsLambdaOutput struct{ *pulumi.OutputState } + +func (EncryptionControlResourceExclusionsLambdaOutput) ElementType() reflect.Type { + return reflect.TypeOf((*EncryptionControlResourceExclusionsLambda)(nil)).Elem() +} + +func (o EncryptionControlResourceExclusionsLambdaOutput) ToEncryptionControlResourceExclusionsLambdaOutput() EncryptionControlResourceExclusionsLambdaOutput { return o } -func (o FleetLaunchTemplateConfigOverrideArrayOutput) ToFleetLaunchTemplateConfigOverrideArrayOutputWithContext(ctx context.Context) FleetLaunchTemplateConfigOverrideArrayOutput { +func (o EncryptionControlResourceExclusionsLambdaOutput) ToEncryptionControlResourceExclusionsLambdaOutputWithContext(ctx context.Context) EncryptionControlResourceExclusionsLambdaOutput { return o } -func (o FleetLaunchTemplateConfigOverrideArrayOutput) Index(i pulumi.IntInput) FleetLaunchTemplateConfigOverrideOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) FleetLaunchTemplateConfigOverride { - return vs[0].([]FleetLaunchTemplateConfigOverride)[vs[1].(int)] - }).(FleetLaunchTemplateConfigOverrideOutput) +func (o EncryptionControlResourceExclusionsLambdaOutput) ToEncryptionControlResourceExclusionsLambdaPtrOutput() EncryptionControlResourceExclusionsLambdaPtrOutput { + return o.ToEncryptionControlResourceExclusionsLambdaPtrOutputWithContext(context.Background()) } -type FleetLaunchTemplateConfigOverrideInstanceRequirements struct { - // Block describing the minimum and maximum number of accelerators (GPUs, FPGAs, or AWS Inferentia chips). Default is no minimum or maximum limits. - AcceleratorCount *FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCount `pulumi:"acceleratorCount"` - // List of accelerator manufacturer names. Default is any manufacturer. - AcceleratorManufacturers []string `pulumi:"acceleratorManufacturers"` - // List of accelerator names. Default is any acclerator. - AcceleratorNames []string `pulumi:"acceleratorNames"` - // Block describing the minimum and maximum total memory of the accelerators. Default is no minimum or maximum. - AcceleratorTotalMemoryMib *FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMib `pulumi:"acceleratorTotalMemoryMib"` - // The accelerator types that must be on the instance type. Default is any accelerator type. - AcceleratorTypes []string `pulumi:"acceleratorTypes"` - // The 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 (\*). The following are examples: `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. Default is any instance type. - // - // If you specify `AllowedInstanceTypes`, you can't specify `ExcludedInstanceTypes`. - AllowedInstanceTypes []string `pulumi:"allowedInstanceTypes"` - // Indicate whether bare metal instace types should be `included`, `excluded`, or `required`. Default is `excluded`. - BareMetal *string `pulumi:"bareMetal"` - // Block describing the minimum and maximum baseline EBS bandwidth, in Mbps. Default is no minimum or maximum. - BaselineEbsBandwidthMbps *FleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbps `pulumi:"baselineEbsBandwidthMbps"` - // Indicates whether burstable performance T instance types are `included`, `excluded`, or `required`. Default is `excluded`. - BurstablePerformance *string `pulumi:"burstablePerformance"` - // The CPU manufacturers to include. Default is any manufacturer. - // > **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. - CpuManufacturers []string `pulumi:"cpuManufacturers"` - // The instance types to exclude. You can use strings with one or more wild cards, represented by an asterisk (\*). The following are examples: `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. - // - // If you specify `AllowedInstanceTypes`, you can't specify `ExcludedInstanceTypes`. - ExcludedInstanceTypes []string `pulumi:"excludedInstanceTypes"` - // Indicates whether current or previous generation instance types are included. The current generation instance types are recommended for use. Valid values are `current` and `previous`. Default is `current` and `previous` generation instance types. - InstanceGenerations []string `pulumi:"instanceGenerations"` - // Indicate whether instance types with local storage volumes are `included`, `excluded`, or `required`. Default is `included`. - LocalStorage *string `pulumi:"localStorage"` - // List of local storage type names. Valid values are `hdd` and `ssd`. Default any storage type. - LocalStorageTypes []string `pulumi:"localStorageTypes"` - // The 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. Conflicts with `spotMaxPricePercentageOverLowestPrice` - MaxSpotPriceAsPercentageOfOptimalOnDemandPrice *int `pulumi:"maxSpotPriceAsPercentageOfOptimalOnDemandPrice"` - // Block describing the minimum and maximum amount of memory (GiB) per vCPU. Default is no minimum or maximum. - MemoryGibPerVcpu *FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpu `pulumi:"memoryGibPerVcpu"` - // The minimum and maximum amount of memory per vCPU, in GiB. Default is no minimum or maximum limits. - MemoryMib FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMib `pulumi:"memoryMib"` - // The minimum and maximum amount of network bandwidth, in gigabits per second (Gbps). Default is No minimum or maximum. - NetworkBandwidthGbps *FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbps `pulumi:"networkBandwidthGbps"` - // Block describing the minimum and maximum number of network interfaces. Default is no minimum or maximum. - NetworkInterfaceCount *FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCount `pulumi:"networkInterfaceCount"` - // The 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. - // - // If you set `targetCapacityUnitType` 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. - OnDemandMaxPricePercentageOverLowestPrice *int `pulumi:"onDemandMaxPricePercentageOverLowestPrice"` - // Indicate whether instance types must support On-Demand Instance Hibernation, either `true` or `false`. Default is `false`. - RequireHibernateSupport *bool `pulumi:"requireHibernateSupport"` - // The 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. Conflicts with `maxSpotPriceAsPercentageOfOptimalOnDemandPrice` - // - // If 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. - SpotMaxPricePercentageOverLowestPrice *int `pulumi:"spotMaxPricePercentageOverLowestPrice"` - // Block describing the minimum and maximum total local storage (GB). Default is no minimum or maximum. - TotalLocalStorageGb *FleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGb `pulumi:"totalLocalStorageGb"` - // Block describing the minimum and maximum number of vCPUs. Default is no maximum. - VcpuCount FleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCount `pulumi:"vcpuCount"` +func (o EncryptionControlResourceExclusionsLambdaOutput) ToEncryptionControlResourceExclusionsLambdaPtrOutputWithContext(ctx context.Context) EncryptionControlResourceExclusionsLambdaPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v EncryptionControlResourceExclusionsLambda) *EncryptionControlResourceExclusionsLambda { + return &v + }).(EncryptionControlResourceExclusionsLambdaPtrOutput) } -// FleetLaunchTemplateConfigOverrideInstanceRequirementsInput is an input type that accepts FleetLaunchTemplateConfigOverrideInstanceRequirementsArgs and FleetLaunchTemplateConfigOverrideInstanceRequirementsOutput values. -// You can construct a concrete instance of `FleetLaunchTemplateConfigOverrideInstanceRequirementsInput` via: +// The current state of the VPC Encryption Control. +func (o EncryptionControlResourceExclusionsLambdaOutput) State() pulumi.StringOutput { + return o.ApplyT(func(v EncryptionControlResourceExclusionsLambda) string { return v.State }).(pulumi.StringOutput) +} + +// A message providing additional information about the state of the VPC Encryption Control. +func (o EncryptionControlResourceExclusionsLambdaOutput) StateMessage() pulumi.StringOutput { + return o.ApplyT(func(v EncryptionControlResourceExclusionsLambda) string { return v.StateMessage }).(pulumi.StringOutput) +} + +type EncryptionControlResourceExclusionsLambdaPtrOutput struct{ *pulumi.OutputState } + +func (EncryptionControlResourceExclusionsLambdaPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**EncryptionControlResourceExclusionsLambda)(nil)).Elem() +} + +func (o EncryptionControlResourceExclusionsLambdaPtrOutput) ToEncryptionControlResourceExclusionsLambdaPtrOutput() EncryptionControlResourceExclusionsLambdaPtrOutput { + return o +} + +func (o EncryptionControlResourceExclusionsLambdaPtrOutput) ToEncryptionControlResourceExclusionsLambdaPtrOutputWithContext(ctx context.Context) EncryptionControlResourceExclusionsLambdaPtrOutput { + return o +} + +func (o EncryptionControlResourceExclusionsLambdaPtrOutput) Elem() EncryptionControlResourceExclusionsLambdaOutput { + return o.ApplyT(func(v *EncryptionControlResourceExclusionsLambda) EncryptionControlResourceExclusionsLambda { + if v != nil { + return *v + } + var ret EncryptionControlResourceExclusionsLambda + return ret + }).(EncryptionControlResourceExclusionsLambdaOutput) +} + +// The current state of the VPC Encryption Control. +func (o EncryptionControlResourceExclusionsLambdaPtrOutput) State() pulumi.StringPtrOutput { + return o.ApplyT(func(v *EncryptionControlResourceExclusionsLambda) *string { + if v == nil { + return nil + } + return &v.State + }).(pulumi.StringPtrOutput) +} + +// A message providing additional information about the state of the VPC Encryption Control. +func (o EncryptionControlResourceExclusionsLambdaPtrOutput) StateMessage() pulumi.StringPtrOutput { + return o.ApplyT(func(v *EncryptionControlResourceExclusionsLambda) *string { + if v == nil { + return nil + } + return &v.StateMessage + }).(pulumi.StringPtrOutput) +} + +type EncryptionControlResourceExclusionsNatGateway struct { + // The current state of the VPC Encryption Control. + State string `pulumi:"state"` + // A message providing additional information about the state of the VPC Encryption Control. + StateMessage string `pulumi:"stateMessage"` +} + +// EncryptionControlResourceExclusionsNatGatewayInput is an input type that accepts EncryptionControlResourceExclusionsNatGatewayArgs and EncryptionControlResourceExclusionsNatGatewayOutput values. +// You can construct a concrete instance of `EncryptionControlResourceExclusionsNatGatewayInput` via: // -// FleetLaunchTemplateConfigOverrideInstanceRequirementsArgs{...} -type FleetLaunchTemplateConfigOverrideInstanceRequirementsInput interface { +// EncryptionControlResourceExclusionsNatGatewayArgs{...} +type EncryptionControlResourceExclusionsNatGatewayInput interface { pulumi.Input - ToFleetLaunchTemplateConfigOverrideInstanceRequirementsOutput() FleetLaunchTemplateConfigOverrideInstanceRequirementsOutput - ToFleetLaunchTemplateConfigOverrideInstanceRequirementsOutputWithContext(context.Context) FleetLaunchTemplateConfigOverrideInstanceRequirementsOutput + ToEncryptionControlResourceExclusionsNatGatewayOutput() EncryptionControlResourceExclusionsNatGatewayOutput + ToEncryptionControlResourceExclusionsNatGatewayOutputWithContext(context.Context) EncryptionControlResourceExclusionsNatGatewayOutput } -type FleetLaunchTemplateConfigOverrideInstanceRequirementsArgs struct { - // Block describing the minimum and maximum number of accelerators (GPUs, FPGAs, or AWS Inferentia chips). Default is no minimum or maximum limits. - AcceleratorCount FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrInput `pulumi:"acceleratorCount"` - // List of accelerator manufacturer names. Default is any manufacturer. - AcceleratorManufacturers pulumi.StringArrayInput `pulumi:"acceleratorManufacturers"` - // List of accelerator names. Default is any acclerator. - AcceleratorNames pulumi.StringArrayInput `pulumi:"acceleratorNames"` - // Block describing the minimum and maximum total memory of the accelerators. Default is no minimum or maximum. - AcceleratorTotalMemoryMib FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrInput `pulumi:"acceleratorTotalMemoryMib"` - // The accelerator types that must be on the instance type. Default is any accelerator type. - AcceleratorTypes pulumi.StringArrayInput `pulumi:"acceleratorTypes"` - // The 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 (\*). The following are examples: `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. Default is any instance type. - // - // If you specify `AllowedInstanceTypes`, you can't specify `ExcludedInstanceTypes`. - AllowedInstanceTypes pulumi.StringArrayInput `pulumi:"allowedInstanceTypes"` - // Indicate whether bare metal instace types should be `included`, `excluded`, or `required`. Default is `excluded`. - BareMetal pulumi.StringPtrInput `pulumi:"bareMetal"` - // Block describing the minimum and maximum baseline EBS bandwidth, in Mbps. Default is no minimum or maximum. - BaselineEbsBandwidthMbps FleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrInput `pulumi:"baselineEbsBandwidthMbps"` - // Indicates whether burstable performance T instance types are `included`, `excluded`, or `required`. Default is `excluded`. - BurstablePerformance pulumi.StringPtrInput `pulumi:"burstablePerformance"` - // The CPU manufacturers to include. Default is any manufacturer. - // > **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. - CpuManufacturers pulumi.StringArrayInput `pulumi:"cpuManufacturers"` - // The instance types to exclude. You can use strings with one or more wild cards, represented by an asterisk (\*). The following are examples: `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. - // - // If you specify `AllowedInstanceTypes`, you can't specify `ExcludedInstanceTypes`. - ExcludedInstanceTypes pulumi.StringArrayInput `pulumi:"excludedInstanceTypes"` - // Indicates whether current or previous generation instance types are included. The current generation instance types are recommended for use. Valid values are `current` and `previous`. Default is `current` and `previous` generation instance types. - InstanceGenerations pulumi.StringArrayInput `pulumi:"instanceGenerations"` - // Indicate whether instance types with local storage volumes are `included`, `excluded`, or `required`. Default is `included`. - LocalStorage pulumi.StringPtrInput `pulumi:"localStorage"` - // List of local storage type names. Valid values are `hdd` and `ssd`. Default any storage type. - LocalStorageTypes pulumi.StringArrayInput `pulumi:"localStorageTypes"` - // The 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. Conflicts with `spotMaxPricePercentageOverLowestPrice` - MaxSpotPriceAsPercentageOfOptimalOnDemandPrice pulumi.IntPtrInput `pulumi:"maxSpotPriceAsPercentageOfOptimalOnDemandPrice"` - // Block describing the minimum and maximum amount of memory (GiB) per vCPU. Default is no minimum or maximum. - MemoryGibPerVcpu FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrInput `pulumi:"memoryGibPerVcpu"` - // The minimum and maximum amount of memory per vCPU, in GiB. Default is no minimum or maximum limits. - MemoryMib FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibInput `pulumi:"memoryMib"` - // The minimum and maximum amount of network bandwidth, in gigabits per second (Gbps). Default is No minimum or maximum. - NetworkBandwidthGbps FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrInput `pulumi:"networkBandwidthGbps"` - // Block describing the minimum and maximum number of network interfaces. Default is no minimum or maximum. - NetworkInterfaceCount FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrInput `pulumi:"networkInterfaceCount"` - // The 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. - // - // If you set `targetCapacityUnitType` 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. - OnDemandMaxPricePercentageOverLowestPrice pulumi.IntPtrInput `pulumi:"onDemandMaxPricePercentageOverLowestPrice"` - // Indicate whether instance types must support On-Demand Instance Hibernation, either `true` or `false`. Default is `false`. - RequireHibernateSupport pulumi.BoolPtrInput `pulumi:"requireHibernateSupport"` - // The 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. Conflicts with `maxSpotPriceAsPercentageOfOptimalOnDemandPrice` - // - // If 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. - SpotMaxPricePercentageOverLowestPrice pulumi.IntPtrInput `pulumi:"spotMaxPricePercentageOverLowestPrice"` - // Block describing the minimum and maximum total local storage (GB). Default is no minimum or maximum. - TotalLocalStorageGb FleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrInput `pulumi:"totalLocalStorageGb"` - // Block describing the minimum and maximum number of vCPUs. Default is no maximum. - VcpuCount FleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountInput `pulumi:"vcpuCount"` +type EncryptionControlResourceExclusionsNatGatewayArgs struct { + // The current state of the VPC Encryption Control. + State pulumi.StringInput `pulumi:"state"` + // A message providing additional information about the state of the VPC Encryption Control. + StateMessage pulumi.StringInput `pulumi:"stateMessage"` } -func (FleetLaunchTemplateConfigOverrideInstanceRequirementsArgs) ElementType() reflect.Type { - return reflect.TypeOf((*FleetLaunchTemplateConfigOverrideInstanceRequirements)(nil)).Elem() +func (EncryptionControlResourceExclusionsNatGatewayArgs) ElementType() reflect.Type { + return reflect.TypeOf((*EncryptionControlResourceExclusionsNatGateway)(nil)).Elem() } -func (i FleetLaunchTemplateConfigOverrideInstanceRequirementsArgs) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsOutput() FleetLaunchTemplateConfigOverrideInstanceRequirementsOutput { - return i.ToFleetLaunchTemplateConfigOverrideInstanceRequirementsOutputWithContext(context.Background()) +func (i EncryptionControlResourceExclusionsNatGatewayArgs) ToEncryptionControlResourceExclusionsNatGatewayOutput() EncryptionControlResourceExclusionsNatGatewayOutput { + return i.ToEncryptionControlResourceExclusionsNatGatewayOutputWithContext(context.Background()) } -func (i FleetLaunchTemplateConfigOverrideInstanceRequirementsArgs) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsOutputWithContext(ctx context.Context) FleetLaunchTemplateConfigOverrideInstanceRequirementsOutput { - return pulumi.ToOutputWithContext(ctx, i).(FleetLaunchTemplateConfigOverrideInstanceRequirementsOutput) +func (i EncryptionControlResourceExclusionsNatGatewayArgs) ToEncryptionControlResourceExclusionsNatGatewayOutputWithContext(ctx context.Context) EncryptionControlResourceExclusionsNatGatewayOutput { + return pulumi.ToOutputWithContext(ctx, i).(EncryptionControlResourceExclusionsNatGatewayOutput) } -func (i FleetLaunchTemplateConfigOverrideInstanceRequirementsArgs) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput() FleetLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput { - return i.ToFleetLaunchTemplateConfigOverrideInstanceRequirementsPtrOutputWithContext(context.Background()) +func (i EncryptionControlResourceExclusionsNatGatewayArgs) ToEncryptionControlResourceExclusionsNatGatewayPtrOutput() EncryptionControlResourceExclusionsNatGatewayPtrOutput { + return i.ToEncryptionControlResourceExclusionsNatGatewayPtrOutputWithContext(context.Background()) } -func (i FleetLaunchTemplateConfigOverrideInstanceRequirementsArgs) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsPtrOutputWithContext(ctx context.Context) FleetLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(FleetLaunchTemplateConfigOverrideInstanceRequirementsOutput).ToFleetLaunchTemplateConfigOverrideInstanceRequirementsPtrOutputWithContext(ctx) +func (i EncryptionControlResourceExclusionsNatGatewayArgs) ToEncryptionControlResourceExclusionsNatGatewayPtrOutputWithContext(ctx context.Context) EncryptionControlResourceExclusionsNatGatewayPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(EncryptionControlResourceExclusionsNatGatewayOutput).ToEncryptionControlResourceExclusionsNatGatewayPtrOutputWithContext(ctx) } -// FleetLaunchTemplateConfigOverrideInstanceRequirementsPtrInput is an input type that accepts FleetLaunchTemplateConfigOverrideInstanceRequirementsArgs, FleetLaunchTemplateConfigOverrideInstanceRequirementsPtr and FleetLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput values. -// You can construct a concrete instance of `FleetLaunchTemplateConfigOverrideInstanceRequirementsPtrInput` via: +// EncryptionControlResourceExclusionsNatGatewayPtrInput is an input type that accepts EncryptionControlResourceExclusionsNatGatewayArgs, EncryptionControlResourceExclusionsNatGatewayPtr and EncryptionControlResourceExclusionsNatGatewayPtrOutput values. +// You can construct a concrete instance of `EncryptionControlResourceExclusionsNatGatewayPtrInput` via: // -// FleetLaunchTemplateConfigOverrideInstanceRequirementsArgs{...} +// EncryptionControlResourceExclusionsNatGatewayArgs{...} // // or: // // nil -type FleetLaunchTemplateConfigOverrideInstanceRequirementsPtrInput interface { +type EncryptionControlResourceExclusionsNatGatewayPtrInput interface { pulumi.Input - ToFleetLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput() FleetLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput - ToFleetLaunchTemplateConfigOverrideInstanceRequirementsPtrOutputWithContext(context.Context) FleetLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput + ToEncryptionControlResourceExclusionsNatGatewayPtrOutput() EncryptionControlResourceExclusionsNatGatewayPtrOutput + ToEncryptionControlResourceExclusionsNatGatewayPtrOutputWithContext(context.Context) EncryptionControlResourceExclusionsNatGatewayPtrOutput } -type fleetLaunchTemplateConfigOverrideInstanceRequirementsPtrType FleetLaunchTemplateConfigOverrideInstanceRequirementsArgs +type encryptionControlResourceExclusionsNatGatewayPtrType EncryptionControlResourceExclusionsNatGatewayArgs -func FleetLaunchTemplateConfigOverrideInstanceRequirementsPtr(v *FleetLaunchTemplateConfigOverrideInstanceRequirementsArgs) FleetLaunchTemplateConfigOverrideInstanceRequirementsPtrInput { - return (*fleetLaunchTemplateConfigOverrideInstanceRequirementsPtrType)(v) +func EncryptionControlResourceExclusionsNatGatewayPtr(v *EncryptionControlResourceExclusionsNatGatewayArgs) EncryptionControlResourceExclusionsNatGatewayPtrInput { + return (*encryptionControlResourceExclusionsNatGatewayPtrType)(v) } -func (*fleetLaunchTemplateConfigOverrideInstanceRequirementsPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**FleetLaunchTemplateConfigOverrideInstanceRequirements)(nil)).Elem() +func (*encryptionControlResourceExclusionsNatGatewayPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**EncryptionControlResourceExclusionsNatGateway)(nil)).Elem() } -func (i *fleetLaunchTemplateConfigOverrideInstanceRequirementsPtrType) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput() FleetLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput { - return i.ToFleetLaunchTemplateConfigOverrideInstanceRequirementsPtrOutputWithContext(context.Background()) +func (i *encryptionControlResourceExclusionsNatGatewayPtrType) ToEncryptionControlResourceExclusionsNatGatewayPtrOutput() EncryptionControlResourceExclusionsNatGatewayPtrOutput { + return i.ToEncryptionControlResourceExclusionsNatGatewayPtrOutputWithContext(context.Background()) } -func (i *fleetLaunchTemplateConfigOverrideInstanceRequirementsPtrType) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsPtrOutputWithContext(ctx context.Context) FleetLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(FleetLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput) +func (i *encryptionControlResourceExclusionsNatGatewayPtrType) ToEncryptionControlResourceExclusionsNatGatewayPtrOutputWithContext(ctx context.Context) EncryptionControlResourceExclusionsNatGatewayPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(EncryptionControlResourceExclusionsNatGatewayPtrOutput) } -type FleetLaunchTemplateConfigOverrideInstanceRequirementsOutput struct{ *pulumi.OutputState } +type EncryptionControlResourceExclusionsNatGatewayOutput struct{ *pulumi.OutputState } -func (FleetLaunchTemplateConfigOverrideInstanceRequirementsOutput) ElementType() reflect.Type { - return reflect.TypeOf((*FleetLaunchTemplateConfigOverrideInstanceRequirements)(nil)).Elem() +func (EncryptionControlResourceExclusionsNatGatewayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*EncryptionControlResourceExclusionsNatGateway)(nil)).Elem() } -func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsOutput) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsOutput() FleetLaunchTemplateConfigOverrideInstanceRequirementsOutput { +func (o EncryptionControlResourceExclusionsNatGatewayOutput) ToEncryptionControlResourceExclusionsNatGatewayOutput() EncryptionControlResourceExclusionsNatGatewayOutput { return o } -func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsOutput) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsOutputWithContext(ctx context.Context) FleetLaunchTemplateConfigOverrideInstanceRequirementsOutput { +func (o EncryptionControlResourceExclusionsNatGatewayOutput) ToEncryptionControlResourceExclusionsNatGatewayOutputWithContext(ctx context.Context) EncryptionControlResourceExclusionsNatGatewayOutput { return o } -func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsOutput) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput() FleetLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput { - return o.ToFleetLaunchTemplateConfigOverrideInstanceRequirementsPtrOutputWithContext(context.Background()) +func (o EncryptionControlResourceExclusionsNatGatewayOutput) ToEncryptionControlResourceExclusionsNatGatewayPtrOutput() EncryptionControlResourceExclusionsNatGatewayPtrOutput { + return o.ToEncryptionControlResourceExclusionsNatGatewayPtrOutputWithContext(context.Background()) } -func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsOutput) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsPtrOutputWithContext(ctx context.Context) FleetLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v FleetLaunchTemplateConfigOverrideInstanceRequirements) *FleetLaunchTemplateConfigOverrideInstanceRequirements { +func (o EncryptionControlResourceExclusionsNatGatewayOutput) ToEncryptionControlResourceExclusionsNatGatewayPtrOutputWithContext(ctx context.Context) EncryptionControlResourceExclusionsNatGatewayPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v EncryptionControlResourceExclusionsNatGateway) *EncryptionControlResourceExclusionsNatGateway { return &v - }).(FleetLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput) + }).(EncryptionControlResourceExclusionsNatGatewayPtrOutput) } -// Block describing the minimum and maximum number of accelerators (GPUs, FPGAs, or AWS Inferentia chips). Default is no minimum or maximum limits. -func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsOutput) AcceleratorCount() FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrOutput { - return o.ApplyT(func(v FleetLaunchTemplateConfigOverrideInstanceRequirements) *FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCount { - return v.AcceleratorCount - }).(FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrOutput) +// The current state of the VPC Encryption Control. +func (o EncryptionControlResourceExclusionsNatGatewayOutput) State() pulumi.StringOutput { + return o.ApplyT(func(v EncryptionControlResourceExclusionsNatGateway) string { return v.State }).(pulumi.StringOutput) } -// List of accelerator manufacturer names. Default is any manufacturer. -func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsOutput) AcceleratorManufacturers() pulumi.StringArrayOutput { - return o.ApplyT(func(v FleetLaunchTemplateConfigOverrideInstanceRequirements) []string { - return v.AcceleratorManufacturers - }).(pulumi.StringArrayOutput) +// A message providing additional information about the state of the VPC Encryption Control. +func (o EncryptionControlResourceExclusionsNatGatewayOutput) StateMessage() pulumi.StringOutput { + return o.ApplyT(func(v EncryptionControlResourceExclusionsNatGateway) string { return v.StateMessage }).(pulumi.StringOutput) } -// List of accelerator names. Default is any acclerator. -func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsOutput) AcceleratorNames() pulumi.StringArrayOutput { - return o.ApplyT(func(v FleetLaunchTemplateConfigOverrideInstanceRequirements) []string { return v.AcceleratorNames }).(pulumi.StringArrayOutput) +type EncryptionControlResourceExclusionsNatGatewayPtrOutput struct{ *pulumi.OutputState } + +func (EncryptionControlResourceExclusionsNatGatewayPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**EncryptionControlResourceExclusionsNatGateway)(nil)).Elem() } -// Block describing the minimum and maximum total memory of the accelerators. Default is no minimum or maximum. -func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsOutput) AcceleratorTotalMemoryMib() FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrOutput { - return o.ApplyT(func(v FleetLaunchTemplateConfigOverrideInstanceRequirements) *FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMib { - return v.AcceleratorTotalMemoryMib - }).(FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrOutput) +func (o EncryptionControlResourceExclusionsNatGatewayPtrOutput) ToEncryptionControlResourceExclusionsNatGatewayPtrOutput() EncryptionControlResourceExclusionsNatGatewayPtrOutput { + return o } -// The accelerator types that must be on the instance type. Default is any accelerator type. -func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsOutput) AcceleratorTypes() pulumi.StringArrayOutput { - return o.ApplyT(func(v FleetLaunchTemplateConfigOverrideInstanceRequirements) []string { return v.AcceleratorTypes }).(pulumi.StringArrayOutput) +func (o EncryptionControlResourceExclusionsNatGatewayPtrOutput) ToEncryptionControlResourceExclusionsNatGatewayPtrOutputWithContext(ctx context.Context) EncryptionControlResourceExclusionsNatGatewayPtrOutput { + return o } -// The 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 (\*). The following are examples: `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. Default is any instance type. +func (o EncryptionControlResourceExclusionsNatGatewayPtrOutput) Elem() EncryptionControlResourceExclusionsNatGatewayOutput { + return o.ApplyT(func(v *EncryptionControlResourceExclusionsNatGateway) EncryptionControlResourceExclusionsNatGateway { + if v != nil { + return *v + } + var ret EncryptionControlResourceExclusionsNatGateway + return ret + }).(EncryptionControlResourceExclusionsNatGatewayOutput) +} + +// The current state of the VPC Encryption Control. +func (o EncryptionControlResourceExclusionsNatGatewayPtrOutput) State() pulumi.StringPtrOutput { + return o.ApplyT(func(v *EncryptionControlResourceExclusionsNatGateway) *string { + if v == nil { + return nil + } + return &v.State + }).(pulumi.StringPtrOutput) +} + +// A message providing additional information about the state of the VPC Encryption Control. +func (o EncryptionControlResourceExclusionsNatGatewayPtrOutput) StateMessage() pulumi.StringPtrOutput { + return o.ApplyT(func(v *EncryptionControlResourceExclusionsNatGateway) *string { + if v == nil { + return nil + } + return &v.StateMessage + }).(pulumi.StringPtrOutput) +} + +type EncryptionControlResourceExclusionsVirtualPrivateGateway struct { + // The current state of the VPC Encryption Control. + State string `pulumi:"state"` + // A message providing additional information about the state of the VPC Encryption Control. + StateMessage string `pulumi:"stateMessage"` +} + +// EncryptionControlResourceExclusionsVirtualPrivateGatewayInput is an input type that accepts EncryptionControlResourceExclusionsVirtualPrivateGatewayArgs and EncryptionControlResourceExclusionsVirtualPrivateGatewayOutput values. +// You can construct a concrete instance of `EncryptionControlResourceExclusionsVirtualPrivateGatewayInput` via: // -// If you specify `AllowedInstanceTypes`, you can't specify `ExcludedInstanceTypes`. -func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsOutput) AllowedInstanceTypes() pulumi.StringArrayOutput { - return o.ApplyT(func(v FleetLaunchTemplateConfigOverrideInstanceRequirements) []string { return v.AllowedInstanceTypes }).(pulumi.StringArrayOutput) +// EncryptionControlResourceExclusionsVirtualPrivateGatewayArgs{...} +type EncryptionControlResourceExclusionsVirtualPrivateGatewayInput interface { + pulumi.Input + + ToEncryptionControlResourceExclusionsVirtualPrivateGatewayOutput() EncryptionControlResourceExclusionsVirtualPrivateGatewayOutput + ToEncryptionControlResourceExclusionsVirtualPrivateGatewayOutputWithContext(context.Context) EncryptionControlResourceExclusionsVirtualPrivateGatewayOutput } -// Indicate whether bare metal instace types should be `included`, `excluded`, or `required`. Default is `excluded`. -func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsOutput) BareMetal() pulumi.StringPtrOutput { - return o.ApplyT(func(v FleetLaunchTemplateConfigOverrideInstanceRequirements) *string { return v.BareMetal }).(pulumi.StringPtrOutput) +type EncryptionControlResourceExclusionsVirtualPrivateGatewayArgs struct { + // The current state of the VPC Encryption Control. + State pulumi.StringInput `pulumi:"state"` + // A message providing additional information about the state of the VPC Encryption Control. + StateMessage pulumi.StringInput `pulumi:"stateMessage"` } -// Block describing the minimum and maximum baseline EBS bandwidth, in Mbps. Default is no minimum or maximum. -func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsOutput) BaselineEbsBandwidthMbps() FleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutput { - return o.ApplyT(func(v FleetLaunchTemplateConfigOverrideInstanceRequirements) *FleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbps { - return v.BaselineEbsBandwidthMbps - }).(FleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutput) +func (EncryptionControlResourceExclusionsVirtualPrivateGatewayArgs) ElementType() reflect.Type { + return reflect.TypeOf((*EncryptionControlResourceExclusionsVirtualPrivateGateway)(nil)).Elem() } -// Indicates whether burstable performance T instance types are `included`, `excluded`, or `required`. Default is `excluded`. -func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsOutput) BurstablePerformance() pulumi.StringPtrOutput { - return o.ApplyT(func(v FleetLaunchTemplateConfigOverrideInstanceRequirements) *string { return v.BurstablePerformance }).(pulumi.StringPtrOutput) +func (i EncryptionControlResourceExclusionsVirtualPrivateGatewayArgs) ToEncryptionControlResourceExclusionsVirtualPrivateGatewayOutput() EncryptionControlResourceExclusionsVirtualPrivateGatewayOutput { + return i.ToEncryptionControlResourceExclusionsVirtualPrivateGatewayOutputWithContext(context.Background()) } -// The CPU manufacturers to include. Default is any manufacturer. -// > **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. -func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsOutput) CpuManufacturers() pulumi.StringArrayOutput { - return o.ApplyT(func(v FleetLaunchTemplateConfigOverrideInstanceRequirements) []string { return v.CpuManufacturers }).(pulumi.StringArrayOutput) +func (i EncryptionControlResourceExclusionsVirtualPrivateGatewayArgs) ToEncryptionControlResourceExclusionsVirtualPrivateGatewayOutputWithContext(ctx context.Context) EncryptionControlResourceExclusionsVirtualPrivateGatewayOutput { + return pulumi.ToOutputWithContext(ctx, i).(EncryptionControlResourceExclusionsVirtualPrivateGatewayOutput) } -// The instance types to exclude. You can use strings with one or more wild cards, represented by an asterisk (\*). The following are examples: `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. -// -// If you specify `AllowedInstanceTypes`, you can't specify `ExcludedInstanceTypes`. -func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsOutput) ExcludedInstanceTypes() pulumi.StringArrayOutput { - return o.ApplyT(func(v FleetLaunchTemplateConfigOverrideInstanceRequirements) []string { return v.ExcludedInstanceTypes }).(pulumi.StringArrayOutput) +func (i EncryptionControlResourceExclusionsVirtualPrivateGatewayArgs) ToEncryptionControlResourceExclusionsVirtualPrivateGatewayPtrOutput() EncryptionControlResourceExclusionsVirtualPrivateGatewayPtrOutput { + return i.ToEncryptionControlResourceExclusionsVirtualPrivateGatewayPtrOutputWithContext(context.Background()) } -// Indicates whether current or previous generation instance types are included. The current generation instance types are recommended for use. Valid values are `current` and `previous`. Default is `current` and `previous` generation instance types. -func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsOutput) InstanceGenerations() pulumi.StringArrayOutput { - return o.ApplyT(func(v FleetLaunchTemplateConfigOverrideInstanceRequirements) []string { return v.InstanceGenerations }).(pulumi.StringArrayOutput) +func (i EncryptionControlResourceExclusionsVirtualPrivateGatewayArgs) ToEncryptionControlResourceExclusionsVirtualPrivateGatewayPtrOutputWithContext(ctx context.Context) EncryptionControlResourceExclusionsVirtualPrivateGatewayPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(EncryptionControlResourceExclusionsVirtualPrivateGatewayOutput).ToEncryptionControlResourceExclusionsVirtualPrivateGatewayPtrOutputWithContext(ctx) } -// Indicate whether instance types with local storage volumes are `included`, `excluded`, or `required`. Default is `included`. -func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsOutput) LocalStorage() pulumi.StringPtrOutput { - return o.ApplyT(func(v FleetLaunchTemplateConfigOverrideInstanceRequirements) *string { return v.LocalStorage }).(pulumi.StringPtrOutput) +// EncryptionControlResourceExclusionsVirtualPrivateGatewayPtrInput is an input type that accepts EncryptionControlResourceExclusionsVirtualPrivateGatewayArgs, EncryptionControlResourceExclusionsVirtualPrivateGatewayPtr and EncryptionControlResourceExclusionsVirtualPrivateGatewayPtrOutput values. +// You can construct a concrete instance of `EncryptionControlResourceExclusionsVirtualPrivateGatewayPtrInput` via: +// +// EncryptionControlResourceExclusionsVirtualPrivateGatewayArgs{...} +// +// or: +// +// nil +type EncryptionControlResourceExclusionsVirtualPrivateGatewayPtrInput interface { + pulumi.Input + + ToEncryptionControlResourceExclusionsVirtualPrivateGatewayPtrOutput() EncryptionControlResourceExclusionsVirtualPrivateGatewayPtrOutput + ToEncryptionControlResourceExclusionsVirtualPrivateGatewayPtrOutputWithContext(context.Context) EncryptionControlResourceExclusionsVirtualPrivateGatewayPtrOutput } -// List of local storage type names. Valid values are `hdd` and `ssd`. Default any storage type. -func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsOutput) LocalStorageTypes() pulumi.StringArrayOutput { - return o.ApplyT(func(v FleetLaunchTemplateConfigOverrideInstanceRequirements) []string { return v.LocalStorageTypes }).(pulumi.StringArrayOutput) +type encryptionControlResourceExclusionsVirtualPrivateGatewayPtrType EncryptionControlResourceExclusionsVirtualPrivateGatewayArgs + +func EncryptionControlResourceExclusionsVirtualPrivateGatewayPtr(v *EncryptionControlResourceExclusionsVirtualPrivateGatewayArgs) EncryptionControlResourceExclusionsVirtualPrivateGatewayPtrInput { + return (*encryptionControlResourceExclusionsVirtualPrivateGatewayPtrType)(v) } -// The 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. Conflicts with `spotMaxPricePercentageOverLowestPrice` -func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsOutput) MaxSpotPriceAsPercentageOfOptimalOnDemandPrice() pulumi.IntPtrOutput { - return o.ApplyT(func(v FleetLaunchTemplateConfigOverrideInstanceRequirements) *int { - return v.MaxSpotPriceAsPercentageOfOptimalOnDemandPrice - }).(pulumi.IntPtrOutput) +func (*encryptionControlResourceExclusionsVirtualPrivateGatewayPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**EncryptionControlResourceExclusionsVirtualPrivateGateway)(nil)).Elem() } -// Block describing the minimum and maximum amount of memory (GiB) per vCPU. Default is no minimum or maximum. -func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsOutput) MemoryGibPerVcpu() FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrOutput { - return o.ApplyT(func(v FleetLaunchTemplateConfigOverrideInstanceRequirements) *FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpu { - return v.MemoryGibPerVcpu - }).(FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrOutput) +func (i *encryptionControlResourceExclusionsVirtualPrivateGatewayPtrType) ToEncryptionControlResourceExclusionsVirtualPrivateGatewayPtrOutput() EncryptionControlResourceExclusionsVirtualPrivateGatewayPtrOutput { + return i.ToEncryptionControlResourceExclusionsVirtualPrivateGatewayPtrOutputWithContext(context.Background()) } -// The minimum and maximum amount of memory per vCPU, in GiB. Default is no minimum or maximum limits. -func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsOutput) MemoryMib() FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibOutput { - return o.ApplyT(func(v FleetLaunchTemplateConfigOverrideInstanceRequirements) FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMib { - return v.MemoryMib - }).(FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibOutput) +func (i *encryptionControlResourceExclusionsVirtualPrivateGatewayPtrType) ToEncryptionControlResourceExclusionsVirtualPrivateGatewayPtrOutputWithContext(ctx context.Context) EncryptionControlResourceExclusionsVirtualPrivateGatewayPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(EncryptionControlResourceExclusionsVirtualPrivateGatewayPtrOutput) } -// The minimum and maximum amount of network bandwidth, in gigabits per second (Gbps). Default is No minimum or maximum. -func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsOutput) NetworkBandwidthGbps() FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrOutput { - return o.ApplyT(func(v FleetLaunchTemplateConfigOverrideInstanceRequirements) *FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbps { - return v.NetworkBandwidthGbps - }).(FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrOutput) +type EncryptionControlResourceExclusionsVirtualPrivateGatewayOutput struct{ *pulumi.OutputState } + +func (EncryptionControlResourceExclusionsVirtualPrivateGatewayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*EncryptionControlResourceExclusionsVirtualPrivateGateway)(nil)).Elem() } -// Block describing the minimum and maximum number of network interfaces. Default is no minimum or maximum. -func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsOutput) NetworkInterfaceCount() FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrOutput { - return o.ApplyT(func(v FleetLaunchTemplateConfigOverrideInstanceRequirements) *FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCount { - return v.NetworkInterfaceCount - }).(FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrOutput) +func (o EncryptionControlResourceExclusionsVirtualPrivateGatewayOutput) ToEncryptionControlResourceExclusionsVirtualPrivateGatewayOutput() EncryptionControlResourceExclusionsVirtualPrivateGatewayOutput { + return o } -// The 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. -// -// If you set `targetCapacityUnitType` 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. -func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsOutput) OnDemandMaxPricePercentageOverLowestPrice() pulumi.IntPtrOutput { - return o.ApplyT(func(v FleetLaunchTemplateConfigOverrideInstanceRequirements) *int { - return v.OnDemandMaxPricePercentageOverLowestPrice - }).(pulumi.IntPtrOutput) +func (o EncryptionControlResourceExclusionsVirtualPrivateGatewayOutput) ToEncryptionControlResourceExclusionsVirtualPrivateGatewayOutputWithContext(ctx context.Context) EncryptionControlResourceExclusionsVirtualPrivateGatewayOutput { + return o } -// Indicate whether instance types must support On-Demand Instance Hibernation, either `true` or `false`. Default is `false`. -func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsOutput) RequireHibernateSupport() pulumi.BoolPtrOutput { - return o.ApplyT(func(v FleetLaunchTemplateConfigOverrideInstanceRequirements) *bool { return v.RequireHibernateSupport }).(pulumi.BoolPtrOutput) +func (o EncryptionControlResourceExclusionsVirtualPrivateGatewayOutput) ToEncryptionControlResourceExclusionsVirtualPrivateGatewayPtrOutput() EncryptionControlResourceExclusionsVirtualPrivateGatewayPtrOutput { + return o.ToEncryptionControlResourceExclusionsVirtualPrivateGatewayPtrOutputWithContext(context.Background()) } -// The 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. Conflicts with `maxSpotPriceAsPercentageOfOptimalOnDemandPrice` -// -// If 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. -func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsOutput) SpotMaxPricePercentageOverLowestPrice() pulumi.IntPtrOutput { - return o.ApplyT(func(v FleetLaunchTemplateConfigOverrideInstanceRequirements) *int { - return v.SpotMaxPricePercentageOverLowestPrice - }).(pulumi.IntPtrOutput) +func (o EncryptionControlResourceExclusionsVirtualPrivateGatewayOutput) ToEncryptionControlResourceExclusionsVirtualPrivateGatewayPtrOutputWithContext(ctx context.Context) EncryptionControlResourceExclusionsVirtualPrivateGatewayPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v EncryptionControlResourceExclusionsVirtualPrivateGateway) *EncryptionControlResourceExclusionsVirtualPrivateGateway { + return &v + }).(EncryptionControlResourceExclusionsVirtualPrivateGatewayPtrOutput) } -// Block describing the minimum and maximum total local storage (GB). Default is no minimum or maximum. -func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsOutput) TotalLocalStorageGb() FleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrOutput { - return o.ApplyT(func(v FleetLaunchTemplateConfigOverrideInstanceRequirements) *FleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGb { - return v.TotalLocalStorageGb - }).(FleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrOutput) +// The current state of the VPC Encryption Control. +func (o EncryptionControlResourceExclusionsVirtualPrivateGatewayOutput) State() pulumi.StringOutput { + return o.ApplyT(func(v EncryptionControlResourceExclusionsVirtualPrivateGateway) string { return v.State }).(pulumi.StringOutput) } -// Block describing the minimum and maximum number of vCPUs. Default is no maximum. -func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsOutput) VcpuCount() FleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountOutput { - return o.ApplyT(func(v FleetLaunchTemplateConfigOverrideInstanceRequirements) FleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCount { - return v.VcpuCount - }).(FleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountOutput) +// A message providing additional information about the state of the VPC Encryption Control. +func (o EncryptionControlResourceExclusionsVirtualPrivateGatewayOutput) StateMessage() pulumi.StringOutput { + return o.ApplyT(func(v EncryptionControlResourceExclusionsVirtualPrivateGateway) string { return v.StateMessage }).(pulumi.StringOutput) } -type FleetLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput struct{ *pulumi.OutputState } +type EncryptionControlResourceExclusionsVirtualPrivateGatewayPtrOutput struct{ *pulumi.OutputState } -func (FleetLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**FleetLaunchTemplateConfigOverrideInstanceRequirements)(nil)).Elem() +func (EncryptionControlResourceExclusionsVirtualPrivateGatewayPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**EncryptionControlResourceExclusionsVirtualPrivateGateway)(nil)).Elem() } -func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput() FleetLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput { +func (o EncryptionControlResourceExclusionsVirtualPrivateGatewayPtrOutput) ToEncryptionControlResourceExclusionsVirtualPrivateGatewayPtrOutput() EncryptionControlResourceExclusionsVirtualPrivateGatewayPtrOutput { return o } -func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsPtrOutputWithContext(ctx context.Context) FleetLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput { +func (o EncryptionControlResourceExclusionsVirtualPrivateGatewayPtrOutput) ToEncryptionControlResourceExclusionsVirtualPrivateGatewayPtrOutputWithContext(ctx context.Context) EncryptionControlResourceExclusionsVirtualPrivateGatewayPtrOutput { return o } -func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput) Elem() FleetLaunchTemplateConfigOverrideInstanceRequirementsOutput { - return o.ApplyT(func(v *FleetLaunchTemplateConfigOverrideInstanceRequirements) FleetLaunchTemplateConfigOverrideInstanceRequirements { +func (o EncryptionControlResourceExclusionsVirtualPrivateGatewayPtrOutput) Elem() EncryptionControlResourceExclusionsVirtualPrivateGatewayOutput { + return o.ApplyT(func(v *EncryptionControlResourceExclusionsVirtualPrivateGateway) EncryptionControlResourceExclusionsVirtualPrivateGateway { if v != nil { return *v } - var ret FleetLaunchTemplateConfigOverrideInstanceRequirements + var ret EncryptionControlResourceExclusionsVirtualPrivateGateway return ret - }).(FleetLaunchTemplateConfigOverrideInstanceRequirementsOutput) + }).(EncryptionControlResourceExclusionsVirtualPrivateGatewayOutput) } -// Block describing the minimum and maximum number of accelerators (GPUs, FPGAs, or AWS Inferentia chips). Default is no minimum or maximum limits. -func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput) AcceleratorCount() FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrOutput { - return o.ApplyT(func(v *FleetLaunchTemplateConfigOverrideInstanceRequirements) *FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCount { +// The current state of the VPC Encryption Control. +func (o EncryptionControlResourceExclusionsVirtualPrivateGatewayPtrOutput) State() pulumi.StringPtrOutput { + return o.ApplyT(func(v *EncryptionControlResourceExclusionsVirtualPrivateGateway) *string { if v == nil { return nil } - return v.AcceleratorCount - }).(FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrOutput) + return &v.State + }).(pulumi.StringPtrOutput) } -// List of accelerator manufacturer names. Default is any manufacturer. -func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput) AcceleratorManufacturers() pulumi.StringArrayOutput { - return o.ApplyT(func(v *FleetLaunchTemplateConfigOverrideInstanceRequirements) []string { +// A message providing additional information about the state of the VPC Encryption Control. +func (o EncryptionControlResourceExclusionsVirtualPrivateGatewayPtrOutput) StateMessage() pulumi.StringPtrOutput { + return o.ApplyT(func(v *EncryptionControlResourceExclusionsVirtualPrivateGateway) *string { if v == nil { return nil } - return v.AcceleratorManufacturers - }).(pulumi.StringArrayOutput) + return &v.StateMessage + }).(pulumi.StringPtrOutput) } -// List of accelerator names. Default is any acclerator. -func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput) AcceleratorNames() pulumi.StringArrayOutput { - return o.ApplyT(func(v *FleetLaunchTemplateConfigOverrideInstanceRequirements) []string { - if v == nil { - return nil - } - return v.AcceleratorNames - }).(pulumi.StringArrayOutput) +type EncryptionControlResourceExclusionsVpcLattice struct { + // The current state of the VPC Encryption Control. + State string `pulumi:"state"` + // A message providing additional information about the state of the VPC Encryption Control. + StateMessage string `pulumi:"stateMessage"` } -// Block describing the minimum and maximum total memory of the accelerators. Default is no minimum or maximum. -func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput) AcceleratorTotalMemoryMib() FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrOutput { - return o.ApplyT(func(v *FleetLaunchTemplateConfigOverrideInstanceRequirements) *FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMib { - if v == nil { - return nil - } - return v.AcceleratorTotalMemoryMib - }).(FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrOutput) +// EncryptionControlResourceExclusionsVpcLatticeInput is an input type that accepts EncryptionControlResourceExclusionsVpcLatticeArgs and EncryptionControlResourceExclusionsVpcLatticeOutput values. +// You can construct a concrete instance of `EncryptionControlResourceExclusionsVpcLatticeInput` via: +// +// EncryptionControlResourceExclusionsVpcLatticeArgs{...} +type EncryptionControlResourceExclusionsVpcLatticeInput interface { + pulumi.Input + + ToEncryptionControlResourceExclusionsVpcLatticeOutput() EncryptionControlResourceExclusionsVpcLatticeOutput + ToEncryptionControlResourceExclusionsVpcLatticeOutputWithContext(context.Context) EncryptionControlResourceExclusionsVpcLatticeOutput } -// The accelerator types that must be on the instance type. Default is any accelerator type. -func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput) AcceleratorTypes() pulumi.StringArrayOutput { - return o.ApplyT(func(v *FleetLaunchTemplateConfigOverrideInstanceRequirements) []string { - if v == nil { - return nil - } - return v.AcceleratorTypes - }).(pulumi.StringArrayOutput) +type EncryptionControlResourceExclusionsVpcLatticeArgs struct { + // The current state of the VPC Encryption Control. + State pulumi.StringInput `pulumi:"state"` + // A message providing additional information about the state of the VPC Encryption Control. + StateMessage pulumi.StringInput `pulumi:"stateMessage"` } -// The 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 (\*). The following are examples: `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. Default is any instance type. -// -// If you specify `AllowedInstanceTypes`, you can't specify `ExcludedInstanceTypes`. -func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput) AllowedInstanceTypes() pulumi.StringArrayOutput { - return o.ApplyT(func(v *FleetLaunchTemplateConfigOverrideInstanceRequirements) []string { - if v == nil { - return nil - } - return v.AllowedInstanceTypes - }).(pulumi.StringArrayOutput) +func (EncryptionControlResourceExclusionsVpcLatticeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*EncryptionControlResourceExclusionsVpcLattice)(nil)).Elem() } -// Indicate whether bare metal instace types should be `included`, `excluded`, or `required`. Default is `excluded`. -func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput) BareMetal() pulumi.StringPtrOutput { - return o.ApplyT(func(v *FleetLaunchTemplateConfigOverrideInstanceRequirements) *string { - if v == nil { - return nil - } - return v.BareMetal - }).(pulumi.StringPtrOutput) +func (i EncryptionControlResourceExclusionsVpcLatticeArgs) ToEncryptionControlResourceExclusionsVpcLatticeOutput() EncryptionControlResourceExclusionsVpcLatticeOutput { + return i.ToEncryptionControlResourceExclusionsVpcLatticeOutputWithContext(context.Background()) } -// Block describing the minimum and maximum baseline EBS bandwidth, in Mbps. Default is no minimum or maximum. -func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput) BaselineEbsBandwidthMbps() FleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutput { - return o.ApplyT(func(v *FleetLaunchTemplateConfigOverrideInstanceRequirements) *FleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbps { - if v == nil { - return nil - } - return v.BaselineEbsBandwidthMbps - }).(FleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutput) +func (i EncryptionControlResourceExclusionsVpcLatticeArgs) ToEncryptionControlResourceExclusionsVpcLatticeOutputWithContext(ctx context.Context) EncryptionControlResourceExclusionsVpcLatticeOutput { + return pulumi.ToOutputWithContext(ctx, i).(EncryptionControlResourceExclusionsVpcLatticeOutput) } -// Indicates whether burstable performance T instance types are `included`, `excluded`, or `required`. Default is `excluded`. -func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput) BurstablePerformance() pulumi.StringPtrOutput { - return o.ApplyT(func(v *FleetLaunchTemplateConfigOverrideInstanceRequirements) *string { - if v == nil { - return nil - } - return v.BurstablePerformance - }).(pulumi.StringPtrOutput) +func (i EncryptionControlResourceExclusionsVpcLatticeArgs) ToEncryptionControlResourceExclusionsVpcLatticePtrOutput() EncryptionControlResourceExclusionsVpcLatticePtrOutput { + return i.ToEncryptionControlResourceExclusionsVpcLatticePtrOutputWithContext(context.Background()) } -// The CPU manufacturers to include. Default is any manufacturer. -// > **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. -func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput) CpuManufacturers() pulumi.StringArrayOutput { - return o.ApplyT(func(v *FleetLaunchTemplateConfigOverrideInstanceRequirements) []string { - if v == nil { - return nil - } - return v.CpuManufacturers - }).(pulumi.StringArrayOutput) +func (i EncryptionControlResourceExclusionsVpcLatticeArgs) ToEncryptionControlResourceExclusionsVpcLatticePtrOutputWithContext(ctx context.Context) EncryptionControlResourceExclusionsVpcLatticePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(EncryptionControlResourceExclusionsVpcLatticeOutput).ToEncryptionControlResourceExclusionsVpcLatticePtrOutputWithContext(ctx) } -// The instance types to exclude. You can use strings with one or more wild cards, represented by an asterisk (\*). The following are examples: `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. +// EncryptionControlResourceExclusionsVpcLatticePtrInput is an input type that accepts EncryptionControlResourceExclusionsVpcLatticeArgs, EncryptionControlResourceExclusionsVpcLatticePtr and EncryptionControlResourceExclusionsVpcLatticePtrOutput values. +// You can construct a concrete instance of `EncryptionControlResourceExclusionsVpcLatticePtrInput` via: // -// If you specify `AllowedInstanceTypes`, you can't specify `ExcludedInstanceTypes`. -func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput) ExcludedInstanceTypes() pulumi.StringArrayOutput { - return o.ApplyT(func(v *FleetLaunchTemplateConfigOverrideInstanceRequirements) []string { - if v == nil { - return nil - } - return v.ExcludedInstanceTypes - }).(pulumi.StringArrayOutput) +// EncryptionControlResourceExclusionsVpcLatticeArgs{...} +// +// or: +// +// nil +type EncryptionControlResourceExclusionsVpcLatticePtrInput interface { + pulumi.Input + + ToEncryptionControlResourceExclusionsVpcLatticePtrOutput() EncryptionControlResourceExclusionsVpcLatticePtrOutput + ToEncryptionControlResourceExclusionsVpcLatticePtrOutputWithContext(context.Context) EncryptionControlResourceExclusionsVpcLatticePtrOutput } -// Indicates whether current or previous generation instance types are included. The current generation instance types are recommended for use. Valid values are `current` and `previous`. Default is `current` and `previous` generation instance types. -func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput) InstanceGenerations() pulumi.StringArrayOutput { - return o.ApplyT(func(v *FleetLaunchTemplateConfigOverrideInstanceRequirements) []string { - if v == nil { - return nil - } - return v.InstanceGenerations - }).(pulumi.StringArrayOutput) +type encryptionControlResourceExclusionsVpcLatticePtrType EncryptionControlResourceExclusionsVpcLatticeArgs + +func EncryptionControlResourceExclusionsVpcLatticePtr(v *EncryptionControlResourceExclusionsVpcLatticeArgs) EncryptionControlResourceExclusionsVpcLatticePtrInput { + return (*encryptionControlResourceExclusionsVpcLatticePtrType)(v) } -// Indicate whether instance types with local storage volumes are `included`, `excluded`, or `required`. Default is `included`. -func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput) LocalStorage() pulumi.StringPtrOutput { - return o.ApplyT(func(v *FleetLaunchTemplateConfigOverrideInstanceRequirements) *string { - if v == nil { - return nil - } - return v.LocalStorage - }).(pulumi.StringPtrOutput) +func (*encryptionControlResourceExclusionsVpcLatticePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**EncryptionControlResourceExclusionsVpcLattice)(nil)).Elem() } -// List of local storage type names. Valid values are `hdd` and `ssd`. Default any storage type. -func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput) LocalStorageTypes() pulumi.StringArrayOutput { - return o.ApplyT(func(v *FleetLaunchTemplateConfigOverrideInstanceRequirements) []string { - if v == nil { - return nil - } - return v.LocalStorageTypes - }).(pulumi.StringArrayOutput) +func (i *encryptionControlResourceExclusionsVpcLatticePtrType) ToEncryptionControlResourceExclusionsVpcLatticePtrOutput() EncryptionControlResourceExclusionsVpcLatticePtrOutput { + return i.ToEncryptionControlResourceExclusionsVpcLatticePtrOutputWithContext(context.Background()) } -// The 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. Conflicts with `spotMaxPricePercentageOverLowestPrice` -func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput) MaxSpotPriceAsPercentageOfOptimalOnDemandPrice() pulumi.IntPtrOutput { - return o.ApplyT(func(v *FleetLaunchTemplateConfigOverrideInstanceRequirements) *int { - if v == nil { - return nil +func (i *encryptionControlResourceExclusionsVpcLatticePtrType) ToEncryptionControlResourceExclusionsVpcLatticePtrOutputWithContext(ctx context.Context) EncryptionControlResourceExclusionsVpcLatticePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(EncryptionControlResourceExclusionsVpcLatticePtrOutput) +} + +type EncryptionControlResourceExclusionsVpcLatticeOutput struct{ *pulumi.OutputState } + +func (EncryptionControlResourceExclusionsVpcLatticeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*EncryptionControlResourceExclusionsVpcLattice)(nil)).Elem() +} + +func (o EncryptionControlResourceExclusionsVpcLatticeOutput) ToEncryptionControlResourceExclusionsVpcLatticeOutput() EncryptionControlResourceExclusionsVpcLatticeOutput { + return o +} + +func (o EncryptionControlResourceExclusionsVpcLatticeOutput) ToEncryptionControlResourceExclusionsVpcLatticeOutputWithContext(ctx context.Context) EncryptionControlResourceExclusionsVpcLatticeOutput { + return o +} + +func (o EncryptionControlResourceExclusionsVpcLatticeOutput) ToEncryptionControlResourceExclusionsVpcLatticePtrOutput() EncryptionControlResourceExclusionsVpcLatticePtrOutput { + return o.ToEncryptionControlResourceExclusionsVpcLatticePtrOutputWithContext(context.Background()) +} + +func (o EncryptionControlResourceExclusionsVpcLatticeOutput) ToEncryptionControlResourceExclusionsVpcLatticePtrOutputWithContext(ctx context.Context) EncryptionControlResourceExclusionsVpcLatticePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v EncryptionControlResourceExclusionsVpcLattice) *EncryptionControlResourceExclusionsVpcLattice { + return &v + }).(EncryptionControlResourceExclusionsVpcLatticePtrOutput) +} + +// The current state of the VPC Encryption Control. +func (o EncryptionControlResourceExclusionsVpcLatticeOutput) State() pulumi.StringOutput { + return o.ApplyT(func(v EncryptionControlResourceExclusionsVpcLattice) string { return v.State }).(pulumi.StringOutput) +} + +// A message providing additional information about the state of the VPC Encryption Control. +func (o EncryptionControlResourceExclusionsVpcLatticeOutput) StateMessage() pulumi.StringOutput { + return o.ApplyT(func(v EncryptionControlResourceExclusionsVpcLattice) string { return v.StateMessage }).(pulumi.StringOutput) +} + +type EncryptionControlResourceExclusionsVpcLatticePtrOutput struct{ *pulumi.OutputState } + +func (EncryptionControlResourceExclusionsVpcLatticePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**EncryptionControlResourceExclusionsVpcLattice)(nil)).Elem() +} + +func (o EncryptionControlResourceExclusionsVpcLatticePtrOutput) ToEncryptionControlResourceExclusionsVpcLatticePtrOutput() EncryptionControlResourceExclusionsVpcLatticePtrOutput { + return o +} + +func (o EncryptionControlResourceExclusionsVpcLatticePtrOutput) ToEncryptionControlResourceExclusionsVpcLatticePtrOutputWithContext(ctx context.Context) EncryptionControlResourceExclusionsVpcLatticePtrOutput { + return o +} + +func (o EncryptionControlResourceExclusionsVpcLatticePtrOutput) Elem() EncryptionControlResourceExclusionsVpcLatticeOutput { + return o.ApplyT(func(v *EncryptionControlResourceExclusionsVpcLattice) EncryptionControlResourceExclusionsVpcLattice { + if v != nil { + return *v } - return v.MaxSpotPriceAsPercentageOfOptimalOnDemandPrice - }).(pulumi.IntPtrOutput) + var ret EncryptionControlResourceExclusionsVpcLattice + return ret + }).(EncryptionControlResourceExclusionsVpcLatticeOutput) } -// Block describing the minimum and maximum amount of memory (GiB) per vCPU. Default is no minimum or maximum. -func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput) MemoryGibPerVcpu() FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrOutput { - return o.ApplyT(func(v *FleetLaunchTemplateConfigOverrideInstanceRequirements) *FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpu { +// The current state of the VPC Encryption Control. +func (o EncryptionControlResourceExclusionsVpcLatticePtrOutput) State() pulumi.StringPtrOutput { + return o.ApplyT(func(v *EncryptionControlResourceExclusionsVpcLattice) *string { if v == nil { return nil } - return v.MemoryGibPerVcpu - }).(FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrOutput) + return &v.State + }).(pulumi.StringPtrOutput) } -// The minimum and maximum amount of memory per vCPU, in GiB. Default is no minimum or maximum limits. -func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput) MemoryMib() FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrOutput { - return o.ApplyT(func(v *FleetLaunchTemplateConfigOverrideInstanceRequirements) *FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMib { +// A message providing additional information about the state of the VPC Encryption Control. +func (o EncryptionControlResourceExclusionsVpcLatticePtrOutput) StateMessage() pulumi.StringPtrOutput { + return o.ApplyT(func(v *EncryptionControlResourceExclusionsVpcLattice) *string { if v == nil { return nil } - return &v.MemoryMib - }).(FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrOutput) + return &v.StateMessage + }).(pulumi.StringPtrOutput) } -// The minimum and maximum amount of network bandwidth, in gigabits per second (Gbps). Default is No minimum or maximum. -func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput) NetworkBandwidthGbps() FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrOutput { - return o.ApplyT(func(v *FleetLaunchTemplateConfigOverrideInstanceRequirements) *FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbps { - if v == nil { - return nil - } - return v.NetworkBandwidthGbps - }).(FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrOutput) -} - -// Block describing the minimum and maximum number of network interfaces. Default is no minimum or maximum. -func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput) NetworkInterfaceCount() FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrOutput { - return o.ApplyT(func(v *FleetLaunchTemplateConfigOverrideInstanceRequirements) *FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCount { - if v == nil { - return nil - } - return v.NetworkInterfaceCount - }).(FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrOutput) -} - -// The 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. -// -// If you set `targetCapacityUnitType` 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. -func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput) OnDemandMaxPricePercentageOverLowestPrice() pulumi.IntPtrOutput { - return o.ApplyT(func(v *FleetLaunchTemplateConfigOverrideInstanceRequirements) *int { - if v == nil { - return nil - } - return v.OnDemandMaxPricePercentageOverLowestPrice - }).(pulumi.IntPtrOutput) -} - -// Indicate whether instance types must support On-Demand Instance Hibernation, either `true` or `false`. Default is `false`. -func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput) RequireHibernateSupport() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *FleetLaunchTemplateConfigOverrideInstanceRequirements) *bool { - if v == nil { - return nil - } - return v.RequireHibernateSupport - }).(pulumi.BoolPtrOutput) -} - -// The 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. Conflicts with `maxSpotPriceAsPercentageOfOptimalOnDemandPrice` -// -// If 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. -func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput) SpotMaxPricePercentageOverLowestPrice() pulumi.IntPtrOutput { - return o.ApplyT(func(v *FleetLaunchTemplateConfigOverrideInstanceRequirements) *int { - if v == nil { - return nil - } - return v.SpotMaxPricePercentageOverLowestPrice - }).(pulumi.IntPtrOutput) -} - -// Block describing the minimum and maximum total local storage (GB). Default is no minimum or maximum. -func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput) TotalLocalStorageGb() FleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrOutput { - return o.ApplyT(func(v *FleetLaunchTemplateConfigOverrideInstanceRequirements) *FleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGb { - if v == nil { - return nil - } - return v.TotalLocalStorageGb - }).(FleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrOutput) -} - -// Block describing the minimum and maximum number of vCPUs. Default is no maximum. -func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput) VcpuCount() FleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrOutput { - return o.ApplyT(func(v *FleetLaunchTemplateConfigOverrideInstanceRequirements) *FleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCount { - if v == nil { - return nil - } - return &v.VcpuCount - }).(FleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrOutput) -} - -type FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCount struct { - // Maximum. Set to `0` to exclude instance types with accelerators. - Max *int `pulumi:"max"` - // Minimum. - Min *int `pulumi:"min"` +type EncryptionControlResourceExclusionsVpcPeering struct { + // The current state of the VPC Encryption Control. + State string `pulumi:"state"` + // A message providing additional information about the state of the VPC Encryption Control. + StateMessage string `pulumi:"stateMessage"` } -// FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountInput is an input type that accepts FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountArgs and FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountOutput values. -// You can construct a concrete instance of `FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountInput` via: +// EncryptionControlResourceExclusionsVpcPeeringInput is an input type that accepts EncryptionControlResourceExclusionsVpcPeeringArgs and EncryptionControlResourceExclusionsVpcPeeringOutput values. +// You can construct a concrete instance of `EncryptionControlResourceExclusionsVpcPeeringInput` via: // -// FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountArgs{...} -type FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountInput interface { +// EncryptionControlResourceExclusionsVpcPeeringArgs{...} +type EncryptionControlResourceExclusionsVpcPeeringInput interface { pulumi.Input - ToFleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountOutput() FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountOutput - ToFleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountOutputWithContext(context.Context) FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountOutput + ToEncryptionControlResourceExclusionsVpcPeeringOutput() EncryptionControlResourceExclusionsVpcPeeringOutput + ToEncryptionControlResourceExclusionsVpcPeeringOutputWithContext(context.Context) EncryptionControlResourceExclusionsVpcPeeringOutput } -type FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountArgs struct { - // Maximum. Set to `0` to exclude instance types with accelerators. - Max pulumi.IntPtrInput `pulumi:"max"` - // Minimum. - Min pulumi.IntPtrInput `pulumi:"min"` +type EncryptionControlResourceExclusionsVpcPeeringArgs struct { + // The current state of the VPC Encryption Control. + State pulumi.StringInput `pulumi:"state"` + // A message providing additional information about the state of the VPC Encryption Control. + StateMessage pulumi.StringInput `pulumi:"stateMessage"` } -func (FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountArgs) ElementType() reflect.Type { - return reflect.TypeOf((*FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCount)(nil)).Elem() +func (EncryptionControlResourceExclusionsVpcPeeringArgs) ElementType() reflect.Type { + return reflect.TypeOf((*EncryptionControlResourceExclusionsVpcPeering)(nil)).Elem() } -func (i FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountArgs) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountOutput() FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountOutput { - return i.ToFleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountOutputWithContext(context.Background()) +func (i EncryptionControlResourceExclusionsVpcPeeringArgs) ToEncryptionControlResourceExclusionsVpcPeeringOutput() EncryptionControlResourceExclusionsVpcPeeringOutput { + return i.ToEncryptionControlResourceExclusionsVpcPeeringOutputWithContext(context.Background()) } -func (i FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountArgs) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountOutputWithContext(ctx context.Context) FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountOutput { - return pulumi.ToOutputWithContext(ctx, i).(FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountOutput) +func (i EncryptionControlResourceExclusionsVpcPeeringArgs) ToEncryptionControlResourceExclusionsVpcPeeringOutputWithContext(ctx context.Context) EncryptionControlResourceExclusionsVpcPeeringOutput { + return pulumi.ToOutputWithContext(ctx, i).(EncryptionControlResourceExclusionsVpcPeeringOutput) } -func (i FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountArgs) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrOutput() FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrOutput { - return i.ToFleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrOutputWithContext(context.Background()) +func (i EncryptionControlResourceExclusionsVpcPeeringArgs) ToEncryptionControlResourceExclusionsVpcPeeringPtrOutput() EncryptionControlResourceExclusionsVpcPeeringPtrOutput { + return i.ToEncryptionControlResourceExclusionsVpcPeeringPtrOutputWithContext(context.Background()) } -func (i FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountArgs) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrOutputWithContext(ctx context.Context) FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountOutput).ToFleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrOutputWithContext(ctx) +func (i EncryptionControlResourceExclusionsVpcPeeringArgs) ToEncryptionControlResourceExclusionsVpcPeeringPtrOutputWithContext(ctx context.Context) EncryptionControlResourceExclusionsVpcPeeringPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(EncryptionControlResourceExclusionsVpcPeeringOutput).ToEncryptionControlResourceExclusionsVpcPeeringPtrOutputWithContext(ctx) } -// FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrInput is an input type that accepts FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountArgs, FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtr and FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrOutput values. -// You can construct a concrete instance of `FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrInput` via: +// EncryptionControlResourceExclusionsVpcPeeringPtrInput is an input type that accepts EncryptionControlResourceExclusionsVpcPeeringArgs, EncryptionControlResourceExclusionsVpcPeeringPtr and EncryptionControlResourceExclusionsVpcPeeringPtrOutput values. +// You can construct a concrete instance of `EncryptionControlResourceExclusionsVpcPeeringPtrInput` via: // -// FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountArgs{...} +// EncryptionControlResourceExclusionsVpcPeeringArgs{...} // // or: // // nil -type FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrInput interface { +type EncryptionControlResourceExclusionsVpcPeeringPtrInput interface { pulumi.Input - ToFleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrOutput() FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrOutput - ToFleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrOutputWithContext(context.Context) FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrOutput + ToEncryptionControlResourceExclusionsVpcPeeringPtrOutput() EncryptionControlResourceExclusionsVpcPeeringPtrOutput + ToEncryptionControlResourceExclusionsVpcPeeringPtrOutputWithContext(context.Context) EncryptionControlResourceExclusionsVpcPeeringPtrOutput } -type fleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrType FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountArgs +type encryptionControlResourceExclusionsVpcPeeringPtrType EncryptionControlResourceExclusionsVpcPeeringArgs -func FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtr(v *FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountArgs) FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrInput { - return (*fleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrType)(v) +func EncryptionControlResourceExclusionsVpcPeeringPtr(v *EncryptionControlResourceExclusionsVpcPeeringArgs) EncryptionControlResourceExclusionsVpcPeeringPtrInput { + return (*encryptionControlResourceExclusionsVpcPeeringPtrType)(v) } -func (*fleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCount)(nil)).Elem() +func (*encryptionControlResourceExclusionsVpcPeeringPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**EncryptionControlResourceExclusionsVpcPeering)(nil)).Elem() } -func (i *fleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrType) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrOutput() FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrOutput { - return i.ToFleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrOutputWithContext(context.Background()) +func (i *encryptionControlResourceExclusionsVpcPeeringPtrType) ToEncryptionControlResourceExclusionsVpcPeeringPtrOutput() EncryptionControlResourceExclusionsVpcPeeringPtrOutput { + return i.ToEncryptionControlResourceExclusionsVpcPeeringPtrOutputWithContext(context.Background()) } -func (i *fleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrType) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrOutputWithContext(ctx context.Context) FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrOutput) +func (i *encryptionControlResourceExclusionsVpcPeeringPtrType) ToEncryptionControlResourceExclusionsVpcPeeringPtrOutputWithContext(ctx context.Context) EncryptionControlResourceExclusionsVpcPeeringPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(EncryptionControlResourceExclusionsVpcPeeringPtrOutput) } -type FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountOutput struct{ *pulumi.OutputState } +type EncryptionControlResourceExclusionsVpcPeeringOutput struct{ *pulumi.OutputState } -func (FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountOutput) ElementType() reflect.Type { - return reflect.TypeOf((*FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCount)(nil)).Elem() +func (EncryptionControlResourceExclusionsVpcPeeringOutput) ElementType() reflect.Type { + return reflect.TypeOf((*EncryptionControlResourceExclusionsVpcPeering)(nil)).Elem() } -func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountOutput) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountOutput() FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountOutput { +func (o EncryptionControlResourceExclusionsVpcPeeringOutput) ToEncryptionControlResourceExclusionsVpcPeeringOutput() EncryptionControlResourceExclusionsVpcPeeringOutput { return o } -func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountOutput) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountOutputWithContext(ctx context.Context) FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountOutput { +func (o EncryptionControlResourceExclusionsVpcPeeringOutput) ToEncryptionControlResourceExclusionsVpcPeeringOutputWithContext(ctx context.Context) EncryptionControlResourceExclusionsVpcPeeringOutput { return o } -func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountOutput) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrOutput() FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrOutput { - return o.ToFleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrOutputWithContext(context.Background()) +func (o EncryptionControlResourceExclusionsVpcPeeringOutput) ToEncryptionControlResourceExclusionsVpcPeeringPtrOutput() EncryptionControlResourceExclusionsVpcPeeringPtrOutput { + return o.ToEncryptionControlResourceExclusionsVpcPeeringPtrOutputWithContext(context.Background()) } -func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountOutput) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrOutputWithContext(ctx context.Context) FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCount) *FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCount { +func (o EncryptionControlResourceExclusionsVpcPeeringOutput) ToEncryptionControlResourceExclusionsVpcPeeringPtrOutputWithContext(ctx context.Context) EncryptionControlResourceExclusionsVpcPeeringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v EncryptionControlResourceExclusionsVpcPeering) *EncryptionControlResourceExclusionsVpcPeering { return &v - }).(FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrOutput) + }).(EncryptionControlResourceExclusionsVpcPeeringPtrOutput) } -// Maximum. Set to `0` to exclude instance types with accelerators. -func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountOutput) Max() pulumi.IntPtrOutput { - return o.ApplyT(func(v FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCount) *int { return v.Max }).(pulumi.IntPtrOutput) +// The current state of the VPC Encryption Control. +func (o EncryptionControlResourceExclusionsVpcPeeringOutput) State() pulumi.StringOutput { + return o.ApplyT(func(v EncryptionControlResourceExclusionsVpcPeering) string { return v.State }).(pulumi.StringOutput) } -// Minimum. -func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountOutput) Min() pulumi.IntPtrOutput { - return o.ApplyT(func(v FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCount) *int { return v.Min }).(pulumi.IntPtrOutput) +// A message providing additional information about the state of the VPC Encryption Control. +func (o EncryptionControlResourceExclusionsVpcPeeringOutput) StateMessage() pulumi.StringOutput { + return o.ApplyT(func(v EncryptionControlResourceExclusionsVpcPeering) string { return v.StateMessage }).(pulumi.StringOutput) } -type FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrOutput struct{ *pulumi.OutputState } +type EncryptionControlResourceExclusionsVpcPeeringPtrOutput struct{ *pulumi.OutputState } -func (FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCount)(nil)).Elem() +func (EncryptionControlResourceExclusionsVpcPeeringPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**EncryptionControlResourceExclusionsVpcPeering)(nil)).Elem() } -func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrOutput) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrOutput() FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrOutput { +func (o EncryptionControlResourceExclusionsVpcPeeringPtrOutput) ToEncryptionControlResourceExclusionsVpcPeeringPtrOutput() EncryptionControlResourceExclusionsVpcPeeringPtrOutput { return o } -func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrOutput) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrOutputWithContext(ctx context.Context) FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrOutput { +func (o EncryptionControlResourceExclusionsVpcPeeringPtrOutput) ToEncryptionControlResourceExclusionsVpcPeeringPtrOutputWithContext(ctx context.Context) EncryptionControlResourceExclusionsVpcPeeringPtrOutput { return o } -func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrOutput) Elem() FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountOutput { - return o.ApplyT(func(v *FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCount) FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCount { +func (o EncryptionControlResourceExclusionsVpcPeeringPtrOutput) Elem() EncryptionControlResourceExclusionsVpcPeeringOutput { + return o.ApplyT(func(v *EncryptionControlResourceExclusionsVpcPeering) EncryptionControlResourceExclusionsVpcPeering { if v != nil { return *v } - var ret FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCount + var ret EncryptionControlResourceExclusionsVpcPeering return ret - }).(FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountOutput) + }).(EncryptionControlResourceExclusionsVpcPeeringOutput) } -// Maximum. Set to `0` to exclude instance types with accelerators. -func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrOutput) Max() pulumi.IntPtrOutput { - return o.ApplyT(func(v *FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCount) *int { +// The current state of the VPC Encryption Control. +func (o EncryptionControlResourceExclusionsVpcPeeringPtrOutput) State() pulumi.StringPtrOutput { + return o.ApplyT(func(v *EncryptionControlResourceExclusionsVpcPeering) *string { if v == nil { return nil } - return v.Max - }).(pulumi.IntPtrOutput) + return &v.State + }).(pulumi.StringPtrOutput) } -// Minimum. -func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrOutput) Min() pulumi.IntPtrOutput { - return o.ApplyT(func(v *FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCount) *int { +// A message providing additional information about the state of the VPC Encryption Control. +func (o EncryptionControlResourceExclusionsVpcPeeringPtrOutput) StateMessage() pulumi.StringPtrOutput { + return o.ApplyT(func(v *EncryptionControlResourceExclusionsVpcPeering) *string { if v == nil { return nil } - return v.Min - }).(pulumi.IntPtrOutput) + return &v.StateMessage + }).(pulumi.StringPtrOutput) } -type FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMib struct { - // The maximum amount of accelerator memory, in MiB. To specify no maximum limit, omit this parameter. - Max *int `pulumi:"max"` - // The minimum amount of accelerator memory, in MiB. To specify no minimum limit, omit this parameter. - Min *int `pulumi:"min"` +type EncryptionControlTimeouts struct { + // A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + Create *string `pulumi:"create"` + // A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs. + Delete *string `pulumi:"delete"` + // A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + Update *string `pulumi:"update"` } -// FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibInput is an input type that accepts FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibArgs and FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibOutput values. -// You can construct a concrete instance of `FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibInput` via: +// EncryptionControlTimeoutsInput is an input type that accepts EncryptionControlTimeoutsArgs and EncryptionControlTimeoutsOutput values. +// You can construct a concrete instance of `EncryptionControlTimeoutsInput` via: // -// FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibArgs{...} -type FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibInput interface { +// EncryptionControlTimeoutsArgs{...} +type EncryptionControlTimeoutsInput interface { pulumi.Input - ToFleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibOutput() FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibOutput - ToFleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibOutputWithContext(context.Context) FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibOutput + ToEncryptionControlTimeoutsOutput() EncryptionControlTimeoutsOutput + ToEncryptionControlTimeoutsOutputWithContext(context.Context) EncryptionControlTimeoutsOutput } -type FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibArgs struct { - // The maximum amount of accelerator memory, in MiB. To specify no maximum limit, omit this parameter. - Max pulumi.IntPtrInput `pulumi:"max"` - // The minimum amount of accelerator memory, in MiB. To specify no minimum limit, omit this parameter. - Min pulumi.IntPtrInput `pulumi:"min"` +type EncryptionControlTimeoutsArgs struct { + // A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + Create pulumi.StringPtrInput `pulumi:"create"` + // A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs. + Delete pulumi.StringPtrInput `pulumi:"delete"` + // A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + Update pulumi.StringPtrInput `pulumi:"update"` } -func (FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibArgs) ElementType() reflect.Type { - return reflect.TypeOf((*FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMib)(nil)).Elem() +func (EncryptionControlTimeoutsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*EncryptionControlTimeouts)(nil)).Elem() } -func (i FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibArgs) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibOutput() FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibOutput { - return i.ToFleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibOutputWithContext(context.Background()) +func (i EncryptionControlTimeoutsArgs) ToEncryptionControlTimeoutsOutput() EncryptionControlTimeoutsOutput { + return i.ToEncryptionControlTimeoutsOutputWithContext(context.Background()) } -func (i FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibArgs) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibOutputWithContext(ctx context.Context) FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibOutput { - return pulumi.ToOutputWithContext(ctx, i).(FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibOutput) +func (i EncryptionControlTimeoutsArgs) ToEncryptionControlTimeoutsOutputWithContext(ctx context.Context) EncryptionControlTimeoutsOutput { + return pulumi.ToOutputWithContext(ctx, i).(EncryptionControlTimeoutsOutput) } -func (i FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibArgs) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrOutput() FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrOutput { - return i.ToFleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrOutputWithContext(context.Background()) +func (i EncryptionControlTimeoutsArgs) ToEncryptionControlTimeoutsPtrOutput() EncryptionControlTimeoutsPtrOutput { + return i.ToEncryptionControlTimeoutsPtrOutputWithContext(context.Background()) } -func (i FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibArgs) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrOutputWithContext(ctx context.Context) FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibOutput).ToFleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrOutputWithContext(ctx) +func (i EncryptionControlTimeoutsArgs) ToEncryptionControlTimeoutsPtrOutputWithContext(ctx context.Context) EncryptionControlTimeoutsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(EncryptionControlTimeoutsOutput).ToEncryptionControlTimeoutsPtrOutputWithContext(ctx) } -// FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrInput is an input type that accepts FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibArgs, FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtr and FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrOutput values. -// You can construct a concrete instance of `FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrInput` via: +// EncryptionControlTimeoutsPtrInput is an input type that accepts EncryptionControlTimeoutsArgs, EncryptionControlTimeoutsPtr and EncryptionControlTimeoutsPtrOutput values. +// You can construct a concrete instance of `EncryptionControlTimeoutsPtrInput` via: // -// FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibArgs{...} +// EncryptionControlTimeoutsArgs{...} // // or: // // nil -type FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrInput interface { +type EncryptionControlTimeoutsPtrInput interface { pulumi.Input - ToFleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrOutput() FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrOutput - ToFleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrOutputWithContext(context.Context) FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrOutput + ToEncryptionControlTimeoutsPtrOutput() EncryptionControlTimeoutsPtrOutput + ToEncryptionControlTimeoutsPtrOutputWithContext(context.Context) EncryptionControlTimeoutsPtrOutput } -type fleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrType FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibArgs +type encryptionControlTimeoutsPtrType EncryptionControlTimeoutsArgs -func FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtr(v *FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibArgs) FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrInput { - return (*fleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrType)(v) +func EncryptionControlTimeoutsPtr(v *EncryptionControlTimeoutsArgs) EncryptionControlTimeoutsPtrInput { + return (*encryptionControlTimeoutsPtrType)(v) } -func (*fleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMib)(nil)).Elem() +func (*encryptionControlTimeoutsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**EncryptionControlTimeouts)(nil)).Elem() } -func (i *fleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrType) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrOutput() FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrOutput { - return i.ToFleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrOutputWithContext(context.Background()) +func (i *encryptionControlTimeoutsPtrType) ToEncryptionControlTimeoutsPtrOutput() EncryptionControlTimeoutsPtrOutput { + return i.ToEncryptionControlTimeoutsPtrOutputWithContext(context.Background()) } -func (i *fleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrType) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrOutputWithContext(ctx context.Context) FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrOutput) +func (i *encryptionControlTimeoutsPtrType) ToEncryptionControlTimeoutsPtrOutputWithContext(ctx context.Context) EncryptionControlTimeoutsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(EncryptionControlTimeoutsPtrOutput) } -type FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibOutput struct{ *pulumi.OutputState } +type EncryptionControlTimeoutsOutput struct{ *pulumi.OutputState } -func (FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibOutput) ElementType() reflect.Type { - return reflect.TypeOf((*FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMib)(nil)).Elem() +func (EncryptionControlTimeoutsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*EncryptionControlTimeouts)(nil)).Elem() } -func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibOutput) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibOutput() FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibOutput { +func (o EncryptionControlTimeoutsOutput) ToEncryptionControlTimeoutsOutput() EncryptionControlTimeoutsOutput { return o } -func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibOutput) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibOutputWithContext(ctx context.Context) FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibOutput { +func (o EncryptionControlTimeoutsOutput) ToEncryptionControlTimeoutsOutputWithContext(ctx context.Context) EncryptionControlTimeoutsOutput { return o } -func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibOutput) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrOutput() FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrOutput { - return o.ToFleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrOutputWithContext(context.Background()) +func (o EncryptionControlTimeoutsOutput) ToEncryptionControlTimeoutsPtrOutput() EncryptionControlTimeoutsPtrOutput { + return o.ToEncryptionControlTimeoutsPtrOutputWithContext(context.Background()) } -func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibOutput) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrOutputWithContext(ctx context.Context) FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMib) *FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMib { +func (o EncryptionControlTimeoutsOutput) ToEncryptionControlTimeoutsPtrOutputWithContext(ctx context.Context) EncryptionControlTimeoutsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v EncryptionControlTimeouts) *EncryptionControlTimeouts { return &v - }).(FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrOutput) + }).(EncryptionControlTimeoutsPtrOutput) } -// The maximum amount of accelerator memory, in MiB. To specify no maximum limit, omit this parameter. -func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibOutput) Max() pulumi.IntPtrOutput { - return o.ApplyT(func(v FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMib) *int { - return v.Max - }).(pulumi.IntPtrOutput) +// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). +func (o EncryptionControlTimeoutsOutput) Create() pulumi.StringPtrOutput { + return o.ApplyT(func(v EncryptionControlTimeouts) *string { return v.Create }).(pulumi.StringPtrOutput) } -// The minimum amount of accelerator memory, in MiB. To specify no minimum limit, omit this parameter. -func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibOutput) Min() pulumi.IntPtrOutput { - return o.ApplyT(func(v FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMib) *int { - return v.Min - }).(pulumi.IntPtrOutput) +// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs. +func (o EncryptionControlTimeoutsOutput) Delete() pulumi.StringPtrOutput { + return o.ApplyT(func(v EncryptionControlTimeouts) *string { return v.Delete }).(pulumi.StringPtrOutput) } -type FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrOutput struct{ *pulumi.OutputState } +// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). +func (o EncryptionControlTimeoutsOutput) Update() pulumi.StringPtrOutput { + return o.ApplyT(func(v EncryptionControlTimeouts) *string { return v.Update }).(pulumi.StringPtrOutput) +} -func (FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMib)(nil)).Elem() +type EncryptionControlTimeoutsPtrOutput struct{ *pulumi.OutputState } + +func (EncryptionControlTimeoutsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**EncryptionControlTimeouts)(nil)).Elem() } -func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrOutput) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrOutput() FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrOutput { +func (o EncryptionControlTimeoutsPtrOutput) ToEncryptionControlTimeoutsPtrOutput() EncryptionControlTimeoutsPtrOutput { return o } -func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrOutput) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrOutputWithContext(ctx context.Context) FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrOutput { +func (o EncryptionControlTimeoutsPtrOutput) ToEncryptionControlTimeoutsPtrOutputWithContext(ctx context.Context) EncryptionControlTimeoutsPtrOutput { return o } -func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrOutput) Elem() FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibOutput { - return o.ApplyT(func(v *FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMib) FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMib { +func (o EncryptionControlTimeoutsPtrOutput) Elem() EncryptionControlTimeoutsOutput { + return o.ApplyT(func(v *EncryptionControlTimeouts) EncryptionControlTimeouts { if v != nil { return *v } - var ret FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMib + var ret EncryptionControlTimeouts return ret - }).(FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibOutput) + }).(EncryptionControlTimeoutsOutput) } -// The maximum amount of accelerator memory, in MiB. To specify no maximum limit, omit this parameter. -func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrOutput) Max() pulumi.IntPtrOutput { - return o.ApplyT(func(v *FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMib) *int { +// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). +func (o EncryptionControlTimeoutsPtrOutput) Create() pulumi.StringPtrOutput { + return o.ApplyT(func(v *EncryptionControlTimeouts) *string { if v == nil { return nil } - return v.Max - }).(pulumi.IntPtrOutput) + return v.Create + }).(pulumi.StringPtrOutput) } -// The minimum amount of accelerator memory, in MiB. To specify no minimum limit, omit this parameter. -func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrOutput) Min() pulumi.IntPtrOutput { - return o.ApplyT(func(v *FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMib) *int { +// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs. +func (o EncryptionControlTimeoutsPtrOutput) Delete() pulumi.StringPtrOutput { + return o.ApplyT(func(v *EncryptionControlTimeouts) *string { if v == nil { return nil } - return v.Min - }).(pulumi.IntPtrOutput) + return v.Delete + }).(pulumi.StringPtrOutput) } -type FleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbps struct { - // The maximum baseline bandwidth, in Mbps. To specify no maximum limit, omit this parameter.. - Max *int `pulumi:"max"` - // The minimum baseline bandwidth, in Mbps. To specify no minimum limit, omit this parameter.. - Min *int `pulumi:"min"` +// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). +func (o EncryptionControlTimeoutsPtrOutput) Update() pulumi.StringPtrOutput { + return o.ApplyT(func(v *EncryptionControlTimeouts) *string { + if v == nil { + return nil + } + return v.Update + }).(pulumi.StringPtrOutput) } -// FleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsInput is an input type that accepts FleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsArgs and FleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsOutput values. -// You can construct a concrete instance of `FleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsInput` via: -// -// FleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsArgs{...} -type FleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsInput interface { - pulumi.Input - - ToFleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsOutput() FleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsOutput - ToFleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsOutputWithContext(context.Context) FleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsOutput +type FleetFleetInstanceSet struct { + // The IDs of the instances. + InstanceIds []string `pulumi:"instanceIds"` + // The instance type. + InstanceType *string `pulumi:"instanceType"` + // Indicates if the instance that was launched is a Spot Instance or On-Demand Instance. + Lifecycle *string `pulumi:"lifecycle"` + // The value is `Windows` for Windows instances. Otherwise, the value is blank. + Platform *string `pulumi:"platform"` } -type FleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsArgs struct { - // The maximum baseline bandwidth, in Mbps. To specify no maximum limit, omit this parameter.. - Max pulumi.IntPtrInput `pulumi:"max"` - // The minimum baseline bandwidth, in Mbps. To specify no minimum limit, omit this parameter.. - Min pulumi.IntPtrInput `pulumi:"min"` -} +// FleetFleetInstanceSetInput is an input type that accepts FleetFleetInstanceSetArgs and FleetFleetInstanceSetOutput values. +// You can construct a concrete instance of `FleetFleetInstanceSetInput` via: +// +// FleetFleetInstanceSetArgs{...} +type FleetFleetInstanceSetInput interface { + pulumi.Input -func (FleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsArgs) ElementType() reflect.Type { - return reflect.TypeOf((*FleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbps)(nil)).Elem() + ToFleetFleetInstanceSetOutput() FleetFleetInstanceSetOutput + ToFleetFleetInstanceSetOutputWithContext(context.Context) FleetFleetInstanceSetOutput } -func (i FleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsArgs) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsOutput() FleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsOutput { - return i.ToFleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsOutputWithContext(context.Background()) +type FleetFleetInstanceSetArgs struct { + // The IDs of the instances. + InstanceIds pulumi.StringArrayInput `pulumi:"instanceIds"` + // The instance type. + InstanceType pulumi.StringPtrInput `pulumi:"instanceType"` + // Indicates if the instance that was launched is a Spot Instance or On-Demand Instance. + Lifecycle pulumi.StringPtrInput `pulumi:"lifecycle"` + // The value is `Windows` for Windows instances. Otherwise, the value is blank. + Platform pulumi.StringPtrInput `pulumi:"platform"` } -func (i FleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsArgs) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsOutputWithContext(ctx context.Context) FleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsOutput { - return pulumi.ToOutputWithContext(ctx, i).(FleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsOutput) +func (FleetFleetInstanceSetArgs) ElementType() reflect.Type { + return reflect.TypeOf((*FleetFleetInstanceSet)(nil)).Elem() } -func (i FleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsArgs) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutput() FleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutput { - return i.ToFleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutputWithContext(context.Background()) +func (i FleetFleetInstanceSetArgs) ToFleetFleetInstanceSetOutput() FleetFleetInstanceSetOutput { + return i.ToFleetFleetInstanceSetOutputWithContext(context.Background()) } -func (i FleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsArgs) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutputWithContext(ctx context.Context) FleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(FleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsOutput).ToFleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutputWithContext(ctx) +func (i FleetFleetInstanceSetArgs) ToFleetFleetInstanceSetOutputWithContext(ctx context.Context) FleetFleetInstanceSetOutput { + return pulumi.ToOutputWithContext(ctx, i).(FleetFleetInstanceSetOutput) } -// FleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrInput is an input type that accepts FleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsArgs, FleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtr and FleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutput values. -// You can construct a concrete instance of `FleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrInput` via: -// -// FleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsArgs{...} -// -// or: +// FleetFleetInstanceSetArrayInput is an input type that accepts FleetFleetInstanceSetArray and FleetFleetInstanceSetArrayOutput values. +// You can construct a concrete instance of `FleetFleetInstanceSetArrayInput` via: // -// nil -type FleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrInput interface { +// FleetFleetInstanceSetArray{ FleetFleetInstanceSetArgs{...} } +type FleetFleetInstanceSetArrayInput interface { pulumi.Input - ToFleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutput() FleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutput - ToFleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutputWithContext(context.Context) FleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutput + ToFleetFleetInstanceSetArrayOutput() FleetFleetInstanceSetArrayOutput + ToFleetFleetInstanceSetArrayOutputWithContext(context.Context) FleetFleetInstanceSetArrayOutput } -type fleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrType FleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsArgs - -func FleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtr(v *FleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsArgs) FleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrInput { - return (*fleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrType)(v) -} +type FleetFleetInstanceSetArray []FleetFleetInstanceSetInput -func (*fleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**FleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbps)(nil)).Elem() +func (FleetFleetInstanceSetArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]FleetFleetInstanceSet)(nil)).Elem() } -func (i *fleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrType) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutput() FleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutput { - return i.ToFleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutputWithContext(context.Background()) +func (i FleetFleetInstanceSetArray) ToFleetFleetInstanceSetArrayOutput() FleetFleetInstanceSetArrayOutput { + return i.ToFleetFleetInstanceSetArrayOutputWithContext(context.Background()) } -func (i *fleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrType) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutputWithContext(ctx context.Context) FleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(FleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutput) +func (i FleetFleetInstanceSetArray) ToFleetFleetInstanceSetArrayOutputWithContext(ctx context.Context) FleetFleetInstanceSetArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(FleetFleetInstanceSetArrayOutput) } -type FleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsOutput struct{ *pulumi.OutputState } +type FleetFleetInstanceSetOutput struct{ *pulumi.OutputState } -func (FleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsOutput) ElementType() reflect.Type { - return reflect.TypeOf((*FleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbps)(nil)).Elem() +func (FleetFleetInstanceSetOutput) ElementType() reflect.Type { + return reflect.TypeOf((*FleetFleetInstanceSet)(nil)).Elem() } -func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsOutput) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsOutput() FleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsOutput { +func (o FleetFleetInstanceSetOutput) ToFleetFleetInstanceSetOutput() FleetFleetInstanceSetOutput { return o } -func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsOutput) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsOutputWithContext(ctx context.Context) FleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsOutput { +func (o FleetFleetInstanceSetOutput) ToFleetFleetInstanceSetOutputWithContext(ctx context.Context) FleetFleetInstanceSetOutput { return o } -func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsOutput) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutput() FleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutput { - return o.ToFleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutputWithContext(context.Background()) +// The IDs of the instances. +func (o FleetFleetInstanceSetOutput) InstanceIds() pulumi.StringArrayOutput { + return o.ApplyT(func(v FleetFleetInstanceSet) []string { return v.InstanceIds }).(pulumi.StringArrayOutput) } -func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsOutput) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutputWithContext(ctx context.Context) FleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v FleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbps) *FleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbps { - return &v - }).(FleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutput) +// The instance type. +func (o FleetFleetInstanceSetOutput) InstanceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v FleetFleetInstanceSet) *string { return v.InstanceType }).(pulumi.StringPtrOutput) } -// The maximum baseline bandwidth, in Mbps. To specify no maximum limit, omit this parameter.. -func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsOutput) Max() pulumi.IntPtrOutput { - return o.ApplyT(func(v FleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbps) *int { - return v.Max - }).(pulumi.IntPtrOutput) +// Indicates if the instance that was launched is a Spot Instance or On-Demand Instance. +func (o FleetFleetInstanceSetOutput) Lifecycle() pulumi.StringPtrOutput { + return o.ApplyT(func(v FleetFleetInstanceSet) *string { return v.Lifecycle }).(pulumi.StringPtrOutput) } -// The minimum baseline bandwidth, in Mbps. To specify no minimum limit, omit this parameter.. -func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsOutput) Min() pulumi.IntPtrOutput { - return o.ApplyT(func(v FleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbps) *int { - return v.Min - }).(pulumi.IntPtrOutput) +// The value is `Windows` for Windows instances. Otherwise, the value is blank. +func (o FleetFleetInstanceSetOutput) Platform() pulumi.StringPtrOutput { + return o.ApplyT(func(v FleetFleetInstanceSet) *string { return v.Platform }).(pulumi.StringPtrOutput) } -type FleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutput struct{ *pulumi.OutputState } +type FleetFleetInstanceSetArrayOutput struct{ *pulumi.OutputState } -func (FleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**FleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbps)(nil)).Elem() +func (FleetFleetInstanceSetArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]FleetFleetInstanceSet)(nil)).Elem() } -func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutput) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutput() FleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutput { +func (o FleetFleetInstanceSetArrayOutput) ToFleetFleetInstanceSetArrayOutput() FleetFleetInstanceSetArrayOutput { return o } -func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutput) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutputWithContext(ctx context.Context) FleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutput { +func (o FleetFleetInstanceSetArrayOutput) ToFleetFleetInstanceSetArrayOutputWithContext(ctx context.Context) FleetFleetInstanceSetArrayOutput { return o } -func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutput) Elem() FleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsOutput { - return o.ApplyT(func(v *FleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbps) FleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbps { - if v != nil { - return *v - } - var ret FleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbps - return ret - }).(FleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsOutput) +func (o FleetFleetInstanceSetArrayOutput) Index(i pulumi.IntInput) FleetFleetInstanceSetOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) FleetFleetInstanceSet { + return vs[0].([]FleetFleetInstanceSet)[vs[1].(int)] + }).(FleetFleetInstanceSetOutput) } -// The maximum baseline bandwidth, in Mbps. To specify no maximum limit, omit this parameter.. -func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutput) Max() pulumi.IntPtrOutput { - return o.ApplyT(func(v *FleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbps) *int { - if v == nil { - return nil - } - return v.Max - }).(pulumi.IntPtrOutput) +type FleetLaunchTemplateConfig struct { + // Nested argument containing EC2 Launch Template to use. Defined below. + LaunchTemplateSpecification *FleetLaunchTemplateConfigLaunchTemplateSpecification `pulumi:"launchTemplateSpecification"` + // Nested argument(s) containing parameters to override the same parameters in the Launch Template. Defined below. + Overrides []FleetLaunchTemplateConfigOverride `pulumi:"overrides"` } -// The minimum baseline bandwidth, in Mbps. To specify no minimum limit, omit this parameter.. -func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutput) Min() pulumi.IntPtrOutput { - return o.ApplyT(func(v *FleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbps) *int { - if v == nil { - return nil - } - return v.Min - }).(pulumi.IntPtrOutput) +// FleetLaunchTemplateConfigInput is an input type that accepts FleetLaunchTemplateConfigArgs and FleetLaunchTemplateConfigOutput values. +// You can construct a concrete instance of `FleetLaunchTemplateConfigInput` via: +// +// FleetLaunchTemplateConfigArgs{...} +type FleetLaunchTemplateConfigInput interface { + pulumi.Input + + ToFleetLaunchTemplateConfigOutput() FleetLaunchTemplateConfigOutput + ToFleetLaunchTemplateConfigOutputWithContext(context.Context) FleetLaunchTemplateConfigOutput } -type FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpu struct { - // The maximum amount of memory per vCPU, in GiB. To specify no maximum limit, omit this parameter. - Max *float64 `pulumi:"max"` - // The minimum amount of memory per vCPU, in GiB. To specify no minimum limit, omit this parameter. - Min *float64 `pulumi:"min"` +type FleetLaunchTemplateConfigArgs struct { + // Nested argument containing EC2 Launch Template to use. Defined below. + LaunchTemplateSpecification FleetLaunchTemplateConfigLaunchTemplateSpecificationPtrInput `pulumi:"launchTemplateSpecification"` + // Nested argument(s) containing parameters to override the same parameters in the Launch Template. Defined below. + Overrides FleetLaunchTemplateConfigOverrideArrayInput `pulumi:"overrides"` } -// FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuInput is an input type that accepts FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuArgs and FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuOutput values. -// You can construct a concrete instance of `FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuInput` via: +func (FleetLaunchTemplateConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*FleetLaunchTemplateConfig)(nil)).Elem() +} + +func (i FleetLaunchTemplateConfigArgs) ToFleetLaunchTemplateConfigOutput() FleetLaunchTemplateConfigOutput { + return i.ToFleetLaunchTemplateConfigOutputWithContext(context.Background()) +} + +func (i FleetLaunchTemplateConfigArgs) ToFleetLaunchTemplateConfigOutputWithContext(ctx context.Context) FleetLaunchTemplateConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(FleetLaunchTemplateConfigOutput) +} + +// FleetLaunchTemplateConfigArrayInput is an input type that accepts FleetLaunchTemplateConfigArray and FleetLaunchTemplateConfigArrayOutput values. +// You can construct a concrete instance of `FleetLaunchTemplateConfigArrayInput` via: // -// FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuArgs{...} -type FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuInput interface { +// FleetLaunchTemplateConfigArray{ FleetLaunchTemplateConfigArgs{...} } +type FleetLaunchTemplateConfigArrayInput interface { pulumi.Input - ToFleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuOutput() FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuOutput - ToFleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuOutputWithContext(context.Context) FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuOutput + ToFleetLaunchTemplateConfigArrayOutput() FleetLaunchTemplateConfigArrayOutput + ToFleetLaunchTemplateConfigArrayOutputWithContext(context.Context) FleetLaunchTemplateConfigArrayOutput } -type FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuArgs struct { - // The maximum amount of memory per vCPU, in GiB. To specify no maximum limit, omit this parameter. - Max pulumi.Float64PtrInput `pulumi:"max"` - // The minimum amount of memory per vCPU, in GiB. To specify no minimum limit, omit this parameter. - Min pulumi.Float64PtrInput `pulumi:"min"` -} +type FleetLaunchTemplateConfigArray []FleetLaunchTemplateConfigInput -func (FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuArgs) ElementType() reflect.Type { - return reflect.TypeOf((*FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpu)(nil)).Elem() +func (FleetLaunchTemplateConfigArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]FleetLaunchTemplateConfig)(nil)).Elem() } -func (i FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuArgs) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuOutput() FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuOutput { - return i.ToFleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuOutputWithContext(context.Background()) +func (i FleetLaunchTemplateConfigArray) ToFleetLaunchTemplateConfigArrayOutput() FleetLaunchTemplateConfigArrayOutput { + return i.ToFleetLaunchTemplateConfigArrayOutputWithContext(context.Background()) } -func (i FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuArgs) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuOutputWithContext(ctx context.Context) FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuOutput { - return pulumi.ToOutputWithContext(ctx, i).(FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuOutput) +func (i FleetLaunchTemplateConfigArray) ToFleetLaunchTemplateConfigArrayOutputWithContext(ctx context.Context) FleetLaunchTemplateConfigArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(FleetLaunchTemplateConfigArrayOutput) } -func (i FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuArgs) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrOutput() FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrOutput { - return i.ToFleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrOutputWithContext(context.Background()) +type FleetLaunchTemplateConfigOutput struct{ *pulumi.OutputState } + +func (FleetLaunchTemplateConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*FleetLaunchTemplateConfig)(nil)).Elem() } -func (i FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuArgs) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrOutputWithContext(ctx context.Context) FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuOutput).ToFleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrOutputWithContext(ctx) +func (o FleetLaunchTemplateConfigOutput) ToFleetLaunchTemplateConfigOutput() FleetLaunchTemplateConfigOutput { + return o } -// FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrInput is an input type that accepts FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuArgs, FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtr and FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrOutput values. -// You can construct a concrete instance of `FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrInput` via: -// -// FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuArgs{...} -// -// or: -// -// nil -type FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrInput interface { - pulumi.Input - - ToFleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrOutput() FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrOutput - ToFleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrOutputWithContext(context.Context) FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrOutput -} - -type fleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrType FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuArgs - -func FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtr(v *FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuArgs) FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrInput { - return (*fleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrType)(v) -} - -func (*fleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpu)(nil)).Elem() -} - -func (i *fleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrType) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrOutput() FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrOutput { - return i.ToFleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrOutputWithContext(context.Background()) -} - -func (i *fleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrType) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrOutputWithContext(ctx context.Context) FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrOutput) -} - -type FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuOutput struct{ *pulumi.OutputState } - -func (FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuOutput) ElementType() reflect.Type { - return reflect.TypeOf((*FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpu)(nil)).Elem() -} - -func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuOutput) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuOutput() FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuOutput { - return o -} - -func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuOutput) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuOutputWithContext(ctx context.Context) FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuOutput { +func (o FleetLaunchTemplateConfigOutput) ToFleetLaunchTemplateConfigOutputWithContext(ctx context.Context) FleetLaunchTemplateConfigOutput { return o } -func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuOutput) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrOutput() FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrOutput { - return o.ToFleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrOutputWithContext(context.Background()) -} - -func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuOutput) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrOutputWithContext(ctx context.Context) FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpu) *FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpu { - return &v - }).(FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrOutput) -} - -// The maximum amount of memory per vCPU, in GiB. To specify no maximum limit, omit this parameter. -func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuOutput) Max() pulumi.Float64PtrOutput { - return o.ApplyT(func(v FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpu) *float64 { return v.Max }).(pulumi.Float64PtrOutput) +// Nested argument containing EC2 Launch Template to use. Defined below. +func (o FleetLaunchTemplateConfigOutput) LaunchTemplateSpecification() FleetLaunchTemplateConfigLaunchTemplateSpecificationPtrOutput { + return o.ApplyT(func(v FleetLaunchTemplateConfig) *FleetLaunchTemplateConfigLaunchTemplateSpecification { + return v.LaunchTemplateSpecification + }).(FleetLaunchTemplateConfigLaunchTemplateSpecificationPtrOutput) } -// The minimum amount of memory per vCPU, in GiB. To specify no minimum limit, omit this parameter. -func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuOutput) Min() pulumi.Float64PtrOutput { - return o.ApplyT(func(v FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpu) *float64 { return v.Min }).(pulumi.Float64PtrOutput) +// Nested argument(s) containing parameters to override the same parameters in the Launch Template. Defined below. +func (o FleetLaunchTemplateConfigOutput) Overrides() FleetLaunchTemplateConfigOverrideArrayOutput { + return o.ApplyT(func(v FleetLaunchTemplateConfig) []FleetLaunchTemplateConfigOverride { return v.Overrides }).(FleetLaunchTemplateConfigOverrideArrayOutput) } -type FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrOutput struct{ *pulumi.OutputState } +type FleetLaunchTemplateConfigArrayOutput struct{ *pulumi.OutputState } -func (FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpu)(nil)).Elem() +func (FleetLaunchTemplateConfigArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]FleetLaunchTemplateConfig)(nil)).Elem() } -func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrOutput) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrOutput() FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrOutput { +func (o FleetLaunchTemplateConfigArrayOutput) ToFleetLaunchTemplateConfigArrayOutput() FleetLaunchTemplateConfigArrayOutput { return o } -func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrOutput) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrOutputWithContext(ctx context.Context) FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrOutput { +func (o FleetLaunchTemplateConfigArrayOutput) ToFleetLaunchTemplateConfigArrayOutputWithContext(ctx context.Context) FleetLaunchTemplateConfigArrayOutput { return o } -func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrOutput) Elem() FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuOutput { - return o.ApplyT(func(v *FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpu) FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpu { - if v != nil { - return *v - } - var ret FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpu - return ret - }).(FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuOutput) -} - -// The maximum amount of memory per vCPU, in GiB. To specify no maximum limit, omit this parameter. -func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrOutput) Max() pulumi.Float64PtrOutput { - return o.ApplyT(func(v *FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpu) *float64 { - if v == nil { - return nil - } - return v.Max - }).(pulumi.Float64PtrOutput) -} - -// The minimum amount of memory per vCPU, in GiB. To specify no minimum limit, omit this parameter. -func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrOutput) Min() pulumi.Float64PtrOutput { - return o.ApplyT(func(v *FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpu) *float64 { - if v == nil { - return nil - } - return v.Min - }).(pulumi.Float64PtrOutput) +func (o FleetLaunchTemplateConfigArrayOutput) Index(i pulumi.IntInput) FleetLaunchTemplateConfigOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) FleetLaunchTemplateConfig { + return vs[0].([]FleetLaunchTemplateConfig)[vs[1].(int)] + }).(FleetLaunchTemplateConfigOutput) } -type FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMib struct { - // The maximum amount of memory, in MiB. To specify no maximum limit, omit this parameter. - Max *int `pulumi:"max"` - // The minimum amount of memory, in MiB. To specify no minimum limit, specify `0`. - Min int `pulumi:"min"` +type FleetLaunchTemplateConfigLaunchTemplateSpecification struct { + // The ID of the launch template. + LaunchTemplateId *string `pulumi:"launchTemplateId"` + // The name of the launch template. + LaunchTemplateName *string `pulumi:"launchTemplateName"` + // The launch template version number, `$Latest`, or `$Default.` + Version string `pulumi:"version"` } -// FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibInput is an input type that accepts FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibArgs and FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibOutput values. -// You can construct a concrete instance of `FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibInput` via: +// FleetLaunchTemplateConfigLaunchTemplateSpecificationInput is an input type that accepts FleetLaunchTemplateConfigLaunchTemplateSpecificationArgs and FleetLaunchTemplateConfigLaunchTemplateSpecificationOutput values. +// You can construct a concrete instance of `FleetLaunchTemplateConfigLaunchTemplateSpecificationInput` via: // -// FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibArgs{...} -type FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibInput interface { +// FleetLaunchTemplateConfigLaunchTemplateSpecificationArgs{...} +type FleetLaunchTemplateConfigLaunchTemplateSpecificationInput interface { pulumi.Input - ToFleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibOutput() FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibOutput - ToFleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibOutputWithContext(context.Context) FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibOutput + ToFleetLaunchTemplateConfigLaunchTemplateSpecificationOutput() FleetLaunchTemplateConfigLaunchTemplateSpecificationOutput + ToFleetLaunchTemplateConfigLaunchTemplateSpecificationOutputWithContext(context.Context) FleetLaunchTemplateConfigLaunchTemplateSpecificationOutput } -type FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibArgs struct { - // The maximum amount of memory, in MiB. To specify no maximum limit, omit this parameter. - Max pulumi.IntPtrInput `pulumi:"max"` - // The minimum amount of memory, in MiB. To specify no minimum limit, specify `0`. - Min pulumi.IntInput `pulumi:"min"` +type FleetLaunchTemplateConfigLaunchTemplateSpecificationArgs struct { + // The ID of the launch template. + LaunchTemplateId pulumi.StringPtrInput `pulumi:"launchTemplateId"` + // The name of the launch template. + LaunchTemplateName pulumi.StringPtrInput `pulumi:"launchTemplateName"` + // The launch template version number, `$Latest`, or `$Default.` + Version pulumi.StringInput `pulumi:"version"` } -func (FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibArgs) ElementType() reflect.Type { - return reflect.TypeOf((*FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMib)(nil)).Elem() +func (FleetLaunchTemplateConfigLaunchTemplateSpecificationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*FleetLaunchTemplateConfigLaunchTemplateSpecification)(nil)).Elem() } -func (i FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibArgs) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibOutput() FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibOutput { - return i.ToFleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibOutputWithContext(context.Background()) +func (i FleetLaunchTemplateConfigLaunchTemplateSpecificationArgs) ToFleetLaunchTemplateConfigLaunchTemplateSpecificationOutput() FleetLaunchTemplateConfigLaunchTemplateSpecificationOutput { + return i.ToFleetLaunchTemplateConfigLaunchTemplateSpecificationOutputWithContext(context.Background()) } -func (i FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibArgs) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibOutputWithContext(ctx context.Context) FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibOutput { - return pulumi.ToOutputWithContext(ctx, i).(FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibOutput) +func (i FleetLaunchTemplateConfigLaunchTemplateSpecificationArgs) ToFleetLaunchTemplateConfigLaunchTemplateSpecificationOutputWithContext(ctx context.Context) FleetLaunchTemplateConfigLaunchTemplateSpecificationOutput { + return pulumi.ToOutputWithContext(ctx, i).(FleetLaunchTemplateConfigLaunchTemplateSpecificationOutput) } -func (i FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibArgs) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrOutput() FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrOutput { - return i.ToFleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrOutputWithContext(context.Background()) +func (i FleetLaunchTemplateConfigLaunchTemplateSpecificationArgs) ToFleetLaunchTemplateConfigLaunchTemplateSpecificationPtrOutput() FleetLaunchTemplateConfigLaunchTemplateSpecificationPtrOutput { + return i.ToFleetLaunchTemplateConfigLaunchTemplateSpecificationPtrOutputWithContext(context.Background()) } -func (i FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibArgs) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrOutputWithContext(ctx context.Context) FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibOutput).ToFleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrOutputWithContext(ctx) +func (i FleetLaunchTemplateConfigLaunchTemplateSpecificationArgs) ToFleetLaunchTemplateConfigLaunchTemplateSpecificationPtrOutputWithContext(ctx context.Context) FleetLaunchTemplateConfigLaunchTemplateSpecificationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(FleetLaunchTemplateConfigLaunchTemplateSpecificationOutput).ToFleetLaunchTemplateConfigLaunchTemplateSpecificationPtrOutputWithContext(ctx) } -// FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrInput is an input type that accepts FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibArgs, FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtr and FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrOutput values. -// You can construct a concrete instance of `FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrInput` via: +// FleetLaunchTemplateConfigLaunchTemplateSpecificationPtrInput is an input type that accepts FleetLaunchTemplateConfigLaunchTemplateSpecificationArgs, FleetLaunchTemplateConfigLaunchTemplateSpecificationPtr and FleetLaunchTemplateConfigLaunchTemplateSpecificationPtrOutput values. +// You can construct a concrete instance of `FleetLaunchTemplateConfigLaunchTemplateSpecificationPtrInput` via: // -// FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibArgs{...} +// FleetLaunchTemplateConfigLaunchTemplateSpecificationArgs{...} // // or: // // nil -type FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrInput interface { +type FleetLaunchTemplateConfigLaunchTemplateSpecificationPtrInput interface { pulumi.Input - ToFleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrOutput() FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrOutput - ToFleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrOutputWithContext(context.Context) FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrOutput + ToFleetLaunchTemplateConfigLaunchTemplateSpecificationPtrOutput() FleetLaunchTemplateConfigLaunchTemplateSpecificationPtrOutput + ToFleetLaunchTemplateConfigLaunchTemplateSpecificationPtrOutputWithContext(context.Context) FleetLaunchTemplateConfigLaunchTemplateSpecificationPtrOutput } -type fleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrType FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibArgs +type fleetLaunchTemplateConfigLaunchTemplateSpecificationPtrType FleetLaunchTemplateConfigLaunchTemplateSpecificationArgs -func FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtr(v *FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibArgs) FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrInput { - return (*fleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrType)(v) +func FleetLaunchTemplateConfigLaunchTemplateSpecificationPtr(v *FleetLaunchTemplateConfigLaunchTemplateSpecificationArgs) FleetLaunchTemplateConfigLaunchTemplateSpecificationPtrInput { + return (*fleetLaunchTemplateConfigLaunchTemplateSpecificationPtrType)(v) } -func (*fleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMib)(nil)).Elem() +func (*fleetLaunchTemplateConfigLaunchTemplateSpecificationPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**FleetLaunchTemplateConfigLaunchTemplateSpecification)(nil)).Elem() } -func (i *fleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrType) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrOutput() FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrOutput { - return i.ToFleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrOutputWithContext(context.Background()) +func (i *fleetLaunchTemplateConfigLaunchTemplateSpecificationPtrType) ToFleetLaunchTemplateConfigLaunchTemplateSpecificationPtrOutput() FleetLaunchTemplateConfigLaunchTemplateSpecificationPtrOutput { + return i.ToFleetLaunchTemplateConfigLaunchTemplateSpecificationPtrOutputWithContext(context.Background()) } -func (i *fleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrType) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrOutputWithContext(ctx context.Context) FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrOutput) +func (i *fleetLaunchTemplateConfigLaunchTemplateSpecificationPtrType) ToFleetLaunchTemplateConfigLaunchTemplateSpecificationPtrOutputWithContext(ctx context.Context) FleetLaunchTemplateConfigLaunchTemplateSpecificationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(FleetLaunchTemplateConfigLaunchTemplateSpecificationPtrOutput) } -type FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibOutput struct{ *pulumi.OutputState } +type FleetLaunchTemplateConfigLaunchTemplateSpecificationOutput struct{ *pulumi.OutputState } -func (FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibOutput) ElementType() reflect.Type { - return reflect.TypeOf((*FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMib)(nil)).Elem() +func (FleetLaunchTemplateConfigLaunchTemplateSpecificationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*FleetLaunchTemplateConfigLaunchTemplateSpecification)(nil)).Elem() } -func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibOutput) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibOutput() FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibOutput { +func (o FleetLaunchTemplateConfigLaunchTemplateSpecificationOutput) ToFleetLaunchTemplateConfigLaunchTemplateSpecificationOutput() FleetLaunchTemplateConfigLaunchTemplateSpecificationOutput { return o } -func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibOutput) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibOutputWithContext(ctx context.Context) FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibOutput { +func (o FleetLaunchTemplateConfigLaunchTemplateSpecificationOutput) ToFleetLaunchTemplateConfigLaunchTemplateSpecificationOutputWithContext(ctx context.Context) FleetLaunchTemplateConfigLaunchTemplateSpecificationOutput { return o } -func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibOutput) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrOutput() FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrOutput { - return o.ToFleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrOutputWithContext(context.Background()) +func (o FleetLaunchTemplateConfigLaunchTemplateSpecificationOutput) ToFleetLaunchTemplateConfigLaunchTemplateSpecificationPtrOutput() FleetLaunchTemplateConfigLaunchTemplateSpecificationPtrOutput { + return o.ToFleetLaunchTemplateConfigLaunchTemplateSpecificationPtrOutputWithContext(context.Background()) } -func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibOutput) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrOutputWithContext(ctx context.Context) FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMib) *FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMib { +func (o FleetLaunchTemplateConfigLaunchTemplateSpecificationOutput) ToFleetLaunchTemplateConfigLaunchTemplateSpecificationPtrOutputWithContext(ctx context.Context) FleetLaunchTemplateConfigLaunchTemplateSpecificationPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v FleetLaunchTemplateConfigLaunchTemplateSpecification) *FleetLaunchTemplateConfigLaunchTemplateSpecification { return &v - }).(FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrOutput) + }).(FleetLaunchTemplateConfigLaunchTemplateSpecificationPtrOutput) } -// The maximum amount of memory, in MiB. To specify no maximum limit, omit this parameter. -func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibOutput) Max() pulumi.IntPtrOutput { - return o.ApplyT(func(v FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMib) *int { return v.Max }).(pulumi.IntPtrOutput) +// The ID of the launch template. +func (o FleetLaunchTemplateConfigLaunchTemplateSpecificationOutput) LaunchTemplateId() pulumi.StringPtrOutput { + return o.ApplyT(func(v FleetLaunchTemplateConfigLaunchTemplateSpecification) *string { return v.LaunchTemplateId }).(pulumi.StringPtrOutput) } -// The minimum amount of memory, in MiB. To specify no minimum limit, specify `0`. -func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibOutput) Min() pulumi.IntOutput { - return o.ApplyT(func(v FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMib) int { return v.Min }).(pulumi.IntOutput) +// The name of the launch template. +func (o FleetLaunchTemplateConfigLaunchTemplateSpecificationOutput) LaunchTemplateName() pulumi.StringPtrOutput { + return o.ApplyT(func(v FleetLaunchTemplateConfigLaunchTemplateSpecification) *string { return v.LaunchTemplateName }).(pulumi.StringPtrOutput) } -type FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrOutput struct{ *pulumi.OutputState } +// The launch template version number, `$Latest`, or `$Default.` +func (o FleetLaunchTemplateConfigLaunchTemplateSpecificationOutput) Version() pulumi.StringOutput { + return o.ApplyT(func(v FleetLaunchTemplateConfigLaunchTemplateSpecification) string { return v.Version }).(pulumi.StringOutput) +} -func (FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMib)(nil)).Elem() +type FleetLaunchTemplateConfigLaunchTemplateSpecificationPtrOutput struct{ *pulumi.OutputState } + +func (FleetLaunchTemplateConfigLaunchTemplateSpecificationPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**FleetLaunchTemplateConfigLaunchTemplateSpecification)(nil)).Elem() } -func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrOutput) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrOutput() FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrOutput { +func (o FleetLaunchTemplateConfigLaunchTemplateSpecificationPtrOutput) ToFleetLaunchTemplateConfigLaunchTemplateSpecificationPtrOutput() FleetLaunchTemplateConfigLaunchTemplateSpecificationPtrOutput { return o } -func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrOutput) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrOutputWithContext(ctx context.Context) FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrOutput { +func (o FleetLaunchTemplateConfigLaunchTemplateSpecificationPtrOutput) ToFleetLaunchTemplateConfigLaunchTemplateSpecificationPtrOutputWithContext(ctx context.Context) FleetLaunchTemplateConfigLaunchTemplateSpecificationPtrOutput { return o } -func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrOutput) Elem() FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibOutput { - return o.ApplyT(func(v *FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMib) FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMib { +func (o FleetLaunchTemplateConfigLaunchTemplateSpecificationPtrOutput) Elem() FleetLaunchTemplateConfigLaunchTemplateSpecificationOutput { + return o.ApplyT(func(v *FleetLaunchTemplateConfigLaunchTemplateSpecification) FleetLaunchTemplateConfigLaunchTemplateSpecification { if v != nil { return *v } - var ret FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMib + var ret FleetLaunchTemplateConfigLaunchTemplateSpecification return ret - }).(FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibOutput) + }).(FleetLaunchTemplateConfigLaunchTemplateSpecificationOutput) } -// The maximum amount of memory, in MiB. To specify no maximum limit, omit this parameter. -func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrOutput) Max() pulumi.IntPtrOutput { - return o.ApplyT(func(v *FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMib) *int { +// The ID of the launch template. +func (o FleetLaunchTemplateConfigLaunchTemplateSpecificationPtrOutput) LaunchTemplateId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *FleetLaunchTemplateConfigLaunchTemplateSpecification) *string { if v == nil { return nil } - return v.Max - }).(pulumi.IntPtrOutput) + return v.LaunchTemplateId + }).(pulumi.StringPtrOutput) } -// The minimum amount of memory, in MiB. To specify no minimum limit, specify `0`. -func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrOutput) Min() pulumi.IntPtrOutput { - return o.ApplyT(func(v *FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMib) *int { +// The name of the launch template. +func (o FleetLaunchTemplateConfigLaunchTemplateSpecificationPtrOutput) LaunchTemplateName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *FleetLaunchTemplateConfigLaunchTemplateSpecification) *string { if v == nil { return nil } - return &v.Min - }).(pulumi.IntPtrOutput) + return v.LaunchTemplateName + }).(pulumi.StringPtrOutput) } -type FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbps struct { - // The maximum amount of network bandwidth, in Gbps. To specify no maximum limit, omit this parameter. - Max *float64 `pulumi:"max"` - // The minimum amount of network bandwidth, in Gbps. To specify no minimum limit, omit this parameter. - Min *float64 `pulumi:"min"` +// The launch template version number, `$Latest`, or `$Default.` +func (o FleetLaunchTemplateConfigLaunchTemplateSpecificationPtrOutput) Version() pulumi.StringPtrOutput { + return o.ApplyT(func(v *FleetLaunchTemplateConfigLaunchTemplateSpecification) *string { + if v == nil { + return nil + } + return &v.Version + }).(pulumi.StringPtrOutput) } -// FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsInput is an input type that accepts FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsArgs and FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsOutput values. -// You can construct a concrete instance of `FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsInput` via: -// -// FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsArgs{...} -type FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsInput interface { - pulumi.Input - - ToFleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsOutput() FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsOutput - ToFleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsOutputWithContext(context.Context) FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsOutput +type FleetLaunchTemplateConfigOverride struct { + // Availability Zone in which to launch the instances. + AvailabilityZone *string `pulumi:"availabilityZone"` + // Override the instance type in the Launch Template with instance types that satisfy the requirements. + InstanceRequirements *FleetLaunchTemplateConfigOverrideInstanceRequirements `pulumi:"instanceRequirements"` + // Instance type. + InstanceType *string `pulumi:"instanceType"` + // Maximum price per unit hour that you are willing to pay for a Spot Instance. + MaxPrice *string `pulumi:"maxPrice"` + // Priority for the launch template override. If `onDemandOptions` `allocationStrategy` is set to `prioritized`, EC2 Fleet uses priority to determine which launch template override to use first in fulfilling On-Demand capacity. The highest priority is launched first. The lower the number, the higher the priority. If no number is set, the launch template override has the lowest priority. Valid values are whole numbers starting at 0. + Priority *float64 `pulumi:"priority"` + // ID of the subnet in which to launch the instances. + SubnetId *string `pulumi:"subnetId"` + // Number of units provided by the specified instance type. + WeightedCapacity *float64 `pulumi:"weightedCapacity"` } -type FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsArgs struct { - // The maximum amount of network bandwidth, in Gbps. To specify no maximum limit, omit this parameter. - Max pulumi.Float64PtrInput `pulumi:"max"` - // The minimum amount of network bandwidth, in Gbps. To specify no minimum limit, omit this parameter. - Min pulumi.Float64PtrInput `pulumi:"min"` -} +// FleetLaunchTemplateConfigOverrideInput is an input type that accepts FleetLaunchTemplateConfigOverrideArgs and FleetLaunchTemplateConfigOverrideOutput values. +// You can construct a concrete instance of `FleetLaunchTemplateConfigOverrideInput` via: +// +// FleetLaunchTemplateConfigOverrideArgs{...} +type FleetLaunchTemplateConfigOverrideInput interface { + pulumi.Input -func (FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsArgs) ElementType() reflect.Type { - return reflect.TypeOf((*FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbps)(nil)).Elem() + ToFleetLaunchTemplateConfigOverrideOutput() FleetLaunchTemplateConfigOverrideOutput + ToFleetLaunchTemplateConfigOverrideOutputWithContext(context.Context) FleetLaunchTemplateConfigOverrideOutput } -func (i FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsArgs) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsOutput() FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsOutput { - return i.ToFleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsOutputWithContext(context.Background()) +type FleetLaunchTemplateConfigOverrideArgs struct { + // Availability Zone in which to launch the instances. + AvailabilityZone pulumi.StringPtrInput `pulumi:"availabilityZone"` + // Override the instance type in the Launch Template with instance types that satisfy the requirements. + InstanceRequirements FleetLaunchTemplateConfigOverrideInstanceRequirementsPtrInput `pulumi:"instanceRequirements"` + // Instance type. + InstanceType pulumi.StringPtrInput `pulumi:"instanceType"` + // Maximum price per unit hour that you are willing to pay for a Spot Instance. + MaxPrice pulumi.StringPtrInput `pulumi:"maxPrice"` + // Priority for the launch template override. If `onDemandOptions` `allocationStrategy` is set to `prioritized`, EC2 Fleet uses priority to determine which launch template override to use first in fulfilling On-Demand capacity. The highest priority is launched first. The lower the number, the higher the priority. If no number is set, the launch template override has the lowest priority. Valid values are whole numbers starting at 0. + Priority pulumi.Float64PtrInput `pulumi:"priority"` + // ID of the subnet in which to launch the instances. + SubnetId pulumi.StringPtrInput `pulumi:"subnetId"` + // Number of units provided by the specified instance type. + WeightedCapacity pulumi.Float64PtrInput `pulumi:"weightedCapacity"` } -func (i FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsArgs) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsOutputWithContext(ctx context.Context) FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsOutput { - return pulumi.ToOutputWithContext(ctx, i).(FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsOutput) +func (FleetLaunchTemplateConfigOverrideArgs) ElementType() reflect.Type { + return reflect.TypeOf((*FleetLaunchTemplateConfigOverride)(nil)).Elem() } -func (i FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsArgs) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrOutput() FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrOutput { - return i.ToFleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrOutputWithContext(context.Background()) +func (i FleetLaunchTemplateConfigOverrideArgs) ToFleetLaunchTemplateConfigOverrideOutput() FleetLaunchTemplateConfigOverrideOutput { + return i.ToFleetLaunchTemplateConfigOverrideOutputWithContext(context.Background()) } -func (i FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsArgs) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrOutputWithContext(ctx context.Context) FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsOutput).ToFleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrOutputWithContext(ctx) +func (i FleetLaunchTemplateConfigOverrideArgs) ToFleetLaunchTemplateConfigOverrideOutputWithContext(ctx context.Context) FleetLaunchTemplateConfigOverrideOutput { + return pulumi.ToOutputWithContext(ctx, i).(FleetLaunchTemplateConfigOverrideOutput) } -// FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrInput is an input type that accepts FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsArgs, FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtr and FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrOutput values. -// You can construct a concrete instance of `FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrInput` via: -// -// FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsArgs{...} -// -// or: +// FleetLaunchTemplateConfigOverrideArrayInput is an input type that accepts FleetLaunchTemplateConfigOverrideArray and FleetLaunchTemplateConfigOverrideArrayOutput values. +// You can construct a concrete instance of `FleetLaunchTemplateConfigOverrideArrayInput` via: // -// nil -type FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrInput interface { +// FleetLaunchTemplateConfigOverrideArray{ FleetLaunchTemplateConfigOverrideArgs{...} } +type FleetLaunchTemplateConfigOverrideArrayInput interface { pulumi.Input - ToFleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrOutput() FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrOutput - ToFleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrOutputWithContext(context.Context) FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrOutput + ToFleetLaunchTemplateConfigOverrideArrayOutput() FleetLaunchTemplateConfigOverrideArrayOutput + ToFleetLaunchTemplateConfigOverrideArrayOutputWithContext(context.Context) FleetLaunchTemplateConfigOverrideArrayOutput } -type fleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrType FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsArgs - -func FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtr(v *FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsArgs) FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrInput { - return (*fleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrType)(v) -} +type FleetLaunchTemplateConfigOverrideArray []FleetLaunchTemplateConfigOverrideInput -func (*fleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbps)(nil)).Elem() +func (FleetLaunchTemplateConfigOverrideArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]FleetLaunchTemplateConfigOverride)(nil)).Elem() } -func (i *fleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrType) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrOutput() FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrOutput { - return i.ToFleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrOutputWithContext(context.Background()) +func (i FleetLaunchTemplateConfigOverrideArray) ToFleetLaunchTemplateConfigOverrideArrayOutput() FleetLaunchTemplateConfigOverrideArrayOutput { + return i.ToFleetLaunchTemplateConfigOverrideArrayOutputWithContext(context.Background()) } -func (i *fleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrType) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrOutputWithContext(ctx context.Context) FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrOutput) +func (i FleetLaunchTemplateConfigOverrideArray) ToFleetLaunchTemplateConfigOverrideArrayOutputWithContext(ctx context.Context) FleetLaunchTemplateConfigOverrideArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(FleetLaunchTemplateConfigOverrideArrayOutput) } -type FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsOutput struct{ *pulumi.OutputState } +type FleetLaunchTemplateConfigOverrideOutput struct{ *pulumi.OutputState } -func (FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsOutput) ElementType() reflect.Type { - return reflect.TypeOf((*FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbps)(nil)).Elem() +func (FleetLaunchTemplateConfigOverrideOutput) ElementType() reflect.Type { + return reflect.TypeOf((*FleetLaunchTemplateConfigOverride)(nil)).Elem() } -func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsOutput) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsOutput() FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsOutput { +func (o FleetLaunchTemplateConfigOverrideOutput) ToFleetLaunchTemplateConfigOverrideOutput() FleetLaunchTemplateConfigOverrideOutput { return o } -func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsOutput) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsOutputWithContext(ctx context.Context) FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsOutput { +func (o FleetLaunchTemplateConfigOverrideOutput) ToFleetLaunchTemplateConfigOverrideOutputWithContext(ctx context.Context) FleetLaunchTemplateConfigOverrideOutput { return o } -func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsOutput) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrOutput() FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrOutput { - return o.ToFleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrOutputWithContext(context.Background()) -} - -func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsOutput) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrOutputWithContext(ctx context.Context) FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbps) *FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbps { - return &v - }).(FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrOutput) -} - -// The maximum amount of network bandwidth, in Gbps. To specify no maximum limit, omit this parameter. -func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsOutput) Max() pulumi.Float64PtrOutput { - return o.ApplyT(func(v FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbps) *float64 { - return v.Max - }).(pulumi.Float64PtrOutput) -} - -// The minimum amount of network bandwidth, in Gbps. To specify no minimum limit, omit this parameter. -func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsOutput) Min() pulumi.Float64PtrOutput { - return o.ApplyT(func(v FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbps) *float64 { - return v.Min - }).(pulumi.Float64PtrOutput) -} - -type FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrOutput struct{ *pulumi.OutputState } - -func (FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbps)(nil)).Elem() +// Availability Zone in which to launch the instances. +func (o FleetLaunchTemplateConfigOverrideOutput) AvailabilityZone() pulumi.StringPtrOutput { + return o.ApplyT(func(v FleetLaunchTemplateConfigOverride) *string { return v.AvailabilityZone }).(pulumi.StringPtrOutput) } -func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrOutput) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrOutput() FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrOutput { - return o +// Override the instance type in the Launch Template with instance types that satisfy the requirements. +func (o FleetLaunchTemplateConfigOverrideOutput) InstanceRequirements() FleetLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput { + return o.ApplyT(func(v FleetLaunchTemplateConfigOverride) *FleetLaunchTemplateConfigOverrideInstanceRequirements { + return v.InstanceRequirements + }).(FleetLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput) } -func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrOutput) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrOutputWithContext(ctx context.Context) FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrOutput { - return o +// Instance type. +func (o FleetLaunchTemplateConfigOverrideOutput) InstanceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v FleetLaunchTemplateConfigOverride) *string { return v.InstanceType }).(pulumi.StringPtrOutput) } -func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrOutput) Elem() FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsOutput { - return o.ApplyT(func(v *FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbps) FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbps { - if v != nil { - return *v - } - var ret FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbps - return ret - }).(FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsOutput) +// Maximum price per unit hour that you are willing to pay for a Spot Instance. +func (o FleetLaunchTemplateConfigOverrideOutput) MaxPrice() pulumi.StringPtrOutput { + return o.ApplyT(func(v FleetLaunchTemplateConfigOverride) *string { return v.MaxPrice }).(pulumi.StringPtrOutput) } -// The maximum amount of network bandwidth, in Gbps. To specify no maximum limit, omit this parameter. -func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrOutput) Max() pulumi.Float64PtrOutput { - return o.ApplyT(func(v *FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbps) *float64 { - if v == nil { - return nil - } - return v.Max - }).(pulumi.Float64PtrOutput) +// Priority for the launch template override. If `onDemandOptions` `allocationStrategy` is set to `prioritized`, EC2 Fleet uses priority to determine which launch template override to use first in fulfilling On-Demand capacity. The highest priority is launched first. The lower the number, the higher the priority. If no number is set, the launch template override has the lowest priority. Valid values are whole numbers starting at 0. +func (o FleetLaunchTemplateConfigOverrideOutput) Priority() pulumi.Float64PtrOutput { + return o.ApplyT(func(v FleetLaunchTemplateConfigOverride) *float64 { return v.Priority }).(pulumi.Float64PtrOutput) } -// The minimum amount of network bandwidth, in Gbps. To specify no minimum limit, omit this parameter. -func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrOutput) Min() pulumi.Float64PtrOutput { - return o.ApplyT(func(v *FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbps) *float64 { - if v == nil { - return nil - } - return v.Min - }).(pulumi.Float64PtrOutput) +// ID of the subnet in which to launch the instances. +func (o FleetLaunchTemplateConfigOverrideOutput) SubnetId() pulumi.StringPtrOutput { + return o.ApplyT(func(v FleetLaunchTemplateConfigOverride) *string { return v.SubnetId }).(pulumi.StringPtrOutput) } -type FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCount struct { - // The maximum number of network interfaces. To specify no maximum limit, omit this parameter. - Max *int `pulumi:"max"` - // The minimum number of network interfaces. To specify no minimum limit, omit this parameter. - Min *int `pulumi:"min"` +// Number of units provided by the specified instance type. +func (o FleetLaunchTemplateConfigOverrideOutput) WeightedCapacity() pulumi.Float64PtrOutput { + return o.ApplyT(func(v FleetLaunchTemplateConfigOverride) *float64 { return v.WeightedCapacity }).(pulumi.Float64PtrOutput) } -// FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountInput is an input type that accepts FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountArgs and FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountOutput values. -// You can construct a concrete instance of `FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountInput` via: -// -// FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountArgs{...} -type FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountInput interface { - pulumi.Input +type FleetLaunchTemplateConfigOverrideArrayOutput struct{ *pulumi.OutputState } - ToFleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountOutput() FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountOutput - ToFleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountOutputWithContext(context.Context) FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountOutput +func (FleetLaunchTemplateConfigOverrideArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]FleetLaunchTemplateConfigOverride)(nil)).Elem() } -type FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountArgs struct { - // The maximum number of network interfaces. To specify no maximum limit, omit this parameter. - Max pulumi.IntPtrInput `pulumi:"max"` - // The minimum number of network interfaces. To specify no minimum limit, omit this parameter. - Min pulumi.IntPtrInput `pulumi:"min"` +func (o FleetLaunchTemplateConfigOverrideArrayOutput) ToFleetLaunchTemplateConfigOverrideArrayOutput() FleetLaunchTemplateConfigOverrideArrayOutput { + return o } -func (FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountArgs) ElementType() reflect.Type { - return reflect.TypeOf((*FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCount)(nil)).Elem() +func (o FleetLaunchTemplateConfigOverrideArrayOutput) ToFleetLaunchTemplateConfigOverrideArrayOutputWithContext(ctx context.Context) FleetLaunchTemplateConfigOverrideArrayOutput { + return o } -func (i FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountArgs) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountOutput() FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountOutput { - return i.ToFleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountOutputWithContext(context.Background()) +func (o FleetLaunchTemplateConfigOverrideArrayOutput) Index(i pulumi.IntInput) FleetLaunchTemplateConfigOverrideOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) FleetLaunchTemplateConfigOverride { + return vs[0].([]FleetLaunchTemplateConfigOverride)[vs[1].(int)] + }).(FleetLaunchTemplateConfigOverrideOutput) } -func (i FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountArgs) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountOutputWithContext(ctx context.Context) FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountOutput { - return pulumi.ToOutputWithContext(ctx, i).(FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountOutput) -} - -func (i FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountArgs) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrOutput() FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrOutput { - return i.ToFleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrOutputWithContext(context.Background()) -} - -func (i FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountArgs) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrOutputWithContext(ctx context.Context) FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountOutput).ToFleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrOutputWithContext(ctx) +type FleetLaunchTemplateConfigOverrideInstanceRequirements struct { + // Block describing the minimum and maximum number of accelerators (GPUs, FPGAs, or AWS Inferentia chips). Default is no minimum or maximum limits. + AcceleratorCount *FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCount `pulumi:"acceleratorCount"` + // List of accelerator manufacturer names. Default is any manufacturer. + AcceleratorManufacturers []string `pulumi:"acceleratorManufacturers"` + // List of accelerator names. Default is any acclerator. + AcceleratorNames []string `pulumi:"acceleratorNames"` + // Block describing the minimum and maximum total memory of the accelerators. Default is no minimum or maximum. + AcceleratorTotalMemoryMib *FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMib `pulumi:"acceleratorTotalMemoryMib"` + // The accelerator types that must be on the instance type. Default is any accelerator type. + AcceleratorTypes []string `pulumi:"acceleratorTypes"` + // The 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 (\*). The following are examples: `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. Default is any instance type. + // + // If you specify `AllowedInstanceTypes`, you can't specify `ExcludedInstanceTypes`. + AllowedInstanceTypes []string `pulumi:"allowedInstanceTypes"` + // Indicate whether bare metal instace types should be `included`, `excluded`, or `required`. Default is `excluded`. + BareMetal *string `pulumi:"bareMetal"` + // Block describing the minimum and maximum baseline EBS bandwidth, in Mbps. Default is no minimum or maximum. + BaselineEbsBandwidthMbps *FleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbps `pulumi:"baselineEbsBandwidthMbps"` + // Indicates whether burstable performance T instance types are `included`, `excluded`, or `required`. Default is `excluded`. + BurstablePerformance *string `pulumi:"burstablePerformance"` + // The CPU manufacturers to include. Default is any manufacturer. + // > **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. + CpuManufacturers []string `pulumi:"cpuManufacturers"` + // The instance types to exclude. You can use strings with one or more wild cards, represented by an asterisk (\*). The following are examples: `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. + // + // If you specify `AllowedInstanceTypes`, you can't specify `ExcludedInstanceTypes`. + ExcludedInstanceTypes []string `pulumi:"excludedInstanceTypes"` + // Indicates whether current or previous generation instance types are included. The current generation instance types are recommended for use. Valid values are `current` and `previous`. Default is `current` and `previous` generation instance types. + InstanceGenerations []string `pulumi:"instanceGenerations"` + // Indicate whether instance types with local storage volumes are `included`, `excluded`, or `required`. Default is `included`. + LocalStorage *string `pulumi:"localStorage"` + // List of local storage type names. Valid values are `hdd` and `ssd`. Default any storage type. + LocalStorageTypes []string `pulumi:"localStorageTypes"` + // The 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. Conflicts with `spotMaxPricePercentageOverLowestPrice` + MaxSpotPriceAsPercentageOfOptimalOnDemandPrice *int `pulumi:"maxSpotPriceAsPercentageOfOptimalOnDemandPrice"` + // Block describing the minimum and maximum amount of memory (GiB) per vCPU. Default is no minimum or maximum. + MemoryGibPerVcpu *FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpu `pulumi:"memoryGibPerVcpu"` + // The minimum and maximum amount of memory per vCPU, in GiB. Default is no minimum or maximum limits. + MemoryMib FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMib `pulumi:"memoryMib"` + // The minimum and maximum amount of network bandwidth, in gigabits per second (Gbps). Default is No minimum or maximum. + NetworkBandwidthGbps *FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbps `pulumi:"networkBandwidthGbps"` + // Block describing the minimum and maximum number of network interfaces. Default is no minimum or maximum. + NetworkInterfaceCount *FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCount `pulumi:"networkInterfaceCount"` + // The 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. + // + // If you set `targetCapacityUnitType` 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. + OnDemandMaxPricePercentageOverLowestPrice *int `pulumi:"onDemandMaxPricePercentageOverLowestPrice"` + // Indicate whether instance types must support On-Demand Instance Hibernation, either `true` or `false`. Default is `false`. + RequireHibernateSupport *bool `pulumi:"requireHibernateSupport"` + // The 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. Conflicts with `maxSpotPriceAsPercentageOfOptimalOnDemandPrice` + // + // If 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. + SpotMaxPricePercentageOverLowestPrice *int `pulumi:"spotMaxPricePercentageOverLowestPrice"` + // Block describing the minimum and maximum total local storage (GB). Default is no minimum or maximum. + TotalLocalStorageGb *FleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGb `pulumi:"totalLocalStorageGb"` + // Block describing the minimum and maximum number of vCPUs. Default is no maximum. + VcpuCount FleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCount `pulumi:"vcpuCount"` } -// FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrInput is an input type that accepts FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountArgs, FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtr and FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrOutput values. -// You can construct a concrete instance of `FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrInput` via: -// -// FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountArgs{...} -// -// or: +// FleetLaunchTemplateConfigOverrideInstanceRequirementsInput is an input type that accepts FleetLaunchTemplateConfigOverrideInstanceRequirementsArgs and FleetLaunchTemplateConfigOverrideInstanceRequirementsOutput values. +// You can construct a concrete instance of `FleetLaunchTemplateConfigOverrideInstanceRequirementsInput` via: // -// nil -type FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrInput interface { +// FleetLaunchTemplateConfigOverrideInstanceRequirementsArgs{...} +type FleetLaunchTemplateConfigOverrideInstanceRequirementsInput interface { pulumi.Input - ToFleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrOutput() FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrOutput - ToFleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrOutputWithContext(context.Context) FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrOutput + ToFleetLaunchTemplateConfigOverrideInstanceRequirementsOutput() FleetLaunchTemplateConfigOverrideInstanceRequirementsOutput + ToFleetLaunchTemplateConfigOverrideInstanceRequirementsOutputWithContext(context.Context) FleetLaunchTemplateConfigOverrideInstanceRequirementsOutput } -type fleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrType FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountArgs - -func FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtr(v *FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountArgs) FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrInput { - return (*fleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrType)(v) +type FleetLaunchTemplateConfigOverrideInstanceRequirementsArgs struct { + // Block describing the minimum and maximum number of accelerators (GPUs, FPGAs, or AWS Inferentia chips). Default is no minimum or maximum limits. + AcceleratorCount FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrInput `pulumi:"acceleratorCount"` + // List of accelerator manufacturer names. Default is any manufacturer. + AcceleratorManufacturers pulumi.StringArrayInput `pulumi:"acceleratorManufacturers"` + // List of accelerator names. Default is any acclerator. + AcceleratorNames pulumi.StringArrayInput `pulumi:"acceleratorNames"` + // Block describing the minimum and maximum total memory of the accelerators. Default is no minimum or maximum. + AcceleratorTotalMemoryMib FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrInput `pulumi:"acceleratorTotalMemoryMib"` + // The accelerator types that must be on the instance type. Default is any accelerator type. + AcceleratorTypes pulumi.StringArrayInput `pulumi:"acceleratorTypes"` + // The 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 (\*). The following are examples: `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. Default is any instance type. + // + // If you specify `AllowedInstanceTypes`, you can't specify `ExcludedInstanceTypes`. + AllowedInstanceTypes pulumi.StringArrayInput `pulumi:"allowedInstanceTypes"` + // Indicate whether bare metal instace types should be `included`, `excluded`, or `required`. Default is `excluded`. + BareMetal pulumi.StringPtrInput `pulumi:"bareMetal"` + // Block describing the minimum and maximum baseline EBS bandwidth, in Mbps. Default is no minimum or maximum. + BaselineEbsBandwidthMbps FleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrInput `pulumi:"baselineEbsBandwidthMbps"` + // Indicates whether burstable performance T instance types are `included`, `excluded`, or `required`. Default is `excluded`. + BurstablePerformance pulumi.StringPtrInput `pulumi:"burstablePerformance"` + // The CPU manufacturers to include. Default is any manufacturer. + // > **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. + CpuManufacturers pulumi.StringArrayInput `pulumi:"cpuManufacturers"` + // The instance types to exclude. You can use strings with one or more wild cards, represented by an asterisk (\*). The following are examples: `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. + // + // If you specify `AllowedInstanceTypes`, you can't specify `ExcludedInstanceTypes`. + ExcludedInstanceTypes pulumi.StringArrayInput `pulumi:"excludedInstanceTypes"` + // Indicates whether current or previous generation instance types are included. The current generation instance types are recommended for use. Valid values are `current` and `previous`. Default is `current` and `previous` generation instance types. + InstanceGenerations pulumi.StringArrayInput `pulumi:"instanceGenerations"` + // Indicate whether instance types with local storage volumes are `included`, `excluded`, or `required`. Default is `included`. + LocalStorage pulumi.StringPtrInput `pulumi:"localStorage"` + // List of local storage type names. Valid values are `hdd` and `ssd`. Default any storage type. + LocalStorageTypes pulumi.StringArrayInput `pulumi:"localStorageTypes"` + // The 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. Conflicts with `spotMaxPricePercentageOverLowestPrice` + MaxSpotPriceAsPercentageOfOptimalOnDemandPrice pulumi.IntPtrInput `pulumi:"maxSpotPriceAsPercentageOfOptimalOnDemandPrice"` + // Block describing the minimum and maximum amount of memory (GiB) per vCPU. Default is no minimum or maximum. + MemoryGibPerVcpu FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrInput `pulumi:"memoryGibPerVcpu"` + // The minimum and maximum amount of memory per vCPU, in GiB. Default is no minimum or maximum limits. + MemoryMib FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibInput `pulumi:"memoryMib"` + // The minimum and maximum amount of network bandwidth, in gigabits per second (Gbps). Default is No minimum or maximum. + NetworkBandwidthGbps FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrInput `pulumi:"networkBandwidthGbps"` + // Block describing the minimum and maximum number of network interfaces. Default is no minimum or maximum. + NetworkInterfaceCount FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrInput `pulumi:"networkInterfaceCount"` + // The 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. + // + // If you set `targetCapacityUnitType` 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. + OnDemandMaxPricePercentageOverLowestPrice pulumi.IntPtrInput `pulumi:"onDemandMaxPricePercentageOverLowestPrice"` + // Indicate whether instance types must support On-Demand Instance Hibernation, either `true` or `false`. Default is `false`. + RequireHibernateSupport pulumi.BoolPtrInput `pulumi:"requireHibernateSupport"` + // The 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. Conflicts with `maxSpotPriceAsPercentageOfOptimalOnDemandPrice` + // + // If 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. + SpotMaxPricePercentageOverLowestPrice pulumi.IntPtrInput `pulumi:"spotMaxPricePercentageOverLowestPrice"` + // Block describing the minimum and maximum total local storage (GB). Default is no minimum or maximum. + TotalLocalStorageGb FleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrInput `pulumi:"totalLocalStorageGb"` + // Block describing the minimum and maximum number of vCPUs. Default is no maximum. + VcpuCount FleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountInput `pulumi:"vcpuCount"` } -func (*fleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCount)(nil)).Elem() +func (FleetLaunchTemplateConfigOverrideInstanceRequirementsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*FleetLaunchTemplateConfigOverrideInstanceRequirements)(nil)).Elem() } -func (i *fleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrType) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrOutput() FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrOutput { - return i.ToFleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrOutputWithContext(context.Background()) +func (i FleetLaunchTemplateConfigOverrideInstanceRequirementsArgs) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsOutput() FleetLaunchTemplateConfigOverrideInstanceRequirementsOutput { + return i.ToFleetLaunchTemplateConfigOverrideInstanceRequirementsOutputWithContext(context.Background()) } -func (i *fleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrType) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrOutputWithContext(ctx context.Context) FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrOutput) +func (i FleetLaunchTemplateConfigOverrideInstanceRequirementsArgs) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsOutputWithContext(ctx context.Context) FleetLaunchTemplateConfigOverrideInstanceRequirementsOutput { + return pulumi.ToOutputWithContext(ctx, i).(FleetLaunchTemplateConfigOverrideInstanceRequirementsOutput) } -type FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountOutput struct{ *pulumi.OutputState } - -func (FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountOutput) ElementType() reflect.Type { - return reflect.TypeOf((*FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCount)(nil)).Elem() +func (i FleetLaunchTemplateConfigOverrideInstanceRequirementsArgs) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput() FleetLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput { + return i.ToFleetLaunchTemplateConfigOverrideInstanceRequirementsPtrOutputWithContext(context.Background()) } -func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountOutput) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountOutput() FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountOutput { - return o +func (i FleetLaunchTemplateConfigOverrideInstanceRequirementsArgs) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsPtrOutputWithContext(ctx context.Context) FleetLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(FleetLaunchTemplateConfigOverrideInstanceRequirementsOutput).ToFleetLaunchTemplateConfigOverrideInstanceRequirementsPtrOutputWithContext(ctx) } -func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountOutput) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountOutputWithContext(ctx context.Context) FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountOutput { - return o +// FleetLaunchTemplateConfigOverrideInstanceRequirementsPtrInput is an input type that accepts FleetLaunchTemplateConfigOverrideInstanceRequirementsArgs, FleetLaunchTemplateConfigOverrideInstanceRequirementsPtr and FleetLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput values. +// You can construct a concrete instance of `FleetLaunchTemplateConfigOverrideInstanceRequirementsPtrInput` via: +// +// FleetLaunchTemplateConfigOverrideInstanceRequirementsArgs{...} +// +// or: +// +// nil +type FleetLaunchTemplateConfigOverrideInstanceRequirementsPtrInput interface { + pulumi.Input + + ToFleetLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput() FleetLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput + ToFleetLaunchTemplateConfigOverrideInstanceRequirementsPtrOutputWithContext(context.Context) FleetLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput } -func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountOutput) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrOutput() FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrOutput { - return o.ToFleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrOutputWithContext(context.Background()) +type fleetLaunchTemplateConfigOverrideInstanceRequirementsPtrType FleetLaunchTemplateConfigOverrideInstanceRequirementsArgs + +func FleetLaunchTemplateConfigOverrideInstanceRequirementsPtr(v *FleetLaunchTemplateConfigOverrideInstanceRequirementsArgs) FleetLaunchTemplateConfigOverrideInstanceRequirementsPtrInput { + return (*fleetLaunchTemplateConfigOverrideInstanceRequirementsPtrType)(v) } -func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountOutput) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrOutputWithContext(ctx context.Context) FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCount) *FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCount { - return &v - }).(FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrOutput) +func (*fleetLaunchTemplateConfigOverrideInstanceRequirementsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**FleetLaunchTemplateConfigOverrideInstanceRequirements)(nil)).Elem() } -// The maximum number of network interfaces. To specify no maximum limit, omit this parameter. -func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountOutput) Max() pulumi.IntPtrOutput { - return o.ApplyT(func(v FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCount) *int { return v.Max }).(pulumi.IntPtrOutput) +func (i *fleetLaunchTemplateConfigOverrideInstanceRequirementsPtrType) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput() FleetLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput { + return i.ToFleetLaunchTemplateConfigOverrideInstanceRequirementsPtrOutputWithContext(context.Background()) } -// The minimum number of network interfaces. To specify no minimum limit, omit this parameter. -func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountOutput) Min() pulumi.IntPtrOutput { - return o.ApplyT(func(v FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCount) *int { return v.Min }).(pulumi.IntPtrOutput) +func (i *fleetLaunchTemplateConfigOverrideInstanceRequirementsPtrType) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsPtrOutputWithContext(ctx context.Context) FleetLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(FleetLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput) } -type FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrOutput struct{ *pulumi.OutputState } +type FleetLaunchTemplateConfigOverrideInstanceRequirementsOutput struct{ *pulumi.OutputState } -func (FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCount)(nil)).Elem() +func (FleetLaunchTemplateConfigOverrideInstanceRequirementsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*FleetLaunchTemplateConfigOverrideInstanceRequirements)(nil)).Elem() } -func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrOutput) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrOutput() FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrOutput { +func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsOutput) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsOutput() FleetLaunchTemplateConfigOverrideInstanceRequirementsOutput { return o } -func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrOutput) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrOutputWithContext(ctx context.Context) FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrOutput { +func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsOutput) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsOutputWithContext(ctx context.Context) FleetLaunchTemplateConfigOverrideInstanceRequirementsOutput { return o } -func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrOutput) Elem() FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountOutput { - return o.ApplyT(func(v *FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCount) FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCount { - if v != nil { - return *v - } - var ret FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCount - return ret - }).(FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountOutput) +func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsOutput) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput() FleetLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput { + return o.ToFleetLaunchTemplateConfigOverrideInstanceRequirementsPtrOutputWithContext(context.Background()) } -// The maximum number of network interfaces. To specify no maximum limit, omit this parameter. -func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrOutput) Max() pulumi.IntPtrOutput { - return o.ApplyT(func(v *FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCount) *int { - if v == nil { - return nil - } - return v.Max - }).(pulumi.IntPtrOutput) +func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsOutput) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsPtrOutputWithContext(ctx context.Context) FleetLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v FleetLaunchTemplateConfigOverrideInstanceRequirements) *FleetLaunchTemplateConfigOverrideInstanceRequirements { + return &v + }).(FleetLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput) } -// The minimum number of network interfaces. To specify no minimum limit, omit this parameter. -func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrOutput) Min() pulumi.IntPtrOutput { - return o.ApplyT(func(v *FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCount) *int { - if v == nil { - return nil - } - return v.Min - }).(pulumi.IntPtrOutput) +// Block describing the minimum and maximum number of accelerators (GPUs, FPGAs, or AWS Inferentia chips). Default is no minimum or maximum limits. +func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsOutput) AcceleratorCount() FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrOutput { + return o.ApplyT(func(v FleetLaunchTemplateConfigOverrideInstanceRequirements) *FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCount { + return v.AcceleratorCount + }).(FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrOutput) } -type FleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGb struct { - // The maximum amount of total local storage, in GB. To specify no maximum limit, omit this parameter. - Max *float64 `pulumi:"max"` - // The minimum amount of total local storage, in GB. To specify no minimum limit, omit this parameter. - Min *float64 `pulumi:"min"` +// List of accelerator manufacturer names. Default is any manufacturer. +func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsOutput) AcceleratorManufacturers() pulumi.StringArrayOutput { + return o.ApplyT(func(v FleetLaunchTemplateConfigOverrideInstanceRequirements) []string { + return v.AcceleratorManufacturers + }).(pulumi.StringArrayOutput) } -// FleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbInput is an input type that accepts FleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbArgs and FleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbOutput values. -// You can construct a concrete instance of `FleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbInput` via: -// -// FleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbArgs{...} -type FleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbInput interface { - pulumi.Input +// List of accelerator names. Default is any acclerator. +func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsOutput) AcceleratorNames() pulumi.StringArrayOutput { + return o.ApplyT(func(v FleetLaunchTemplateConfigOverrideInstanceRequirements) []string { return v.AcceleratorNames }).(pulumi.StringArrayOutput) +} - ToFleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbOutput() FleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbOutput - ToFleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbOutputWithContext(context.Context) FleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbOutput +// Block describing the minimum and maximum total memory of the accelerators. Default is no minimum or maximum. +func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsOutput) AcceleratorTotalMemoryMib() FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrOutput { + return o.ApplyT(func(v FleetLaunchTemplateConfigOverrideInstanceRequirements) *FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMib { + return v.AcceleratorTotalMemoryMib + }).(FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrOutput) } -type FleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbArgs struct { - // The maximum amount of total local storage, in GB. To specify no maximum limit, omit this parameter. - Max pulumi.Float64PtrInput `pulumi:"max"` - // The minimum amount of total local storage, in GB. To specify no minimum limit, omit this parameter. - Min pulumi.Float64PtrInput `pulumi:"min"` +// The accelerator types that must be on the instance type. Default is any accelerator type. +func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsOutput) AcceleratorTypes() pulumi.StringArrayOutput { + return o.ApplyT(func(v FleetLaunchTemplateConfigOverrideInstanceRequirements) []string { return v.AcceleratorTypes }).(pulumi.StringArrayOutput) } -func (FleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbArgs) ElementType() reflect.Type { - return reflect.TypeOf((*FleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGb)(nil)).Elem() +// The 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 (\*). The following are examples: `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. Default is any instance type. +// +// If you specify `AllowedInstanceTypes`, you can't specify `ExcludedInstanceTypes`. +func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsOutput) AllowedInstanceTypes() pulumi.StringArrayOutput { + return o.ApplyT(func(v FleetLaunchTemplateConfigOverrideInstanceRequirements) []string { return v.AllowedInstanceTypes }).(pulumi.StringArrayOutput) } -func (i FleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbArgs) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbOutput() FleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbOutput { - return i.ToFleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbOutputWithContext(context.Background()) +// Indicate whether bare metal instace types should be `included`, `excluded`, or `required`. Default is `excluded`. +func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsOutput) BareMetal() pulumi.StringPtrOutput { + return o.ApplyT(func(v FleetLaunchTemplateConfigOverrideInstanceRequirements) *string { return v.BareMetal }).(pulumi.StringPtrOutput) } -func (i FleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbArgs) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbOutputWithContext(ctx context.Context) FleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbOutput { - return pulumi.ToOutputWithContext(ctx, i).(FleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbOutput) +// Block describing the minimum and maximum baseline EBS bandwidth, in Mbps. Default is no minimum or maximum. +func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsOutput) BaselineEbsBandwidthMbps() FleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutput { + return o.ApplyT(func(v FleetLaunchTemplateConfigOverrideInstanceRequirements) *FleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbps { + return v.BaselineEbsBandwidthMbps + }).(FleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutput) } -func (i FleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbArgs) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrOutput() FleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrOutput { - return i.ToFleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrOutputWithContext(context.Background()) +// Indicates whether burstable performance T instance types are `included`, `excluded`, or `required`. Default is `excluded`. +func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsOutput) BurstablePerformance() pulumi.StringPtrOutput { + return o.ApplyT(func(v FleetLaunchTemplateConfigOverrideInstanceRequirements) *string { return v.BurstablePerformance }).(pulumi.StringPtrOutput) } -func (i FleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbArgs) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrOutputWithContext(ctx context.Context) FleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(FleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbOutput).ToFleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrOutputWithContext(ctx) +// The CPU manufacturers to include. Default is any manufacturer. +// > **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. +func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsOutput) CpuManufacturers() pulumi.StringArrayOutput { + return o.ApplyT(func(v FleetLaunchTemplateConfigOverrideInstanceRequirements) []string { return v.CpuManufacturers }).(pulumi.StringArrayOutput) } -// FleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrInput is an input type that accepts FleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbArgs, FleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtr and FleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrOutput values. -// You can construct a concrete instance of `FleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrInput` via: -// -// FleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbArgs{...} -// -// or: +// The instance types to exclude. You can use strings with one or more wild cards, represented by an asterisk (\*). The following are examples: `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. // -// nil -type FleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrInput interface { - pulumi.Input - - ToFleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrOutput() FleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrOutput - ToFleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrOutputWithContext(context.Context) FleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrOutput +// If you specify `AllowedInstanceTypes`, you can't specify `ExcludedInstanceTypes`. +func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsOutput) ExcludedInstanceTypes() pulumi.StringArrayOutput { + return o.ApplyT(func(v FleetLaunchTemplateConfigOverrideInstanceRequirements) []string { return v.ExcludedInstanceTypes }).(pulumi.StringArrayOutput) } -type fleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrType FleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbArgs +// Indicates whether current or previous generation instance types are included. The current generation instance types are recommended for use. Valid values are `current` and `previous`. Default is `current` and `previous` generation instance types. +func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsOutput) InstanceGenerations() pulumi.StringArrayOutput { + return o.ApplyT(func(v FleetLaunchTemplateConfigOverrideInstanceRequirements) []string { return v.InstanceGenerations }).(pulumi.StringArrayOutput) +} -func FleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtr(v *FleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbArgs) FleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrInput { - return (*fleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrType)(v) +// Indicate whether instance types with local storage volumes are `included`, `excluded`, or `required`. Default is `included`. +func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsOutput) LocalStorage() pulumi.StringPtrOutput { + return o.ApplyT(func(v FleetLaunchTemplateConfigOverrideInstanceRequirements) *string { return v.LocalStorage }).(pulumi.StringPtrOutput) } -func (*fleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**FleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGb)(nil)).Elem() +// List of local storage type names. Valid values are `hdd` and `ssd`. Default any storage type. +func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsOutput) LocalStorageTypes() pulumi.StringArrayOutput { + return o.ApplyT(func(v FleetLaunchTemplateConfigOverrideInstanceRequirements) []string { return v.LocalStorageTypes }).(pulumi.StringArrayOutput) } -func (i *fleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrType) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrOutput() FleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrOutput { - return i.ToFleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrOutputWithContext(context.Background()) +// The 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. Conflicts with `spotMaxPricePercentageOverLowestPrice` +func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsOutput) MaxSpotPriceAsPercentageOfOptimalOnDemandPrice() pulumi.IntPtrOutput { + return o.ApplyT(func(v FleetLaunchTemplateConfigOverrideInstanceRequirements) *int { + return v.MaxSpotPriceAsPercentageOfOptimalOnDemandPrice + }).(pulumi.IntPtrOutput) } -func (i *fleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrType) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrOutputWithContext(ctx context.Context) FleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(FleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrOutput) +// Block describing the minimum and maximum amount of memory (GiB) per vCPU. Default is no minimum or maximum. +func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsOutput) MemoryGibPerVcpu() FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrOutput { + return o.ApplyT(func(v FleetLaunchTemplateConfigOverrideInstanceRequirements) *FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpu { + return v.MemoryGibPerVcpu + }).(FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrOutput) } -type FleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbOutput struct{ *pulumi.OutputState } +// The minimum and maximum amount of memory per vCPU, in GiB. Default is no minimum or maximum limits. +func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsOutput) MemoryMib() FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibOutput { + return o.ApplyT(func(v FleetLaunchTemplateConfigOverrideInstanceRequirements) FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMib { + return v.MemoryMib + }).(FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibOutput) +} -func (FleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbOutput) ElementType() reflect.Type { - return reflect.TypeOf((*FleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGb)(nil)).Elem() +// The minimum and maximum amount of network bandwidth, in gigabits per second (Gbps). Default is No minimum or maximum. +func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsOutput) NetworkBandwidthGbps() FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrOutput { + return o.ApplyT(func(v FleetLaunchTemplateConfigOverrideInstanceRequirements) *FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbps { + return v.NetworkBandwidthGbps + }).(FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrOutput) } -func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbOutput) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbOutput() FleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbOutput { - return o +// Block describing the minimum and maximum number of network interfaces. Default is no minimum or maximum. +func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsOutput) NetworkInterfaceCount() FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrOutput { + return o.ApplyT(func(v FleetLaunchTemplateConfigOverrideInstanceRequirements) *FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCount { + return v.NetworkInterfaceCount + }).(FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrOutput) } -func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbOutput) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbOutputWithContext(ctx context.Context) FleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbOutput { - return o +// The 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. +// +// If you set `targetCapacityUnitType` 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. +func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsOutput) OnDemandMaxPricePercentageOverLowestPrice() pulumi.IntPtrOutput { + return o.ApplyT(func(v FleetLaunchTemplateConfigOverrideInstanceRequirements) *int { + return v.OnDemandMaxPricePercentageOverLowestPrice + }).(pulumi.IntPtrOutput) } -func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbOutput) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrOutput() FleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrOutput { - return o.ToFleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrOutputWithContext(context.Background()) +// Indicate whether instance types must support On-Demand Instance Hibernation, either `true` or `false`. Default is `false`. +func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsOutput) RequireHibernateSupport() pulumi.BoolPtrOutput { + return o.ApplyT(func(v FleetLaunchTemplateConfigOverrideInstanceRequirements) *bool { return v.RequireHibernateSupport }).(pulumi.BoolPtrOutput) } -func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbOutput) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrOutputWithContext(ctx context.Context) FleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v FleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGb) *FleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGb { - return &v - }).(FleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrOutput) +// The 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. Conflicts with `maxSpotPriceAsPercentageOfOptimalOnDemandPrice` +// +// If 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. +func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsOutput) SpotMaxPricePercentageOverLowestPrice() pulumi.IntPtrOutput { + return o.ApplyT(func(v FleetLaunchTemplateConfigOverrideInstanceRequirements) *int { + return v.SpotMaxPricePercentageOverLowestPrice + }).(pulumi.IntPtrOutput) } -// The maximum amount of total local storage, in GB. To specify no maximum limit, omit this parameter. -func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbOutput) Max() pulumi.Float64PtrOutput { - return o.ApplyT(func(v FleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGb) *float64 { - return v.Max - }).(pulumi.Float64PtrOutput) +// Block describing the minimum and maximum total local storage (GB). Default is no minimum or maximum. +func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsOutput) TotalLocalStorageGb() FleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrOutput { + return o.ApplyT(func(v FleetLaunchTemplateConfigOverrideInstanceRequirements) *FleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGb { + return v.TotalLocalStorageGb + }).(FleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrOutput) } -// The minimum amount of total local storage, in GB. To specify no minimum limit, omit this parameter. -func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbOutput) Min() pulumi.Float64PtrOutput { - return o.ApplyT(func(v FleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGb) *float64 { - return v.Min - }).(pulumi.Float64PtrOutput) +// Block describing the minimum and maximum number of vCPUs. Default is no maximum. +func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsOutput) VcpuCount() FleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountOutput { + return o.ApplyT(func(v FleetLaunchTemplateConfigOverrideInstanceRequirements) FleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCount { + return v.VcpuCount + }).(FleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountOutput) } -type FleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrOutput struct{ *pulumi.OutputState } +type FleetLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput struct{ *pulumi.OutputState } -func (FleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**FleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGb)(nil)).Elem() +func (FleetLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**FleetLaunchTemplateConfigOverrideInstanceRequirements)(nil)).Elem() } -func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrOutput) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrOutput() FleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrOutput { +func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput() FleetLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput { return o } -func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrOutput) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrOutputWithContext(ctx context.Context) FleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrOutput { +func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsPtrOutputWithContext(ctx context.Context) FleetLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput { return o } -func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrOutput) Elem() FleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbOutput { - return o.ApplyT(func(v *FleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGb) FleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGb { +func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput) Elem() FleetLaunchTemplateConfigOverrideInstanceRequirementsOutput { + return o.ApplyT(func(v *FleetLaunchTemplateConfigOverrideInstanceRequirements) FleetLaunchTemplateConfigOverrideInstanceRequirements { if v != nil { return *v } - var ret FleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGb + var ret FleetLaunchTemplateConfigOverrideInstanceRequirements return ret - }).(FleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbOutput) + }).(FleetLaunchTemplateConfigOverrideInstanceRequirementsOutput) } -// The maximum amount of total local storage, in GB. To specify no maximum limit, omit this parameter. -func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrOutput) Max() pulumi.Float64PtrOutput { - return o.ApplyT(func(v *FleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGb) *float64 { +// Block describing the minimum and maximum number of accelerators (GPUs, FPGAs, or AWS Inferentia chips). Default is no minimum or maximum limits. +func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput) AcceleratorCount() FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrOutput { + return o.ApplyT(func(v *FleetLaunchTemplateConfigOverrideInstanceRequirements) *FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCount { if v == nil { return nil } - return v.Max - }).(pulumi.Float64PtrOutput) + return v.AcceleratorCount + }).(FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrOutput) } -// The minimum amount of total local storage, in GB. To specify no minimum limit, omit this parameter. -func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrOutput) Min() pulumi.Float64PtrOutput { - return o.ApplyT(func(v *FleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGb) *float64 { +// List of accelerator manufacturer names. Default is any manufacturer. +func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput) AcceleratorManufacturers() pulumi.StringArrayOutput { + return o.ApplyT(func(v *FleetLaunchTemplateConfigOverrideInstanceRequirements) []string { if v == nil { return nil } - return v.Min - }).(pulumi.Float64PtrOutput) -} - -type FleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCount struct { - // The maximum number of vCPUs. To specify no maximum limit, omit this parameter. - Max *int `pulumi:"max"` - // The minimum number of vCPUs. To specify no minimum limit, specify `0`. - Min int `pulumi:"min"` + return v.AcceleratorManufacturers + }).(pulumi.StringArrayOutput) } -// FleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountInput is an input type that accepts FleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountArgs and FleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountOutput values. -// You can construct a concrete instance of `FleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountInput` via: -// -// FleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountArgs{...} -type FleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountInput interface { - pulumi.Input - - ToFleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountOutput() FleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountOutput - ToFleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountOutputWithContext(context.Context) FleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountOutput +// List of accelerator names. Default is any acclerator. +func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput) AcceleratorNames() pulumi.StringArrayOutput { + return o.ApplyT(func(v *FleetLaunchTemplateConfigOverrideInstanceRequirements) []string { + if v == nil { + return nil + } + return v.AcceleratorNames + }).(pulumi.StringArrayOutput) } -type FleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountArgs struct { - // The maximum number of vCPUs. To specify no maximum limit, omit this parameter. - Max pulumi.IntPtrInput `pulumi:"max"` - // The minimum number of vCPUs. To specify no minimum limit, specify `0`. - Min pulumi.IntInput `pulumi:"min"` +// Block describing the minimum and maximum total memory of the accelerators. Default is no minimum or maximum. +func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput) AcceleratorTotalMemoryMib() FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrOutput { + return o.ApplyT(func(v *FleetLaunchTemplateConfigOverrideInstanceRequirements) *FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMib { + if v == nil { + return nil + } + return v.AcceleratorTotalMemoryMib + }).(FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrOutput) } -func (FleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountArgs) ElementType() reflect.Type { - return reflect.TypeOf((*FleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCount)(nil)).Elem() +// The accelerator types that must be on the instance type. Default is any accelerator type. +func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput) AcceleratorTypes() pulumi.StringArrayOutput { + return o.ApplyT(func(v *FleetLaunchTemplateConfigOverrideInstanceRequirements) []string { + if v == nil { + return nil + } + return v.AcceleratorTypes + }).(pulumi.StringArrayOutput) } -func (i FleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountArgs) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountOutput() FleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountOutput { - return i.ToFleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountOutputWithContext(context.Background()) -} - -func (i FleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountArgs) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountOutputWithContext(ctx context.Context) FleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountOutput { - return pulumi.ToOutputWithContext(ctx, i).(FleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountOutput) -} - -func (i FleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountArgs) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrOutput() FleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrOutput { - return i.ToFleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrOutputWithContext(context.Background()) -} - -func (i FleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountArgs) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrOutputWithContext(ctx context.Context) FleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(FleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountOutput).ToFleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrOutputWithContext(ctx) -} - -// FleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrInput is an input type that accepts FleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountArgs, FleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtr and FleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrOutput values. -// You can construct a concrete instance of `FleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrInput` via: -// -// FleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountArgs{...} -// -// or: +// The 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 (\*). The following are examples: `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. Default is any instance type. // -// nil -type FleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrInput interface { - pulumi.Input - - ToFleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrOutput() FleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrOutput - ToFleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrOutputWithContext(context.Context) FleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrOutput +// If you specify `AllowedInstanceTypes`, you can't specify `ExcludedInstanceTypes`. +func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput) AllowedInstanceTypes() pulumi.StringArrayOutput { + return o.ApplyT(func(v *FleetLaunchTemplateConfigOverrideInstanceRequirements) []string { + if v == nil { + return nil + } + return v.AllowedInstanceTypes + }).(pulumi.StringArrayOutput) } -type fleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrType FleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountArgs - -func FleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtr(v *FleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountArgs) FleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrInput { - return (*fleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrType)(v) +// Indicate whether bare metal instace types should be `included`, `excluded`, or `required`. Default is `excluded`. +func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput) BareMetal() pulumi.StringPtrOutput { + return o.ApplyT(func(v *FleetLaunchTemplateConfigOverrideInstanceRequirements) *string { + if v == nil { + return nil + } + return v.BareMetal + }).(pulumi.StringPtrOutput) } -func (*fleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**FleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCount)(nil)).Elem() +// Block describing the minimum and maximum baseline EBS bandwidth, in Mbps. Default is no minimum or maximum. +func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput) BaselineEbsBandwidthMbps() FleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutput { + return o.ApplyT(func(v *FleetLaunchTemplateConfigOverrideInstanceRequirements) *FleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbps { + if v == nil { + return nil + } + return v.BaselineEbsBandwidthMbps + }).(FleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutput) } -func (i *fleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrType) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrOutput() FleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrOutput { - return i.ToFleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrOutputWithContext(context.Background()) +// Indicates whether burstable performance T instance types are `included`, `excluded`, or `required`. Default is `excluded`. +func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput) BurstablePerformance() pulumi.StringPtrOutput { + return o.ApplyT(func(v *FleetLaunchTemplateConfigOverrideInstanceRequirements) *string { + if v == nil { + return nil + } + return v.BurstablePerformance + }).(pulumi.StringPtrOutput) } -func (i *fleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrType) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrOutputWithContext(ctx context.Context) FleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(FleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrOutput) +// The CPU manufacturers to include. Default is any manufacturer. +// > **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. +func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput) CpuManufacturers() pulumi.StringArrayOutput { + return o.ApplyT(func(v *FleetLaunchTemplateConfigOverrideInstanceRequirements) []string { + if v == nil { + return nil + } + return v.CpuManufacturers + }).(pulumi.StringArrayOutput) } -type FleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountOutput struct{ *pulumi.OutputState } - -func (FleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountOutput) ElementType() reflect.Type { - return reflect.TypeOf((*FleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCount)(nil)).Elem() +// The instance types to exclude. You can use strings with one or more wild cards, represented by an asterisk (\*). The following are examples: `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. +// +// If you specify `AllowedInstanceTypes`, you can't specify `ExcludedInstanceTypes`. +func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput) ExcludedInstanceTypes() pulumi.StringArrayOutput { + return o.ApplyT(func(v *FleetLaunchTemplateConfigOverrideInstanceRequirements) []string { + if v == nil { + return nil + } + return v.ExcludedInstanceTypes + }).(pulumi.StringArrayOutput) } -func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountOutput) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountOutput() FleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountOutput { - return o +// Indicates whether current or previous generation instance types are included. The current generation instance types are recommended for use. Valid values are `current` and `previous`. Default is `current` and `previous` generation instance types. +func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput) InstanceGenerations() pulumi.StringArrayOutput { + return o.ApplyT(func(v *FleetLaunchTemplateConfigOverrideInstanceRequirements) []string { + if v == nil { + return nil + } + return v.InstanceGenerations + }).(pulumi.StringArrayOutput) } -func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountOutput) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountOutputWithContext(ctx context.Context) FleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountOutput { - return o +// Indicate whether instance types with local storage volumes are `included`, `excluded`, or `required`. Default is `included`. +func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput) LocalStorage() pulumi.StringPtrOutput { + return o.ApplyT(func(v *FleetLaunchTemplateConfigOverrideInstanceRequirements) *string { + if v == nil { + return nil + } + return v.LocalStorage + }).(pulumi.StringPtrOutput) } -func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountOutput) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrOutput() FleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrOutput { - return o.ToFleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrOutputWithContext(context.Background()) +// List of local storage type names. Valid values are `hdd` and `ssd`. Default any storage type. +func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput) LocalStorageTypes() pulumi.StringArrayOutput { + return o.ApplyT(func(v *FleetLaunchTemplateConfigOverrideInstanceRequirements) []string { + if v == nil { + return nil + } + return v.LocalStorageTypes + }).(pulumi.StringArrayOutput) } -func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountOutput) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrOutputWithContext(ctx context.Context) FleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v FleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCount) *FleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCount { - return &v - }).(FleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrOutput) +// The 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. Conflicts with `spotMaxPricePercentageOverLowestPrice` +func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput) MaxSpotPriceAsPercentageOfOptimalOnDemandPrice() pulumi.IntPtrOutput { + return o.ApplyT(func(v *FleetLaunchTemplateConfigOverrideInstanceRequirements) *int { + if v == nil { + return nil + } + return v.MaxSpotPriceAsPercentageOfOptimalOnDemandPrice + }).(pulumi.IntPtrOutput) } -// The maximum number of vCPUs. To specify no maximum limit, omit this parameter. -func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountOutput) Max() pulumi.IntPtrOutput { - return o.ApplyT(func(v FleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCount) *int { return v.Max }).(pulumi.IntPtrOutput) +// Block describing the minimum and maximum amount of memory (GiB) per vCPU. Default is no minimum or maximum. +func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput) MemoryGibPerVcpu() FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrOutput { + return o.ApplyT(func(v *FleetLaunchTemplateConfigOverrideInstanceRequirements) *FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpu { + if v == nil { + return nil + } + return v.MemoryGibPerVcpu + }).(FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrOutput) } -// The minimum number of vCPUs. To specify no minimum limit, specify `0`. -func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountOutput) Min() pulumi.IntOutput { - return o.ApplyT(func(v FleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCount) int { return v.Min }).(pulumi.IntOutput) +// The minimum and maximum amount of memory per vCPU, in GiB. Default is no minimum or maximum limits. +func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput) MemoryMib() FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrOutput { + return o.ApplyT(func(v *FleetLaunchTemplateConfigOverrideInstanceRequirements) *FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMib { + if v == nil { + return nil + } + return &v.MemoryMib + }).(FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrOutput) } -type FleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrOutput struct{ *pulumi.OutputState } - -func (FleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**FleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCount)(nil)).Elem() +// The minimum and maximum amount of network bandwidth, in gigabits per second (Gbps). Default is No minimum or maximum. +func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput) NetworkBandwidthGbps() FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrOutput { + return o.ApplyT(func(v *FleetLaunchTemplateConfigOverrideInstanceRequirements) *FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbps { + if v == nil { + return nil + } + return v.NetworkBandwidthGbps + }).(FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrOutput) } -func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrOutput) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrOutput() FleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrOutput { - return o +// Block describing the minimum and maximum number of network interfaces. Default is no minimum or maximum. +func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput) NetworkInterfaceCount() FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrOutput { + return o.ApplyT(func(v *FleetLaunchTemplateConfigOverrideInstanceRequirements) *FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCount { + if v == nil { + return nil + } + return v.NetworkInterfaceCount + }).(FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrOutput) } -func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrOutput) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrOutputWithContext(ctx context.Context) FleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrOutput { - return o +// The 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. +// +// If you set `targetCapacityUnitType` 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. +func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput) OnDemandMaxPricePercentageOverLowestPrice() pulumi.IntPtrOutput { + return o.ApplyT(func(v *FleetLaunchTemplateConfigOverrideInstanceRequirements) *int { + if v == nil { + return nil + } + return v.OnDemandMaxPricePercentageOverLowestPrice + }).(pulumi.IntPtrOutput) } -func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrOutput) Elem() FleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountOutput { - return o.ApplyT(func(v *FleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCount) FleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCount { - if v != nil { - return *v +// Indicate whether instance types must support On-Demand Instance Hibernation, either `true` or `false`. Default is `false`. +func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput) RequireHibernateSupport() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *FleetLaunchTemplateConfigOverrideInstanceRequirements) *bool { + if v == nil { + return nil } - var ret FleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCount - return ret - }).(FleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountOutput) + return v.RequireHibernateSupport + }).(pulumi.BoolPtrOutput) } -// The maximum number of vCPUs. To specify no maximum limit, omit this parameter. -func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrOutput) Max() pulumi.IntPtrOutput { - return o.ApplyT(func(v *FleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCount) *int { +// The 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. Conflicts with `maxSpotPriceAsPercentageOfOptimalOnDemandPrice` +// +// If 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. +func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput) SpotMaxPricePercentageOverLowestPrice() pulumi.IntPtrOutput { + return o.ApplyT(func(v *FleetLaunchTemplateConfigOverrideInstanceRequirements) *int { if v == nil { return nil } - return v.Max + return v.SpotMaxPricePercentageOverLowestPrice }).(pulumi.IntPtrOutput) } -// The minimum number of vCPUs. To specify no minimum limit, specify `0`. -func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrOutput) Min() pulumi.IntPtrOutput { - return o.ApplyT(func(v *FleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCount) *int { +// Block describing the minimum and maximum total local storage (GB). Default is no minimum or maximum. +func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput) TotalLocalStorageGb() FleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrOutput { + return o.ApplyT(func(v *FleetLaunchTemplateConfigOverrideInstanceRequirements) *FleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGb { if v == nil { return nil } - return &v.Min - }).(pulumi.IntPtrOutput) + return v.TotalLocalStorageGb + }).(FleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrOutput) } -type FleetOnDemandOptions struct { - // The order of the launch template overrides to use in fulfilling On-Demand capacity. Valid values: `lowestPrice`, `prioritized`. Default: `lowestPrice`. - AllocationStrategy *string `pulumi:"allocationStrategy"` - // The strategy for using unused Capacity Reservations for fulfilling On-Demand capacity. Supported only for fleets of type `instant`. - CapacityReservationOptions *FleetOnDemandOptionsCapacityReservationOptions `pulumi:"capacityReservationOptions"` - // The maximum amount per hour for On-Demand Instances that you're willing to pay. - MaxTotalPrice *string `pulumi:"maxTotalPrice"` - // The minimum target capacity for On-Demand Instances in the fleet. If the minimum target capacity is not reached, the fleet launches no instances. Supported only for fleets of type `instant`. - // If you specify `minTargetCapacity`, at least one of the following must be specified: `singleAvailabilityZone` or `singleInstanceType`. - MinTargetCapacity *int `pulumi:"minTargetCapacity"` - // Indicates that the fleet launches all On-Demand Instances into a single Availability Zone. Supported only for fleets of type `instant`. - SingleAvailabilityZone *bool `pulumi:"singleAvailabilityZone"` - // Indicates that the fleet uses a single instance type to launch all On-Demand Instances in the fleet. Supported only for fleets of type `instant`. - SingleInstanceType *bool `pulumi:"singleInstanceType"` +// Block describing the minimum and maximum number of vCPUs. Default is no maximum. +func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput) VcpuCount() FleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrOutput { + return o.ApplyT(func(v *FleetLaunchTemplateConfigOverrideInstanceRequirements) *FleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCount { + if v == nil { + return nil + } + return &v.VcpuCount + }).(FleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrOutput) } -// FleetOnDemandOptionsInput is an input type that accepts FleetOnDemandOptionsArgs and FleetOnDemandOptionsOutput values. -// You can construct a concrete instance of `FleetOnDemandOptionsInput` via: +type FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCount struct { + // Maximum. Set to `0` to exclude instance types with accelerators. + Max *int `pulumi:"max"` + // Minimum. + Min *int `pulumi:"min"` +} + +// FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountInput is an input type that accepts FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountArgs and FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountOutput values. +// You can construct a concrete instance of `FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountInput` via: // -// FleetOnDemandOptionsArgs{...} -type FleetOnDemandOptionsInput interface { +// FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountArgs{...} +type FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountInput interface { pulumi.Input - ToFleetOnDemandOptionsOutput() FleetOnDemandOptionsOutput - ToFleetOnDemandOptionsOutputWithContext(context.Context) FleetOnDemandOptionsOutput + ToFleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountOutput() FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountOutput + ToFleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountOutputWithContext(context.Context) FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountOutput } -type FleetOnDemandOptionsArgs struct { - // The order of the launch template overrides to use in fulfilling On-Demand capacity. Valid values: `lowestPrice`, `prioritized`. Default: `lowestPrice`. - AllocationStrategy pulumi.StringPtrInput `pulumi:"allocationStrategy"` - // The strategy for using unused Capacity Reservations for fulfilling On-Demand capacity. Supported only for fleets of type `instant`. - CapacityReservationOptions FleetOnDemandOptionsCapacityReservationOptionsPtrInput `pulumi:"capacityReservationOptions"` - // The maximum amount per hour for On-Demand Instances that you're willing to pay. - MaxTotalPrice pulumi.StringPtrInput `pulumi:"maxTotalPrice"` - // The minimum target capacity for On-Demand Instances in the fleet. If the minimum target capacity is not reached, the fleet launches no instances. Supported only for fleets of type `instant`. - // If you specify `minTargetCapacity`, at least one of the following must be specified: `singleAvailabilityZone` or `singleInstanceType`. - MinTargetCapacity pulumi.IntPtrInput `pulumi:"minTargetCapacity"` - // Indicates that the fleet launches all On-Demand Instances into a single Availability Zone. Supported only for fleets of type `instant`. - SingleAvailabilityZone pulumi.BoolPtrInput `pulumi:"singleAvailabilityZone"` - // Indicates that the fleet uses a single instance type to launch all On-Demand Instances in the fleet. Supported only for fleets of type `instant`. - SingleInstanceType pulumi.BoolPtrInput `pulumi:"singleInstanceType"` +type FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountArgs struct { + // Maximum. Set to `0` to exclude instance types with accelerators. + Max pulumi.IntPtrInput `pulumi:"max"` + // Minimum. + Min pulumi.IntPtrInput `pulumi:"min"` } -func (FleetOnDemandOptionsArgs) ElementType() reflect.Type { - return reflect.TypeOf((*FleetOnDemandOptions)(nil)).Elem() +func (FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountArgs) ElementType() reflect.Type { + return reflect.TypeOf((*FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCount)(nil)).Elem() } -func (i FleetOnDemandOptionsArgs) ToFleetOnDemandOptionsOutput() FleetOnDemandOptionsOutput { - return i.ToFleetOnDemandOptionsOutputWithContext(context.Background()) +func (i FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountArgs) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountOutput() FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountOutput { + return i.ToFleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountOutputWithContext(context.Background()) } -func (i FleetOnDemandOptionsArgs) ToFleetOnDemandOptionsOutputWithContext(ctx context.Context) FleetOnDemandOptionsOutput { - return pulumi.ToOutputWithContext(ctx, i).(FleetOnDemandOptionsOutput) +func (i FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountArgs) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountOutputWithContext(ctx context.Context) FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountOutput { + return pulumi.ToOutputWithContext(ctx, i).(FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountOutput) } -func (i FleetOnDemandOptionsArgs) ToFleetOnDemandOptionsPtrOutput() FleetOnDemandOptionsPtrOutput { - return i.ToFleetOnDemandOptionsPtrOutputWithContext(context.Background()) +func (i FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountArgs) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrOutput() FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrOutput { + return i.ToFleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrOutputWithContext(context.Background()) } -func (i FleetOnDemandOptionsArgs) ToFleetOnDemandOptionsPtrOutputWithContext(ctx context.Context) FleetOnDemandOptionsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(FleetOnDemandOptionsOutput).ToFleetOnDemandOptionsPtrOutputWithContext(ctx) +func (i FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountArgs) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrOutputWithContext(ctx context.Context) FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountOutput).ToFleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrOutputWithContext(ctx) } -// FleetOnDemandOptionsPtrInput is an input type that accepts FleetOnDemandOptionsArgs, FleetOnDemandOptionsPtr and FleetOnDemandOptionsPtrOutput values. -// You can construct a concrete instance of `FleetOnDemandOptionsPtrInput` via: +// FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrInput is an input type that accepts FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountArgs, FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtr and FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrOutput values. +// You can construct a concrete instance of `FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrInput` via: // -// FleetOnDemandOptionsArgs{...} +// FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountArgs{...} // // or: // // nil -type FleetOnDemandOptionsPtrInput interface { +type FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrInput interface { pulumi.Input - ToFleetOnDemandOptionsPtrOutput() FleetOnDemandOptionsPtrOutput - ToFleetOnDemandOptionsPtrOutputWithContext(context.Context) FleetOnDemandOptionsPtrOutput + ToFleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrOutput() FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrOutput + ToFleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrOutputWithContext(context.Context) FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrOutput } -type fleetOnDemandOptionsPtrType FleetOnDemandOptionsArgs +type fleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrType FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountArgs -func FleetOnDemandOptionsPtr(v *FleetOnDemandOptionsArgs) FleetOnDemandOptionsPtrInput { - return (*fleetOnDemandOptionsPtrType)(v) +func FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtr(v *FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountArgs) FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrInput { + return (*fleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrType)(v) } -func (*fleetOnDemandOptionsPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**FleetOnDemandOptions)(nil)).Elem() +func (*fleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCount)(nil)).Elem() } -func (i *fleetOnDemandOptionsPtrType) ToFleetOnDemandOptionsPtrOutput() FleetOnDemandOptionsPtrOutput { - return i.ToFleetOnDemandOptionsPtrOutputWithContext(context.Background()) +func (i *fleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrType) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrOutput() FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrOutput { + return i.ToFleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrOutputWithContext(context.Background()) } -func (i *fleetOnDemandOptionsPtrType) ToFleetOnDemandOptionsPtrOutputWithContext(ctx context.Context) FleetOnDemandOptionsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(FleetOnDemandOptionsPtrOutput) +func (i *fleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrType) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrOutputWithContext(ctx context.Context) FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrOutput) } -type FleetOnDemandOptionsOutput struct{ *pulumi.OutputState } +type FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountOutput struct{ *pulumi.OutputState } -func (FleetOnDemandOptionsOutput) ElementType() reflect.Type { - return reflect.TypeOf((*FleetOnDemandOptions)(nil)).Elem() +func (FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountOutput) ElementType() reflect.Type { + return reflect.TypeOf((*FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCount)(nil)).Elem() } -func (o FleetOnDemandOptionsOutput) ToFleetOnDemandOptionsOutput() FleetOnDemandOptionsOutput { +func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountOutput) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountOutput() FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountOutput { return o } -func (o FleetOnDemandOptionsOutput) ToFleetOnDemandOptionsOutputWithContext(ctx context.Context) FleetOnDemandOptionsOutput { +func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountOutput) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountOutputWithContext(ctx context.Context) FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountOutput { return o } -func (o FleetOnDemandOptionsOutput) ToFleetOnDemandOptionsPtrOutput() FleetOnDemandOptionsPtrOutput { - return o.ToFleetOnDemandOptionsPtrOutputWithContext(context.Background()) +func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountOutput) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrOutput() FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrOutput { + return o.ToFleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrOutputWithContext(context.Background()) } -func (o FleetOnDemandOptionsOutput) ToFleetOnDemandOptionsPtrOutputWithContext(ctx context.Context) FleetOnDemandOptionsPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v FleetOnDemandOptions) *FleetOnDemandOptions { +func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountOutput) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrOutputWithContext(ctx context.Context) FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCount) *FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCount { return &v - }).(FleetOnDemandOptionsPtrOutput) -} - -// The order of the launch template overrides to use in fulfilling On-Demand capacity. Valid values: `lowestPrice`, `prioritized`. Default: `lowestPrice`. -func (o FleetOnDemandOptionsOutput) AllocationStrategy() pulumi.StringPtrOutput { - return o.ApplyT(func(v FleetOnDemandOptions) *string { return v.AllocationStrategy }).(pulumi.StringPtrOutput) -} - -// The strategy for using unused Capacity Reservations for fulfilling On-Demand capacity. Supported only for fleets of type `instant`. -func (o FleetOnDemandOptionsOutput) CapacityReservationOptions() FleetOnDemandOptionsCapacityReservationOptionsPtrOutput { - return o.ApplyT(func(v FleetOnDemandOptions) *FleetOnDemandOptionsCapacityReservationOptions { - return v.CapacityReservationOptions - }).(FleetOnDemandOptionsCapacityReservationOptionsPtrOutput) -} - -// The maximum amount per hour for On-Demand Instances that you're willing to pay. -func (o FleetOnDemandOptionsOutput) MaxTotalPrice() pulumi.StringPtrOutput { - return o.ApplyT(func(v FleetOnDemandOptions) *string { return v.MaxTotalPrice }).(pulumi.StringPtrOutput) -} - -// The minimum target capacity for On-Demand Instances in the fleet. If the minimum target capacity is not reached, the fleet launches no instances. Supported only for fleets of type `instant`. -// If you specify `minTargetCapacity`, at least one of the following must be specified: `singleAvailabilityZone` or `singleInstanceType`. -func (o FleetOnDemandOptionsOutput) MinTargetCapacity() pulumi.IntPtrOutput { - return o.ApplyT(func(v FleetOnDemandOptions) *int { return v.MinTargetCapacity }).(pulumi.IntPtrOutput) + }).(FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrOutput) } -// Indicates that the fleet launches all On-Demand Instances into a single Availability Zone. Supported only for fleets of type `instant`. -func (o FleetOnDemandOptionsOutput) SingleAvailabilityZone() pulumi.BoolPtrOutput { - return o.ApplyT(func(v FleetOnDemandOptions) *bool { return v.SingleAvailabilityZone }).(pulumi.BoolPtrOutput) +// Maximum. Set to `0` to exclude instance types with accelerators. +func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountOutput) Max() pulumi.IntPtrOutput { + return o.ApplyT(func(v FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCount) *int { return v.Max }).(pulumi.IntPtrOutput) } -// Indicates that the fleet uses a single instance type to launch all On-Demand Instances in the fleet. Supported only for fleets of type `instant`. -func (o FleetOnDemandOptionsOutput) SingleInstanceType() pulumi.BoolPtrOutput { - return o.ApplyT(func(v FleetOnDemandOptions) *bool { return v.SingleInstanceType }).(pulumi.BoolPtrOutput) +// Minimum. +func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountOutput) Min() pulumi.IntPtrOutput { + return o.ApplyT(func(v FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCount) *int { return v.Min }).(pulumi.IntPtrOutput) } -type FleetOnDemandOptionsPtrOutput struct{ *pulumi.OutputState } +type FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrOutput struct{ *pulumi.OutputState } -func (FleetOnDemandOptionsPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**FleetOnDemandOptions)(nil)).Elem() +func (FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCount)(nil)).Elem() } -func (o FleetOnDemandOptionsPtrOutput) ToFleetOnDemandOptionsPtrOutput() FleetOnDemandOptionsPtrOutput { +func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrOutput) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrOutput() FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrOutput { return o } -func (o FleetOnDemandOptionsPtrOutput) ToFleetOnDemandOptionsPtrOutputWithContext(ctx context.Context) FleetOnDemandOptionsPtrOutput { +func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrOutput) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrOutputWithContext(ctx context.Context) FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrOutput { return o } -func (o FleetOnDemandOptionsPtrOutput) Elem() FleetOnDemandOptionsOutput { - return o.ApplyT(func(v *FleetOnDemandOptions) FleetOnDemandOptions { +func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrOutput) Elem() FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountOutput { + return o.ApplyT(func(v *FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCount) FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCount { if v != nil { return *v } - var ret FleetOnDemandOptions + var ret FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCount return ret - }).(FleetOnDemandOptionsOutput) -} - -// The order of the launch template overrides to use in fulfilling On-Demand capacity. Valid values: `lowestPrice`, `prioritized`. Default: `lowestPrice`. -func (o FleetOnDemandOptionsPtrOutput) AllocationStrategy() pulumi.StringPtrOutput { - return o.ApplyT(func(v *FleetOnDemandOptions) *string { - if v == nil { - return nil - } - return v.AllocationStrategy - }).(pulumi.StringPtrOutput) -} - -// The strategy for using unused Capacity Reservations for fulfilling On-Demand capacity. Supported only for fleets of type `instant`. -func (o FleetOnDemandOptionsPtrOutput) CapacityReservationOptions() FleetOnDemandOptionsCapacityReservationOptionsPtrOutput { - return o.ApplyT(func(v *FleetOnDemandOptions) *FleetOnDemandOptionsCapacityReservationOptions { - if v == nil { - return nil - } - return v.CapacityReservationOptions - }).(FleetOnDemandOptionsCapacityReservationOptionsPtrOutput) -} - -// The maximum amount per hour for On-Demand Instances that you're willing to pay. -func (o FleetOnDemandOptionsPtrOutput) MaxTotalPrice() pulumi.StringPtrOutput { - return o.ApplyT(func(v *FleetOnDemandOptions) *string { - if v == nil { - return nil - } - return v.MaxTotalPrice - }).(pulumi.StringPtrOutput) + }).(FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountOutput) } -// The minimum target capacity for On-Demand Instances in the fleet. If the minimum target capacity is not reached, the fleet launches no instances. Supported only for fleets of type `instant`. -// If you specify `minTargetCapacity`, at least one of the following must be specified: `singleAvailabilityZone` or `singleInstanceType`. -func (o FleetOnDemandOptionsPtrOutput) MinTargetCapacity() pulumi.IntPtrOutput { - return o.ApplyT(func(v *FleetOnDemandOptions) *int { +// Maximum. Set to `0` to exclude instance types with accelerators. +func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrOutput) Max() pulumi.IntPtrOutput { + return o.ApplyT(func(v *FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCount) *int { if v == nil { return nil } - return v.MinTargetCapacity + return v.Max }).(pulumi.IntPtrOutput) } -// Indicates that the fleet launches all On-Demand Instances into a single Availability Zone. Supported only for fleets of type `instant`. -func (o FleetOnDemandOptionsPtrOutput) SingleAvailabilityZone() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *FleetOnDemandOptions) *bool { - if v == nil { - return nil - } - return v.SingleAvailabilityZone - }).(pulumi.BoolPtrOutput) -} - -// Indicates that the fleet uses a single instance type to launch all On-Demand Instances in the fleet. Supported only for fleets of type `instant`. -func (o FleetOnDemandOptionsPtrOutput) SingleInstanceType() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *FleetOnDemandOptions) *bool { +// Minimum. +func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrOutput) Min() pulumi.IntPtrOutput { + return o.ApplyT(func(v *FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCount) *int { if v == nil { return nil } - return v.SingleInstanceType - }).(pulumi.BoolPtrOutput) + return v.Min + }).(pulumi.IntPtrOutput) } -type FleetOnDemandOptionsCapacityReservationOptions struct { - // Indicates whether to use unused Capacity Reservations for fulfilling On-Demand capacity. Valid values: `use-capacity-reservations-first`. - UsageStrategy *string `pulumi:"usageStrategy"` +type FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMib struct { + // The maximum amount of accelerator memory, in MiB. To specify no maximum limit, omit this parameter. + Max *int `pulumi:"max"` + // The minimum amount of accelerator memory, in MiB. To specify no minimum limit, omit this parameter. + Min *int `pulumi:"min"` } -// FleetOnDemandOptionsCapacityReservationOptionsInput is an input type that accepts FleetOnDemandOptionsCapacityReservationOptionsArgs and FleetOnDemandOptionsCapacityReservationOptionsOutput values. -// You can construct a concrete instance of `FleetOnDemandOptionsCapacityReservationOptionsInput` via: +// FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibInput is an input type that accepts FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibArgs and FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibOutput values. +// You can construct a concrete instance of `FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibInput` via: // -// FleetOnDemandOptionsCapacityReservationOptionsArgs{...} -type FleetOnDemandOptionsCapacityReservationOptionsInput interface { +// FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibArgs{...} +type FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibInput interface { pulumi.Input - ToFleetOnDemandOptionsCapacityReservationOptionsOutput() FleetOnDemandOptionsCapacityReservationOptionsOutput - ToFleetOnDemandOptionsCapacityReservationOptionsOutputWithContext(context.Context) FleetOnDemandOptionsCapacityReservationOptionsOutput + ToFleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibOutput() FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibOutput + ToFleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibOutputWithContext(context.Context) FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibOutput } -type FleetOnDemandOptionsCapacityReservationOptionsArgs struct { - // Indicates whether to use unused Capacity Reservations for fulfilling On-Demand capacity. Valid values: `use-capacity-reservations-first`. - UsageStrategy pulumi.StringPtrInput `pulumi:"usageStrategy"` +type FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibArgs struct { + // The maximum amount of accelerator memory, in MiB. To specify no maximum limit, omit this parameter. + Max pulumi.IntPtrInput `pulumi:"max"` + // The minimum amount of accelerator memory, in MiB. To specify no minimum limit, omit this parameter. + Min pulumi.IntPtrInput `pulumi:"min"` } -func (FleetOnDemandOptionsCapacityReservationOptionsArgs) ElementType() reflect.Type { - return reflect.TypeOf((*FleetOnDemandOptionsCapacityReservationOptions)(nil)).Elem() +func (FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibArgs) ElementType() reflect.Type { + return reflect.TypeOf((*FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMib)(nil)).Elem() } -func (i FleetOnDemandOptionsCapacityReservationOptionsArgs) ToFleetOnDemandOptionsCapacityReservationOptionsOutput() FleetOnDemandOptionsCapacityReservationOptionsOutput { - return i.ToFleetOnDemandOptionsCapacityReservationOptionsOutputWithContext(context.Background()) +func (i FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibArgs) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibOutput() FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibOutput { + return i.ToFleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibOutputWithContext(context.Background()) } -func (i FleetOnDemandOptionsCapacityReservationOptionsArgs) ToFleetOnDemandOptionsCapacityReservationOptionsOutputWithContext(ctx context.Context) FleetOnDemandOptionsCapacityReservationOptionsOutput { - return pulumi.ToOutputWithContext(ctx, i).(FleetOnDemandOptionsCapacityReservationOptionsOutput) +func (i FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibArgs) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibOutputWithContext(ctx context.Context) FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibOutput { + return pulumi.ToOutputWithContext(ctx, i).(FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibOutput) } -func (i FleetOnDemandOptionsCapacityReservationOptionsArgs) ToFleetOnDemandOptionsCapacityReservationOptionsPtrOutput() FleetOnDemandOptionsCapacityReservationOptionsPtrOutput { - return i.ToFleetOnDemandOptionsCapacityReservationOptionsPtrOutputWithContext(context.Background()) +func (i FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibArgs) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrOutput() FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrOutput { + return i.ToFleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrOutputWithContext(context.Background()) } -func (i FleetOnDemandOptionsCapacityReservationOptionsArgs) ToFleetOnDemandOptionsCapacityReservationOptionsPtrOutputWithContext(ctx context.Context) FleetOnDemandOptionsCapacityReservationOptionsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(FleetOnDemandOptionsCapacityReservationOptionsOutput).ToFleetOnDemandOptionsCapacityReservationOptionsPtrOutputWithContext(ctx) -} +func (i FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibArgs) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrOutputWithContext(ctx context.Context) FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibOutput).ToFleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrOutputWithContext(ctx) +} -// FleetOnDemandOptionsCapacityReservationOptionsPtrInput is an input type that accepts FleetOnDemandOptionsCapacityReservationOptionsArgs, FleetOnDemandOptionsCapacityReservationOptionsPtr and FleetOnDemandOptionsCapacityReservationOptionsPtrOutput values. -// You can construct a concrete instance of `FleetOnDemandOptionsCapacityReservationOptionsPtrInput` via: +// FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrInput is an input type that accepts FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibArgs, FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtr and FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrOutput values. +// You can construct a concrete instance of `FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrInput` via: // -// FleetOnDemandOptionsCapacityReservationOptionsArgs{...} +// FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibArgs{...} // // or: // // nil -type FleetOnDemandOptionsCapacityReservationOptionsPtrInput interface { +type FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrInput interface { pulumi.Input - ToFleetOnDemandOptionsCapacityReservationOptionsPtrOutput() FleetOnDemandOptionsCapacityReservationOptionsPtrOutput - ToFleetOnDemandOptionsCapacityReservationOptionsPtrOutputWithContext(context.Context) FleetOnDemandOptionsCapacityReservationOptionsPtrOutput + ToFleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrOutput() FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrOutput + ToFleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrOutputWithContext(context.Context) FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrOutput } -type fleetOnDemandOptionsCapacityReservationOptionsPtrType FleetOnDemandOptionsCapacityReservationOptionsArgs +type fleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrType FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibArgs -func FleetOnDemandOptionsCapacityReservationOptionsPtr(v *FleetOnDemandOptionsCapacityReservationOptionsArgs) FleetOnDemandOptionsCapacityReservationOptionsPtrInput { - return (*fleetOnDemandOptionsCapacityReservationOptionsPtrType)(v) +func FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtr(v *FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibArgs) FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrInput { + return (*fleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrType)(v) } -func (*fleetOnDemandOptionsCapacityReservationOptionsPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**FleetOnDemandOptionsCapacityReservationOptions)(nil)).Elem() +func (*fleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMib)(nil)).Elem() } -func (i *fleetOnDemandOptionsCapacityReservationOptionsPtrType) ToFleetOnDemandOptionsCapacityReservationOptionsPtrOutput() FleetOnDemandOptionsCapacityReservationOptionsPtrOutput { - return i.ToFleetOnDemandOptionsCapacityReservationOptionsPtrOutputWithContext(context.Background()) +func (i *fleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrType) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrOutput() FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrOutput { + return i.ToFleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrOutputWithContext(context.Background()) } -func (i *fleetOnDemandOptionsCapacityReservationOptionsPtrType) ToFleetOnDemandOptionsCapacityReservationOptionsPtrOutputWithContext(ctx context.Context) FleetOnDemandOptionsCapacityReservationOptionsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(FleetOnDemandOptionsCapacityReservationOptionsPtrOutput) +func (i *fleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrType) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrOutputWithContext(ctx context.Context) FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrOutput) } -type FleetOnDemandOptionsCapacityReservationOptionsOutput struct{ *pulumi.OutputState } +type FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibOutput struct{ *pulumi.OutputState } -func (FleetOnDemandOptionsCapacityReservationOptionsOutput) ElementType() reflect.Type { - return reflect.TypeOf((*FleetOnDemandOptionsCapacityReservationOptions)(nil)).Elem() +func (FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibOutput) ElementType() reflect.Type { + return reflect.TypeOf((*FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMib)(nil)).Elem() } -func (o FleetOnDemandOptionsCapacityReservationOptionsOutput) ToFleetOnDemandOptionsCapacityReservationOptionsOutput() FleetOnDemandOptionsCapacityReservationOptionsOutput { +func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibOutput) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibOutput() FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibOutput { return o } -func (o FleetOnDemandOptionsCapacityReservationOptionsOutput) ToFleetOnDemandOptionsCapacityReservationOptionsOutputWithContext(ctx context.Context) FleetOnDemandOptionsCapacityReservationOptionsOutput { +func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibOutput) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibOutputWithContext(ctx context.Context) FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibOutput { return o } -func (o FleetOnDemandOptionsCapacityReservationOptionsOutput) ToFleetOnDemandOptionsCapacityReservationOptionsPtrOutput() FleetOnDemandOptionsCapacityReservationOptionsPtrOutput { - return o.ToFleetOnDemandOptionsCapacityReservationOptionsPtrOutputWithContext(context.Background()) +func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibOutput) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrOutput() FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrOutput { + return o.ToFleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrOutputWithContext(context.Background()) } -func (o FleetOnDemandOptionsCapacityReservationOptionsOutput) ToFleetOnDemandOptionsCapacityReservationOptionsPtrOutputWithContext(ctx context.Context) FleetOnDemandOptionsCapacityReservationOptionsPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v FleetOnDemandOptionsCapacityReservationOptions) *FleetOnDemandOptionsCapacityReservationOptions { +func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibOutput) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrOutputWithContext(ctx context.Context) FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMib) *FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMib { return &v - }).(FleetOnDemandOptionsCapacityReservationOptionsPtrOutput) + }).(FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrOutput) } -// Indicates whether to use unused Capacity Reservations for fulfilling On-Demand capacity. Valid values: `use-capacity-reservations-first`. -func (o FleetOnDemandOptionsCapacityReservationOptionsOutput) UsageStrategy() pulumi.StringPtrOutput { - return o.ApplyT(func(v FleetOnDemandOptionsCapacityReservationOptions) *string { return v.UsageStrategy }).(pulumi.StringPtrOutput) +// The maximum amount of accelerator memory, in MiB. To specify no maximum limit, omit this parameter. +func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibOutput) Max() pulumi.IntPtrOutput { + return o.ApplyT(func(v FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMib) *int { + return v.Max + }).(pulumi.IntPtrOutput) } -type FleetOnDemandOptionsCapacityReservationOptionsPtrOutput struct{ *pulumi.OutputState } +// The minimum amount of accelerator memory, in MiB. To specify no minimum limit, omit this parameter. +func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibOutput) Min() pulumi.IntPtrOutput { + return o.ApplyT(func(v FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMib) *int { + return v.Min + }).(pulumi.IntPtrOutput) +} -func (FleetOnDemandOptionsCapacityReservationOptionsPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**FleetOnDemandOptionsCapacityReservationOptions)(nil)).Elem() +type FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrOutput struct{ *pulumi.OutputState } + +func (FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMib)(nil)).Elem() } -func (o FleetOnDemandOptionsCapacityReservationOptionsPtrOutput) ToFleetOnDemandOptionsCapacityReservationOptionsPtrOutput() FleetOnDemandOptionsCapacityReservationOptionsPtrOutput { +func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrOutput) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrOutput() FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrOutput { return o } -func (o FleetOnDemandOptionsCapacityReservationOptionsPtrOutput) ToFleetOnDemandOptionsCapacityReservationOptionsPtrOutputWithContext(ctx context.Context) FleetOnDemandOptionsCapacityReservationOptionsPtrOutput { +func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrOutput) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrOutputWithContext(ctx context.Context) FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrOutput { return o } -func (o FleetOnDemandOptionsCapacityReservationOptionsPtrOutput) Elem() FleetOnDemandOptionsCapacityReservationOptionsOutput { - return o.ApplyT(func(v *FleetOnDemandOptionsCapacityReservationOptions) FleetOnDemandOptionsCapacityReservationOptions { +func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrOutput) Elem() FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibOutput { + return o.ApplyT(func(v *FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMib) FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMib { if v != nil { return *v } - var ret FleetOnDemandOptionsCapacityReservationOptions + var ret FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMib return ret - }).(FleetOnDemandOptionsCapacityReservationOptionsOutput) + }).(FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibOutput) } -// Indicates whether to use unused Capacity Reservations for fulfilling On-Demand capacity. Valid values: `use-capacity-reservations-first`. -func (o FleetOnDemandOptionsCapacityReservationOptionsPtrOutput) UsageStrategy() pulumi.StringPtrOutput { - return o.ApplyT(func(v *FleetOnDemandOptionsCapacityReservationOptions) *string { +// The maximum amount of accelerator memory, in MiB. To specify no maximum limit, omit this parameter. +func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrOutput) Max() pulumi.IntPtrOutput { + return o.ApplyT(func(v *FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMib) *int { if v == nil { return nil } - return v.UsageStrategy - }).(pulumi.StringPtrOutput) + return v.Max + }).(pulumi.IntPtrOutput) } -type FleetSpotOptions struct { - // How to allocate the target capacity across the Spot pools. Valid values: `diversified`, `lowestPrice`, `capacity-optimized`, `capacity-optimized-prioritized` and `price-capacity-optimized`. Default: `lowestPrice`. - AllocationStrategy *string `pulumi:"allocationStrategy"` - // Behavior when a Spot Instance is interrupted. Valid values: `hibernate`, `stop`, `terminate`. Default: `terminate`. - InstanceInterruptionBehavior *string `pulumi:"instanceInterruptionBehavior"` - // Number of Spot pools across which to allocate your target Spot capacity. Valid only when Spot `allocationStrategy` is set to `lowestPrice`. Default: `1`. - InstancePoolsToUseCount *int `pulumi:"instancePoolsToUseCount"` - // Nested argument containing maintenance strategies for managing your Spot Instances that are at an elevated risk of being interrupted. Defined below. - MaintenanceStrategies *FleetSpotOptionsMaintenanceStrategies `pulumi:"maintenanceStrategies"` - // The maximum amount per hour for Spot Instances that you're willing to pay. - MaxTotalPrice *string `pulumi:"maxTotalPrice"` - // The minimum target capacity for Spot Instances in the fleet. If the minimum target capacity is not reached, the fleet launches no instances. Supported only for fleets of type `instant`. - MinTargetCapacity *int `pulumi:"minTargetCapacity"` - // Indicates that the fleet launches all Spot Instances into a single Availability Zone. Supported only for fleets of type `instant`. - SingleAvailabilityZone *bool `pulumi:"singleAvailabilityZone"` - // Indicates that the fleet uses a single instance type to launch all Spot Instances in the fleet. Supported only for fleets of type `instant`. - SingleInstanceType *bool `pulumi:"singleInstanceType"` +// The minimum amount of accelerator memory, in MiB. To specify no minimum limit, omit this parameter. +func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrOutput) Min() pulumi.IntPtrOutput { + return o.ApplyT(func(v *FleetLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMib) *int { + if v == nil { + return nil + } + return v.Min + }).(pulumi.IntPtrOutput) } -// FleetSpotOptionsInput is an input type that accepts FleetSpotOptionsArgs and FleetSpotOptionsOutput values. -// You can construct a concrete instance of `FleetSpotOptionsInput` via: +type FleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbps struct { + // The maximum baseline bandwidth, in Mbps. To specify no maximum limit, omit this parameter.. + Max *int `pulumi:"max"` + // The minimum baseline bandwidth, in Mbps. To specify no minimum limit, omit this parameter.. + Min *int `pulumi:"min"` +} + +// FleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsInput is an input type that accepts FleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsArgs and FleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsOutput values. +// You can construct a concrete instance of `FleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsInput` via: // -// FleetSpotOptionsArgs{...} -type FleetSpotOptionsInput interface { +// FleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsArgs{...} +type FleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsInput interface { pulumi.Input - ToFleetSpotOptionsOutput() FleetSpotOptionsOutput - ToFleetSpotOptionsOutputWithContext(context.Context) FleetSpotOptionsOutput + ToFleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsOutput() FleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsOutput + ToFleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsOutputWithContext(context.Context) FleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsOutput } -type FleetSpotOptionsArgs struct { - // How to allocate the target capacity across the Spot pools. Valid values: `diversified`, `lowestPrice`, `capacity-optimized`, `capacity-optimized-prioritized` and `price-capacity-optimized`. Default: `lowestPrice`. - AllocationStrategy pulumi.StringPtrInput `pulumi:"allocationStrategy"` - // Behavior when a Spot Instance is interrupted. Valid values: `hibernate`, `stop`, `terminate`. Default: `terminate`. - InstanceInterruptionBehavior pulumi.StringPtrInput `pulumi:"instanceInterruptionBehavior"` - // Number of Spot pools across which to allocate your target Spot capacity. Valid only when Spot `allocationStrategy` is set to `lowestPrice`. Default: `1`. - InstancePoolsToUseCount pulumi.IntPtrInput `pulumi:"instancePoolsToUseCount"` - // Nested argument containing maintenance strategies for managing your Spot Instances that are at an elevated risk of being interrupted. Defined below. - MaintenanceStrategies FleetSpotOptionsMaintenanceStrategiesPtrInput `pulumi:"maintenanceStrategies"` - // The maximum amount per hour for Spot Instances that you're willing to pay. - MaxTotalPrice pulumi.StringPtrInput `pulumi:"maxTotalPrice"` - // The minimum target capacity for Spot Instances in the fleet. If the minimum target capacity is not reached, the fleet launches no instances. Supported only for fleets of type `instant`. - MinTargetCapacity pulumi.IntPtrInput `pulumi:"minTargetCapacity"` - // Indicates that the fleet launches all Spot Instances into a single Availability Zone. Supported only for fleets of type `instant`. - SingleAvailabilityZone pulumi.BoolPtrInput `pulumi:"singleAvailabilityZone"` - // Indicates that the fleet uses a single instance type to launch all Spot Instances in the fleet. Supported only for fleets of type `instant`. - SingleInstanceType pulumi.BoolPtrInput `pulumi:"singleInstanceType"` +type FleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsArgs struct { + // The maximum baseline bandwidth, in Mbps. To specify no maximum limit, omit this parameter.. + Max pulumi.IntPtrInput `pulumi:"max"` + // The minimum baseline bandwidth, in Mbps. To specify no minimum limit, omit this parameter.. + Min pulumi.IntPtrInput `pulumi:"min"` } -func (FleetSpotOptionsArgs) ElementType() reflect.Type { - return reflect.TypeOf((*FleetSpotOptions)(nil)).Elem() +func (FleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*FleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbps)(nil)).Elem() } -func (i FleetSpotOptionsArgs) ToFleetSpotOptionsOutput() FleetSpotOptionsOutput { - return i.ToFleetSpotOptionsOutputWithContext(context.Background()) +func (i FleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsArgs) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsOutput() FleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsOutput { + return i.ToFleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsOutputWithContext(context.Background()) } -func (i FleetSpotOptionsArgs) ToFleetSpotOptionsOutputWithContext(ctx context.Context) FleetSpotOptionsOutput { - return pulumi.ToOutputWithContext(ctx, i).(FleetSpotOptionsOutput) +func (i FleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsArgs) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsOutputWithContext(ctx context.Context) FleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsOutput { + return pulumi.ToOutputWithContext(ctx, i).(FleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsOutput) } -func (i FleetSpotOptionsArgs) ToFleetSpotOptionsPtrOutput() FleetSpotOptionsPtrOutput { - return i.ToFleetSpotOptionsPtrOutputWithContext(context.Background()) +func (i FleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsArgs) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutput() FleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutput { + return i.ToFleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutputWithContext(context.Background()) } -func (i FleetSpotOptionsArgs) ToFleetSpotOptionsPtrOutputWithContext(ctx context.Context) FleetSpotOptionsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(FleetSpotOptionsOutput).ToFleetSpotOptionsPtrOutputWithContext(ctx) +func (i FleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsArgs) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutputWithContext(ctx context.Context) FleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(FleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsOutput).ToFleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutputWithContext(ctx) } -// FleetSpotOptionsPtrInput is an input type that accepts FleetSpotOptionsArgs, FleetSpotOptionsPtr and FleetSpotOptionsPtrOutput values. -// You can construct a concrete instance of `FleetSpotOptionsPtrInput` via: +// FleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrInput is an input type that accepts FleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsArgs, FleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtr and FleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutput values. +// You can construct a concrete instance of `FleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrInput` via: // -// FleetSpotOptionsArgs{...} +// FleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsArgs{...} // // or: // // nil -type FleetSpotOptionsPtrInput interface { +type FleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrInput interface { pulumi.Input - ToFleetSpotOptionsPtrOutput() FleetSpotOptionsPtrOutput - ToFleetSpotOptionsPtrOutputWithContext(context.Context) FleetSpotOptionsPtrOutput + ToFleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutput() FleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutput + ToFleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutputWithContext(context.Context) FleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutput } -type fleetSpotOptionsPtrType FleetSpotOptionsArgs +type fleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrType FleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsArgs -func FleetSpotOptionsPtr(v *FleetSpotOptionsArgs) FleetSpotOptionsPtrInput { - return (*fleetSpotOptionsPtrType)(v) +func FleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtr(v *FleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsArgs) FleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrInput { + return (*fleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrType)(v) } -func (*fleetSpotOptionsPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**FleetSpotOptions)(nil)).Elem() +func (*fleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**FleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbps)(nil)).Elem() } -func (i *fleetSpotOptionsPtrType) ToFleetSpotOptionsPtrOutput() FleetSpotOptionsPtrOutput { - return i.ToFleetSpotOptionsPtrOutputWithContext(context.Background()) +func (i *fleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrType) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutput() FleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutput { + return i.ToFleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutputWithContext(context.Background()) } -func (i *fleetSpotOptionsPtrType) ToFleetSpotOptionsPtrOutputWithContext(ctx context.Context) FleetSpotOptionsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(FleetSpotOptionsPtrOutput) +func (i *fleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrType) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutputWithContext(ctx context.Context) FleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(FleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutput) } -type FleetSpotOptionsOutput struct{ *pulumi.OutputState } +type FleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsOutput struct{ *pulumi.OutputState } -func (FleetSpotOptionsOutput) ElementType() reflect.Type { - return reflect.TypeOf((*FleetSpotOptions)(nil)).Elem() +func (FleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*FleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbps)(nil)).Elem() } -func (o FleetSpotOptionsOutput) ToFleetSpotOptionsOutput() FleetSpotOptionsOutput { +func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsOutput) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsOutput() FleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsOutput { return o } -func (o FleetSpotOptionsOutput) ToFleetSpotOptionsOutputWithContext(ctx context.Context) FleetSpotOptionsOutput { +func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsOutput) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsOutputWithContext(ctx context.Context) FleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsOutput { return o } -func (o FleetSpotOptionsOutput) ToFleetSpotOptionsPtrOutput() FleetSpotOptionsPtrOutput { - return o.ToFleetSpotOptionsPtrOutputWithContext(context.Background()) +func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsOutput) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutput() FleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutput { + return o.ToFleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutputWithContext(context.Background()) } -func (o FleetSpotOptionsOutput) ToFleetSpotOptionsPtrOutputWithContext(ctx context.Context) FleetSpotOptionsPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v FleetSpotOptions) *FleetSpotOptions { +func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsOutput) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutputWithContext(ctx context.Context) FleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v FleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbps) *FleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbps { return &v - }).(FleetSpotOptionsPtrOutput) -} - -// How to allocate the target capacity across the Spot pools. Valid values: `diversified`, `lowestPrice`, `capacity-optimized`, `capacity-optimized-prioritized` and `price-capacity-optimized`. Default: `lowestPrice`. -func (o FleetSpotOptionsOutput) AllocationStrategy() pulumi.StringPtrOutput { - return o.ApplyT(func(v FleetSpotOptions) *string { return v.AllocationStrategy }).(pulumi.StringPtrOutput) -} - -// Behavior when a Spot Instance is interrupted. Valid values: `hibernate`, `stop`, `terminate`. Default: `terminate`. -func (o FleetSpotOptionsOutput) InstanceInterruptionBehavior() pulumi.StringPtrOutput { - return o.ApplyT(func(v FleetSpotOptions) *string { return v.InstanceInterruptionBehavior }).(pulumi.StringPtrOutput) -} - -// Number of Spot pools across which to allocate your target Spot capacity. Valid only when Spot `allocationStrategy` is set to `lowestPrice`. Default: `1`. -func (o FleetSpotOptionsOutput) InstancePoolsToUseCount() pulumi.IntPtrOutput { - return o.ApplyT(func(v FleetSpotOptions) *int { return v.InstancePoolsToUseCount }).(pulumi.IntPtrOutput) -} - -// Nested argument containing maintenance strategies for managing your Spot Instances that are at an elevated risk of being interrupted. Defined below. -func (o FleetSpotOptionsOutput) MaintenanceStrategies() FleetSpotOptionsMaintenanceStrategiesPtrOutput { - return o.ApplyT(func(v FleetSpotOptions) *FleetSpotOptionsMaintenanceStrategies { return v.MaintenanceStrategies }).(FleetSpotOptionsMaintenanceStrategiesPtrOutput) -} - -// The maximum amount per hour for Spot Instances that you're willing to pay. -func (o FleetSpotOptionsOutput) MaxTotalPrice() pulumi.StringPtrOutput { - return o.ApplyT(func(v FleetSpotOptions) *string { return v.MaxTotalPrice }).(pulumi.StringPtrOutput) -} - -// The minimum target capacity for Spot Instances in the fleet. If the minimum target capacity is not reached, the fleet launches no instances. Supported only for fleets of type `instant`. -func (o FleetSpotOptionsOutput) MinTargetCapacity() pulumi.IntPtrOutput { - return o.ApplyT(func(v FleetSpotOptions) *int { return v.MinTargetCapacity }).(pulumi.IntPtrOutput) + }).(FleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutput) } -// Indicates that the fleet launches all Spot Instances into a single Availability Zone. Supported only for fleets of type `instant`. -func (o FleetSpotOptionsOutput) SingleAvailabilityZone() pulumi.BoolPtrOutput { - return o.ApplyT(func(v FleetSpotOptions) *bool { return v.SingleAvailabilityZone }).(pulumi.BoolPtrOutput) +// The maximum baseline bandwidth, in Mbps. To specify no maximum limit, omit this parameter.. +func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsOutput) Max() pulumi.IntPtrOutput { + return o.ApplyT(func(v FleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbps) *int { + return v.Max + }).(pulumi.IntPtrOutput) } -// Indicates that the fleet uses a single instance type to launch all Spot Instances in the fleet. Supported only for fleets of type `instant`. -func (o FleetSpotOptionsOutput) SingleInstanceType() pulumi.BoolPtrOutput { - return o.ApplyT(func(v FleetSpotOptions) *bool { return v.SingleInstanceType }).(pulumi.BoolPtrOutput) +// The minimum baseline bandwidth, in Mbps. To specify no minimum limit, omit this parameter.. +func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsOutput) Min() pulumi.IntPtrOutput { + return o.ApplyT(func(v FleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbps) *int { + return v.Min + }).(pulumi.IntPtrOutput) } -type FleetSpotOptionsPtrOutput struct{ *pulumi.OutputState } +type FleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutput struct{ *pulumi.OutputState } -func (FleetSpotOptionsPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**FleetSpotOptions)(nil)).Elem() +func (FleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**FleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbps)(nil)).Elem() } -func (o FleetSpotOptionsPtrOutput) ToFleetSpotOptionsPtrOutput() FleetSpotOptionsPtrOutput { +func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutput) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutput() FleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutput { return o } -func (o FleetSpotOptionsPtrOutput) ToFleetSpotOptionsPtrOutputWithContext(ctx context.Context) FleetSpotOptionsPtrOutput { +func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutput) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutputWithContext(ctx context.Context) FleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutput { return o } -func (o FleetSpotOptionsPtrOutput) Elem() FleetSpotOptionsOutput { - return o.ApplyT(func(v *FleetSpotOptions) FleetSpotOptions { +func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutput) Elem() FleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsOutput { + return o.ApplyT(func(v *FleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbps) FleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbps { if v != nil { return *v } - var ret FleetSpotOptions + var ret FleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbps return ret - }).(FleetSpotOptionsOutput) -} - -// How to allocate the target capacity across the Spot pools. Valid values: `diversified`, `lowestPrice`, `capacity-optimized`, `capacity-optimized-prioritized` and `price-capacity-optimized`. Default: `lowestPrice`. -func (o FleetSpotOptionsPtrOutput) AllocationStrategy() pulumi.StringPtrOutput { - return o.ApplyT(func(v *FleetSpotOptions) *string { - if v == nil { - return nil - } - return v.AllocationStrategy - }).(pulumi.StringPtrOutput) -} - -// Behavior when a Spot Instance is interrupted. Valid values: `hibernate`, `stop`, `terminate`. Default: `terminate`. -func (o FleetSpotOptionsPtrOutput) InstanceInterruptionBehavior() pulumi.StringPtrOutput { - return o.ApplyT(func(v *FleetSpotOptions) *string { - if v == nil { - return nil - } - return v.InstanceInterruptionBehavior - }).(pulumi.StringPtrOutput) + }).(FleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsOutput) } -// Number of Spot pools across which to allocate your target Spot capacity. Valid only when Spot `allocationStrategy` is set to `lowestPrice`. Default: `1`. -func (o FleetSpotOptionsPtrOutput) InstancePoolsToUseCount() pulumi.IntPtrOutput { - return o.ApplyT(func(v *FleetSpotOptions) *int { +// The maximum baseline bandwidth, in Mbps. To specify no maximum limit, omit this parameter.. +func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutput) Max() pulumi.IntPtrOutput { + return o.ApplyT(func(v *FleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbps) *int { if v == nil { return nil } - return v.InstancePoolsToUseCount + return v.Max }).(pulumi.IntPtrOutput) } -// Nested argument containing maintenance strategies for managing your Spot Instances that are at an elevated risk of being interrupted. Defined below. -func (o FleetSpotOptionsPtrOutput) MaintenanceStrategies() FleetSpotOptionsMaintenanceStrategiesPtrOutput { - return o.ApplyT(func(v *FleetSpotOptions) *FleetSpotOptionsMaintenanceStrategies { - if v == nil { - return nil - } - return v.MaintenanceStrategies - }).(FleetSpotOptionsMaintenanceStrategiesPtrOutput) -} - -// The maximum amount per hour for Spot Instances that you're willing to pay. -func (o FleetSpotOptionsPtrOutput) MaxTotalPrice() pulumi.StringPtrOutput { - return o.ApplyT(func(v *FleetSpotOptions) *string { - if v == nil { - return nil - } - return v.MaxTotalPrice - }).(pulumi.StringPtrOutput) -} - -// The minimum target capacity for Spot Instances in the fleet. If the minimum target capacity is not reached, the fleet launches no instances. Supported only for fleets of type `instant`. -func (o FleetSpotOptionsPtrOutput) MinTargetCapacity() pulumi.IntPtrOutput { - return o.ApplyT(func(v *FleetSpotOptions) *int { +// The minimum baseline bandwidth, in Mbps. To specify no minimum limit, omit this parameter.. +func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutput) Min() pulumi.IntPtrOutput { + return o.ApplyT(func(v *FleetLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbps) *int { if v == nil { return nil } - return v.MinTargetCapacity + return v.Min }).(pulumi.IntPtrOutput) } -// Indicates that the fleet launches all Spot Instances into a single Availability Zone. Supported only for fleets of type `instant`. -func (o FleetSpotOptionsPtrOutput) SingleAvailabilityZone() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *FleetSpotOptions) *bool { - if v == nil { - return nil - } - return v.SingleAvailabilityZone - }).(pulumi.BoolPtrOutput) -} - -// Indicates that the fleet uses a single instance type to launch all Spot Instances in the fleet. Supported only for fleets of type `instant`. -func (o FleetSpotOptionsPtrOutput) SingleInstanceType() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *FleetSpotOptions) *bool { - if v == nil { - return nil - } - return v.SingleInstanceType - }).(pulumi.BoolPtrOutput) -} - -type FleetSpotOptionsMaintenanceStrategies struct { - // Nested argument containing the capacity rebalance for your fleet request. Defined below. - CapacityRebalance *FleetSpotOptionsMaintenanceStrategiesCapacityRebalance `pulumi:"capacityRebalance"` +type FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpu struct { + // The maximum amount of memory per vCPU, in GiB. To specify no maximum limit, omit this parameter. + Max *float64 `pulumi:"max"` + // The minimum amount of memory per vCPU, in GiB. To specify no minimum limit, omit this parameter. + Min *float64 `pulumi:"min"` } -// FleetSpotOptionsMaintenanceStrategiesInput is an input type that accepts FleetSpotOptionsMaintenanceStrategiesArgs and FleetSpotOptionsMaintenanceStrategiesOutput values. -// You can construct a concrete instance of `FleetSpotOptionsMaintenanceStrategiesInput` via: +// FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuInput is an input type that accepts FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuArgs and FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuOutput values. +// You can construct a concrete instance of `FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuInput` via: // -// FleetSpotOptionsMaintenanceStrategiesArgs{...} -type FleetSpotOptionsMaintenanceStrategiesInput interface { +// FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuArgs{...} +type FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuInput interface { pulumi.Input - ToFleetSpotOptionsMaintenanceStrategiesOutput() FleetSpotOptionsMaintenanceStrategiesOutput - ToFleetSpotOptionsMaintenanceStrategiesOutputWithContext(context.Context) FleetSpotOptionsMaintenanceStrategiesOutput + ToFleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuOutput() FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuOutput + ToFleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuOutputWithContext(context.Context) FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuOutput } -type FleetSpotOptionsMaintenanceStrategiesArgs struct { - // Nested argument containing the capacity rebalance for your fleet request. Defined below. - CapacityRebalance FleetSpotOptionsMaintenanceStrategiesCapacityRebalancePtrInput `pulumi:"capacityRebalance"` +type FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuArgs struct { + // The maximum amount of memory per vCPU, in GiB. To specify no maximum limit, omit this parameter. + Max pulumi.Float64PtrInput `pulumi:"max"` + // The minimum amount of memory per vCPU, in GiB. To specify no minimum limit, omit this parameter. + Min pulumi.Float64PtrInput `pulumi:"min"` } -func (FleetSpotOptionsMaintenanceStrategiesArgs) ElementType() reflect.Type { - return reflect.TypeOf((*FleetSpotOptionsMaintenanceStrategies)(nil)).Elem() +func (FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuArgs) ElementType() reflect.Type { + return reflect.TypeOf((*FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpu)(nil)).Elem() } -func (i FleetSpotOptionsMaintenanceStrategiesArgs) ToFleetSpotOptionsMaintenanceStrategiesOutput() FleetSpotOptionsMaintenanceStrategiesOutput { - return i.ToFleetSpotOptionsMaintenanceStrategiesOutputWithContext(context.Background()) +func (i FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuArgs) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuOutput() FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuOutput { + return i.ToFleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuOutputWithContext(context.Background()) } -func (i FleetSpotOptionsMaintenanceStrategiesArgs) ToFleetSpotOptionsMaintenanceStrategiesOutputWithContext(ctx context.Context) FleetSpotOptionsMaintenanceStrategiesOutput { - return pulumi.ToOutputWithContext(ctx, i).(FleetSpotOptionsMaintenanceStrategiesOutput) +func (i FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuArgs) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuOutputWithContext(ctx context.Context) FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuOutput { + return pulumi.ToOutputWithContext(ctx, i).(FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuOutput) } -func (i FleetSpotOptionsMaintenanceStrategiesArgs) ToFleetSpotOptionsMaintenanceStrategiesPtrOutput() FleetSpotOptionsMaintenanceStrategiesPtrOutput { - return i.ToFleetSpotOptionsMaintenanceStrategiesPtrOutputWithContext(context.Background()) +func (i FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuArgs) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrOutput() FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrOutput { + return i.ToFleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrOutputWithContext(context.Background()) } -func (i FleetSpotOptionsMaintenanceStrategiesArgs) ToFleetSpotOptionsMaintenanceStrategiesPtrOutputWithContext(ctx context.Context) FleetSpotOptionsMaintenanceStrategiesPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(FleetSpotOptionsMaintenanceStrategiesOutput).ToFleetSpotOptionsMaintenanceStrategiesPtrOutputWithContext(ctx) +func (i FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuArgs) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrOutputWithContext(ctx context.Context) FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuOutput).ToFleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrOutputWithContext(ctx) } -// FleetSpotOptionsMaintenanceStrategiesPtrInput is an input type that accepts FleetSpotOptionsMaintenanceStrategiesArgs, FleetSpotOptionsMaintenanceStrategiesPtr and FleetSpotOptionsMaintenanceStrategiesPtrOutput values. -// You can construct a concrete instance of `FleetSpotOptionsMaintenanceStrategiesPtrInput` via: +// FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrInput is an input type that accepts FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuArgs, FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtr and FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrOutput values. +// You can construct a concrete instance of `FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrInput` via: // -// FleetSpotOptionsMaintenanceStrategiesArgs{...} +// FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuArgs{...} // // or: // // nil -type FleetSpotOptionsMaintenanceStrategiesPtrInput interface { +type FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrInput interface { pulumi.Input - ToFleetSpotOptionsMaintenanceStrategiesPtrOutput() FleetSpotOptionsMaintenanceStrategiesPtrOutput - ToFleetSpotOptionsMaintenanceStrategiesPtrOutputWithContext(context.Context) FleetSpotOptionsMaintenanceStrategiesPtrOutput + ToFleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrOutput() FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrOutput + ToFleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrOutputWithContext(context.Context) FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrOutput } -type fleetSpotOptionsMaintenanceStrategiesPtrType FleetSpotOptionsMaintenanceStrategiesArgs +type fleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrType FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuArgs -func FleetSpotOptionsMaintenanceStrategiesPtr(v *FleetSpotOptionsMaintenanceStrategiesArgs) FleetSpotOptionsMaintenanceStrategiesPtrInput { - return (*fleetSpotOptionsMaintenanceStrategiesPtrType)(v) +func FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtr(v *FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuArgs) FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrInput { + return (*fleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrType)(v) } -func (*fleetSpotOptionsMaintenanceStrategiesPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**FleetSpotOptionsMaintenanceStrategies)(nil)).Elem() +func (*fleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpu)(nil)).Elem() } -func (i *fleetSpotOptionsMaintenanceStrategiesPtrType) ToFleetSpotOptionsMaintenanceStrategiesPtrOutput() FleetSpotOptionsMaintenanceStrategiesPtrOutput { - return i.ToFleetSpotOptionsMaintenanceStrategiesPtrOutputWithContext(context.Background()) +func (i *fleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrType) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrOutput() FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrOutput { + return i.ToFleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrOutputWithContext(context.Background()) } -func (i *fleetSpotOptionsMaintenanceStrategiesPtrType) ToFleetSpotOptionsMaintenanceStrategiesPtrOutputWithContext(ctx context.Context) FleetSpotOptionsMaintenanceStrategiesPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(FleetSpotOptionsMaintenanceStrategiesPtrOutput) +func (i *fleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrType) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrOutputWithContext(ctx context.Context) FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrOutput) } -type FleetSpotOptionsMaintenanceStrategiesOutput struct{ *pulumi.OutputState } +type FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuOutput struct{ *pulumi.OutputState } -func (FleetSpotOptionsMaintenanceStrategiesOutput) ElementType() reflect.Type { - return reflect.TypeOf((*FleetSpotOptionsMaintenanceStrategies)(nil)).Elem() +func (FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuOutput) ElementType() reflect.Type { + return reflect.TypeOf((*FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpu)(nil)).Elem() } -func (o FleetSpotOptionsMaintenanceStrategiesOutput) ToFleetSpotOptionsMaintenanceStrategiesOutput() FleetSpotOptionsMaintenanceStrategiesOutput { +func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuOutput) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuOutput() FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuOutput { return o } -func (o FleetSpotOptionsMaintenanceStrategiesOutput) ToFleetSpotOptionsMaintenanceStrategiesOutputWithContext(ctx context.Context) FleetSpotOptionsMaintenanceStrategiesOutput { +func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuOutput) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuOutputWithContext(ctx context.Context) FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuOutput { return o } -func (o FleetSpotOptionsMaintenanceStrategiesOutput) ToFleetSpotOptionsMaintenanceStrategiesPtrOutput() FleetSpotOptionsMaintenanceStrategiesPtrOutput { - return o.ToFleetSpotOptionsMaintenanceStrategiesPtrOutputWithContext(context.Background()) +func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuOutput) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrOutput() FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrOutput { + return o.ToFleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrOutputWithContext(context.Background()) } -func (o FleetSpotOptionsMaintenanceStrategiesOutput) ToFleetSpotOptionsMaintenanceStrategiesPtrOutputWithContext(ctx context.Context) FleetSpotOptionsMaintenanceStrategiesPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v FleetSpotOptionsMaintenanceStrategies) *FleetSpotOptionsMaintenanceStrategies { +func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuOutput) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrOutputWithContext(ctx context.Context) FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpu) *FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpu { return &v - }).(FleetSpotOptionsMaintenanceStrategiesPtrOutput) + }).(FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrOutput) } -// Nested argument containing the capacity rebalance for your fleet request. Defined below. -func (o FleetSpotOptionsMaintenanceStrategiesOutput) CapacityRebalance() FleetSpotOptionsMaintenanceStrategiesCapacityRebalancePtrOutput { - return o.ApplyT(func(v FleetSpotOptionsMaintenanceStrategies) *FleetSpotOptionsMaintenanceStrategiesCapacityRebalance { - return v.CapacityRebalance - }).(FleetSpotOptionsMaintenanceStrategiesCapacityRebalancePtrOutput) +// The maximum amount of memory per vCPU, in GiB. To specify no maximum limit, omit this parameter. +func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuOutput) Max() pulumi.Float64PtrOutput { + return o.ApplyT(func(v FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpu) *float64 { return v.Max }).(pulumi.Float64PtrOutput) } -type FleetSpotOptionsMaintenanceStrategiesPtrOutput struct{ *pulumi.OutputState } +// The minimum amount of memory per vCPU, in GiB. To specify no minimum limit, omit this parameter. +func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuOutput) Min() pulumi.Float64PtrOutput { + return o.ApplyT(func(v FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpu) *float64 { return v.Min }).(pulumi.Float64PtrOutput) +} -func (FleetSpotOptionsMaintenanceStrategiesPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**FleetSpotOptionsMaintenanceStrategies)(nil)).Elem() +type FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrOutput struct{ *pulumi.OutputState } + +func (FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpu)(nil)).Elem() } -func (o FleetSpotOptionsMaintenanceStrategiesPtrOutput) ToFleetSpotOptionsMaintenanceStrategiesPtrOutput() FleetSpotOptionsMaintenanceStrategiesPtrOutput { +func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrOutput) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrOutput() FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrOutput { return o } -func (o FleetSpotOptionsMaintenanceStrategiesPtrOutput) ToFleetSpotOptionsMaintenanceStrategiesPtrOutputWithContext(ctx context.Context) FleetSpotOptionsMaintenanceStrategiesPtrOutput { +func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrOutput) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrOutputWithContext(ctx context.Context) FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrOutput { return o } -func (o FleetSpotOptionsMaintenanceStrategiesPtrOutput) Elem() FleetSpotOptionsMaintenanceStrategiesOutput { - return o.ApplyT(func(v *FleetSpotOptionsMaintenanceStrategies) FleetSpotOptionsMaintenanceStrategies { +func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrOutput) Elem() FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuOutput { + return o.ApplyT(func(v *FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpu) FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpu { if v != nil { return *v } - var ret FleetSpotOptionsMaintenanceStrategies + var ret FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpu return ret - }).(FleetSpotOptionsMaintenanceStrategiesOutput) + }).(FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuOutput) } -// Nested argument containing the capacity rebalance for your fleet request. Defined below. -func (o FleetSpotOptionsMaintenanceStrategiesPtrOutput) CapacityRebalance() FleetSpotOptionsMaintenanceStrategiesCapacityRebalancePtrOutput { - return o.ApplyT(func(v *FleetSpotOptionsMaintenanceStrategies) *FleetSpotOptionsMaintenanceStrategiesCapacityRebalance { +// The maximum amount of memory per vCPU, in GiB. To specify no maximum limit, omit this parameter. +func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrOutput) Max() pulumi.Float64PtrOutput { + return o.ApplyT(func(v *FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpu) *float64 { if v == nil { return nil } - return v.CapacityRebalance - }).(FleetSpotOptionsMaintenanceStrategiesCapacityRebalancePtrOutput) + return v.Max + }).(pulumi.Float64PtrOutput) } -type FleetSpotOptionsMaintenanceStrategiesCapacityRebalance struct { - // The replacement strategy to use. Only available for fleets of `type` set to `maintain`. Valid values: `launch`. - ReplacementStrategy *string `pulumi:"replacementStrategy"` - TerminationDelay *int `pulumi:"terminationDelay"` +// The minimum amount of memory per vCPU, in GiB. To specify no minimum limit, omit this parameter. +func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrOutput) Min() pulumi.Float64PtrOutput { + return o.ApplyT(func(v *FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpu) *float64 { + if v == nil { + return nil + } + return v.Min + }).(pulumi.Float64PtrOutput) } -// FleetSpotOptionsMaintenanceStrategiesCapacityRebalanceInput is an input type that accepts FleetSpotOptionsMaintenanceStrategiesCapacityRebalanceArgs and FleetSpotOptionsMaintenanceStrategiesCapacityRebalanceOutput values. -// You can construct a concrete instance of `FleetSpotOptionsMaintenanceStrategiesCapacityRebalanceInput` via: +type FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMib struct { + // The maximum amount of memory, in MiB. To specify no maximum limit, omit this parameter. + Max *int `pulumi:"max"` + // The minimum amount of memory, in MiB. To specify no minimum limit, specify `0`. + Min int `pulumi:"min"` +} + +// FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibInput is an input type that accepts FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibArgs and FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibOutput values. +// You can construct a concrete instance of `FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibInput` via: // -// FleetSpotOptionsMaintenanceStrategiesCapacityRebalanceArgs{...} -type FleetSpotOptionsMaintenanceStrategiesCapacityRebalanceInput interface { +// FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibArgs{...} +type FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibInput interface { pulumi.Input - ToFleetSpotOptionsMaintenanceStrategiesCapacityRebalanceOutput() FleetSpotOptionsMaintenanceStrategiesCapacityRebalanceOutput - ToFleetSpotOptionsMaintenanceStrategiesCapacityRebalanceOutputWithContext(context.Context) FleetSpotOptionsMaintenanceStrategiesCapacityRebalanceOutput + ToFleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibOutput() FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibOutput + ToFleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibOutputWithContext(context.Context) FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibOutput } -type FleetSpotOptionsMaintenanceStrategiesCapacityRebalanceArgs struct { - // The replacement strategy to use. Only available for fleets of `type` set to `maintain`. Valid values: `launch`. - ReplacementStrategy pulumi.StringPtrInput `pulumi:"replacementStrategy"` - TerminationDelay pulumi.IntPtrInput `pulumi:"terminationDelay"` +type FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibArgs struct { + // The maximum amount of memory, in MiB. To specify no maximum limit, omit this parameter. + Max pulumi.IntPtrInput `pulumi:"max"` + // The minimum amount of memory, in MiB. To specify no minimum limit, specify `0`. + Min pulumi.IntInput `pulumi:"min"` } -func (FleetSpotOptionsMaintenanceStrategiesCapacityRebalanceArgs) ElementType() reflect.Type { - return reflect.TypeOf((*FleetSpotOptionsMaintenanceStrategiesCapacityRebalance)(nil)).Elem() +func (FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibArgs) ElementType() reflect.Type { + return reflect.TypeOf((*FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMib)(nil)).Elem() } -func (i FleetSpotOptionsMaintenanceStrategiesCapacityRebalanceArgs) ToFleetSpotOptionsMaintenanceStrategiesCapacityRebalanceOutput() FleetSpotOptionsMaintenanceStrategiesCapacityRebalanceOutput { - return i.ToFleetSpotOptionsMaintenanceStrategiesCapacityRebalanceOutputWithContext(context.Background()) +func (i FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibArgs) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibOutput() FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibOutput { + return i.ToFleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibOutputWithContext(context.Background()) } -func (i FleetSpotOptionsMaintenanceStrategiesCapacityRebalanceArgs) ToFleetSpotOptionsMaintenanceStrategiesCapacityRebalanceOutputWithContext(ctx context.Context) FleetSpotOptionsMaintenanceStrategiesCapacityRebalanceOutput { - return pulumi.ToOutputWithContext(ctx, i).(FleetSpotOptionsMaintenanceStrategiesCapacityRebalanceOutput) +func (i FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibArgs) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibOutputWithContext(ctx context.Context) FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibOutput { + return pulumi.ToOutputWithContext(ctx, i).(FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibOutput) } -func (i FleetSpotOptionsMaintenanceStrategiesCapacityRebalanceArgs) ToFleetSpotOptionsMaintenanceStrategiesCapacityRebalancePtrOutput() FleetSpotOptionsMaintenanceStrategiesCapacityRebalancePtrOutput { - return i.ToFleetSpotOptionsMaintenanceStrategiesCapacityRebalancePtrOutputWithContext(context.Background()) +func (i FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibArgs) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrOutput() FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrOutput { + return i.ToFleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrOutputWithContext(context.Background()) } -func (i FleetSpotOptionsMaintenanceStrategiesCapacityRebalanceArgs) ToFleetSpotOptionsMaintenanceStrategiesCapacityRebalancePtrOutputWithContext(ctx context.Context) FleetSpotOptionsMaintenanceStrategiesCapacityRebalancePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(FleetSpotOptionsMaintenanceStrategiesCapacityRebalanceOutput).ToFleetSpotOptionsMaintenanceStrategiesCapacityRebalancePtrOutputWithContext(ctx) +func (i FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibArgs) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrOutputWithContext(ctx context.Context) FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibOutput).ToFleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrOutputWithContext(ctx) } -// FleetSpotOptionsMaintenanceStrategiesCapacityRebalancePtrInput is an input type that accepts FleetSpotOptionsMaintenanceStrategiesCapacityRebalanceArgs, FleetSpotOptionsMaintenanceStrategiesCapacityRebalancePtr and FleetSpotOptionsMaintenanceStrategiesCapacityRebalancePtrOutput values. -// You can construct a concrete instance of `FleetSpotOptionsMaintenanceStrategiesCapacityRebalancePtrInput` via: +// FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrInput is an input type that accepts FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibArgs, FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtr and FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrOutput values. +// You can construct a concrete instance of `FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrInput` via: // -// FleetSpotOptionsMaintenanceStrategiesCapacityRebalanceArgs{...} +// FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibArgs{...} // // or: // // nil -type FleetSpotOptionsMaintenanceStrategiesCapacityRebalancePtrInput interface { +type FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrInput interface { pulumi.Input - ToFleetSpotOptionsMaintenanceStrategiesCapacityRebalancePtrOutput() FleetSpotOptionsMaintenanceStrategiesCapacityRebalancePtrOutput - ToFleetSpotOptionsMaintenanceStrategiesCapacityRebalancePtrOutputWithContext(context.Context) FleetSpotOptionsMaintenanceStrategiesCapacityRebalancePtrOutput + ToFleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrOutput() FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrOutput + ToFleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrOutputWithContext(context.Context) FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrOutput } -type fleetSpotOptionsMaintenanceStrategiesCapacityRebalancePtrType FleetSpotOptionsMaintenanceStrategiesCapacityRebalanceArgs +type fleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrType FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibArgs -func FleetSpotOptionsMaintenanceStrategiesCapacityRebalancePtr(v *FleetSpotOptionsMaintenanceStrategiesCapacityRebalanceArgs) FleetSpotOptionsMaintenanceStrategiesCapacityRebalancePtrInput { - return (*fleetSpotOptionsMaintenanceStrategiesCapacityRebalancePtrType)(v) +func FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtr(v *FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibArgs) FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrInput { + return (*fleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrType)(v) } -func (*fleetSpotOptionsMaintenanceStrategiesCapacityRebalancePtrType) ElementType() reflect.Type { - return reflect.TypeOf((**FleetSpotOptionsMaintenanceStrategiesCapacityRebalance)(nil)).Elem() +func (*fleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMib)(nil)).Elem() } -func (i *fleetSpotOptionsMaintenanceStrategiesCapacityRebalancePtrType) ToFleetSpotOptionsMaintenanceStrategiesCapacityRebalancePtrOutput() FleetSpotOptionsMaintenanceStrategiesCapacityRebalancePtrOutput { - return i.ToFleetSpotOptionsMaintenanceStrategiesCapacityRebalancePtrOutputWithContext(context.Background()) +func (i *fleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrType) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrOutput() FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrOutput { + return i.ToFleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrOutputWithContext(context.Background()) } -func (i *fleetSpotOptionsMaintenanceStrategiesCapacityRebalancePtrType) ToFleetSpotOptionsMaintenanceStrategiesCapacityRebalancePtrOutputWithContext(ctx context.Context) FleetSpotOptionsMaintenanceStrategiesCapacityRebalancePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(FleetSpotOptionsMaintenanceStrategiesCapacityRebalancePtrOutput) +func (i *fleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrType) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrOutputWithContext(ctx context.Context) FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrOutput) } -type FleetSpotOptionsMaintenanceStrategiesCapacityRebalanceOutput struct{ *pulumi.OutputState } +type FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibOutput struct{ *pulumi.OutputState } -func (FleetSpotOptionsMaintenanceStrategiesCapacityRebalanceOutput) ElementType() reflect.Type { - return reflect.TypeOf((*FleetSpotOptionsMaintenanceStrategiesCapacityRebalance)(nil)).Elem() +func (FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibOutput) ElementType() reflect.Type { + return reflect.TypeOf((*FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMib)(nil)).Elem() } -func (o FleetSpotOptionsMaintenanceStrategiesCapacityRebalanceOutput) ToFleetSpotOptionsMaintenanceStrategiesCapacityRebalanceOutput() FleetSpotOptionsMaintenanceStrategiesCapacityRebalanceOutput { +func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibOutput) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibOutput() FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibOutput { return o } -func (o FleetSpotOptionsMaintenanceStrategiesCapacityRebalanceOutput) ToFleetSpotOptionsMaintenanceStrategiesCapacityRebalanceOutputWithContext(ctx context.Context) FleetSpotOptionsMaintenanceStrategiesCapacityRebalanceOutput { +func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibOutput) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibOutputWithContext(ctx context.Context) FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibOutput { return o } -func (o FleetSpotOptionsMaintenanceStrategiesCapacityRebalanceOutput) ToFleetSpotOptionsMaintenanceStrategiesCapacityRebalancePtrOutput() FleetSpotOptionsMaintenanceStrategiesCapacityRebalancePtrOutput { - return o.ToFleetSpotOptionsMaintenanceStrategiesCapacityRebalancePtrOutputWithContext(context.Background()) +func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibOutput) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrOutput() FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrOutput { + return o.ToFleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrOutputWithContext(context.Background()) } -func (o FleetSpotOptionsMaintenanceStrategiesCapacityRebalanceOutput) ToFleetSpotOptionsMaintenanceStrategiesCapacityRebalancePtrOutputWithContext(ctx context.Context) FleetSpotOptionsMaintenanceStrategiesCapacityRebalancePtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v FleetSpotOptionsMaintenanceStrategiesCapacityRebalance) *FleetSpotOptionsMaintenanceStrategiesCapacityRebalance { +func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibOutput) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrOutputWithContext(ctx context.Context) FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMib) *FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMib { return &v - }).(FleetSpotOptionsMaintenanceStrategiesCapacityRebalancePtrOutput) + }).(FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrOutput) } -// The replacement strategy to use. Only available for fleets of `type` set to `maintain`. Valid values: `launch`. -func (o FleetSpotOptionsMaintenanceStrategiesCapacityRebalanceOutput) ReplacementStrategy() pulumi.StringPtrOutput { - return o.ApplyT(func(v FleetSpotOptionsMaintenanceStrategiesCapacityRebalance) *string { return v.ReplacementStrategy }).(pulumi.StringPtrOutput) +// The maximum amount of memory, in MiB. To specify no maximum limit, omit this parameter. +func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibOutput) Max() pulumi.IntPtrOutput { + return o.ApplyT(func(v FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMib) *int { return v.Max }).(pulumi.IntPtrOutput) } -func (o FleetSpotOptionsMaintenanceStrategiesCapacityRebalanceOutput) TerminationDelay() pulumi.IntPtrOutput { - return o.ApplyT(func(v FleetSpotOptionsMaintenanceStrategiesCapacityRebalance) *int { return v.TerminationDelay }).(pulumi.IntPtrOutput) +// The minimum amount of memory, in MiB. To specify no minimum limit, specify `0`. +func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibOutput) Min() pulumi.IntOutput { + return o.ApplyT(func(v FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMib) int { return v.Min }).(pulumi.IntOutput) } -type FleetSpotOptionsMaintenanceStrategiesCapacityRebalancePtrOutput struct{ *pulumi.OutputState } +type FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrOutput struct{ *pulumi.OutputState } -func (FleetSpotOptionsMaintenanceStrategiesCapacityRebalancePtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**FleetSpotOptionsMaintenanceStrategiesCapacityRebalance)(nil)).Elem() +func (FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMib)(nil)).Elem() } -func (o FleetSpotOptionsMaintenanceStrategiesCapacityRebalancePtrOutput) ToFleetSpotOptionsMaintenanceStrategiesCapacityRebalancePtrOutput() FleetSpotOptionsMaintenanceStrategiesCapacityRebalancePtrOutput { +func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrOutput) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrOutput() FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrOutput { return o } -func (o FleetSpotOptionsMaintenanceStrategiesCapacityRebalancePtrOutput) ToFleetSpotOptionsMaintenanceStrategiesCapacityRebalancePtrOutputWithContext(ctx context.Context) FleetSpotOptionsMaintenanceStrategiesCapacityRebalancePtrOutput { +func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrOutput) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrOutputWithContext(ctx context.Context) FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrOutput { return o } -func (o FleetSpotOptionsMaintenanceStrategiesCapacityRebalancePtrOutput) Elem() FleetSpotOptionsMaintenanceStrategiesCapacityRebalanceOutput { - return o.ApplyT(func(v *FleetSpotOptionsMaintenanceStrategiesCapacityRebalance) FleetSpotOptionsMaintenanceStrategiesCapacityRebalance { +func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrOutput) Elem() FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibOutput { + return o.ApplyT(func(v *FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMib) FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMib { if v != nil { return *v } - var ret FleetSpotOptionsMaintenanceStrategiesCapacityRebalance + var ret FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMib return ret - }).(FleetSpotOptionsMaintenanceStrategiesCapacityRebalanceOutput) + }).(FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibOutput) } -// The replacement strategy to use. Only available for fleets of `type` set to `maintain`. Valid values: `launch`. -func (o FleetSpotOptionsMaintenanceStrategiesCapacityRebalancePtrOutput) ReplacementStrategy() pulumi.StringPtrOutput { - return o.ApplyT(func(v *FleetSpotOptionsMaintenanceStrategiesCapacityRebalance) *string { +// The maximum amount of memory, in MiB. To specify no maximum limit, omit this parameter. +func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrOutput) Max() pulumi.IntPtrOutput { + return o.ApplyT(func(v *FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMib) *int { if v == nil { return nil } - return v.ReplacementStrategy - }).(pulumi.StringPtrOutput) + return v.Max + }).(pulumi.IntPtrOutput) } -func (o FleetSpotOptionsMaintenanceStrategiesCapacityRebalancePtrOutput) TerminationDelay() pulumi.IntPtrOutput { - return o.ApplyT(func(v *FleetSpotOptionsMaintenanceStrategiesCapacityRebalance) *int { +// The minimum amount of memory, in MiB. To specify no minimum limit, specify `0`. +func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrOutput) Min() pulumi.IntPtrOutput { + return o.ApplyT(func(v *FleetLaunchTemplateConfigOverrideInstanceRequirementsMemoryMib) *int { if v == nil { return nil } - return v.TerminationDelay + return &v.Min }).(pulumi.IntPtrOutput) } -type FleetTargetCapacitySpecification struct { - // Default target capacity type. Valid values: `on-demand`, `spot`. - DefaultTargetCapacityType string `pulumi:"defaultTargetCapacityType"` - // The number of On-Demand units to request. - OnDemandTargetCapacity *int `pulumi:"onDemandTargetCapacity"` - // The number of Spot units to request. - SpotTargetCapacity *int `pulumi:"spotTargetCapacity"` - // The unit for the target capacity. - // If you specify `targetCapacityUnitType`, `instanceRequirements` must be specified. - TargetCapacityUnitType *string `pulumi:"targetCapacityUnitType"` - // The number of units to request, filled using `defaultTargetCapacityType`. - TotalTargetCapacity int `pulumi:"totalTargetCapacity"` +type FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbps struct { + // The maximum amount of network bandwidth, in Gbps. To specify no maximum limit, omit this parameter. + Max *float64 `pulumi:"max"` + // The minimum amount of network bandwidth, in Gbps. To specify no minimum limit, omit this parameter. + Min *float64 `pulumi:"min"` } -// FleetTargetCapacitySpecificationInput is an input type that accepts FleetTargetCapacitySpecificationArgs and FleetTargetCapacitySpecificationOutput values. -// You can construct a concrete instance of `FleetTargetCapacitySpecificationInput` via: +// FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsInput is an input type that accepts FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsArgs and FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsOutput values. +// You can construct a concrete instance of `FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsInput` via: // -// FleetTargetCapacitySpecificationArgs{...} -type FleetTargetCapacitySpecificationInput interface { +// FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsArgs{...} +type FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsInput interface { pulumi.Input - ToFleetTargetCapacitySpecificationOutput() FleetTargetCapacitySpecificationOutput - ToFleetTargetCapacitySpecificationOutputWithContext(context.Context) FleetTargetCapacitySpecificationOutput + ToFleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsOutput() FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsOutput + ToFleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsOutputWithContext(context.Context) FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsOutput } -type FleetTargetCapacitySpecificationArgs struct { - // Default target capacity type. Valid values: `on-demand`, `spot`. - DefaultTargetCapacityType pulumi.StringInput `pulumi:"defaultTargetCapacityType"` - // The number of On-Demand units to request. - OnDemandTargetCapacity pulumi.IntPtrInput `pulumi:"onDemandTargetCapacity"` - // The number of Spot units to request. - SpotTargetCapacity pulumi.IntPtrInput `pulumi:"spotTargetCapacity"` - // The unit for the target capacity. - // If you specify `targetCapacityUnitType`, `instanceRequirements` must be specified. - TargetCapacityUnitType pulumi.StringPtrInput `pulumi:"targetCapacityUnitType"` - // The number of units to request, filled using `defaultTargetCapacityType`. - TotalTargetCapacity pulumi.IntInput `pulumi:"totalTargetCapacity"` +type FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsArgs struct { + // The maximum amount of network bandwidth, in Gbps. To specify no maximum limit, omit this parameter. + Max pulumi.Float64PtrInput `pulumi:"max"` + // The minimum amount of network bandwidth, in Gbps. To specify no minimum limit, omit this parameter. + Min pulumi.Float64PtrInput `pulumi:"min"` } -func (FleetTargetCapacitySpecificationArgs) ElementType() reflect.Type { - return reflect.TypeOf((*FleetTargetCapacitySpecification)(nil)).Elem() +func (FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbps)(nil)).Elem() } -func (i FleetTargetCapacitySpecificationArgs) ToFleetTargetCapacitySpecificationOutput() FleetTargetCapacitySpecificationOutput { - return i.ToFleetTargetCapacitySpecificationOutputWithContext(context.Background()) +func (i FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsArgs) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsOutput() FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsOutput { + return i.ToFleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsOutputWithContext(context.Background()) } -func (i FleetTargetCapacitySpecificationArgs) ToFleetTargetCapacitySpecificationOutputWithContext(ctx context.Context) FleetTargetCapacitySpecificationOutput { - return pulumi.ToOutputWithContext(ctx, i).(FleetTargetCapacitySpecificationOutput) +func (i FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsArgs) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsOutputWithContext(ctx context.Context) FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsOutput { + return pulumi.ToOutputWithContext(ctx, i).(FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsOutput) } -func (i FleetTargetCapacitySpecificationArgs) ToFleetTargetCapacitySpecificationPtrOutput() FleetTargetCapacitySpecificationPtrOutput { - return i.ToFleetTargetCapacitySpecificationPtrOutputWithContext(context.Background()) +func (i FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsArgs) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrOutput() FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrOutput { + return i.ToFleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrOutputWithContext(context.Background()) } -func (i FleetTargetCapacitySpecificationArgs) ToFleetTargetCapacitySpecificationPtrOutputWithContext(ctx context.Context) FleetTargetCapacitySpecificationPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(FleetTargetCapacitySpecificationOutput).ToFleetTargetCapacitySpecificationPtrOutputWithContext(ctx) +func (i FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsArgs) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrOutputWithContext(ctx context.Context) FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsOutput).ToFleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrOutputWithContext(ctx) } -// FleetTargetCapacitySpecificationPtrInput is an input type that accepts FleetTargetCapacitySpecificationArgs, FleetTargetCapacitySpecificationPtr and FleetTargetCapacitySpecificationPtrOutput values. -// You can construct a concrete instance of `FleetTargetCapacitySpecificationPtrInput` via: +// FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrInput is an input type that accepts FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsArgs, FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtr and FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrOutput values. +// You can construct a concrete instance of `FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrInput` via: // -// FleetTargetCapacitySpecificationArgs{...} +// FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsArgs{...} // // or: // // nil -type FleetTargetCapacitySpecificationPtrInput interface { +type FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrInput interface { pulumi.Input - ToFleetTargetCapacitySpecificationPtrOutput() FleetTargetCapacitySpecificationPtrOutput - ToFleetTargetCapacitySpecificationPtrOutputWithContext(context.Context) FleetTargetCapacitySpecificationPtrOutput + ToFleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrOutput() FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrOutput + ToFleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrOutputWithContext(context.Context) FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrOutput } -type fleetTargetCapacitySpecificationPtrType FleetTargetCapacitySpecificationArgs +type fleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrType FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsArgs -func FleetTargetCapacitySpecificationPtr(v *FleetTargetCapacitySpecificationArgs) FleetTargetCapacitySpecificationPtrInput { - return (*fleetTargetCapacitySpecificationPtrType)(v) +func FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtr(v *FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsArgs) FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrInput { + return (*fleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrType)(v) } -func (*fleetTargetCapacitySpecificationPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**FleetTargetCapacitySpecification)(nil)).Elem() +func (*fleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbps)(nil)).Elem() } -func (i *fleetTargetCapacitySpecificationPtrType) ToFleetTargetCapacitySpecificationPtrOutput() FleetTargetCapacitySpecificationPtrOutput { - return i.ToFleetTargetCapacitySpecificationPtrOutputWithContext(context.Background()) +func (i *fleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrType) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrOutput() FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrOutput { + return i.ToFleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrOutputWithContext(context.Background()) } -func (i *fleetTargetCapacitySpecificationPtrType) ToFleetTargetCapacitySpecificationPtrOutputWithContext(ctx context.Context) FleetTargetCapacitySpecificationPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(FleetTargetCapacitySpecificationPtrOutput) +func (i *fleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrType) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrOutputWithContext(ctx context.Context) FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrOutput) } -type FleetTargetCapacitySpecificationOutput struct{ *pulumi.OutputState } +type FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsOutput struct{ *pulumi.OutputState } -func (FleetTargetCapacitySpecificationOutput) ElementType() reflect.Type { - return reflect.TypeOf((*FleetTargetCapacitySpecification)(nil)).Elem() +func (FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbps)(nil)).Elem() } -func (o FleetTargetCapacitySpecificationOutput) ToFleetTargetCapacitySpecificationOutput() FleetTargetCapacitySpecificationOutput { +func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsOutput) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsOutput() FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsOutput { return o } -func (o FleetTargetCapacitySpecificationOutput) ToFleetTargetCapacitySpecificationOutputWithContext(ctx context.Context) FleetTargetCapacitySpecificationOutput { +func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsOutput) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsOutputWithContext(ctx context.Context) FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsOutput { return o } -func (o FleetTargetCapacitySpecificationOutput) ToFleetTargetCapacitySpecificationPtrOutput() FleetTargetCapacitySpecificationPtrOutput { - return o.ToFleetTargetCapacitySpecificationPtrOutputWithContext(context.Background()) +func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsOutput) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrOutput() FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrOutput { + return o.ToFleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrOutputWithContext(context.Background()) } -func (o FleetTargetCapacitySpecificationOutput) ToFleetTargetCapacitySpecificationPtrOutputWithContext(ctx context.Context) FleetTargetCapacitySpecificationPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v FleetTargetCapacitySpecification) *FleetTargetCapacitySpecification { +func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsOutput) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrOutputWithContext(ctx context.Context) FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbps) *FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbps { return &v - }).(FleetTargetCapacitySpecificationPtrOutput) -} - -// Default target capacity type. Valid values: `on-demand`, `spot`. -func (o FleetTargetCapacitySpecificationOutput) DefaultTargetCapacityType() pulumi.StringOutput { - return o.ApplyT(func(v FleetTargetCapacitySpecification) string { return v.DefaultTargetCapacityType }).(pulumi.StringOutput) -} - -// The number of On-Demand units to request. -func (o FleetTargetCapacitySpecificationOutput) OnDemandTargetCapacity() pulumi.IntPtrOutput { - return o.ApplyT(func(v FleetTargetCapacitySpecification) *int { return v.OnDemandTargetCapacity }).(pulumi.IntPtrOutput) -} - -// The number of Spot units to request. -func (o FleetTargetCapacitySpecificationOutput) SpotTargetCapacity() pulumi.IntPtrOutput { - return o.ApplyT(func(v FleetTargetCapacitySpecification) *int { return v.SpotTargetCapacity }).(pulumi.IntPtrOutput) + }).(FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrOutput) } -// The unit for the target capacity. -// If you specify `targetCapacityUnitType`, `instanceRequirements` must be specified. -func (o FleetTargetCapacitySpecificationOutput) TargetCapacityUnitType() pulumi.StringPtrOutput { - return o.ApplyT(func(v FleetTargetCapacitySpecification) *string { return v.TargetCapacityUnitType }).(pulumi.StringPtrOutput) +// The maximum amount of network bandwidth, in Gbps. To specify no maximum limit, omit this parameter. +func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsOutput) Max() pulumi.Float64PtrOutput { + return o.ApplyT(func(v FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbps) *float64 { + return v.Max + }).(pulumi.Float64PtrOutput) } -// The number of units to request, filled using `defaultTargetCapacityType`. -func (o FleetTargetCapacitySpecificationOutput) TotalTargetCapacity() pulumi.IntOutput { - return o.ApplyT(func(v FleetTargetCapacitySpecification) int { return v.TotalTargetCapacity }).(pulumi.IntOutput) +// The minimum amount of network bandwidth, in Gbps. To specify no minimum limit, omit this parameter. +func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsOutput) Min() pulumi.Float64PtrOutput { + return o.ApplyT(func(v FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbps) *float64 { + return v.Min + }).(pulumi.Float64PtrOutput) } -type FleetTargetCapacitySpecificationPtrOutput struct{ *pulumi.OutputState } +type FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrOutput struct{ *pulumi.OutputState } -func (FleetTargetCapacitySpecificationPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**FleetTargetCapacitySpecification)(nil)).Elem() +func (FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbps)(nil)).Elem() } -func (o FleetTargetCapacitySpecificationPtrOutput) ToFleetTargetCapacitySpecificationPtrOutput() FleetTargetCapacitySpecificationPtrOutput { +func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrOutput) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrOutput() FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrOutput { return o } -func (o FleetTargetCapacitySpecificationPtrOutput) ToFleetTargetCapacitySpecificationPtrOutputWithContext(ctx context.Context) FleetTargetCapacitySpecificationPtrOutput { +func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrOutput) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrOutputWithContext(ctx context.Context) FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrOutput { return o } -func (o FleetTargetCapacitySpecificationPtrOutput) Elem() FleetTargetCapacitySpecificationOutput { - return o.ApplyT(func(v *FleetTargetCapacitySpecification) FleetTargetCapacitySpecification { +func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrOutput) Elem() FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsOutput { + return o.ApplyT(func(v *FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbps) FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbps { if v != nil { return *v } - var ret FleetTargetCapacitySpecification + var ret FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbps return ret - }).(FleetTargetCapacitySpecificationOutput) -} - -// Default target capacity type. Valid values: `on-demand`, `spot`. -func (o FleetTargetCapacitySpecificationPtrOutput) DefaultTargetCapacityType() pulumi.StringPtrOutput { - return o.ApplyT(func(v *FleetTargetCapacitySpecification) *string { - if v == nil { - return nil - } - return &v.DefaultTargetCapacityType - }).(pulumi.StringPtrOutput) -} - -// The number of On-Demand units to request. -func (o FleetTargetCapacitySpecificationPtrOutput) OnDemandTargetCapacity() pulumi.IntPtrOutput { - return o.ApplyT(func(v *FleetTargetCapacitySpecification) *int { - if v == nil { - return nil - } - return v.OnDemandTargetCapacity - }).(pulumi.IntPtrOutput) -} - -// The number of Spot units to request. -func (o FleetTargetCapacitySpecificationPtrOutput) SpotTargetCapacity() pulumi.IntPtrOutput { - return o.ApplyT(func(v *FleetTargetCapacitySpecification) *int { - if v == nil { - return nil - } - return v.SpotTargetCapacity - }).(pulumi.IntPtrOutput) + }).(FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsOutput) } -// The unit for the target capacity. -// If you specify `targetCapacityUnitType`, `instanceRequirements` must be specified. -func (o FleetTargetCapacitySpecificationPtrOutput) TargetCapacityUnitType() pulumi.StringPtrOutput { - return o.ApplyT(func(v *FleetTargetCapacitySpecification) *string { +// The maximum amount of network bandwidth, in Gbps. To specify no maximum limit, omit this parameter. +func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrOutput) Max() pulumi.Float64PtrOutput { + return o.ApplyT(func(v *FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbps) *float64 { if v == nil { return nil } - return v.TargetCapacityUnitType - }).(pulumi.StringPtrOutput) + return v.Max + }).(pulumi.Float64PtrOutput) } -// The number of units to request, filled using `defaultTargetCapacityType`. -func (o FleetTargetCapacitySpecificationPtrOutput) TotalTargetCapacity() pulumi.IntPtrOutput { - return o.ApplyT(func(v *FleetTargetCapacitySpecification) *int { +// The minimum amount of network bandwidth, in Gbps. To specify no minimum limit, omit this parameter. +func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrOutput) Min() pulumi.Float64PtrOutput { + return o.ApplyT(func(v *FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbps) *float64 { if v == nil { return nil } - return &v.TotalTargetCapacity - }).(pulumi.IntPtrOutput) + return v.Min + }).(pulumi.Float64PtrOutput) } -type FlowLogDestinationOptions struct { - // File format for the flow log. Default value: `plain-text`. Valid values: `plain-text`, `parquet`. - FileFormat *string `pulumi:"fileFormat"` - // Indicates whether to use Hive-compatible prefixes for flow logs stored in Amazon S3. Default value: `false`. - HiveCompatiblePartitions *bool `pulumi:"hiveCompatiblePartitions"` - // Indicates whether to partition the flow log per hour. This reduces the cost and response time for queries. Default value: `false`. - PerHourPartition *bool `pulumi:"perHourPartition"` +type FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCount struct { + // The maximum number of network interfaces. To specify no maximum limit, omit this parameter. + Max *int `pulumi:"max"` + // The minimum number of network interfaces. To specify no minimum limit, omit this parameter. + Min *int `pulumi:"min"` } -// FlowLogDestinationOptionsInput is an input type that accepts FlowLogDestinationOptionsArgs and FlowLogDestinationOptionsOutput values. -// You can construct a concrete instance of `FlowLogDestinationOptionsInput` via: +// FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountInput is an input type that accepts FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountArgs and FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountOutput values. +// You can construct a concrete instance of `FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountInput` via: // -// FlowLogDestinationOptionsArgs{...} -type FlowLogDestinationOptionsInput interface { +// FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountArgs{...} +type FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountInput interface { pulumi.Input - ToFlowLogDestinationOptionsOutput() FlowLogDestinationOptionsOutput - ToFlowLogDestinationOptionsOutputWithContext(context.Context) FlowLogDestinationOptionsOutput + ToFleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountOutput() FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountOutput + ToFleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountOutputWithContext(context.Context) FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountOutput } -type FlowLogDestinationOptionsArgs struct { - // File format for the flow log. Default value: `plain-text`. Valid values: `plain-text`, `parquet`. - FileFormat pulumi.StringPtrInput `pulumi:"fileFormat"` - // Indicates whether to use Hive-compatible prefixes for flow logs stored in Amazon S3. Default value: `false`. - HiveCompatiblePartitions pulumi.BoolPtrInput `pulumi:"hiveCompatiblePartitions"` - // Indicates whether to partition the flow log per hour. This reduces the cost and response time for queries. Default value: `false`. - PerHourPartition pulumi.BoolPtrInput `pulumi:"perHourPartition"` +type FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountArgs struct { + // The maximum number of network interfaces. To specify no maximum limit, omit this parameter. + Max pulumi.IntPtrInput `pulumi:"max"` + // The minimum number of network interfaces. To specify no minimum limit, omit this parameter. + Min pulumi.IntPtrInput `pulumi:"min"` } -func (FlowLogDestinationOptionsArgs) ElementType() reflect.Type { - return reflect.TypeOf((*FlowLogDestinationOptions)(nil)).Elem() +func (FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountArgs) ElementType() reflect.Type { + return reflect.TypeOf((*FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCount)(nil)).Elem() } -func (i FlowLogDestinationOptionsArgs) ToFlowLogDestinationOptionsOutput() FlowLogDestinationOptionsOutput { - return i.ToFlowLogDestinationOptionsOutputWithContext(context.Background()) +func (i FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountArgs) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountOutput() FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountOutput { + return i.ToFleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountOutputWithContext(context.Background()) } -func (i FlowLogDestinationOptionsArgs) ToFlowLogDestinationOptionsOutputWithContext(ctx context.Context) FlowLogDestinationOptionsOutput { - return pulumi.ToOutputWithContext(ctx, i).(FlowLogDestinationOptionsOutput) +func (i FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountArgs) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountOutputWithContext(ctx context.Context) FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountOutput { + return pulumi.ToOutputWithContext(ctx, i).(FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountOutput) } -func (i FlowLogDestinationOptionsArgs) ToFlowLogDestinationOptionsPtrOutput() FlowLogDestinationOptionsPtrOutput { - return i.ToFlowLogDestinationOptionsPtrOutputWithContext(context.Background()) +func (i FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountArgs) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrOutput() FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrOutput { + return i.ToFleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrOutputWithContext(context.Background()) } -func (i FlowLogDestinationOptionsArgs) ToFlowLogDestinationOptionsPtrOutputWithContext(ctx context.Context) FlowLogDestinationOptionsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(FlowLogDestinationOptionsOutput).ToFlowLogDestinationOptionsPtrOutputWithContext(ctx) +func (i FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountArgs) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrOutputWithContext(ctx context.Context) FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountOutput).ToFleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrOutputWithContext(ctx) } -// FlowLogDestinationOptionsPtrInput is an input type that accepts FlowLogDestinationOptionsArgs, FlowLogDestinationOptionsPtr and FlowLogDestinationOptionsPtrOutput values. -// You can construct a concrete instance of `FlowLogDestinationOptionsPtrInput` via: +// FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrInput is an input type that accepts FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountArgs, FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtr and FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrOutput values. +// You can construct a concrete instance of `FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrInput` via: // -// FlowLogDestinationOptionsArgs{...} +// FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountArgs{...} // // or: // // nil -type FlowLogDestinationOptionsPtrInput interface { +type FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrInput interface { pulumi.Input - ToFlowLogDestinationOptionsPtrOutput() FlowLogDestinationOptionsPtrOutput - ToFlowLogDestinationOptionsPtrOutputWithContext(context.Context) FlowLogDestinationOptionsPtrOutput + ToFleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrOutput() FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrOutput + ToFleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrOutputWithContext(context.Context) FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrOutput } -type flowLogDestinationOptionsPtrType FlowLogDestinationOptionsArgs +type fleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrType FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountArgs -func FlowLogDestinationOptionsPtr(v *FlowLogDestinationOptionsArgs) FlowLogDestinationOptionsPtrInput { - return (*flowLogDestinationOptionsPtrType)(v) +func FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtr(v *FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountArgs) FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrInput { + return (*fleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrType)(v) } -func (*flowLogDestinationOptionsPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**FlowLogDestinationOptions)(nil)).Elem() +func (*fleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCount)(nil)).Elem() } -func (i *flowLogDestinationOptionsPtrType) ToFlowLogDestinationOptionsPtrOutput() FlowLogDestinationOptionsPtrOutput { - return i.ToFlowLogDestinationOptionsPtrOutputWithContext(context.Background()) +func (i *fleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrType) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrOutput() FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrOutput { + return i.ToFleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrOutputWithContext(context.Background()) } -func (i *flowLogDestinationOptionsPtrType) ToFlowLogDestinationOptionsPtrOutputWithContext(ctx context.Context) FlowLogDestinationOptionsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(FlowLogDestinationOptionsPtrOutput) +func (i *fleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrType) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrOutputWithContext(ctx context.Context) FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrOutput) } -type FlowLogDestinationOptionsOutput struct{ *pulumi.OutputState } +type FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountOutput struct{ *pulumi.OutputState } -func (FlowLogDestinationOptionsOutput) ElementType() reflect.Type { - return reflect.TypeOf((*FlowLogDestinationOptions)(nil)).Elem() +func (FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountOutput) ElementType() reflect.Type { + return reflect.TypeOf((*FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCount)(nil)).Elem() } -func (o FlowLogDestinationOptionsOutput) ToFlowLogDestinationOptionsOutput() FlowLogDestinationOptionsOutput { +func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountOutput) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountOutput() FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountOutput { return o } -func (o FlowLogDestinationOptionsOutput) ToFlowLogDestinationOptionsOutputWithContext(ctx context.Context) FlowLogDestinationOptionsOutput { +func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountOutput) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountOutputWithContext(ctx context.Context) FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountOutput { return o } -func (o FlowLogDestinationOptionsOutput) ToFlowLogDestinationOptionsPtrOutput() FlowLogDestinationOptionsPtrOutput { - return o.ToFlowLogDestinationOptionsPtrOutputWithContext(context.Background()) +func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountOutput) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrOutput() FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrOutput { + return o.ToFleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrOutputWithContext(context.Background()) } -func (o FlowLogDestinationOptionsOutput) ToFlowLogDestinationOptionsPtrOutputWithContext(ctx context.Context) FlowLogDestinationOptionsPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v FlowLogDestinationOptions) *FlowLogDestinationOptions { +func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountOutput) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrOutputWithContext(ctx context.Context) FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCount) *FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCount { return &v - }).(FlowLogDestinationOptionsPtrOutput) -} - -// File format for the flow log. Default value: `plain-text`. Valid values: `plain-text`, `parquet`. -func (o FlowLogDestinationOptionsOutput) FileFormat() pulumi.StringPtrOutput { - return o.ApplyT(func(v FlowLogDestinationOptions) *string { return v.FileFormat }).(pulumi.StringPtrOutput) + }).(FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrOutput) } -// Indicates whether to use Hive-compatible prefixes for flow logs stored in Amazon S3. Default value: `false`. -func (o FlowLogDestinationOptionsOutput) HiveCompatiblePartitions() pulumi.BoolPtrOutput { - return o.ApplyT(func(v FlowLogDestinationOptions) *bool { return v.HiveCompatiblePartitions }).(pulumi.BoolPtrOutput) +// The maximum number of network interfaces. To specify no maximum limit, omit this parameter. +func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountOutput) Max() pulumi.IntPtrOutput { + return o.ApplyT(func(v FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCount) *int { return v.Max }).(pulumi.IntPtrOutput) } -// Indicates whether to partition the flow log per hour. This reduces the cost and response time for queries. Default value: `false`. -func (o FlowLogDestinationOptionsOutput) PerHourPartition() pulumi.BoolPtrOutput { - return o.ApplyT(func(v FlowLogDestinationOptions) *bool { return v.PerHourPartition }).(pulumi.BoolPtrOutput) +// The minimum number of network interfaces. To specify no minimum limit, omit this parameter. +func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountOutput) Min() pulumi.IntPtrOutput { + return o.ApplyT(func(v FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCount) *int { return v.Min }).(pulumi.IntPtrOutput) } -type FlowLogDestinationOptionsPtrOutput struct{ *pulumi.OutputState } +type FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrOutput struct{ *pulumi.OutputState } -func (FlowLogDestinationOptionsPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**FlowLogDestinationOptions)(nil)).Elem() +func (FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCount)(nil)).Elem() } -func (o FlowLogDestinationOptionsPtrOutput) ToFlowLogDestinationOptionsPtrOutput() FlowLogDestinationOptionsPtrOutput { +func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrOutput) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrOutput() FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrOutput { return o } -func (o FlowLogDestinationOptionsPtrOutput) ToFlowLogDestinationOptionsPtrOutputWithContext(ctx context.Context) FlowLogDestinationOptionsPtrOutput { +func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrOutput) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrOutputWithContext(ctx context.Context) FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrOutput { return o } -func (o FlowLogDestinationOptionsPtrOutput) Elem() FlowLogDestinationOptionsOutput { - return o.ApplyT(func(v *FlowLogDestinationOptions) FlowLogDestinationOptions { +func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrOutput) Elem() FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountOutput { + return o.ApplyT(func(v *FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCount) FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCount { if v != nil { return *v } - var ret FlowLogDestinationOptions + var ret FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCount return ret - }).(FlowLogDestinationOptionsOutput) -} - -// File format for the flow log. Default value: `plain-text`. Valid values: `plain-text`, `parquet`. -func (o FlowLogDestinationOptionsPtrOutput) FileFormat() pulumi.StringPtrOutput { - return o.ApplyT(func(v *FlowLogDestinationOptions) *string { - if v == nil { - return nil - } - return v.FileFormat - }).(pulumi.StringPtrOutput) + }).(FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountOutput) } -// Indicates whether to use Hive-compatible prefixes for flow logs stored in Amazon S3. Default value: `false`. -func (o FlowLogDestinationOptionsPtrOutput) HiveCompatiblePartitions() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *FlowLogDestinationOptions) *bool { +// The maximum number of network interfaces. To specify no maximum limit, omit this parameter. +func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrOutput) Max() pulumi.IntPtrOutput { + return o.ApplyT(func(v *FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCount) *int { if v == nil { return nil } - return v.HiveCompatiblePartitions - }).(pulumi.BoolPtrOutput) + return v.Max + }).(pulumi.IntPtrOutput) } -// Indicates whether to partition the flow log per hour. This reduces the cost and response time for queries. Default value: `false`. -func (o FlowLogDestinationOptionsPtrOutput) PerHourPartition() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *FlowLogDestinationOptions) *bool { +// The minimum number of network interfaces. To specify no minimum limit, omit this parameter. +func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrOutput) Min() pulumi.IntPtrOutput { + return o.ApplyT(func(v *FleetLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCount) *int { if v == nil { return nil } - return v.PerHourPartition - }).(pulumi.BoolPtrOutput) + return v.Min + }).(pulumi.IntPtrOutput) } -type InstanceCapacityReservationSpecification struct { - // Indicates the instance's Capacity Reservation preferences. Can be `"open"` or `"none"`. (Default: `"open"`). - CapacityReservationPreference *string `pulumi:"capacityReservationPreference"` - // Information about the target Capacity Reservation. See Capacity Reservation Target below for more details. - // - // For more information, see the documentation on [Capacity Reservations](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/capacity-reservations-using.html). - CapacityReservationTarget *InstanceCapacityReservationSpecificationCapacityReservationTarget `pulumi:"capacityReservationTarget"` +type FleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGb struct { + // The maximum amount of total local storage, in GB. To specify no maximum limit, omit this parameter. + Max *float64 `pulumi:"max"` + // The minimum amount of total local storage, in GB. To specify no minimum limit, omit this parameter. + Min *float64 `pulumi:"min"` } -// InstanceCapacityReservationSpecificationInput is an input type that accepts InstanceCapacityReservationSpecificationArgs and InstanceCapacityReservationSpecificationOutput values. -// You can construct a concrete instance of `InstanceCapacityReservationSpecificationInput` via: +// FleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbInput is an input type that accepts FleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbArgs and FleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbOutput values. +// You can construct a concrete instance of `FleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbInput` via: // -// InstanceCapacityReservationSpecificationArgs{...} -type InstanceCapacityReservationSpecificationInput interface { +// FleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbArgs{...} +type FleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbInput interface { pulumi.Input - ToInstanceCapacityReservationSpecificationOutput() InstanceCapacityReservationSpecificationOutput - ToInstanceCapacityReservationSpecificationOutputWithContext(context.Context) InstanceCapacityReservationSpecificationOutput + ToFleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbOutput() FleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbOutput + ToFleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbOutputWithContext(context.Context) FleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbOutput } -type InstanceCapacityReservationSpecificationArgs struct { - // Indicates the instance's Capacity Reservation preferences. Can be `"open"` or `"none"`. (Default: `"open"`). - CapacityReservationPreference pulumi.StringPtrInput `pulumi:"capacityReservationPreference"` - // Information about the target Capacity Reservation. See Capacity Reservation Target below for more details. - // - // For more information, see the documentation on [Capacity Reservations](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/capacity-reservations-using.html). - CapacityReservationTarget InstanceCapacityReservationSpecificationCapacityReservationTargetPtrInput `pulumi:"capacityReservationTarget"` +type FleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbArgs struct { + // The maximum amount of total local storage, in GB. To specify no maximum limit, omit this parameter. + Max pulumi.Float64PtrInput `pulumi:"max"` + // The minimum amount of total local storage, in GB. To specify no minimum limit, omit this parameter. + Min pulumi.Float64PtrInput `pulumi:"min"` } -func (InstanceCapacityReservationSpecificationArgs) ElementType() reflect.Type { - return reflect.TypeOf((*InstanceCapacityReservationSpecification)(nil)).Elem() +func (FleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbArgs) ElementType() reflect.Type { + return reflect.TypeOf((*FleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGb)(nil)).Elem() } -func (i InstanceCapacityReservationSpecificationArgs) ToInstanceCapacityReservationSpecificationOutput() InstanceCapacityReservationSpecificationOutput { - return i.ToInstanceCapacityReservationSpecificationOutputWithContext(context.Background()) +func (i FleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbArgs) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbOutput() FleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbOutput { + return i.ToFleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbOutputWithContext(context.Background()) } -func (i InstanceCapacityReservationSpecificationArgs) ToInstanceCapacityReservationSpecificationOutputWithContext(ctx context.Context) InstanceCapacityReservationSpecificationOutput { - return pulumi.ToOutputWithContext(ctx, i).(InstanceCapacityReservationSpecificationOutput) +func (i FleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbArgs) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbOutputWithContext(ctx context.Context) FleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbOutput { + return pulumi.ToOutputWithContext(ctx, i).(FleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbOutput) } -func (i InstanceCapacityReservationSpecificationArgs) ToInstanceCapacityReservationSpecificationPtrOutput() InstanceCapacityReservationSpecificationPtrOutput { - return i.ToInstanceCapacityReservationSpecificationPtrOutputWithContext(context.Background()) +func (i FleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbArgs) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrOutput() FleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrOutput { + return i.ToFleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrOutputWithContext(context.Background()) } -func (i InstanceCapacityReservationSpecificationArgs) ToInstanceCapacityReservationSpecificationPtrOutputWithContext(ctx context.Context) InstanceCapacityReservationSpecificationPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(InstanceCapacityReservationSpecificationOutput).ToInstanceCapacityReservationSpecificationPtrOutputWithContext(ctx) +func (i FleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbArgs) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrOutputWithContext(ctx context.Context) FleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(FleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbOutput).ToFleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrOutputWithContext(ctx) } -// InstanceCapacityReservationSpecificationPtrInput is an input type that accepts InstanceCapacityReservationSpecificationArgs, InstanceCapacityReservationSpecificationPtr and InstanceCapacityReservationSpecificationPtrOutput values. -// You can construct a concrete instance of `InstanceCapacityReservationSpecificationPtrInput` via: +// FleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrInput is an input type that accepts FleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbArgs, FleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtr and FleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrOutput values. +// You can construct a concrete instance of `FleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrInput` via: // -// InstanceCapacityReservationSpecificationArgs{...} +// FleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbArgs{...} // // or: // // nil -type InstanceCapacityReservationSpecificationPtrInput interface { +type FleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrInput interface { pulumi.Input - ToInstanceCapacityReservationSpecificationPtrOutput() InstanceCapacityReservationSpecificationPtrOutput - ToInstanceCapacityReservationSpecificationPtrOutputWithContext(context.Context) InstanceCapacityReservationSpecificationPtrOutput + ToFleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrOutput() FleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrOutput + ToFleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrOutputWithContext(context.Context) FleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrOutput } -type instanceCapacityReservationSpecificationPtrType InstanceCapacityReservationSpecificationArgs +type fleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrType FleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbArgs -func InstanceCapacityReservationSpecificationPtr(v *InstanceCapacityReservationSpecificationArgs) InstanceCapacityReservationSpecificationPtrInput { - return (*instanceCapacityReservationSpecificationPtrType)(v) +func FleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtr(v *FleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbArgs) FleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrInput { + return (*fleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrType)(v) } -func (*instanceCapacityReservationSpecificationPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**InstanceCapacityReservationSpecification)(nil)).Elem() +func (*fleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**FleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGb)(nil)).Elem() } -func (i *instanceCapacityReservationSpecificationPtrType) ToInstanceCapacityReservationSpecificationPtrOutput() InstanceCapacityReservationSpecificationPtrOutput { - return i.ToInstanceCapacityReservationSpecificationPtrOutputWithContext(context.Background()) +func (i *fleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrType) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrOutput() FleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrOutput { + return i.ToFleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrOutputWithContext(context.Background()) } -func (i *instanceCapacityReservationSpecificationPtrType) ToInstanceCapacityReservationSpecificationPtrOutputWithContext(ctx context.Context) InstanceCapacityReservationSpecificationPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(InstanceCapacityReservationSpecificationPtrOutput) +func (i *fleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrType) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrOutputWithContext(ctx context.Context) FleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(FleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrOutput) } -type InstanceCapacityReservationSpecificationOutput struct{ *pulumi.OutputState } +type FleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbOutput struct{ *pulumi.OutputState } -func (InstanceCapacityReservationSpecificationOutput) ElementType() reflect.Type { - return reflect.TypeOf((*InstanceCapacityReservationSpecification)(nil)).Elem() +func (FleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbOutput) ElementType() reflect.Type { + return reflect.TypeOf((*FleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGb)(nil)).Elem() } -func (o InstanceCapacityReservationSpecificationOutput) ToInstanceCapacityReservationSpecificationOutput() InstanceCapacityReservationSpecificationOutput { +func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbOutput) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbOutput() FleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbOutput { return o } -func (o InstanceCapacityReservationSpecificationOutput) ToInstanceCapacityReservationSpecificationOutputWithContext(ctx context.Context) InstanceCapacityReservationSpecificationOutput { +func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbOutput) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbOutputWithContext(ctx context.Context) FleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbOutput { return o } -func (o InstanceCapacityReservationSpecificationOutput) ToInstanceCapacityReservationSpecificationPtrOutput() InstanceCapacityReservationSpecificationPtrOutput { - return o.ToInstanceCapacityReservationSpecificationPtrOutputWithContext(context.Background()) +func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbOutput) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrOutput() FleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrOutput { + return o.ToFleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrOutputWithContext(context.Background()) } -func (o InstanceCapacityReservationSpecificationOutput) ToInstanceCapacityReservationSpecificationPtrOutputWithContext(ctx context.Context) InstanceCapacityReservationSpecificationPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v InstanceCapacityReservationSpecification) *InstanceCapacityReservationSpecification { +func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbOutput) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrOutputWithContext(ctx context.Context) FleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v FleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGb) *FleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGb { return &v - }).(InstanceCapacityReservationSpecificationPtrOutput) + }).(FleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrOutput) } -// Indicates the instance's Capacity Reservation preferences. Can be `"open"` or `"none"`. (Default: `"open"`). -func (o InstanceCapacityReservationSpecificationOutput) CapacityReservationPreference() pulumi.StringPtrOutput { - return o.ApplyT(func(v InstanceCapacityReservationSpecification) *string { return v.CapacityReservationPreference }).(pulumi.StringPtrOutput) +// The maximum amount of total local storage, in GB. To specify no maximum limit, omit this parameter. +func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbOutput) Max() pulumi.Float64PtrOutput { + return o.ApplyT(func(v FleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGb) *float64 { + return v.Max + }).(pulumi.Float64PtrOutput) } -// Information about the target Capacity Reservation. See Capacity Reservation Target below for more details. -// -// For more information, see the documentation on [Capacity Reservations](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/capacity-reservations-using.html). -func (o InstanceCapacityReservationSpecificationOutput) CapacityReservationTarget() InstanceCapacityReservationSpecificationCapacityReservationTargetPtrOutput { - return o.ApplyT(func(v InstanceCapacityReservationSpecification) *InstanceCapacityReservationSpecificationCapacityReservationTarget { - return v.CapacityReservationTarget - }).(InstanceCapacityReservationSpecificationCapacityReservationTargetPtrOutput) +// The minimum amount of total local storage, in GB. To specify no minimum limit, omit this parameter. +func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbOutput) Min() pulumi.Float64PtrOutput { + return o.ApplyT(func(v FleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGb) *float64 { + return v.Min + }).(pulumi.Float64PtrOutput) } -type InstanceCapacityReservationSpecificationPtrOutput struct{ *pulumi.OutputState } +type FleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrOutput struct{ *pulumi.OutputState } -func (InstanceCapacityReservationSpecificationPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**InstanceCapacityReservationSpecification)(nil)).Elem() +func (FleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**FleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGb)(nil)).Elem() } -func (o InstanceCapacityReservationSpecificationPtrOutput) ToInstanceCapacityReservationSpecificationPtrOutput() InstanceCapacityReservationSpecificationPtrOutput { +func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrOutput) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrOutput() FleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrOutput { return o } -func (o InstanceCapacityReservationSpecificationPtrOutput) ToInstanceCapacityReservationSpecificationPtrOutputWithContext(ctx context.Context) InstanceCapacityReservationSpecificationPtrOutput { +func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrOutput) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrOutputWithContext(ctx context.Context) FleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrOutput { return o } -func (o InstanceCapacityReservationSpecificationPtrOutput) Elem() InstanceCapacityReservationSpecificationOutput { - return o.ApplyT(func(v *InstanceCapacityReservationSpecification) InstanceCapacityReservationSpecification { +func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrOutput) Elem() FleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbOutput { + return o.ApplyT(func(v *FleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGb) FleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGb { if v != nil { return *v } - var ret InstanceCapacityReservationSpecification + var ret FleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGb return ret - }).(InstanceCapacityReservationSpecificationOutput) + }).(FleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbOutput) } -// Indicates the instance's Capacity Reservation preferences. Can be `"open"` or `"none"`. (Default: `"open"`). -func (o InstanceCapacityReservationSpecificationPtrOutput) CapacityReservationPreference() pulumi.StringPtrOutput { - return o.ApplyT(func(v *InstanceCapacityReservationSpecification) *string { +// The maximum amount of total local storage, in GB. To specify no maximum limit, omit this parameter. +func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrOutput) Max() pulumi.Float64PtrOutput { + return o.ApplyT(func(v *FleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGb) *float64 { if v == nil { return nil } - return v.CapacityReservationPreference - }).(pulumi.StringPtrOutput) + return v.Max + }).(pulumi.Float64PtrOutput) } -// Information about the target Capacity Reservation. See Capacity Reservation Target below for more details. -// -// For more information, see the documentation on [Capacity Reservations](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/capacity-reservations-using.html). -func (o InstanceCapacityReservationSpecificationPtrOutput) CapacityReservationTarget() InstanceCapacityReservationSpecificationCapacityReservationTargetPtrOutput { - return o.ApplyT(func(v *InstanceCapacityReservationSpecification) *InstanceCapacityReservationSpecificationCapacityReservationTarget { +// The minimum amount of total local storage, in GB. To specify no minimum limit, omit this parameter. +func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrOutput) Min() pulumi.Float64PtrOutput { + return o.ApplyT(func(v *FleetLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGb) *float64 { if v == nil { return nil } - return v.CapacityReservationTarget - }).(InstanceCapacityReservationSpecificationCapacityReservationTargetPtrOutput) + return v.Min + }).(pulumi.Float64PtrOutput) } -type InstanceCapacityReservationSpecificationCapacityReservationTarget struct { - // ID of the Capacity Reservation in which to run the instance. - CapacityReservationId *string `pulumi:"capacityReservationId"` - // ARN of the Capacity Reservation resource group in which to run the instance. - CapacityReservationResourceGroupArn *string `pulumi:"capacityReservationResourceGroupArn"` +type FleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCount struct { + // The maximum number of vCPUs. To specify no maximum limit, omit this parameter. + Max *int `pulumi:"max"` + // The minimum number of vCPUs. To specify no minimum limit, specify `0`. + Min int `pulumi:"min"` } -// InstanceCapacityReservationSpecificationCapacityReservationTargetInput is an input type that accepts InstanceCapacityReservationSpecificationCapacityReservationTargetArgs and InstanceCapacityReservationSpecificationCapacityReservationTargetOutput values. -// You can construct a concrete instance of `InstanceCapacityReservationSpecificationCapacityReservationTargetInput` via: +// FleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountInput is an input type that accepts FleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountArgs and FleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountOutput values. +// You can construct a concrete instance of `FleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountInput` via: // -// InstanceCapacityReservationSpecificationCapacityReservationTargetArgs{...} -type InstanceCapacityReservationSpecificationCapacityReservationTargetInput interface { +// FleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountArgs{...} +type FleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountInput interface { pulumi.Input - ToInstanceCapacityReservationSpecificationCapacityReservationTargetOutput() InstanceCapacityReservationSpecificationCapacityReservationTargetOutput - ToInstanceCapacityReservationSpecificationCapacityReservationTargetOutputWithContext(context.Context) InstanceCapacityReservationSpecificationCapacityReservationTargetOutput + ToFleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountOutput() FleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountOutput + ToFleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountOutputWithContext(context.Context) FleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountOutput } -type InstanceCapacityReservationSpecificationCapacityReservationTargetArgs struct { - // ID of the Capacity Reservation in which to run the instance. - CapacityReservationId pulumi.StringPtrInput `pulumi:"capacityReservationId"` - // ARN of the Capacity Reservation resource group in which to run the instance. - CapacityReservationResourceGroupArn pulumi.StringPtrInput `pulumi:"capacityReservationResourceGroupArn"` +type FleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountArgs struct { + // The maximum number of vCPUs. To specify no maximum limit, omit this parameter. + Max pulumi.IntPtrInput `pulumi:"max"` + // The minimum number of vCPUs. To specify no minimum limit, specify `0`. + Min pulumi.IntInput `pulumi:"min"` } -func (InstanceCapacityReservationSpecificationCapacityReservationTargetArgs) ElementType() reflect.Type { - return reflect.TypeOf((*InstanceCapacityReservationSpecificationCapacityReservationTarget)(nil)).Elem() +func (FleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountArgs) ElementType() reflect.Type { + return reflect.TypeOf((*FleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCount)(nil)).Elem() } -func (i InstanceCapacityReservationSpecificationCapacityReservationTargetArgs) ToInstanceCapacityReservationSpecificationCapacityReservationTargetOutput() InstanceCapacityReservationSpecificationCapacityReservationTargetOutput { - return i.ToInstanceCapacityReservationSpecificationCapacityReservationTargetOutputWithContext(context.Background()) +func (i FleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountArgs) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountOutput() FleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountOutput { + return i.ToFleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountOutputWithContext(context.Background()) } -func (i InstanceCapacityReservationSpecificationCapacityReservationTargetArgs) ToInstanceCapacityReservationSpecificationCapacityReservationTargetOutputWithContext(ctx context.Context) InstanceCapacityReservationSpecificationCapacityReservationTargetOutput { - return pulumi.ToOutputWithContext(ctx, i).(InstanceCapacityReservationSpecificationCapacityReservationTargetOutput) +func (i FleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountArgs) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountOutputWithContext(ctx context.Context) FleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountOutput { + return pulumi.ToOutputWithContext(ctx, i).(FleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountOutput) } -func (i InstanceCapacityReservationSpecificationCapacityReservationTargetArgs) ToInstanceCapacityReservationSpecificationCapacityReservationTargetPtrOutput() InstanceCapacityReservationSpecificationCapacityReservationTargetPtrOutput { - return i.ToInstanceCapacityReservationSpecificationCapacityReservationTargetPtrOutputWithContext(context.Background()) +func (i FleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountArgs) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrOutput() FleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrOutput { + return i.ToFleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrOutputWithContext(context.Background()) } -func (i InstanceCapacityReservationSpecificationCapacityReservationTargetArgs) ToInstanceCapacityReservationSpecificationCapacityReservationTargetPtrOutputWithContext(ctx context.Context) InstanceCapacityReservationSpecificationCapacityReservationTargetPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(InstanceCapacityReservationSpecificationCapacityReservationTargetOutput).ToInstanceCapacityReservationSpecificationCapacityReservationTargetPtrOutputWithContext(ctx) +func (i FleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountArgs) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrOutputWithContext(ctx context.Context) FleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(FleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountOutput).ToFleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrOutputWithContext(ctx) } -// InstanceCapacityReservationSpecificationCapacityReservationTargetPtrInput is an input type that accepts InstanceCapacityReservationSpecificationCapacityReservationTargetArgs, InstanceCapacityReservationSpecificationCapacityReservationTargetPtr and InstanceCapacityReservationSpecificationCapacityReservationTargetPtrOutput values. -// You can construct a concrete instance of `InstanceCapacityReservationSpecificationCapacityReservationTargetPtrInput` via: +// FleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrInput is an input type that accepts FleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountArgs, FleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtr and FleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrOutput values. +// You can construct a concrete instance of `FleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrInput` via: // -// InstanceCapacityReservationSpecificationCapacityReservationTargetArgs{...} +// FleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountArgs{...} // // or: // // nil -type InstanceCapacityReservationSpecificationCapacityReservationTargetPtrInput interface { +type FleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrInput interface { pulumi.Input - ToInstanceCapacityReservationSpecificationCapacityReservationTargetPtrOutput() InstanceCapacityReservationSpecificationCapacityReservationTargetPtrOutput - ToInstanceCapacityReservationSpecificationCapacityReservationTargetPtrOutputWithContext(context.Context) InstanceCapacityReservationSpecificationCapacityReservationTargetPtrOutput + ToFleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrOutput() FleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrOutput + ToFleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrOutputWithContext(context.Context) FleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrOutput } -type instanceCapacityReservationSpecificationCapacityReservationTargetPtrType InstanceCapacityReservationSpecificationCapacityReservationTargetArgs +type fleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrType FleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountArgs -func InstanceCapacityReservationSpecificationCapacityReservationTargetPtr(v *InstanceCapacityReservationSpecificationCapacityReservationTargetArgs) InstanceCapacityReservationSpecificationCapacityReservationTargetPtrInput { - return (*instanceCapacityReservationSpecificationCapacityReservationTargetPtrType)(v) +func FleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtr(v *FleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountArgs) FleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrInput { + return (*fleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrType)(v) } -func (*instanceCapacityReservationSpecificationCapacityReservationTargetPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**InstanceCapacityReservationSpecificationCapacityReservationTarget)(nil)).Elem() +func (*fleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**FleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCount)(nil)).Elem() } -func (i *instanceCapacityReservationSpecificationCapacityReservationTargetPtrType) ToInstanceCapacityReservationSpecificationCapacityReservationTargetPtrOutput() InstanceCapacityReservationSpecificationCapacityReservationTargetPtrOutput { - return i.ToInstanceCapacityReservationSpecificationCapacityReservationTargetPtrOutputWithContext(context.Background()) +func (i *fleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrType) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrOutput() FleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrOutput { + return i.ToFleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrOutputWithContext(context.Background()) } -func (i *instanceCapacityReservationSpecificationCapacityReservationTargetPtrType) ToInstanceCapacityReservationSpecificationCapacityReservationTargetPtrOutputWithContext(ctx context.Context) InstanceCapacityReservationSpecificationCapacityReservationTargetPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(InstanceCapacityReservationSpecificationCapacityReservationTargetPtrOutput) +func (i *fleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrType) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrOutputWithContext(ctx context.Context) FleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(FleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrOutput) } -type InstanceCapacityReservationSpecificationCapacityReservationTargetOutput struct{ *pulumi.OutputState } +type FleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountOutput struct{ *pulumi.OutputState } -func (InstanceCapacityReservationSpecificationCapacityReservationTargetOutput) ElementType() reflect.Type { - return reflect.TypeOf((*InstanceCapacityReservationSpecificationCapacityReservationTarget)(nil)).Elem() +func (FleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountOutput) ElementType() reflect.Type { + return reflect.TypeOf((*FleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCount)(nil)).Elem() } -func (o InstanceCapacityReservationSpecificationCapacityReservationTargetOutput) ToInstanceCapacityReservationSpecificationCapacityReservationTargetOutput() InstanceCapacityReservationSpecificationCapacityReservationTargetOutput { +func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountOutput) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountOutput() FleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountOutput { return o } -func (o InstanceCapacityReservationSpecificationCapacityReservationTargetOutput) ToInstanceCapacityReservationSpecificationCapacityReservationTargetOutputWithContext(ctx context.Context) InstanceCapacityReservationSpecificationCapacityReservationTargetOutput { +func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountOutput) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountOutputWithContext(ctx context.Context) FleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountOutput { return o } -func (o InstanceCapacityReservationSpecificationCapacityReservationTargetOutput) ToInstanceCapacityReservationSpecificationCapacityReservationTargetPtrOutput() InstanceCapacityReservationSpecificationCapacityReservationTargetPtrOutput { - return o.ToInstanceCapacityReservationSpecificationCapacityReservationTargetPtrOutputWithContext(context.Background()) +func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountOutput) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrOutput() FleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrOutput { + return o.ToFleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrOutputWithContext(context.Background()) } -func (o InstanceCapacityReservationSpecificationCapacityReservationTargetOutput) ToInstanceCapacityReservationSpecificationCapacityReservationTargetPtrOutputWithContext(ctx context.Context) InstanceCapacityReservationSpecificationCapacityReservationTargetPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v InstanceCapacityReservationSpecificationCapacityReservationTarget) *InstanceCapacityReservationSpecificationCapacityReservationTarget { +func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountOutput) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrOutputWithContext(ctx context.Context) FleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v FleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCount) *FleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCount { return &v - }).(InstanceCapacityReservationSpecificationCapacityReservationTargetPtrOutput) + }).(FleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrOutput) } -// ID of the Capacity Reservation in which to run the instance. -func (o InstanceCapacityReservationSpecificationCapacityReservationTargetOutput) CapacityReservationId() pulumi.StringPtrOutput { - return o.ApplyT(func(v InstanceCapacityReservationSpecificationCapacityReservationTarget) *string { - return v.CapacityReservationId - }).(pulumi.StringPtrOutput) +// The maximum number of vCPUs. To specify no maximum limit, omit this parameter. +func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountOutput) Max() pulumi.IntPtrOutput { + return o.ApplyT(func(v FleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCount) *int { return v.Max }).(pulumi.IntPtrOutput) } -// ARN of the Capacity Reservation resource group in which to run the instance. -func (o InstanceCapacityReservationSpecificationCapacityReservationTargetOutput) CapacityReservationResourceGroupArn() pulumi.StringPtrOutput { - return o.ApplyT(func(v InstanceCapacityReservationSpecificationCapacityReservationTarget) *string { - return v.CapacityReservationResourceGroupArn - }).(pulumi.StringPtrOutput) +// The minimum number of vCPUs. To specify no minimum limit, specify `0`. +func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountOutput) Min() pulumi.IntOutput { + return o.ApplyT(func(v FleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCount) int { return v.Min }).(pulumi.IntOutput) } -type InstanceCapacityReservationSpecificationCapacityReservationTargetPtrOutput struct{ *pulumi.OutputState } +type FleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrOutput struct{ *pulumi.OutputState } -func (InstanceCapacityReservationSpecificationCapacityReservationTargetPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**InstanceCapacityReservationSpecificationCapacityReservationTarget)(nil)).Elem() +func (FleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**FleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCount)(nil)).Elem() } -func (o InstanceCapacityReservationSpecificationCapacityReservationTargetPtrOutput) ToInstanceCapacityReservationSpecificationCapacityReservationTargetPtrOutput() InstanceCapacityReservationSpecificationCapacityReservationTargetPtrOutput { +func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrOutput) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrOutput() FleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrOutput { return o } -func (o InstanceCapacityReservationSpecificationCapacityReservationTargetPtrOutput) ToInstanceCapacityReservationSpecificationCapacityReservationTargetPtrOutputWithContext(ctx context.Context) InstanceCapacityReservationSpecificationCapacityReservationTargetPtrOutput { +func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrOutput) ToFleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrOutputWithContext(ctx context.Context) FleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrOutput { return o } -func (o InstanceCapacityReservationSpecificationCapacityReservationTargetPtrOutput) Elem() InstanceCapacityReservationSpecificationCapacityReservationTargetOutput { - return o.ApplyT(func(v *InstanceCapacityReservationSpecificationCapacityReservationTarget) InstanceCapacityReservationSpecificationCapacityReservationTarget { +func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrOutput) Elem() FleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountOutput { + return o.ApplyT(func(v *FleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCount) FleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCount { if v != nil { return *v } - var ret InstanceCapacityReservationSpecificationCapacityReservationTarget + var ret FleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCount return ret - }).(InstanceCapacityReservationSpecificationCapacityReservationTargetOutput) + }).(FleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountOutput) } -// ID of the Capacity Reservation in which to run the instance. -func (o InstanceCapacityReservationSpecificationCapacityReservationTargetPtrOutput) CapacityReservationId() pulumi.StringPtrOutput { - return o.ApplyT(func(v *InstanceCapacityReservationSpecificationCapacityReservationTarget) *string { +// The maximum number of vCPUs. To specify no maximum limit, omit this parameter. +func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrOutput) Max() pulumi.IntPtrOutput { + return o.ApplyT(func(v *FleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCount) *int { if v == nil { return nil } - return v.CapacityReservationId - }).(pulumi.StringPtrOutput) + return v.Max + }).(pulumi.IntPtrOutput) } -// ARN of the Capacity Reservation resource group in which to run the instance. -func (o InstanceCapacityReservationSpecificationCapacityReservationTargetPtrOutput) CapacityReservationResourceGroupArn() pulumi.StringPtrOutput { - return o.ApplyT(func(v *InstanceCapacityReservationSpecificationCapacityReservationTarget) *string { +// The minimum number of vCPUs. To specify no minimum limit, specify `0`. +func (o FleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrOutput) Min() pulumi.IntPtrOutput { + return o.ApplyT(func(v *FleetLaunchTemplateConfigOverrideInstanceRequirementsVcpuCount) *int { if v == nil { return nil } - return v.CapacityReservationResourceGroupArn - }).(pulumi.StringPtrOutput) + return &v.Min + }).(pulumi.IntPtrOutput) } -type InstanceCpuOptions struct { - // Indicates whether to enable the instance for AMD SEV-SNP. AMD SEV-SNP is supported with M6a, R6a, and C6a instance types only. Valid values are `enabled` and `disabled`. - AmdSevSnp *string `pulumi:"amdSevSnp"` - // Sets the number of CPU cores for an instance. This option is only supported on creation of instance type that support CPU Options [CPU Cores and Threads Per CPU Core Per Instance Type](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-optimize-cpu.html#cpu-options-supported-instances-values) - specifying this option for unsupported instance types will return an error from the EC2 API. - CoreCount *int `pulumi:"coreCount"` - // If set to 1, hyperthreading is disabled on the launched instance. Defaults to 2 if not set. See [Optimizing CPU Options](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-optimize-cpu.html) for more information. - // - // For more information, see the documentation on [Optimizing CPU options](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-optimize-cpu.html). - ThreadsPerCore *int `pulumi:"threadsPerCore"` +type FleetOnDemandOptions struct { + // The order of the launch template overrides to use in fulfilling On-Demand capacity. Valid values: `lowestPrice`, `prioritized`. Default: `lowestPrice`. + AllocationStrategy *string `pulumi:"allocationStrategy"` + // The strategy for using unused Capacity Reservations for fulfilling On-Demand capacity. Supported only for fleets of type `instant`. + CapacityReservationOptions *FleetOnDemandOptionsCapacityReservationOptions `pulumi:"capacityReservationOptions"` + // The maximum amount per hour for On-Demand Instances that you're willing to pay. + MaxTotalPrice *string `pulumi:"maxTotalPrice"` + // The minimum target capacity for On-Demand Instances in the fleet. If the minimum target capacity is not reached, the fleet launches no instances. Supported only for fleets of type `instant`. + // If you specify `minTargetCapacity`, at least one of the following must be specified: `singleAvailabilityZone` or `singleInstanceType`. + MinTargetCapacity *int `pulumi:"minTargetCapacity"` + // Indicates that the fleet launches all On-Demand Instances into a single Availability Zone. Supported only for fleets of type `instant`. + SingleAvailabilityZone *bool `pulumi:"singleAvailabilityZone"` + // Indicates that the fleet uses a single instance type to launch all On-Demand Instances in the fleet. Supported only for fleets of type `instant`. + SingleInstanceType *bool `pulumi:"singleInstanceType"` } -// InstanceCpuOptionsInput is an input type that accepts InstanceCpuOptionsArgs and InstanceCpuOptionsOutput values. -// You can construct a concrete instance of `InstanceCpuOptionsInput` via: +// FleetOnDemandOptionsInput is an input type that accepts FleetOnDemandOptionsArgs and FleetOnDemandOptionsOutput values. +// You can construct a concrete instance of `FleetOnDemandOptionsInput` via: // -// InstanceCpuOptionsArgs{...} -type InstanceCpuOptionsInput interface { +// FleetOnDemandOptionsArgs{...} +type FleetOnDemandOptionsInput interface { pulumi.Input - ToInstanceCpuOptionsOutput() InstanceCpuOptionsOutput - ToInstanceCpuOptionsOutputWithContext(context.Context) InstanceCpuOptionsOutput + ToFleetOnDemandOptionsOutput() FleetOnDemandOptionsOutput + ToFleetOnDemandOptionsOutputWithContext(context.Context) FleetOnDemandOptionsOutput } -type InstanceCpuOptionsArgs struct { - // Indicates whether to enable the instance for AMD SEV-SNP. AMD SEV-SNP is supported with M6a, R6a, and C6a instance types only. Valid values are `enabled` and `disabled`. - AmdSevSnp pulumi.StringPtrInput `pulumi:"amdSevSnp"` - // Sets the number of CPU cores for an instance. This option is only supported on creation of instance type that support CPU Options [CPU Cores and Threads Per CPU Core Per Instance Type](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-optimize-cpu.html#cpu-options-supported-instances-values) - specifying this option for unsupported instance types will return an error from the EC2 API. - CoreCount pulumi.IntPtrInput `pulumi:"coreCount"` - // If set to 1, hyperthreading is disabled on the launched instance. Defaults to 2 if not set. See [Optimizing CPU Options](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-optimize-cpu.html) for more information. - // - // For more information, see the documentation on [Optimizing CPU options](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-optimize-cpu.html). - ThreadsPerCore pulumi.IntPtrInput `pulumi:"threadsPerCore"` +type FleetOnDemandOptionsArgs struct { + // The order of the launch template overrides to use in fulfilling On-Demand capacity. Valid values: `lowestPrice`, `prioritized`. Default: `lowestPrice`. + AllocationStrategy pulumi.StringPtrInput `pulumi:"allocationStrategy"` + // The strategy for using unused Capacity Reservations for fulfilling On-Demand capacity. Supported only for fleets of type `instant`. + CapacityReservationOptions FleetOnDemandOptionsCapacityReservationOptionsPtrInput `pulumi:"capacityReservationOptions"` + // The maximum amount per hour for On-Demand Instances that you're willing to pay. + MaxTotalPrice pulumi.StringPtrInput `pulumi:"maxTotalPrice"` + // The minimum target capacity for On-Demand Instances in the fleet. If the minimum target capacity is not reached, the fleet launches no instances. Supported only for fleets of type `instant`. + // If you specify `minTargetCapacity`, at least one of the following must be specified: `singleAvailabilityZone` or `singleInstanceType`. + MinTargetCapacity pulumi.IntPtrInput `pulumi:"minTargetCapacity"` + // Indicates that the fleet launches all On-Demand Instances into a single Availability Zone. Supported only for fleets of type `instant`. + SingleAvailabilityZone pulumi.BoolPtrInput `pulumi:"singleAvailabilityZone"` + // Indicates that the fleet uses a single instance type to launch all On-Demand Instances in the fleet. Supported only for fleets of type `instant`. + SingleInstanceType pulumi.BoolPtrInput `pulumi:"singleInstanceType"` } -func (InstanceCpuOptionsArgs) ElementType() reflect.Type { - return reflect.TypeOf((*InstanceCpuOptions)(nil)).Elem() +func (FleetOnDemandOptionsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*FleetOnDemandOptions)(nil)).Elem() } -func (i InstanceCpuOptionsArgs) ToInstanceCpuOptionsOutput() InstanceCpuOptionsOutput { - return i.ToInstanceCpuOptionsOutputWithContext(context.Background()) +func (i FleetOnDemandOptionsArgs) ToFleetOnDemandOptionsOutput() FleetOnDemandOptionsOutput { + return i.ToFleetOnDemandOptionsOutputWithContext(context.Background()) } -func (i InstanceCpuOptionsArgs) ToInstanceCpuOptionsOutputWithContext(ctx context.Context) InstanceCpuOptionsOutput { - return pulumi.ToOutputWithContext(ctx, i).(InstanceCpuOptionsOutput) +func (i FleetOnDemandOptionsArgs) ToFleetOnDemandOptionsOutputWithContext(ctx context.Context) FleetOnDemandOptionsOutput { + return pulumi.ToOutputWithContext(ctx, i).(FleetOnDemandOptionsOutput) } -func (i InstanceCpuOptionsArgs) ToInstanceCpuOptionsPtrOutput() InstanceCpuOptionsPtrOutput { - return i.ToInstanceCpuOptionsPtrOutputWithContext(context.Background()) +func (i FleetOnDemandOptionsArgs) ToFleetOnDemandOptionsPtrOutput() FleetOnDemandOptionsPtrOutput { + return i.ToFleetOnDemandOptionsPtrOutputWithContext(context.Background()) } -func (i InstanceCpuOptionsArgs) ToInstanceCpuOptionsPtrOutputWithContext(ctx context.Context) InstanceCpuOptionsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(InstanceCpuOptionsOutput).ToInstanceCpuOptionsPtrOutputWithContext(ctx) +func (i FleetOnDemandOptionsArgs) ToFleetOnDemandOptionsPtrOutputWithContext(ctx context.Context) FleetOnDemandOptionsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(FleetOnDemandOptionsOutput).ToFleetOnDemandOptionsPtrOutputWithContext(ctx) } -// InstanceCpuOptionsPtrInput is an input type that accepts InstanceCpuOptionsArgs, InstanceCpuOptionsPtr and InstanceCpuOptionsPtrOutput values. -// You can construct a concrete instance of `InstanceCpuOptionsPtrInput` via: +// FleetOnDemandOptionsPtrInput is an input type that accepts FleetOnDemandOptionsArgs, FleetOnDemandOptionsPtr and FleetOnDemandOptionsPtrOutput values. +// You can construct a concrete instance of `FleetOnDemandOptionsPtrInput` via: // -// InstanceCpuOptionsArgs{...} +// FleetOnDemandOptionsArgs{...} // // or: // // nil -type InstanceCpuOptionsPtrInput interface { +type FleetOnDemandOptionsPtrInput interface { pulumi.Input - ToInstanceCpuOptionsPtrOutput() InstanceCpuOptionsPtrOutput - ToInstanceCpuOptionsPtrOutputWithContext(context.Context) InstanceCpuOptionsPtrOutput + ToFleetOnDemandOptionsPtrOutput() FleetOnDemandOptionsPtrOutput + ToFleetOnDemandOptionsPtrOutputWithContext(context.Context) FleetOnDemandOptionsPtrOutput } -type instanceCpuOptionsPtrType InstanceCpuOptionsArgs +type fleetOnDemandOptionsPtrType FleetOnDemandOptionsArgs -func InstanceCpuOptionsPtr(v *InstanceCpuOptionsArgs) InstanceCpuOptionsPtrInput { - return (*instanceCpuOptionsPtrType)(v) +func FleetOnDemandOptionsPtr(v *FleetOnDemandOptionsArgs) FleetOnDemandOptionsPtrInput { + return (*fleetOnDemandOptionsPtrType)(v) } -func (*instanceCpuOptionsPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**InstanceCpuOptions)(nil)).Elem() +func (*fleetOnDemandOptionsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**FleetOnDemandOptions)(nil)).Elem() } -func (i *instanceCpuOptionsPtrType) ToInstanceCpuOptionsPtrOutput() InstanceCpuOptionsPtrOutput { - return i.ToInstanceCpuOptionsPtrOutputWithContext(context.Background()) +func (i *fleetOnDemandOptionsPtrType) ToFleetOnDemandOptionsPtrOutput() FleetOnDemandOptionsPtrOutput { + return i.ToFleetOnDemandOptionsPtrOutputWithContext(context.Background()) } -func (i *instanceCpuOptionsPtrType) ToInstanceCpuOptionsPtrOutputWithContext(ctx context.Context) InstanceCpuOptionsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(InstanceCpuOptionsPtrOutput) +func (i *fleetOnDemandOptionsPtrType) ToFleetOnDemandOptionsPtrOutputWithContext(ctx context.Context) FleetOnDemandOptionsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(FleetOnDemandOptionsPtrOutput) } -type InstanceCpuOptionsOutput struct{ *pulumi.OutputState } +type FleetOnDemandOptionsOutput struct{ *pulumi.OutputState } -func (InstanceCpuOptionsOutput) ElementType() reflect.Type { - return reflect.TypeOf((*InstanceCpuOptions)(nil)).Elem() +func (FleetOnDemandOptionsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*FleetOnDemandOptions)(nil)).Elem() } -func (o InstanceCpuOptionsOutput) ToInstanceCpuOptionsOutput() InstanceCpuOptionsOutput { +func (o FleetOnDemandOptionsOutput) ToFleetOnDemandOptionsOutput() FleetOnDemandOptionsOutput { return o } -func (o InstanceCpuOptionsOutput) ToInstanceCpuOptionsOutputWithContext(ctx context.Context) InstanceCpuOptionsOutput { +func (o FleetOnDemandOptionsOutput) ToFleetOnDemandOptionsOutputWithContext(ctx context.Context) FleetOnDemandOptionsOutput { return o } -func (o InstanceCpuOptionsOutput) ToInstanceCpuOptionsPtrOutput() InstanceCpuOptionsPtrOutput { - return o.ToInstanceCpuOptionsPtrOutputWithContext(context.Background()) +func (o FleetOnDemandOptionsOutput) ToFleetOnDemandOptionsPtrOutput() FleetOnDemandOptionsPtrOutput { + return o.ToFleetOnDemandOptionsPtrOutputWithContext(context.Background()) } -func (o InstanceCpuOptionsOutput) ToInstanceCpuOptionsPtrOutputWithContext(ctx context.Context) InstanceCpuOptionsPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v InstanceCpuOptions) *InstanceCpuOptions { +func (o FleetOnDemandOptionsOutput) ToFleetOnDemandOptionsPtrOutputWithContext(ctx context.Context) FleetOnDemandOptionsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v FleetOnDemandOptions) *FleetOnDemandOptions { return &v - }).(InstanceCpuOptionsPtrOutput) + }).(FleetOnDemandOptionsPtrOutput) } -// Indicates whether to enable the instance for AMD SEV-SNP. AMD SEV-SNP is supported with M6a, R6a, and C6a instance types only. Valid values are `enabled` and `disabled`. -func (o InstanceCpuOptionsOutput) AmdSevSnp() pulumi.StringPtrOutput { - return o.ApplyT(func(v InstanceCpuOptions) *string { return v.AmdSevSnp }).(pulumi.StringPtrOutput) +// The order of the launch template overrides to use in fulfilling On-Demand capacity. Valid values: `lowestPrice`, `prioritized`. Default: `lowestPrice`. +func (o FleetOnDemandOptionsOutput) AllocationStrategy() pulumi.StringPtrOutput { + return o.ApplyT(func(v FleetOnDemandOptions) *string { return v.AllocationStrategy }).(pulumi.StringPtrOutput) } -// Sets the number of CPU cores for an instance. This option is only supported on creation of instance type that support CPU Options [CPU Cores and Threads Per CPU Core Per Instance Type](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-optimize-cpu.html#cpu-options-supported-instances-values) - specifying this option for unsupported instance types will return an error from the EC2 API. -func (o InstanceCpuOptionsOutput) CoreCount() pulumi.IntPtrOutput { - return o.ApplyT(func(v InstanceCpuOptions) *int { return v.CoreCount }).(pulumi.IntPtrOutput) +// The strategy for using unused Capacity Reservations for fulfilling On-Demand capacity. Supported only for fleets of type `instant`. +func (o FleetOnDemandOptionsOutput) CapacityReservationOptions() FleetOnDemandOptionsCapacityReservationOptionsPtrOutput { + return o.ApplyT(func(v FleetOnDemandOptions) *FleetOnDemandOptionsCapacityReservationOptions { + return v.CapacityReservationOptions + }).(FleetOnDemandOptionsCapacityReservationOptionsPtrOutput) } -// If set to 1, hyperthreading is disabled on the launched instance. Defaults to 2 if not set. See [Optimizing CPU Options](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-optimize-cpu.html) for more information. -// -// For more information, see the documentation on [Optimizing CPU options](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-optimize-cpu.html). -func (o InstanceCpuOptionsOutput) ThreadsPerCore() pulumi.IntPtrOutput { - return o.ApplyT(func(v InstanceCpuOptions) *int { return v.ThreadsPerCore }).(pulumi.IntPtrOutput) +// The maximum amount per hour for On-Demand Instances that you're willing to pay. +func (o FleetOnDemandOptionsOutput) MaxTotalPrice() pulumi.StringPtrOutput { + return o.ApplyT(func(v FleetOnDemandOptions) *string { return v.MaxTotalPrice }).(pulumi.StringPtrOutput) } -type InstanceCpuOptionsPtrOutput struct{ *pulumi.OutputState } - -func (InstanceCpuOptionsPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**InstanceCpuOptions)(nil)).Elem() +// The minimum target capacity for On-Demand Instances in the fleet. If the minimum target capacity is not reached, the fleet launches no instances. Supported only for fleets of type `instant`. +// If you specify `minTargetCapacity`, at least one of the following must be specified: `singleAvailabilityZone` or `singleInstanceType`. +func (o FleetOnDemandOptionsOutput) MinTargetCapacity() pulumi.IntPtrOutput { + return o.ApplyT(func(v FleetOnDemandOptions) *int { return v.MinTargetCapacity }).(pulumi.IntPtrOutput) } -func (o InstanceCpuOptionsPtrOutput) ToInstanceCpuOptionsPtrOutput() InstanceCpuOptionsPtrOutput { +// Indicates that the fleet launches all On-Demand Instances into a single Availability Zone. Supported only for fleets of type `instant`. +func (o FleetOnDemandOptionsOutput) SingleAvailabilityZone() pulumi.BoolPtrOutput { + return o.ApplyT(func(v FleetOnDemandOptions) *bool { return v.SingleAvailabilityZone }).(pulumi.BoolPtrOutput) +} + +// Indicates that the fleet uses a single instance type to launch all On-Demand Instances in the fleet. Supported only for fleets of type `instant`. +func (o FleetOnDemandOptionsOutput) SingleInstanceType() pulumi.BoolPtrOutput { + return o.ApplyT(func(v FleetOnDemandOptions) *bool { return v.SingleInstanceType }).(pulumi.BoolPtrOutput) +} + +type FleetOnDemandOptionsPtrOutput struct{ *pulumi.OutputState } + +func (FleetOnDemandOptionsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**FleetOnDemandOptions)(nil)).Elem() +} + +func (o FleetOnDemandOptionsPtrOutput) ToFleetOnDemandOptionsPtrOutput() FleetOnDemandOptionsPtrOutput { return o } -func (o InstanceCpuOptionsPtrOutput) ToInstanceCpuOptionsPtrOutputWithContext(ctx context.Context) InstanceCpuOptionsPtrOutput { +func (o FleetOnDemandOptionsPtrOutput) ToFleetOnDemandOptionsPtrOutputWithContext(ctx context.Context) FleetOnDemandOptionsPtrOutput { return o } -func (o InstanceCpuOptionsPtrOutput) Elem() InstanceCpuOptionsOutput { - return o.ApplyT(func(v *InstanceCpuOptions) InstanceCpuOptions { +func (o FleetOnDemandOptionsPtrOutput) Elem() FleetOnDemandOptionsOutput { + return o.ApplyT(func(v *FleetOnDemandOptions) FleetOnDemandOptions { if v != nil { return *v } - var ret InstanceCpuOptions + var ret FleetOnDemandOptions return ret - }).(InstanceCpuOptionsOutput) + }).(FleetOnDemandOptionsOutput) } -// Indicates whether to enable the instance for AMD SEV-SNP. AMD SEV-SNP is supported with M6a, R6a, and C6a instance types only. Valid values are `enabled` and `disabled`. -func (o InstanceCpuOptionsPtrOutput) AmdSevSnp() pulumi.StringPtrOutput { - return o.ApplyT(func(v *InstanceCpuOptions) *string { +// The order of the launch template overrides to use in fulfilling On-Demand capacity. Valid values: `lowestPrice`, `prioritized`. Default: `lowestPrice`. +func (o FleetOnDemandOptionsPtrOutput) AllocationStrategy() pulumi.StringPtrOutput { + return o.ApplyT(func(v *FleetOnDemandOptions) *string { if v == nil { return nil } - return v.AmdSevSnp + return v.AllocationStrategy }).(pulumi.StringPtrOutput) } -// Sets the number of CPU cores for an instance. This option is only supported on creation of instance type that support CPU Options [CPU Cores and Threads Per CPU Core Per Instance Type](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-optimize-cpu.html#cpu-options-supported-instances-values) - specifying this option for unsupported instance types will return an error from the EC2 API. -func (o InstanceCpuOptionsPtrOutput) CoreCount() pulumi.IntPtrOutput { - return o.ApplyT(func(v *InstanceCpuOptions) *int { +// The strategy for using unused Capacity Reservations for fulfilling On-Demand capacity. Supported only for fleets of type `instant`. +func (o FleetOnDemandOptionsPtrOutput) CapacityReservationOptions() FleetOnDemandOptionsCapacityReservationOptionsPtrOutput { + return o.ApplyT(func(v *FleetOnDemandOptions) *FleetOnDemandOptionsCapacityReservationOptions { if v == nil { return nil } - return v.CoreCount - }).(pulumi.IntPtrOutput) + return v.CapacityReservationOptions + }).(FleetOnDemandOptionsCapacityReservationOptionsPtrOutput) } -// If set to 1, hyperthreading is disabled on the launched instance. Defaults to 2 if not set. See [Optimizing CPU Options](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-optimize-cpu.html) for more information. -// -// For more information, see the documentation on [Optimizing CPU options](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-optimize-cpu.html). -func (o InstanceCpuOptionsPtrOutput) ThreadsPerCore() pulumi.IntPtrOutput { - return o.ApplyT(func(v *InstanceCpuOptions) *int { +// The maximum amount per hour for On-Demand Instances that you're willing to pay. +func (o FleetOnDemandOptionsPtrOutput) MaxTotalPrice() pulumi.StringPtrOutput { + return o.ApplyT(func(v *FleetOnDemandOptions) *string { if v == nil { return nil } - return v.ThreadsPerCore + return v.MaxTotalPrice + }).(pulumi.StringPtrOutput) +} + +// The minimum target capacity for On-Demand Instances in the fleet. If the minimum target capacity is not reached, the fleet launches no instances. Supported only for fleets of type `instant`. +// If you specify `minTargetCapacity`, at least one of the following must be specified: `singleAvailabilityZone` or `singleInstanceType`. +func (o FleetOnDemandOptionsPtrOutput) MinTargetCapacity() pulumi.IntPtrOutput { + return o.ApplyT(func(v *FleetOnDemandOptions) *int { + if v == nil { + return nil + } + return v.MinTargetCapacity }).(pulumi.IntPtrOutput) } -type InstanceCreditSpecification struct { - // Credit option for CPU usage. Valid values include `standard` or `unlimited`. T3 instances are launched as unlimited by default. T2 instances are launched as standard by default. - CpuCredits *string `pulumi:"cpuCredits"` +// Indicates that the fleet launches all On-Demand Instances into a single Availability Zone. Supported only for fleets of type `instant`. +func (o FleetOnDemandOptionsPtrOutput) SingleAvailabilityZone() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *FleetOnDemandOptions) *bool { + if v == nil { + return nil + } + return v.SingleAvailabilityZone + }).(pulumi.BoolPtrOutput) } -// InstanceCreditSpecificationInput is an input type that accepts InstanceCreditSpecificationArgs and InstanceCreditSpecificationOutput values. -// You can construct a concrete instance of `InstanceCreditSpecificationInput` via: +// Indicates that the fleet uses a single instance type to launch all On-Demand Instances in the fleet. Supported only for fleets of type `instant`. +func (o FleetOnDemandOptionsPtrOutput) SingleInstanceType() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *FleetOnDemandOptions) *bool { + if v == nil { + return nil + } + return v.SingleInstanceType + }).(pulumi.BoolPtrOutput) +} + +type FleetOnDemandOptionsCapacityReservationOptions struct { + // Indicates whether to use unused Capacity Reservations for fulfilling On-Demand capacity. Valid values: `use-capacity-reservations-first`. + UsageStrategy *string `pulumi:"usageStrategy"` +} + +// FleetOnDemandOptionsCapacityReservationOptionsInput is an input type that accepts FleetOnDemandOptionsCapacityReservationOptionsArgs and FleetOnDemandOptionsCapacityReservationOptionsOutput values. +// You can construct a concrete instance of `FleetOnDemandOptionsCapacityReservationOptionsInput` via: // -// InstanceCreditSpecificationArgs{...} -type InstanceCreditSpecificationInput interface { +// FleetOnDemandOptionsCapacityReservationOptionsArgs{...} +type FleetOnDemandOptionsCapacityReservationOptionsInput interface { pulumi.Input - ToInstanceCreditSpecificationOutput() InstanceCreditSpecificationOutput - ToInstanceCreditSpecificationOutputWithContext(context.Context) InstanceCreditSpecificationOutput + ToFleetOnDemandOptionsCapacityReservationOptionsOutput() FleetOnDemandOptionsCapacityReservationOptionsOutput + ToFleetOnDemandOptionsCapacityReservationOptionsOutputWithContext(context.Context) FleetOnDemandOptionsCapacityReservationOptionsOutput } -type InstanceCreditSpecificationArgs struct { - // Credit option for CPU usage. Valid values include `standard` or `unlimited`. T3 instances are launched as unlimited by default. T2 instances are launched as standard by default. - CpuCredits pulumi.StringPtrInput `pulumi:"cpuCredits"` +type FleetOnDemandOptionsCapacityReservationOptionsArgs struct { + // Indicates whether to use unused Capacity Reservations for fulfilling On-Demand capacity. Valid values: `use-capacity-reservations-first`. + UsageStrategy pulumi.StringPtrInput `pulumi:"usageStrategy"` } -func (InstanceCreditSpecificationArgs) ElementType() reflect.Type { - return reflect.TypeOf((*InstanceCreditSpecification)(nil)).Elem() +func (FleetOnDemandOptionsCapacityReservationOptionsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*FleetOnDemandOptionsCapacityReservationOptions)(nil)).Elem() } -func (i InstanceCreditSpecificationArgs) ToInstanceCreditSpecificationOutput() InstanceCreditSpecificationOutput { - return i.ToInstanceCreditSpecificationOutputWithContext(context.Background()) +func (i FleetOnDemandOptionsCapacityReservationOptionsArgs) ToFleetOnDemandOptionsCapacityReservationOptionsOutput() FleetOnDemandOptionsCapacityReservationOptionsOutput { + return i.ToFleetOnDemandOptionsCapacityReservationOptionsOutputWithContext(context.Background()) } -func (i InstanceCreditSpecificationArgs) ToInstanceCreditSpecificationOutputWithContext(ctx context.Context) InstanceCreditSpecificationOutput { - return pulumi.ToOutputWithContext(ctx, i).(InstanceCreditSpecificationOutput) +func (i FleetOnDemandOptionsCapacityReservationOptionsArgs) ToFleetOnDemandOptionsCapacityReservationOptionsOutputWithContext(ctx context.Context) FleetOnDemandOptionsCapacityReservationOptionsOutput { + return pulumi.ToOutputWithContext(ctx, i).(FleetOnDemandOptionsCapacityReservationOptionsOutput) } -func (i InstanceCreditSpecificationArgs) ToInstanceCreditSpecificationPtrOutput() InstanceCreditSpecificationPtrOutput { - return i.ToInstanceCreditSpecificationPtrOutputWithContext(context.Background()) +func (i FleetOnDemandOptionsCapacityReservationOptionsArgs) ToFleetOnDemandOptionsCapacityReservationOptionsPtrOutput() FleetOnDemandOptionsCapacityReservationOptionsPtrOutput { + return i.ToFleetOnDemandOptionsCapacityReservationOptionsPtrOutputWithContext(context.Background()) } -func (i InstanceCreditSpecificationArgs) ToInstanceCreditSpecificationPtrOutputWithContext(ctx context.Context) InstanceCreditSpecificationPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(InstanceCreditSpecificationOutput).ToInstanceCreditSpecificationPtrOutputWithContext(ctx) +func (i FleetOnDemandOptionsCapacityReservationOptionsArgs) ToFleetOnDemandOptionsCapacityReservationOptionsPtrOutputWithContext(ctx context.Context) FleetOnDemandOptionsCapacityReservationOptionsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(FleetOnDemandOptionsCapacityReservationOptionsOutput).ToFleetOnDemandOptionsCapacityReservationOptionsPtrOutputWithContext(ctx) } -// InstanceCreditSpecificationPtrInput is an input type that accepts InstanceCreditSpecificationArgs, InstanceCreditSpecificationPtr and InstanceCreditSpecificationPtrOutput values. -// You can construct a concrete instance of `InstanceCreditSpecificationPtrInput` via: +// FleetOnDemandOptionsCapacityReservationOptionsPtrInput is an input type that accepts FleetOnDemandOptionsCapacityReservationOptionsArgs, FleetOnDemandOptionsCapacityReservationOptionsPtr and FleetOnDemandOptionsCapacityReservationOptionsPtrOutput values. +// You can construct a concrete instance of `FleetOnDemandOptionsCapacityReservationOptionsPtrInput` via: // -// InstanceCreditSpecificationArgs{...} +// FleetOnDemandOptionsCapacityReservationOptionsArgs{...} // // or: // // nil -type InstanceCreditSpecificationPtrInput interface { +type FleetOnDemandOptionsCapacityReservationOptionsPtrInput interface { pulumi.Input - ToInstanceCreditSpecificationPtrOutput() InstanceCreditSpecificationPtrOutput - ToInstanceCreditSpecificationPtrOutputWithContext(context.Context) InstanceCreditSpecificationPtrOutput + ToFleetOnDemandOptionsCapacityReservationOptionsPtrOutput() FleetOnDemandOptionsCapacityReservationOptionsPtrOutput + ToFleetOnDemandOptionsCapacityReservationOptionsPtrOutputWithContext(context.Context) FleetOnDemandOptionsCapacityReservationOptionsPtrOutput } -type instanceCreditSpecificationPtrType InstanceCreditSpecificationArgs +type fleetOnDemandOptionsCapacityReservationOptionsPtrType FleetOnDemandOptionsCapacityReservationOptionsArgs -func InstanceCreditSpecificationPtr(v *InstanceCreditSpecificationArgs) InstanceCreditSpecificationPtrInput { - return (*instanceCreditSpecificationPtrType)(v) +func FleetOnDemandOptionsCapacityReservationOptionsPtr(v *FleetOnDemandOptionsCapacityReservationOptionsArgs) FleetOnDemandOptionsCapacityReservationOptionsPtrInput { + return (*fleetOnDemandOptionsCapacityReservationOptionsPtrType)(v) } -func (*instanceCreditSpecificationPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**InstanceCreditSpecification)(nil)).Elem() +func (*fleetOnDemandOptionsCapacityReservationOptionsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**FleetOnDemandOptionsCapacityReservationOptions)(nil)).Elem() } -func (i *instanceCreditSpecificationPtrType) ToInstanceCreditSpecificationPtrOutput() InstanceCreditSpecificationPtrOutput { - return i.ToInstanceCreditSpecificationPtrOutputWithContext(context.Background()) +func (i *fleetOnDemandOptionsCapacityReservationOptionsPtrType) ToFleetOnDemandOptionsCapacityReservationOptionsPtrOutput() FleetOnDemandOptionsCapacityReservationOptionsPtrOutput { + return i.ToFleetOnDemandOptionsCapacityReservationOptionsPtrOutputWithContext(context.Background()) } -func (i *instanceCreditSpecificationPtrType) ToInstanceCreditSpecificationPtrOutputWithContext(ctx context.Context) InstanceCreditSpecificationPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(InstanceCreditSpecificationPtrOutput) +func (i *fleetOnDemandOptionsCapacityReservationOptionsPtrType) ToFleetOnDemandOptionsCapacityReservationOptionsPtrOutputWithContext(ctx context.Context) FleetOnDemandOptionsCapacityReservationOptionsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(FleetOnDemandOptionsCapacityReservationOptionsPtrOutput) } -type InstanceCreditSpecificationOutput struct{ *pulumi.OutputState } +type FleetOnDemandOptionsCapacityReservationOptionsOutput struct{ *pulumi.OutputState } -func (InstanceCreditSpecificationOutput) ElementType() reflect.Type { - return reflect.TypeOf((*InstanceCreditSpecification)(nil)).Elem() +func (FleetOnDemandOptionsCapacityReservationOptionsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*FleetOnDemandOptionsCapacityReservationOptions)(nil)).Elem() } -func (o InstanceCreditSpecificationOutput) ToInstanceCreditSpecificationOutput() InstanceCreditSpecificationOutput { +func (o FleetOnDemandOptionsCapacityReservationOptionsOutput) ToFleetOnDemandOptionsCapacityReservationOptionsOutput() FleetOnDemandOptionsCapacityReservationOptionsOutput { return o } -func (o InstanceCreditSpecificationOutput) ToInstanceCreditSpecificationOutputWithContext(ctx context.Context) InstanceCreditSpecificationOutput { +func (o FleetOnDemandOptionsCapacityReservationOptionsOutput) ToFleetOnDemandOptionsCapacityReservationOptionsOutputWithContext(ctx context.Context) FleetOnDemandOptionsCapacityReservationOptionsOutput { return o } -func (o InstanceCreditSpecificationOutput) ToInstanceCreditSpecificationPtrOutput() InstanceCreditSpecificationPtrOutput { - return o.ToInstanceCreditSpecificationPtrOutputWithContext(context.Background()) +func (o FleetOnDemandOptionsCapacityReservationOptionsOutput) ToFleetOnDemandOptionsCapacityReservationOptionsPtrOutput() FleetOnDemandOptionsCapacityReservationOptionsPtrOutput { + return o.ToFleetOnDemandOptionsCapacityReservationOptionsPtrOutputWithContext(context.Background()) } -func (o InstanceCreditSpecificationOutput) ToInstanceCreditSpecificationPtrOutputWithContext(ctx context.Context) InstanceCreditSpecificationPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v InstanceCreditSpecification) *InstanceCreditSpecification { +func (o FleetOnDemandOptionsCapacityReservationOptionsOutput) ToFleetOnDemandOptionsCapacityReservationOptionsPtrOutputWithContext(ctx context.Context) FleetOnDemandOptionsCapacityReservationOptionsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v FleetOnDemandOptionsCapacityReservationOptions) *FleetOnDemandOptionsCapacityReservationOptions { return &v - }).(InstanceCreditSpecificationPtrOutput) + }).(FleetOnDemandOptionsCapacityReservationOptionsPtrOutput) } -// Credit option for CPU usage. Valid values include `standard` or `unlimited`. T3 instances are launched as unlimited by default. T2 instances are launched as standard by default. -func (o InstanceCreditSpecificationOutput) CpuCredits() pulumi.StringPtrOutput { - return o.ApplyT(func(v InstanceCreditSpecification) *string { return v.CpuCredits }).(pulumi.StringPtrOutput) +// Indicates whether to use unused Capacity Reservations for fulfilling On-Demand capacity. Valid values: `use-capacity-reservations-first`. +func (o FleetOnDemandOptionsCapacityReservationOptionsOutput) UsageStrategy() pulumi.StringPtrOutput { + return o.ApplyT(func(v FleetOnDemandOptionsCapacityReservationOptions) *string { return v.UsageStrategy }).(pulumi.StringPtrOutput) } -type InstanceCreditSpecificationPtrOutput struct{ *pulumi.OutputState } +type FleetOnDemandOptionsCapacityReservationOptionsPtrOutput struct{ *pulumi.OutputState } -func (InstanceCreditSpecificationPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**InstanceCreditSpecification)(nil)).Elem() +func (FleetOnDemandOptionsCapacityReservationOptionsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**FleetOnDemandOptionsCapacityReservationOptions)(nil)).Elem() } -func (o InstanceCreditSpecificationPtrOutput) ToInstanceCreditSpecificationPtrOutput() InstanceCreditSpecificationPtrOutput { +func (o FleetOnDemandOptionsCapacityReservationOptionsPtrOutput) ToFleetOnDemandOptionsCapacityReservationOptionsPtrOutput() FleetOnDemandOptionsCapacityReservationOptionsPtrOutput { return o } -func (o InstanceCreditSpecificationPtrOutput) ToInstanceCreditSpecificationPtrOutputWithContext(ctx context.Context) InstanceCreditSpecificationPtrOutput { +func (o FleetOnDemandOptionsCapacityReservationOptionsPtrOutput) ToFleetOnDemandOptionsCapacityReservationOptionsPtrOutputWithContext(ctx context.Context) FleetOnDemandOptionsCapacityReservationOptionsPtrOutput { return o } -func (o InstanceCreditSpecificationPtrOutput) Elem() InstanceCreditSpecificationOutput { - return o.ApplyT(func(v *InstanceCreditSpecification) InstanceCreditSpecification { +func (o FleetOnDemandOptionsCapacityReservationOptionsPtrOutput) Elem() FleetOnDemandOptionsCapacityReservationOptionsOutput { + return o.ApplyT(func(v *FleetOnDemandOptionsCapacityReservationOptions) FleetOnDemandOptionsCapacityReservationOptions { if v != nil { return *v } - var ret InstanceCreditSpecification + var ret FleetOnDemandOptionsCapacityReservationOptions return ret - }).(InstanceCreditSpecificationOutput) + }).(FleetOnDemandOptionsCapacityReservationOptionsOutput) } -// Credit option for CPU usage. Valid values include `standard` or `unlimited`. T3 instances are launched as unlimited by default. T2 instances are launched as standard by default. -func (o InstanceCreditSpecificationPtrOutput) CpuCredits() pulumi.StringPtrOutput { - return o.ApplyT(func(v *InstanceCreditSpecification) *string { +// Indicates whether to use unused Capacity Reservations for fulfilling On-Demand capacity. Valid values: `use-capacity-reservations-first`. +func (o FleetOnDemandOptionsCapacityReservationOptionsPtrOutput) UsageStrategy() pulumi.StringPtrOutput { + return o.ApplyT(func(v *FleetOnDemandOptionsCapacityReservationOptions) *string { if v == nil { return nil } - return v.CpuCredits + return v.UsageStrategy }).(pulumi.StringPtrOutput) } -type InstanceEbsBlockDevice struct { - // Whether the volume should be destroyed on instance termination. Defaults to `true`. - DeleteOnTermination *bool `pulumi:"deleteOnTermination"` - // Name of the device to mount. - DeviceName string `pulumi:"deviceName"` - // Enables [EBS encryption](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html) on the volume. Defaults to `false`. Cannot be used with `snapshotId`. Must be configured to perform drift detection. - Encrypted *bool `pulumi:"encrypted"` - // Amount of provisioned [IOPS](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-io-characteristics.html). Only valid for volumeType of `io1`, `io2` or `gp3`. - Iops *int `pulumi:"iops"` - // Amazon Resource Name (ARN) of the KMS Key to use when encrypting the volume. Must be configured to perform drift detection. - KmsKeyId *string `pulumi:"kmsKeyId"` - // Snapshot ID to mount. - SnapshotId *string `pulumi:"snapshotId"` - // Map of tags to assign to the device. - Tags map[string]string `pulumi:"tags"` - // Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. - TagsAll map[string]string `pulumi:"tagsAll"` - // Throughput to provision for a volume in mebibytes per second (MiB/s). This is only valid for `volumeType` of `gp3`. - Throughput *int `pulumi:"throughput"` - // ID of the volume. For example, the ID can be accessed like this, `aws_instance.web.root_block_device.0.volume_id`. - 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`. - // - // > **NOTE:** Currently, changes to the `ebsBlockDevice` configuration of _existing_ resources cannot be automatically detected by this provider. To manage changes and attachments of an EBS block to an instance, use the `ebs.Volume` and `ec2.VolumeAttachment` resources instead. If you use `ebsBlockDevice` on an `ec2.Instance`, this provider will assume management over the full set of non-root EBS block devices for the instance, treating additional block devices as drift. For this reason, `ebsBlockDevice` cannot be mixed with external `ebs.Volume` and `ec2.VolumeAttachment` resources for a given instance. - VolumeType *string `pulumi:"volumeType"` +type FleetSpotOptions struct { + // How to allocate the target capacity across the Spot pools. Valid values: `diversified`, `lowestPrice`, `capacity-optimized`, `capacity-optimized-prioritized` and `price-capacity-optimized`. Default: `lowestPrice`. + AllocationStrategy *string `pulumi:"allocationStrategy"` + // Behavior when a Spot Instance is interrupted. Valid values: `hibernate`, `stop`, `terminate`. Default: `terminate`. + InstanceInterruptionBehavior *string `pulumi:"instanceInterruptionBehavior"` + // Number of Spot pools across which to allocate your target Spot capacity. Valid only when Spot `allocationStrategy` is set to `lowestPrice`. Default: `1`. + InstancePoolsToUseCount *int `pulumi:"instancePoolsToUseCount"` + // Nested argument containing maintenance strategies for managing your Spot Instances that are at an elevated risk of being interrupted. Defined below. + MaintenanceStrategies *FleetSpotOptionsMaintenanceStrategies `pulumi:"maintenanceStrategies"` + // The maximum amount per hour for Spot Instances that you're willing to pay. + MaxTotalPrice *string `pulumi:"maxTotalPrice"` + // The minimum target capacity for Spot Instances in the fleet. If the minimum target capacity is not reached, the fleet launches no instances. Supported only for fleets of type `instant`. + MinTargetCapacity *int `pulumi:"minTargetCapacity"` + // Indicates that the fleet launches all Spot Instances into a single Availability Zone. Supported only for fleets of type `instant`. + SingleAvailabilityZone *bool `pulumi:"singleAvailabilityZone"` + // Indicates that the fleet uses a single instance type to launch all Spot Instances in the fleet. Supported only for fleets of type `instant`. + SingleInstanceType *bool `pulumi:"singleInstanceType"` } -// InstanceEbsBlockDeviceInput is an input type that accepts InstanceEbsBlockDeviceArgs and InstanceEbsBlockDeviceOutput values. -// You can construct a concrete instance of `InstanceEbsBlockDeviceInput` via: +// FleetSpotOptionsInput is an input type that accepts FleetSpotOptionsArgs and FleetSpotOptionsOutput values. +// You can construct a concrete instance of `FleetSpotOptionsInput` via: // -// InstanceEbsBlockDeviceArgs{...} -type InstanceEbsBlockDeviceInput interface { +// FleetSpotOptionsArgs{...} +type FleetSpotOptionsInput interface { pulumi.Input - ToInstanceEbsBlockDeviceOutput() InstanceEbsBlockDeviceOutput - ToInstanceEbsBlockDeviceOutputWithContext(context.Context) InstanceEbsBlockDeviceOutput + ToFleetSpotOptionsOutput() FleetSpotOptionsOutput + ToFleetSpotOptionsOutputWithContext(context.Context) FleetSpotOptionsOutput } -type InstanceEbsBlockDeviceArgs struct { - // Whether the volume should be destroyed on instance termination. Defaults to `true`. - DeleteOnTermination pulumi.BoolPtrInput `pulumi:"deleteOnTermination"` - // Name of the device to mount. - DeviceName pulumi.StringInput `pulumi:"deviceName"` - // Enables [EBS encryption](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html) on the volume. Defaults to `false`. Cannot be used with `snapshotId`. Must be configured to perform drift detection. - Encrypted pulumi.BoolPtrInput `pulumi:"encrypted"` - // Amount of provisioned [IOPS](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-io-characteristics.html). Only valid for volumeType of `io1`, `io2` or `gp3`. - Iops pulumi.IntPtrInput `pulumi:"iops"` - // Amazon Resource Name (ARN) of the KMS Key to use when encrypting the volume. Must be configured to perform drift detection. - KmsKeyId pulumi.StringPtrInput `pulumi:"kmsKeyId"` - // Snapshot ID to mount. - SnapshotId pulumi.StringPtrInput `pulumi:"snapshotId"` - // Map of tags to assign to the device. - Tags pulumi.StringMapInput `pulumi:"tags"` - // Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. - TagsAll pulumi.StringMapInput `pulumi:"tagsAll"` - // Throughput to provision for a volume in mebibytes per second (MiB/s). This is only valid for `volumeType` of `gp3`. - Throughput pulumi.IntPtrInput `pulumi:"throughput"` - // ID of the volume. For example, the ID can be accessed like this, `aws_instance.web.root_block_device.0.volume_id`. - 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`. - // - // > **NOTE:** Currently, changes to the `ebsBlockDevice` configuration of _existing_ resources cannot be automatically detected by this provider. To manage changes and attachments of an EBS block to an instance, use the `ebs.Volume` and `ec2.VolumeAttachment` resources instead. If you use `ebsBlockDevice` on an `ec2.Instance`, this provider will assume management over the full set of non-root EBS block devices for the instance, treating additional block devices as drift. For this reason, `ebsBlockDevice` cannot be mixed with external `ebs.Volume` and `ec2.VolumeAttachment` resources for a given instance. - VolumeType pulumi.StringPtrInput `pulumi:"volumeType"` +type FleetSpotOptionsArgs struct { + // How to allocate the target capacity across the Spot pools. Valid values: `diversified`, `lowestPrice`, `capacity-optimized`, `capacity-optimized-prioritized` and `price-capacity-optimized`. Default: `lowestPrice`. + AllocationStrategy pulumi.StringPtrInput `pulumi:"allocationStrategy"` + // Behavior when a Spot Instance is interrupted. Valid values: `hibernate`, `stop`, `terminate`. Default: `terminate`. + InstanceInterruptionBehavior pulumi.StringPtrInput `pulumi:"instanceInterruptionBehavior"` + // Number of Spot pools across which to allocate your target Spot capacity. Valid only when Spot `allocationStrategy` is set to `lowestPrice`. Default: `1`. + InstancePoolsToUseCount pulumi.IntPtrInput `pulumi:"instancePoolsToUseCount"` + // Nested argument containing maintenance strategies for managing your Spot Instances that are at an elevated risk of being interrupted. Defined below. + MaintenanceStrategies FleetSpotOptionsMaintenanceStrategiesPtrInput `pulumi:"maintenanceStrategies"` + // The maximum amount per hour for Spot Instances that you're willing to pay. + MaxTotalPrice pulumi.StringPtrInput `pulumi:"maxTotalPrice"` + // The minimum target capacity for Spot Instances in the fleet. If the minimum target capacity is not reached, the fleet launches no instances. Supported only for fleets of type `instant`. + MinTargetCapacity pulumi.IntPtrInput `pulumi:"minTargetCapacity"` + // Indicates that the fleet launches all Spot Instances into a single Availability Zone. Supported only for fleets of type `instant`. + SingleAvailabilityZone pulumi.BoolPtrInput `pulumi:"singleAvailabilityZone"` + // Indicates that the fleet uses a single instance type to launch all Spot Instances in the fleet. Supported only for fleets of type `instant`. + SingleInstanceType pulumi.BoolPtrInput `pulumi:"singleInstanceType"` } -func (InstanceEbsBlockDeviceArgs) ElementType() reflect.Type { - return reflect.TypeOf((*InstanceEbsBlockDevice)(nil)).Elem() +func (FleetSpotOptionsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*FleetSpotOptions)(nil)).Elem() } -func (i InstanceEbsBlockDeviceArgs) ToInstanceEbsBlockDeviceOutput() InstanceEbsBlockDeviceOutput { - return i.ToInstanceEbsBlockDeviceOutputWithContext(context.Background()) +func (i FleetSpotOptionsArgs) ToFleetSpotOptionsOutput() FleetSpotOptionsOutput { + return i.ToFleetSpotOptionsOutputWithContext(context.Background()) } -func (i InstanceEbsBlockDeviceArgs) ToInstanceEbsBlockDeviceOutputWithContext(ctx context.Context) InstanceEbsBlockDeviceOutput { - return pulumi.ToOutputWithContext(ctx, i).(InstanceEbsBlockDeviceOutput) +func (i FleetSpotOptionsArgs) ToFleetSpotOptionsOutputWithContext(ctx context.Context) FleetSpotOptionsOutput { + return pulumi.ToOutputWithContext(ctx, i).(FleetSpotOptionsOutput) } -// InstanceEbsBlockDeviceArrayInput is an input type that accepts InstanceEbsBlockDeviceArray and InstanceEbsBlockDeviceArrayOutput values. -// You can construct a concrete instance of `InstanceEbsBlockDeviceArrayInput` via: +func (i FleetSpotOptionsArgs) ToFleetSpotOptionsPtrOutput() FleetSpotOptionsPtrOutput { + return i.ToFleetSpotOptionsPtrOutputWithContext(context.Background()) +} + +func (i FleetSpotOptionsArgs) ToFleetSpotOptionsPtrOutputWithContext(ctx context.Context) FleetSpotOptionsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(FleetSpotOptionsOutput).ToFleetSpotOptionsPtrOutputWithContext(ctx) +} + +// FleetSpotOptionsPtrInput is an input type that accepts FleetSpotOptionsArgs, FleetSpotOptionsPtr and FleetSpotOptionsPtrOutput values. +// You can construct a concrete instance of `FleetSpotOptionsPtrInput` via: // -// InstanceEbsBlockDeviceArray{ InstanceEbsBlockDeviceArgs{...} } -type InstanceEbsBlockDeviceArrayInput interface { +// FleetSpotOptionsArgs{...} +// +// or: +// +// nil +type FleetSpotOptionsPtrInput interface { pulumi.Input - ToInstanceEbsBlockDeviceArrayOutput() InstanceEbsBlockDeviceArrayOutput - ToInstanceEbsBlockDeviceArrayOutputWithContext(context.Context) InstanceEbsBlockDeviceArrayOutput + ToFleetSpotOptionsPtrOutput() FleetSpotOptionsPtrOutput + ToFleetSpotOptionsPtrOutputWithContext(context.Context) FleetSpotOptionsPtrOutput } -type InstanceEbsBlockDeviceArray []InstanceEbsBlockDeviceInput +type fleetSpotOptionsPtrType FleetSpotOptionsArgs -func (InstanceEbsBlockDeviceArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]InstanceEbsBlockDevice)(nil)).Elem() +func FleetSpotOptionsPtr(v *FleetSpotOptionsArgs) FleetSpotOptionsPtrInput { + return (*fleetSpotOptionsPtrType)(v) } -func (i InstanceEbsBlockDeviceArray) ToInstanceEbsBlockDeviceArrayOutput() InstanceEbsBlockDeviceArrayOutput { - return i.ToInstanceEbsBlockDeviceArrayOutputWithContext(context.Background()) +func (*fleetSpotOptionsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**FleetSpotOptions)(nil)).Elem() } -func (i InstanceEbsBlockDeviceArray) ToInstanceEbsBlockDeviceArrayOutputWithContext(ctx context.Context) InstanceEbsBlockDeviceArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(InstanceEbsBlockDeviceArrayOutput) +func (i *fleetSpotOptionsPtrType) ToFleetSpotOptionsPtrOutput() FleetSpotOptionsPtrOutput { + return i.ToFleetSpotOptionsPtrOutputWithContext(context.Background()) } -type InstanceEbsBlockDeviceOutput struct{ *pulumi.OutputState } - -func (InstanceEbsBlockDeviceOutput) ElementType() reflect.Type { - return reflect.TypeOf((*InstanceEbsBlockDevice)(nil)).Elem() +func (i *fleetSpotOptionsPtrType) ToFleetSpotOptionsPtrOutputWithContext(ctx context.Context) FleetSpotOptionsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(FleetSpotOptionsPtrOutput) } -func (o InstanceEbsBlockDeviceOutput) ToInstanceEbsBlockDeviceOutput() InstanceEbsBlockDeviceOutput { - return o -} +type FleetSpotOptionsOutput struct{ *pulumi.OutputState } -func (o InstanceEbsBlockDeviceOutput) ToInstanceEbsBlockDeviceOutputWithContext(ctx context.Context) InstanceEbsBlockDeviceOutput { - return o +func (FleetSpotOptionsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*FleetSpotOptions)(nil)).Elem() } -// Whether the volume should be destroyed on instance termination. Defaults to `true`. -func (o InstanceEbsBlockDeviceOutput) DeleteOnTermination() pulumi.BoolPtrOutput { - return o.ApplyT(func(v InstanceEbsBlockDevice) *bool { return v.DeleteOnTermination }).(pulumi.BoolPtrOutput) +func (o FleetSpotOptionsOutput) ToFleetSpotOptionsOutput() FleetSpotOptionsOutput { + return o } -// Name of the device to mount. -func (o InstanceEbsBlockDeviceOutput) DeviceName() pulumi.StringOutput { - return o.ApplyT(func(v InstanceEbsBlockDevice) string { return v.DeviceName }).(pulumi.StringOutput) +func (o FleetSpotOptionsOutput) ToFleetSpotOptionsOutputWithContext(ctx context.Context) FleetSpotOptionsOutput { + return o } -// Enables [EBS encryption](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html) on the volume. Defaults to `false`. Cannot be used with `snapshotId`. Must be configured to perform drift detection. -func (o InstanceEbsBlockDeviceOutput) Encrypted() pulumi.BoolPtrOutput { - return o.ApplyT(func(v InstanceEbsBlockDevice) *bool { return v.Encrypted }).(pulumi.BoolPtrOutput) +func (o FleetSpotOptionsOutput) ToFleetSpotOptionsPtrOutput() FleetSpotOptionsPtrOutput { + return o.ToFleetSpotOptionsPtrOutputWithContext(context.Background()) } -// Amount of provisioned [IOPS](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-io-characteristics.html). Only valid for volumeType of `io1`, `io2` or `gp3`. -func (o InstanceEbsBlockDeviceOutput) Iops() pulumi.IntPtrOutput { - return o.ApplyT(func(v InstanceEbsBlockDevice) *int { return v.Iops }).(pulumi.IntPtrOutput) +func (o FleetSpotOptionsOutput) ToFleetSpotOptionsPtrOutputWithContext(ctx context.Context) FleetSpotOptionsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v FleetSpotOptions) *FleetSpotOptions { + return &v + }).(FleetSpotOptionsPtrOutput) } -// Amazon Resource Name (ARN) of the KMS Key to use when encrypting the volume. Must be configured to perform drift detection. -func (o InstanceEbsBlockDeviceOutput) KmsKeyId() pulumi.StringPtrOutput { - return o.ApplyT(func(v InstanceEbsBlockDevice) *string { return v.KmsKeyId }).(pulumi.StringPtrOutput) +// How to allocate the target capacity across the Spot pools. Valid values: `diversified`, `lowestPrice`, `capacity-optimized`, `capacity-optimized-prioritized` and `price-capacity-optimized`. Default: `lowestPrice`. +func (o FleetSpotOptionsOutput) AllocationStrategy() pulumi.StringPtrOutput { + return o.ApplyT(func(v FleetSpotOptions) *string { return v.AllocationStrategy }).(pulumi.StringPtrOutput) } -// Snapshot ID to mount. -func (o InstanceEbsBlockDeviceOutput) SnapshotId() pulumi.StringPtrOutput { - return o.ApplyT(func(v InstanceEbsBlockDevice) *string { return v.SnapshotId }).(pulumi.StringPtrOutput) +// Behavior when a Spot Instance is interrupted. Valid values: `hibernate`, `stop`, `terminate`. Default: `terminate`. +func (o FleetSpotOptionsOutput) InstanceInterruptionBehavior() pulumi.StringPtrOutput { + return o.ApplyT(func(v FleetSpotOptions) *string { return v.InstanceInterruptionBehavior }).(pulumi.StringPtrOutput) } -// Map of tags to assign to the device. -func (o InstanceEbsBlockDeviceOutput) Tags() pulumi.StringMapOutput { - return o.ApplyT(func(v InstanceEbsBlockDevice) map[string]string { return v.Tags }).(pulumi.StringMapOutput) +// Number of Spot pools across which to allocate your target Spot capacity. Valid only when Spot `allocationStrategy` is set to `lowestPrice`. Default: `1`. +func (o FleetSpotOptionsOutput) InstancePoolsToUseCount() pulumi.IntPtrOutput { + return o.ApplyT(func(v FleetSpotOptions) *int { return v.InstancePoolsToUseCount }).(pulumi.IntPtrOutput) } -// Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. -func (o InstanceEbsBlockDeviceOutput) TagsAll() pulumi.StringMapOutput { - return o.ApplyT(func(v InstanceEbsBlockDevice) map[string]string { return v.TagsAll }).(pulumi.StringMapOutput) +// Nested argument containing maintenance strategies for managing your Spot Instances that are at an elevated risk of being interrupted. Defined below. +func (o FleetSpotOptionsOutput) MaintenanceStrategies() FleetSpotOptionsMaintenanceStrategiesPtrOutput { + return o.ApplyT(func(v FleetSpotOptions) *FleetSpotOptionsMaintenanceStrategies { return v.MaintenanceStrategies }).(FleetSpotOptionsMaintenanceStrategiesPtrOutput) } -// Throughput to provision for a volume in mebibytes per second (MiB/s). This is only valid for `volumeType` of `gp3`. -func (o InstanceEbsBlockDeviceOutput) Throughput() pulumi.IntPtrOutput { - return o.ApplyT(func(v InstanceEbsBlockDevice) *int { return v.Throughput }).(pulumi.IntPtrOutput) +// The maximum amount per hour for Spot Instances that you're willing to pay. +func (o FleetSpotOptionsOutput) MaxTotalPrice() pulumi.StringPtrOutput { + return o.ApplyT(func(v FleetSpotOptions) *string { return v.MaxTotalPrice }).(pulumi.StringPtrOutput) } -// ID of the volume. For example, the ID can be accessed like this, `aws_instance.web.root_block_device.0.volume_id`. -func (o InstanceEbsBlockDeviceOutput) VolumeId() pulumi.StringPtrOutput { - return o.ApplyT(func(v InstanceEbsBlockDevice) *string { return v.VolumeId }).(pulumi.StringPtrOutput) +// The minimum target capacity for Spot Instances in the fleet. If the minimum target capacity is not reached, the fleet launches no instances. Supported only for fleets of type `instant`. +func (o FleetSpotOptionsOutput) MinTargetCapacity() pulumi.IntPtrOutput { + return o.ApplyT(func(v FleetSpotOptions) *int { return v.MinTargetCapacity }).(pulumi.IntPtrOutput) } -// Size of the volume in gibibytes (GiB). -func (o InstanceEbsBlockDeviceOutput) VolumeSize() pulumi.IntPtrOutput { - return o.ApplyT(func(v InstanceEbsBlockDevice) *int { return v.VolumeSize }).(pulumi.IntPtrOutput) +// Indicates that the fleet launches all Spot Instances into a single Availability Zone. Supported only for fleets of type `instant`. +func (o FleetSpotOptionsOutput) SingleAvailabilityZone() pulumi.BoolPtrOutput { + return o.ApplyT(func(v FleetSpotOptions) *bool { return v.SingleAvailabilityZone }).(pulumi.BoolPtrOutput) } -// Type of volume. Valid values include `standard`, `gp2`, `gp3`, `io1`, `io2`, `sc1`, or `st1`. Defaults to `gp2`. -// -// > **NOTE:** Currently, changes to the `ebsBlockDevice` configuration of _existing_ resources cannot be automatically detected by this provider. To manage changes and attachments of an EBS block to an instance, use the `ebs.Volume` and `ec2.VolumeAttachment` resources instead. If you use `ebsBlockDevice` on an `ec2.Instance`, this provider will assume management over the full set of non-root EBS block devices for the instance, treating additional block devices as drift. For this reason, `ebsBlockDevice` cannot be mixed with external `ebs.Volume` and `ec2.VolumeAttachment` resources for a given instance. -func (o InstanceEbsBlockDeviceOutput) VolumeType() pulumi.StringPtrOutput { - return o.ApplyT(func(v InstanceEbsBlockDevice) *string { return v.VolumeType }).(pulumi.StringPtrOutput) +// Indicates that the fleet uses a single instance type to launch all Spot Instances in the fleet. Supported only for fleets of type `instant`. +func (o FleetSpotOptionsOutput) SingleInstanceType() pulumi.BoolPtrOutput { + return o.ApplyT(func(v FleetSpotOptions) *bool { return v.SingleInstanceType }).(pulumi.BoolPtrOutput) } -type InstanceEbsBlockDeviceArrayOutput struct{ *pulumi.OutputState } +type FleetSpotOptionsPtrOutput struct{ *pulumi.OutputState } -func (InstanceEbsBlockDeviceArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]InstanceEbsBlockDevice)(nil)).Elem() +func (FleetSpotOptionsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**FleetSpotOptions)(nil)).Elem() } -func (o InstanceEbsBlockDeviceArrayOutput) ToInstanceEbsBlockDeviceArrayOutput() InstanceEbsBlockDeviceArrayOutput { +func (o FleetSpotOptionsPtrOutput) ToFleetSpotOptionsPtrOutput() FleetSpotOptionsPtrOutput { return o } -func (o InstanceEbsBlockDeviceArrayOutput) ToInstanceEbsBlockDeviceArrayOutputWithContext(ctx context.Context) InstanceEbsBlockDeviceArrayOutput { +func (o FleetSpotOptionsPtrOutput) ToFleetSpotOptionsPtrOutputWithContext(ctx context.Context) FleetSpotOptionsPtrOutput { return o } -func (o InstanceEbsBlockDeviceArrayOutput) Index(i pulumi.IntInput) InstanceEbsBlockDeviceOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) InstanceEbsBlockDevice { - return vs[0].([]InstanceEbsBlockDevice)[vs[1].(int)] - }).(InstanceEbsBlockDeviceOutput) +func (o FleetSpotOptionsPtrOutput) Elem() FleetSpotOptionsOutput { + return o.ApplyT(func(v *FleetSpotOptions) FleetSpotOptions { + if v != nil { + return *v + } + var ret FleetSpotOptions + return ret + }).(FleetSpotOptionsOutput) } -type InstanceEnclaveOptions struct { - // Whether Nitro Enclaves will be enabled on the instance. Defaults to `false`. - // - // For more information, see the documentation on [Nitro Enclaves](https://docs.aws.amazon.com/enclaves/latest/user/nitro-enclave.html). - Enabled *bool `pulumi:"enabled"` +// How to allocate the target capacity across the Spot pools. Valid values: `diversified`, `lowestPrice`, `capacity-optimized`, `capacity-optimized-prioritized` and `price-capacity-optimized`. Default: `lowestPrice`. +func (o FleetSpotOptionsPtrOutput) AllocationStrategy() pulumi.StringPtrOutput { + return o.ApplyT(func(v *FleetSpotOptions) *string { + if v == nil { + return nil + } + return v.AllocationStrategy + }).(pulumi.StringPtrOutput) } -// InstanceEnclaveOptionsInput is an input type that accepts InstanceEnclaveOptionsArgs and InstanceEnclaveOptionsOutput values. -// You can construct a concrete instance of `InstanceEnclaveOptionsInput` via: -// -// InstanceEnclaveOptionsArgs{...} -type InstanceEnclaveOptionsInput interface { - pulumi.Input +// Behavior when a Spot Instance is interrupted. Valid values: `hibernate`, `stop`, `terminate`. Default: `terminate`. +func (o FleetSpotOptionsPtrOutput) InstanceInterruptionBehavior() pulumi.StringPtrOutput { + return o.ApplyT(func(v *FleetSpotOptions) *string { + if v == nil { + return nil + } + return v.InstanceInterruptionBehavior + }).(pulumi.StringPtrOutput) +} - ToInstanceEnclaveOptionsOutput() InstanceEnclaveOptionsOutput - ToInstanceEnclaveOptionsOutputWithContext(context.Context) InstanceEnclaveOptionsOutput +// Number of Spot pools across which to allocate your target Spot capacity. Valid only when Spot `allocationStrategy` is set to `lowestPrice`. Default: `1`. +func (o FleetSpotOptionsPtrOutput) InstancePoolsToUseCount() pulumi.IntPtrOutput { + return o.ApplyT(func(v *FleetSpotOptions) *int { + if v == nil { + return nil + } + return v.InstancePoolsToUseCount + }).(pulumi.IntPtrOutput) } -type InstanceEnclaveOptionsArgs struct { - // Whether Nitro Enclaves will be enabled on the instance. Defaults to `false`. - // - // For more information, see the documentation on [Nitro Enclaves](https://docs.aws.amazon.com/enclaves/latest/user/nitro-enclave.html). - Enabled pulumi.BoolPtrInput `pulumi:"enabled"` +// Nested argument containing maintenance strategies for managing your Spot Instances that are at an elevated risk of being interrupted. Defined below. +func (o FleetSpotOptionsPtrOutput) MaintenanceStrategies() FleetSpotOptionsMaintenanceStrategiesPtrOutput { + return o.ApplyT(func(v *FleetSpotOptions) *FleetSpotOptionsMaintenanceStrategies { + if v == nil { + return nil + } + return v.MaintenanceStrategies + }).(FleetSpotOptionsMaintenanceStrategiesPtrOutput) } -func (InstanceEnclaveOptionsArgs) ElementType() reflect.Type { - return reflect.TypeOf((*InstanceEnclaveOptions)(nil)).Elem() +// The maximum amount per hour for Spot Instances that you're willing to pay. +func (o FleetSpotOptionsPtrOutput) MaxTotalPrice() pulumi.StringPtrOutput { + return o.ApplyT(func(v *FleetSpotOptions) *string { + if v == nil { + return nil + } + return v.MaxTotalPrice + }).(pulumi.StringPtrOutput) } -func (i InstanceEnclaveOptionsArgs) ToInstanceEnclaveOptionsOutput() InstanceEnclaveOptionsOutput { - return i.ToInstanceEnclaveOptionsOutputWithContext(context.Background()) +// The minimum target capacity for Spot Instances in the fleet. If the minimum target capacity is not reached, the fleet launches no instances. Supported only for fleets of type `instant`. +func (o FleetSpotOptionsPtrOutput) MinTargetCapacity() pulumi.IntPtrOutput { + return o.ApplyT(func(v *FleetSpotOptions) *int { + if v == nil { + return nil + } + return v.MinTargetCapacity + }).(pulumi.IntPtrOutput) } -func (i InstanceEnclaveOptionsArgs) ToInstanceEnclaveOptionsOutputWithContext(ctx context.Context) InstanceEnclaveOptionsOutput { - return pulumi.ToOutputWithContext(ctx, i).(InstanceEnclaveOptionsOutput) +// Indicates that the fleet launches all Spot Instances into a single Availability Zone. Supported only for fleets of type `instant`. +func (o FleetSpotOptionsPtrOutput) SingleAvailabilityZone() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *FleetSpotOptions) *bool { + if v == nil { + return nil + } + return v.SingleAvailabilityZone + }).(pulumi.BoolPtrOutput) } -func (i InstanceEnclaveOptionsArgs) ToInstanceEnclaveOptionsPtrOutput() InstanceEnclaveOptionsPtrOutput { - return i.ToInstanceEnclaveOptionsPtrOutputWithContext(context.Background()) +// Indicates that the fleet uses a single instance type to launch all Spot Instances in the fleet. Supported only for fleets of type `instant`. +func (o FleetSpotOptionsPtrOutput) SingleInstanceType() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *FleetSpotOptions) *bool { + if v == nil { + return nil + } + return v.SingleInstanceType + }).(pulumi.BoolPtrOutput) } -func (i InstanceEnclaveOptionsArgs) ToInstanceEnclaveOptionsPtrOutputWithContext(ctx context.Context) InstanceEnclaveOptionsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(InstanceEnclaveOptionsOutput).ToInstanceEnclaveOptionsPtrOutputWithContext(ctx) +type FleetSpotOptionsMaintenanceStrategies struct { + // Nested argument containing the capacity rebalance for your fleet request. Defined below. + CapacityRebalance *FleetSpotOptionsMaintenanceStrategiesCapacityRebalance `pulumi:"capacityRebalance"` } -// InstanceEnclaveOptionsPtrInput is an input type that accepts InstanceEnclaveOptionsArgs, InstanceEnclaveOptionsPtr and InstanceEnclaveOptionsPtrOutput values. -// You can construct a concrete instance of `InstanceEnclaveOptionsPtrInput` via: +// FleetSpotOptionsMaintenanceStrategiesInput is an input type that accepts FleetSpotOptionsMaintenanceStrategiesArgs and FleetSpotOptionsMaintenanceStrategiesOutput values. +// You can construct a concrete instance of `FleetSpotOptionsMaintenanceStrategiesInput` via: // -// InstanceEnclaveOptionsArgs{...} +// FleetSpotOptionsMaintenanceStrategiesArgs{...} +type FleetSpotOptionsMaintenanceStrategiesInput interface { + pulumi.Input + + ToFleetSpotOptionsMaintenanceStrategiesOutput() FleetSpotOptionsMaintenanceStrategiesOutput + ToFleetSpotOptionsMaintenanceStrategiesOutputWithContext(context.Context) FleetSpotOptionsMaintenanceStrategiesOutput +} + +type FleetSpotOptionsMaintenanceStrategiesArgs struct { + // Nested argument containing the capacity rebalance for your fleet request. Defined below. + CapacityRebalance FleetSpotOptionsMaintenanceStrategiesCapacityRebalancePtrInput `pulumi:"capacityRebalance"` +} + +func (FleetSpotOptionsMaintenanceStrategiesArgs) ElementType() reflect.Type { + return reflect.TypeOf((*FleetSpotOptionsMaintenanceStrategies)(nil)).Elem() +} + +func (i FleetSpotOptionsMaintenanceStrategiesArgs) ToFleetSpotOptionsMaintenanceStrategiesOutput() FleetSpotOptionsMaintenanceStrategiesOutput { + return i.ToFleetSpotOptionsMaintenanceStrategiesOutputWithContext(context.Background()) +} + +func (i FleetSpotOptionsMaintenanceStrategiesArgs) ToFleetSpotOptionsMaintenanceStrategiesOutputWithContext(ctx context.Context) FleetSpotOptionsMaintenanceStrategiesOutput { + return pulumi.ToOutputWithContext(ctx, i).(FleetSpotOptionsMaintenanceStrategiesOutput) +} + +func (i FleetSpotOptionsMaintenanceStrategiesArgs) ToFleetSpotOptionsMaintenanceStrategiesPtrOutput() FleetSpotOptionsMaintenanceStrategiesPtrOutput { + return i.ToFleetSpotOptionsMaintenanceStrategiesPtrOutputWithContext(context.Background()) +} + +func (i FleetSpotOptionsMaintenanceStrategiesArgs) ToFleetSpotOptionsMaintenanceStrategiesPtrOutputWithContext(ctx context.Context) FleetSpotOptionsMaintenanceStrategiesPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(FleetSpotOptionsMaintenanceStrategiesOutput).ToFleetSpotOptionsMaintenanceStrategiesPtrOutputWithContext(ctx) +} + +// FleetSpotOptionsMaintenanceStrategiesPtrInput is an input type that accepts FleetSpotOptionsMaintenanceStrategiesArgs, FleetSpotOptionsMaintenanceStrategiesPtr and FleetSpotOptionsMaintenanceStrategiesPtrOutput values. +// You can construct a concrete instance of `FleetSpotOptionsMaintenanceStrategiesPtrInput` via: +// +// FleetSpotOptionsMaintenanceStrategiesArgs{...} // // or: // // nil -type InstanceEnclaveOptionsPtrInput interface { +type FleetSpotOptionsMaintenanceStrategiesPtrInput interface { pulumi.Input - ToInstanceEnclaveOptionsPtrOutput() InstanceEnclaveOptionsPtrOutput - ToInstanceEnclaveOptionsPtrOutputWithContext(context.Context) InstanceEnclaveOptionsPtrOutput + ToFleetSpotOptionsMaintenanceStrategiesPtrOutput() FleetSpotOptionsMaintenanceStrategiesPtrOutput + ToFleetSpotOptionsMaintenanceStrategiesPtrOutputWithContext(context.Context) FleetSpotOptionsMaintenanceStrategiesPtrOutput } -type instanceEnclaveOptionsPtrType InstanceEnclaveOptionsArgs +type fleetSpotOptionsMaintenanceStrategiesPtrType FleetSpotOptionsMaintenanceStrategiesArgs -func InstanceEnclaveOptionsPtr(v *InstanceEnclaveOptionsArgs) InstanceEnclaveOptionsPtrInput { - return (*instanceEnclaveOptionsPtrType)(v) +func FleetSpotOptionsMaintenanceStrategiesPtr(v *FleetSpotOptionsMaintenanceStrategiesArgs) FleetSpotOptionsMaintenanceStrategiesPtrInput { + return (*fleetSpotOptionsMaintenanceStrategiesPtrType)(v) } -func (*instanceEnclaveOptionsPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**InstanceEnclaveOptions)(nil)).Elem() +func (*fleetSpotOptionsMaintenanceStrategiesPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**FleetSpotOptionsMaintenanceStrategies)(nil)).Elem() } -func (i *instanceEnclaveOptionsPtrType) ToInstanceEnclaveOptionsPtrOutput() InstanceEnclaveOptionsPtrOutput { - return i.ToInstanceEnclaveOptionsPtrOutputWithContext(context.Background()) +func (i *fleetSpotOptionsMaintenanceStrategiesPtrType) ToFleetSpotOptionsMaintenanceStrategiesPtrOutput() FleetSpotOptionsMaintenanceStrategiesPtrOutput { + return i.ToFleetSpotOptionsMaintenanceStrategiesPtrOutputWithContext(context.Background()) } -func (i *instanceEnclaveOptionsPtrType) ToInstanceEnclaveOptionsPtrOutputWithContext(ctx context.Context) InstanceEnclaveOptionsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(InstanceEnclaveOptionsPtrOutput) +func (i *fleetSpotOptionsMaintenanceStrategiesPtrType) ToFleetSpotOptionsMaintenanceStrategiesPtrOutputWithContext(ctx context.Context) FleetSpotOptionsMaintenanceStrategiesPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(FleetSpotOptionsMaintenanceStrategiesPtrOutput) } -type InstanceEnclaveOptionsOutput struct{ *pulumi.OutputState } +type FleetSpotOptionsMaintenanceStrategiesOutput struct{ *pulumi.OutputState } -func (InstanceEnclaveOptionsOutput) ElementType() reflect.Type { - return reflect.TypeOf((*InstanceEnclaveOptions)(nil)).Elem() +func (FleetSpotOptionsMaintenanceStrategiesOutput) ElementType() reflect.Type { + return reflect.TypeOf((*FleetSpotOptionsMaintenanceStrategies)(nil)).Elem() } -func (o InstanceEnclaveOptionsOutput) ToInstanceEnclaveOptionsOutput() InstanceEnclaveOptionsOutput { +func (o FleetSpotOptionsMaintenanceStrategiesOutput) ToFleetSpotOptionsMaintenanceStrategiesOutput() FleetSpotOptionsMaintenanceStrategiesOutput { return o } -func (o InstanceEnclaveOptionsOutput) ToInstanceEnclaveOptionsOutputWithContext(ctx context.Context) InstanceEnclaveOptionsOutput { +func (o FleetSpotOptionsMaintenanceStrategiesOutput) ToFleetSpotOptionsMaintenanceStrategiesOutputWithContext(ctx context.Context) FleetSpotOptionsMaintenanceStrategiesOutput { return o } -func (o InstanceEnclaveOptionsOutput) ToInstanceEnclaveOptionsPtrOutput() InstanceEnclaveOptionsPtrOutput { - return o.ToInstanceEnclaveOptionsPtrOutputWithContext(context.Background()) +func (o FleetSpotOptionsMaintenanceStrategiesOutput) ToFleetSpotOptionsMaintenanceStrategiesPtrOutput() FleetSpotOptionsMaintenanceStrategiesPtrOutput { + return o.ToFleetSpotOptionsMaintenanceStrategiesPtrOutputWithContext(context.Background()) } -func (o InstanceEnclaveOptionsOutput) ToInstanceEnclaveOptionsPtrOutputWithContext(ctx context.Context) InstanceEnclaveOptionsPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v InstanceEnclaveOptions) *InstanceEnclaveOptions { +func (o FleetSpotOptionsMaintenanceStrategiesOutput) ToFleetSpotOptionsMaintenanceStrategiesPtrOutputWithContext(ctx context.Context) FleetSpotOptionsMaintenanceStrategiesPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v FleetSpotOptionsMaintenanceStrategies) *FleetSpotOptionsMaintenanceStrategies { return &v - }).(InstanceEnclaveOptionsPtrOutput) + }).(FleetSpotOptionsMaintenanceStrategiesPtrOutput) } -// Whether Nitro Enclaves will be enabled on the instance. Defaults to `false`. -// -// For more information, see the documentation on [Nitro Enclaves](https://docs.aws.amazon.com/enclaves/latest/user/nitro-enclave.html). -func (o InstanceEnclaveOptionsOutput) Enabled() pulumi.BoolPtrOutput { - return o.ApplyT(func(v InstanceEnclaveOptions) *bool { return v.Enabled }).(pulumi.BoolPtrOutput) +// Nested argument containing the capacity rebalance for your fleet request. Defined below. +func (o FleetSpotOptionsMaintenanceStrategiesOutput) CapacityRebalance() FleetSpotOptionsMaintenanceStrategiesCapacityRebalancePtrOutput { + return o.ApplyT(func(v FleetSpotOptionsMaintenanceStrategies) *FleetSpotOptionsMaintenanceStrategiesCapacityRebalance { + return v.CapacityRebalance + }).(FleetSpotOptionsMaintenanceStrategiesCapacityRebalancePtrOutput) } -type InstanceEnclaveOptionsPtrOutput struct{ *pulumi.OutputState } +type FleetSpotOptionsMaintenanceStrategiesPtrOutput struct{ *pulumi.OutputState } -func (InstanceEnclaveOptionsPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**InstanceEnclaveOptions)(nil)).Elem() +func (FleetSpotOptionsMaintenanceStrategiesPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**FleetSpotOptionsMaintenanceStrategies)(nil)).Elem() } -func (o InstanceEnclaveOptionsPtrOutput) ToInstanceEnclaveOptionsPtrOutput() InstanceEnclaveOptionsPtrOutput { +func (o FleetSpotOptionsMaintenanceStrategiesPtrOutput) ToFleetSpotOptionsMaintenanceStrategiesPtrOutput() FleetSpotOptionsMaintenanceStrategiesPtrOutput { return o } -func (o InstanceEnclaveOptionsPtrOutput) ToInstanceEnclaveOptionsPtrOutputWithContext(ctx context.Context) InstanceEnclaveOptionsPtrOutput { +func (o FleetSpotOptionsMaintenanceStrategiesPtrOutput) ToFleetSpotOptionsMaintenanceStrategiesPtrOutputWithContext(ctx context.Context) FleetSpotOptionsMaintenanceStrategiesPtrOutput { return o } -func (o InstanceEnclaveOptionsPtrOutput) Elem() InstanceEnclaveOptionsOutput { - return o.ApplyT(func(v *InstanceEnclaveOptions) InstanceEnclaveOptions { +func (o FleetSpotOptionsMaintenanceStrategiesPtrOutput) Elem() FleetSpotOptionsMaintenanceStrategiesOutput { + return o.ApplyT(func(v *FleetSpotOptionsMaintenanceStrategies) FleetSpotOptionsMaintenanceStrategies { if v != nil { return *v } - var ret InstanceEnclaveOptions + var ret FleetSpotOptionsMaintenanceStrategies return ret - }).(InstanceEnclaveOptionsOutput) + }).(FleetSpotOptionsMaintenanceStrategiesOutput) } -// Whether Nitro Enclaves will be enabled on the instance. Defaults to `false`. -// -// For more information, see the documentation on [Nitro Enclaves](https://docs.aws.amazon.com/enclaves/latest/user/nitro-enclave.html). -func (o InstanceEnclaveOptionsPtrOutput) Enabled() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *InstanceEnclaveOptions) *bool { +// Nested argument containing the capacity rebalance for your fleet request. Defined below. +func (o FleetSpotOptionsMaintenanceStrategiesPtrOutput) CapacityRebalance() FleetSpotOptionsMaintenanceStrategiesCapacityRebalancePtrOutput { + return o.ApplyT(func(v *FleetSpotOptionsMaintenanceStrategies) *FleetSpotOptionsMaintenanceStrategiesCapacityRebalance { if v == nil { return nil } - return v.Enabled - }).(pulumi.BoolPtrOutput) + return v.CapacityRebalance + }).(FleetSpotOptionsMaintenanceStrategiesCapacityRebalancePtrOutput) } -type InstanceEphemeralBlockDevice struct { - // Name of the block device to mount on the instance. - DeviceName string `pulumi:"deviceName"` - // Suppresses the specified device included in the AMI's block device mapping. - NoDevice *bool `pulumi:"noDevice"` - // [Instance Store Device Name](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html#InstanceStoreDeviceNames) (e.g., `ephemeral0`). - // - // Each AWS Instance type has a different set of Instance Store block devices available for attachment. AWS [publishes a list](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html#StorageOnInstanceTypes) of which ephemeral devices are available on each type. The devices are always identified by the `virtualName` in the format `ephemeral{0..N}`. - VirtualName *string `pulumi:"virtualName"` +type FleetSpotOptionsMaintenanceStrategiesCapacityRebalance struct { + // The replacement strategy to use. Only available for fleets of `type` set to `maintain`. Valid values: `launch`. + ReplacementStrategy *string `pulumi:"replacementStrategy"` + TerminationDelay *int `pulumi:"terminationDelay"` } -// InstanceEphemeralBlockDeviceInput is an input type that accepts InstanceEphemeralBlockDeviceArgs and InstanceEphemeralBlockDeviceOutput values. -// You can construct a concrete instance of `InstanceEphemeralBlockDeviceInput` via: +// FleetSpotOptionsMaintenanceStrategiesCapacityRebalanceInput is an input type that accepts FleetSpotOptionsMaintenanceStrategiesCapacityRebalanceArgs and FleetSpotOptionsMaintenanceStrategiesCapacityRebalanceOutput values. +// You can construct a concrete instance of `FleetSpotOptionsMaintenanceStrategiesCapacityRebalanceInput` via: // -// InstanceEphemeralBlockDeviceArgs{...} -type InstanceEphemeralBlockDeviceInput interface { +// FleetSpotOptionsMaintenanceStrategiesCapacityRebalanceArgs{...} +type FleetSpotOptionsMaintenanceStrategiesCapacityRebalanceInput interface { pulumi.Input - ToInstanceEphemeralBlockDeviceOutput() InstanceEphemeralBlockDeviceOutput - ToInstanceEphemeralBlockDeviceOutputWithContext(context.Context) InstanceEphemeralBlockDeviceOutput + ToFleetSpotOptionsMaintenanceStrategiesCapacityRebalanceOutput() FleetSpotOptionsMaintenanceStrategiesCapacityRebalanceOutput + ToFleetSpotOptionsMaintenanceStrategiesCapacityRebalanceOutputWithContext(context.Context) FleetSpotOptionsMaintenanceStrategiesCapacityRebalanceOutput } -type InstanceEphemeralBlockDeviceArgs struct { - // Name of the block device to mount on the instance. - DeviceName pulumi.StringInput `pulumi:"deviceName"` - // Suppresses the specified device included in the AMI's block device mapping. - NoDevice pulumi.BoolPtrInput `pulumi:"noDevice"` - // [Instance Store Device Name](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html#InstanceStoreDeviceNames) (e.g., `ephemeral0`). - // - // Each AWS Instance type has a different set of Instance Store block devices available for attachment. AWS [publishes a list](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html#StorageOnInstanceTypes) of which ephemeral devices are available on each type. The devices are always identified by the `virtualName` in the format `ephemeral{0..N}`. - VirtualName pulumi.StringPtrInput `pulumi:"virtualName"` +type FleetSpotOptionsMaintenanceStrategiesCapacityRebalanceArgs struct { + // The replacement strategy to use. Only available for fleets of `type` set to `maintain`. Valid values: `launch`. + ReplacementStrategy pulumi.StringPtrInput `pulumi:"replacementStrategy"` + TerminationDelay pulumi.IntPtrInput `pulumi:"terminationDelay"` } -func (InstanceEphemeralBlockDeviceArgs) ElementType() reflect.Type { - return reflect.TypeOf((*InstanceEphemeralBlockDevice)(nil)).Elem() +func (FleetSpotOptionsMaintenanceStrategiesCapacityRebalanceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*FleetSpotOptionsMaintenanceStrategiesCapacityRebalance)(nil)).Elem() } -func (i InstanceEphemeralBlockDeviceArgs) ToInstanceEphemeralBlockDeviceOutput() InstanceEphemeralBlockDeviceOutput { - return i.ToInstanceEphemeralBlockDeviceOutputWithContext(context.Background()) +func (i FleetSpotOptionsMaintenanceStrategiesCapacityRebalanceArgs) ToFleetSpotOptionsMaintenanceStrategiesCapacityRebalanceOutput() FleetSpotOptionsMaintenanceStrategiesCapacityRebalanceOutput { + return i.ToFleetSpotOptionsMaintenanceStrategiesCapacityRebalanceOutputWithContext(context.Background()) } -func (i InstanceEphemeralBlockDeviceArgs) ToInstanceEphemeralBlockDeviceOutputWithContext(ctx context.Context) InstanceEphemeralBlockDeviceOutput { - return pulumi.ToOutputWithContext(ctx, i).(InstanceEphemeralBlockDeviceOutput) +func (i FleetSpotOptionsMaintenanceStrategiesCapacityRebalanceArgs) ToFleetSpotOptionsMaintenanceStrategiesCapacityRebalanceOutputWithContext(ctx context.Context) FleetSpotOptionsMaintenanceStrategiesCapacityRebalanceOutput { + return pulumi.ToOutputWithContext(ctx, i).(FleetSpotOptionsMaintenanceStrategiesCapacityRebalanceOutput) } -// InstanceEphemeralBlockDeviceArrayInput is an input type that accepts InstanceEphemeralBlockDeviceArray and InstanceEphemeralBlockDeviceArrayOutput values. -// You can construct a concrete instance of `InstanceEphemeralBlockDeviceArrayInput` via: +func (i FleetSpotOptionsMaintenanceStrategiesCapacityRebalanceArgs) ToFleetSpotOptionsMaintenanceStrategiesCapacityRebalancePtrOutput() FleetSpotOptionsMaintenanceStrategiesCapacityRebalancePtrOutput { + return i.ToFleetSpotOptionsMaintenanceStrategiesCapacityRebalancePtrOutputWithContext(context.Background()) +} + +func (i FleetSpotOptionsMaintenanceStrategiesCapacityRebalanceArgs) ToFleetSpotOptionsMaintenanceStrategiesCapacityRebalancePtrOutputWithContext(ctx context.Context) FleetSpotOptionsMaintenanceStrategiesCapacityRebalancePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(FleetSpotOptionsMaintenanceStrategiesCapacityRebalanceOutput).ToFleetSpotOptionsMaintenanceStrategiesCapacityRebalancePtrOutputWithContext(ctx) +} + +// FleetSpotOptionsMaintenanceStrategiesCapacityRebalancePtrInput is an input type that accepts FleetSpotOptionsMaintenanceStrategiesCapacityRebalanceArgs, FleetSpotOptionsMaintenanceStrategiesCapacityRebalancePtr and FleetSpotOptionsMaintenanceStrategiesCapacityRebalancePtrOutput values. +// You can construct a concrete instance of `FleetSpotOptionsMaintenanceStrategiesCapacityRebalancePtrInput` via: // -// InstanceEphemeralBlockDeviceArray{ InstanceEphemeralBlockDeviceArgs{...} } -type InstanceEphemeralBlockDeviceArrayInput interface { +// FleetSpotOptionsMaintenanceStrategiesCapacityRebalanceArgs{...} +// +// or: +// +// nil +type FleetSpotOptionsMaintenanceStrategiesCapacityRebalancePtrInput interface { pulumi.Input - ToInstanceEphemeralBlockDeviceArrayOutput() InstanceEphemeralBlockDeviceArrayOutput - ToInstanceEphemeralBlockDeviceArrayOutputWithContext(context.Context) InstanceEphemeralBlockDeviceArrayOutput + ToFleetSpotOptionsMaintenanceStrategiesCapacityRebalancePtrOutput() FleetSpotOptionsMaintenanceStrategiesCapacityRebalancePtrOutput + ToFleetSpotOptionsMaintenanceStrategiesCapacityRebalancePtrOutputWithContext(context.Context) FleetSpotOptionsMaintenanceStrategiesCapacityRebalancePtrOutput } -type InstanceEphemeralBlockDeviceArray []InstanceEphemeralBlockDeviceInput +type fleetSpotOptionsMaintenanceStrategiesCapacityRebalancePtrType FleetSpotOptionsMaintenanceStrategiesCapacityRebalanceArgs -func (InstanceEphemeralBlockDeviceArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]InstanceEphemeralBlockDevice)(nil)).Elem() +func FleetSpotOptionsMaintenanceStrategiesCapacityRebalancePtr(v *FleetSpotOptionsMaintenanceStrategiesCapacityRebalanceArgs) FleetSpotOptionsMaintenanceStrategiesCapacityRebalancePtrInput { + return (*fleetSpotOptionsMaintenanceStrategiesCapacityRebalancePtrType)(v) } -func (i InstanceEphemeralBlockDeviceArray) ToInstanceEphemeralBlockDeviceArrayOutput() InstanceEphemeralBlockDeviceArrayOutput { - return i.ToInstanceEphemeralBlockDeviceArrayOutputWithContext(context.Background()) +func (*fleetSpotOptionsMaintenanceStrategiesCapacityRebalancePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**FleetSpotOptionsMaintenanceStrategiesCapacityRebalance)(nil)).Elem() } -func (i InstanceEphemeralBlockDeviceArray) ToInstanceEphemeralBlockDeviceArrayOutputWithContext(ctx context.Context) InstanceEphemeralBlockDeviceArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(InstanceEphemeralBlockDeviceArrayOutput) +func (i *fleetSpotOptionsMaintenanceStrategiesCapacityRebalancePtrType) ToFleetSpotOptionsMaintenanceStrategiesCapacityRebalancePtrOutput() FleetSpotOptionsMaintenanceStrategiesCapacityRebalancePtrOutput { + return i.ToFleetSpotOptionsMaintenanceStrategiesCapacityRebalancePtrOutputWithContext(context.Background()) } -type InstanceEphemeralBlockDeviceOutput struct{ *pulumi.OutputState } +func (i *fleetSpotOptionsMaintenanceStrategiesCapacityRebalancePtrType) ToFleetSpotOptionsMaintenanceStrategiesCapacityRebalancePtrOutputWithContext(ctx context.Context) FleetSpotOptionsMaintenanceStrategiesCapacityRebalancePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(FleetSpotOptionsMaintenanceStrategiesCapacityRebalancePtrOutput) +} -func (InstanceEphemeralBlockDeviceOutput) ElementType() reflect.Type { - return reflect.TypeOf((*InstanceEphemeralBlockDevice)(nil)).Elem() +type FleetSpotOptionsMaintenanceStrategiesCapacityRebalanceOutput struct{ *pulumi.OutputState } + +func (FleetSpotOptionsMaintenanceStrategiesCapacityRebalanceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*FleetSpotOptionsMaintenanceStrategiesCapacityRebalance)(nil)).Elem() } -func (o InstanceEphemeralBlockDeviceOutput) ToInstanceEphemeralBlockDeviceOutput() InstanceEphemeralBlockDeviceOutput { +func (o FleetSpotOptionsMaintenanceStrategiesCapacityRebalanceOutput) ToFleetSpotOptionsMaintenanceStrategiesCapacityRebalanceOutput() FleetSpotOptionsMaintenanceStrategiesCapacityRebalanceOutput { return o } -func (o InstanceEphemeralBlockDeviceOutput) ToInstanceEphemeralBlockDeviceOutputWithContext(ctx context.Context) InstanceEphemeralBlockDeviceOutput { +func (o FleetSpotOptionsMaintenanceStrategiesCapacityRebalanceOutput) ToFleetSpotOptionsMaintenanceStrategiesCapacityRebalanceOutputWithContext(ctx context.Context) FleetSpotOptionsMaintenanceStrategiesCapacityRebalanceOutput { return o } -// Name of the block device to mount on the instance. -func (o InstanceEphemeralBlockDeviceOutput) DeviceName() pulumi.StringOutput { - return o.ApplyT(func(v InstanceEphemeralBlockDevice) string { return v.DeviceName }).(pulumi.StringOutput) +func (o FleetSpotOptionsMaintenanceStrategiesCapacityRebalanceOutput) ToFleetSpotOptionsMaintenanceStrategiesCapacityRebalancePtrOutput() FleetSpotOptionsMaintenanceStrategiesCapacityRebalancePtrOutput { + return o.ToFleetSpotOptionsMaintenanceStrategiesCapacityRebalancePtrOutputWithContext(context.Background()) } -// Suppresses the specified device included in the AMI's block device mapping. -func (o InstanceEphemeralBlockDeviceOutput) NoDevice() pulumi.BoolPtrOutput { - return o.ApplyT(func(v InstanceEphemeralBlockDevice) *bool { return v.NoDevice }).(pulumi.BoolPtrOutput) +func (o FleetSpotOptionsMaintenanceStrategiesCapacityRebalanceOutput) ToFleetSpotOptionsMaintenanceStrategiesCapacityRebalancePtrOutputWithContext(ctx context.Context) FleetSpotOptionsMaintenanceStrategiesCapacityRebalancePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v FleetSpotOptionsMaintenanceStrategiesCapacityRebalance) *FleetSpotOptionsMaintenanceStrategiesCapacityRebalance { + return &v + }).(FleetSpotOptionsMaintenanceStrategiesCapacityRebalancePtrOutput) } -// [Instance Store Device Name](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html#InstanceStoreDeviceNames) (e.g., `ephemeral0`). -// -// Each AWS Instance type has a different set of Instance Store block devices available for attachment. AWS [publishes a list](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html#StorageOnInstanceTypes) of which ephemeral devices are available on each type. The devices are always identified by the `virtualName` in the format `ephemeral{0..N}`. -func (o InstanceEphemeralBlockDeviceOutput) VirtualName() pulumi.StringPtrOutput { - return o.ApplyT(func(v InstanceEphemeralBlockDevice) *string { return v.VirtualName }).(pulumi.StringPtrOutput) +// The replacement strategy to use. Only available for fleets of `type` set to `maintain`. Valid values: `launch`. +func (o FleetSpotOptionsMaintenanceStrategiesCapacityRebalanceOutput) ReplacementStrategy() pulumi.StringPtrOutput { + return o.ApplyT(func(v FleetSpotOptionsMaintenanceStrategiesCapacityRebalance) *string { return v.ReplacementStrategy }).(pulumi.StringPtrOutput) } -type InstanceEphemeralBlockDeviceArrayOutput struct{ *pulumi.OutputState } +func (o FleetSpotOptionsMaintenanceStrategiesCapacityRebalanceOutput) TerminationDelay() pulumi.IntPtrOutput { + return o.ApplyT(func(v FleetSpotOptionsMaintenanceStrategiesCapacityRebalance) *int { return v.TerminationDelay }).(pulumi.IntPtrOutput) +} -func (InstanceEphemeralBlockDeviceArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]InstanceEphemeralBlockDevice)(nil)).Elem() +type FleetSpotOptionsMaintenanceStrategiesCapacityRebalancePtrOutput struct{ *pulumi.OutputState } + +func (FleetSpotOptionsMaintenanceStrategiesCapacityRebalancePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**FleetSpotOptionsMaintenanceStrategiesCapacityRebalance)(nil)).Elem() } -func (o InstanceEphemeralBlockDeviceArrayOutput) ToInstanceEphemeralBlockDeviceArrayOutput() InstanceEphemeralBlockDeviceArrayOutput { +func (o FleetSpotOptionsMaintenanceStrategiesCapacityRebalancePtrOutput) ToFleetSpotOptionsMaintenanceStrategiesCapacityRebalancePtrOutput() FleetSpotOptionsMaintenanceStrategiesCapacityRebalancePtrOutput { return o } -func (o InstanceEphemeralBlockDeviceArrayOutput) ToInstanceEphemeralBlockDeviceArrayOutputWithContext(ctx context.Context) InstanceEphemeralBlockDeviceArrayOutput { +func (o FleetSpotOptionsMaintenanceStrategiesCapacityRebalancePtrOutput) ToFleetSpotOptionsMaintenanceStrategiesCapacityRebalancePtrOutputWithContext(ctx context.Context) FleetSpotOptionsMaintenanceStrategiesCapacityRebalancePtrOutput { return o } -func (o InstanceEphemeralBlockDeviceArrayOutput) Index(i pulumi.IntInput) InstanceEphemeralBlockDeviceOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) InstanceEphemeralBlockDevice { - return vs[0].([]InstanceEphemeralBlockDevice)[vs[1].(int)] - }).(InstanceEphemeralBlockDeviceOutput) +func (o FleetSpotOptionsMaintenanceStrategiesCapacityRebalancePtrOutput) Elem() FleetSpotOptionsMaintenanceStrategiesCapacityRebalanceOutput { + return o.ApplyT(func(v *FleetSpotOptionsMaintenanceStrategiesCapacityRebalance) FleetSpotOptionsMaintenanceStrategiesCapacityRebalance { + if v != nil { + return *v + } + var ret FleetSpotOptionsMaintenanceStrategiesCapacityRebalance + return ret + }).(FleetSpotOptionsMaintenanceStrategiesCapacityRebalanceOutput) } -type InstanceInstanceMarketOptions struct { - // Type of market for the instance. Valid values are `spot` and `capacity-block`. Defaults to `spot`. Required if `spotOptions` is specified. - MarketType *string `pulumi:"marketType"` - // Block to configure the options for Spot Instances. See Spot Options below for details on attributes. - SpotOptions *InstanceInstanceMarketOptionsSpotOptions `pulumi:"spotOptions"` +// The replacement strategy to use. Only available for fleets of `type` set to `maintain`. Valid values: `launch`. +func (o FleetSpotOptionsMaintenanceStrategiesCapacityRebalancePtrOutput) ReplacementStrategy() pulumi.StringPtrOutput { + return o.ApplyT(func(v *FleetSpotOptionsMaintenanceStrategiesCapacityRebalance) *string { + if v == nil { + return nil + } + return v.ReplacementStrategy + }).(pulumi.StringPtrOutput) } -// InstanceInstanceMarketOptionsInput is an input type that accepts InstanceInstanceMarketOptionsArgs and InstanceInstanceMarketOptionsOutput values. -// You can construct a concrete instance of `InstanceInstanceMarketOptionsInput` via: +func (o FleetSpotOptionsMaintenanceStrategiesCapacityRebalancePtrOutput) TerminationDelay() pulumi.IntPtrOutput { + return o.ApplyT(func(v *FleetSpotOptionsMaintenanceStrategiesCapacityRebalance) *int { + if v == nil { + return nil + } + return v.TerminationDelay + }).(pulumi.IntPtrOutput) +} + +type FleetTargetCapacitySpecification struct { + // Default target capacity type. Valid values: `on-demand`, `spot`. + DefaultTargetCapacityType string `pulumi:"defaultTargetCapacityType"` + // The number of On-Demand units to request. + OnDemandTargetCapacity *int `pulumi:"onDemandTargetCapacity"` + // The number of Spot units to request. + SpotTargetCapacity *int `pulumi:"spotTargetCapacity"` + // The unit for the target capacity. + // If you specify `targetCapacityUnitType`, `instanceRequirements` must be specified. + TargetCapacityUnitType *string `pulumi:"targetCapacityUnitType"` + // The number of units to request, filled using `defaultTargetCapacityType`. + TotalTargetCapacity int `pulumi:"totalTargetCapacity"` +} + +// FleetTargetCapacitySpecificationInput is an input type that accepts FleetTargetCapacitySpecificationArgs and FleetTargetCapacitySpecificationOutput values. +// You can construct a concrete instance of `FleetTargetCapacitySpecificationInput` via: // -// InstanceInstanceMarketOptionsArgs{...} -type InstanceInstanceMarketOptionsInput interface { +// FleetTargetCapacitySpecificationArgs{...} +type FleetTargetCapacitySpecificationInput interface { pulumi.Input - ToInstanceInstanceMarketOptionsOutput() InstanceInstanceMarketOptionsOutput - ToInstanceInstanceMarketOptionsOutputWithContext(context.Context) InstanceInstanceMarketOptionsOutput + ToFleetTargetCapacitySpecificationOutput() FleetTargetCapacitySpecificationOutput + ToFleetTargetCapacitySpecificationOutputWithContext(context.Context) FleetTargetCapacitySpecificationOutput } -type InstanceInstanceMarketOptionsArgs struct { - // Type of market for the instance. Valid values are `spot` and `capacity-block`. Defaults to `spot`. Required if `spotOptions` is specified. - MarketType pulumi.StringPtrInput `pulumi:"marketType"` - // Block to configure the options for Spot Instances. See Spot Options below for details on attributes. - SpotOptions InstanceInstanceMarketOptionsSpotOptionsPtrInput `pulumi:"spotOptions"` +type FleetTargetCapacitySpecificationArgs struct { + // Default target capacity type. Valid values: `on-demand`, `spot`. + DefaultTargetCapacityType pulumi.StringInput `pulumi:"defaultTargetCapacityType"` + // The number of On-Demand units to request. + OnDemandTargetCapacity pulumi.IntPtrInput `pulumi:"onDemandTargetCapacity"` + // The number of Spot units to request. + SpotTargetCapacity pulumi.IntPtrInput `pulumi:"spotTargetCapacity"` + // The unit for the target capacity. + // If you specify `targetCapacityUnitType`, `instanceRequirements` must be specified. + TargetCapacityUnitType pulumi.StringPtrInput `pulumi:"targetCapacityUnitType"` + // The number of units to request, filled using `defaultTargetCapacityType`. + TotalTargetCapacity pulumi.IntInput `pulumi:"totalTargetCapacity"` } -func (InstanceInstanceMarketOptionsArgs) ElementType() reflect.Type { - return reflect.TypeOf((*InstanceInstanceMarketOptions)(nil)).Elem() +func (FleetTargetCapacitySpecificationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*FleetTargetCapacitySpecification)(nil)).Elem() } -func (i InstanceInstanceMarketOptionsArgs) ToInstanceInstanceMarketOptionsOutput() InstanceInstanceMarketOptionsOutput { - return i.ToInstanceInstanceMarketOptionsOutputWithContext(context.Background()) +func (i FleetTargetCapacitySpecificationArgs) ToFleetTargetCapacitySpecificationOutput() FleetTargetCapacitySpecificationOutput { + return i.ToFleetTargetCapacitySpecificationOutputWithContext(context.Background()) } -func (i InstanceInstanceMarketOptionsArgs) ToInstanceInstanceMarketOptionsOutputWithContext(ctx context.Context) InstanceInstanceMarketOptionsOutput { - return pulumi.ToOutputWithContext(ctx, i).(InstanceInstanceMarketOptionsOutput) +func (i FleetTargetCapacitySpecificationArgs) ToFleetTargetCapacitySpecificationOutputWithContext(ctx context.Context) FleetTargetCapacitySpecificationOutput { + return pulumi.ToOutputWithContext(ctx, i).(FleetTargetCapacitySpecificationOutput) } -func (i InstanceInstanceMarketOptionsArgs) ToInstanceInstanceMarketOptionsPtrOutput() InstanceInstanceMarketOptionsPtrOutput { - return i.ToInstanceInstanceMarketOptionsPtrOutputWithContext(context.Background()) +func (i FleetTargetCapacitySpecificationArgs) ToFleetTargetCapacitySpecificationPtrOutput() FleetTargetCapacitySpecificationPtrOutput { + return i.ToFleetTargetCapacitySpecificationPtrOutputWithContext(context.Background()) } -func (i InstanceInstanceMarketOptionsArgs) ToInstanceInstanceMarketOptionsPtrOutputWithContext(ctx context.Context) InstanceInstanceMarketOptionsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(InstanceInstanceMarketOptionsOutput).ToInstanceInstanceMarketOptionsPtrOutputWithContext(ctx) +func (i FleetTargetCapacitySpecificationArgs) ToFleetTargetCapacitySpecificationPtrOutputWithContext(ctx context.Context) FleetTargetCapacitySpecificationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(FleetTargetCapacitySpecificationOutput).ToFleetTargetCapacitySpecificationPtrOutputWithContext(ctx) } -// InstanceInstanceMarketOptionsPtrInput is an input type that accepts InstanceInstanceMarketOptionsArgs, InstanceInstanceMarketOptionsPtr and InstanceInstanceMarketOptionsPtrOutput values. -// You can construct a concrete instance of `InstanceInstanceMarketOptionsPtrInput` via: +// FleetTargetCapacitySpecificationPtrInput is an input type that accepts FleetTargetCapacitySpecificationArgs, FleetTargetCapacitySpecificationPtr and FleetTargetCapacitySpecificationPtrOutput values. +// You can construct a concrete instance of `FleetTargetCapacitySpecificationPtrInput` via: // -// InstanceInstanceMarketOptionsArgs{...} +// FleetTargetCapacitySpecificationArgs{...} // // or: // // nil -type InstanceInstanceMarketOptionsPtrInput interface { +type FleetTargetCapacitySpecificationPtrInput interface { pulumi.Input - ToInstanceInstanceMarketOptionsPtrOutput() InstanceInstanceMarketOptionsPtrOutput - ToInstanceInstanceMarketOptionsPtrOutputWithContext(context.Context) InstanceInstanceMarketOptionsPtrOutput + ToFleetTargetCapacitySpecificationPtrOutput() FleetTargetCapacitySpecificationPtrOutput + ToFleetTargetCapacitySpecificationPtrOutputWithContext(context.Context) FleetTargetCapacitySpecificationPtrOutput } -type instanceInstanceMarketOptionsPtrType InstanceInstanceMarketOptionsArgs +type fleetTargetCapacitySpecificationPtrType FleetTargetCapacitySpecificationArgs -func InstanceInstanceMarketOptionsPtr(v *InstanceInstanceMarketOptionsArgs) InstanceInstanceMarketOptionsPtrInput { - return (*instanceInstanceMarketOptionsPtrType)(v) +func FleetTargetCapacitySpecificationPtr(v *FleetTargetCapacitySpecificationArgs) FleetTargetCapacitySpecificationPtrInput { + return (*fleetTargetCapacitySpecificationPtrType)(v) } -func (*instanceInstanceMarketOptionsPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**InstanceInstanceMarketOptions)(nil)).Elem() +func (*fleetTargetCapacitySpecificationPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**FleetTargetCapacitySpecification)(nil)).Elem() } -func (i *instanceInstanceMarketOptionsPtrType) ToInstanceInstanceMarketOptionsPtrOutput() InstanceInstanceMarketOptionsPtrOutput { - return i.ToInstanceInstanceMarketOptionsPtrOutputWithContext(context.Background()) +func (i *fleetTargetCapacitySpecificationPtrType) ToFleetTargetCapacitySpecificationPtrOutput() FleetTargetCapacitySpecificationPtrOutput { + return i.ToFleetTargetCapacitySpecificationPtrOutputWithContext(context.Background()) } -func (i *instanceInstanceMarketOptionsPtrType) ToInstanceInstanceMarketOptionsPtrOutputWithContext(ctx context.Context) InstanceInstanceMarketOptionsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(InstanceInstanceMarketOptionsPtrOutput) +func (i *fleetTargetCapacitySpecificationPtrType) ToFleetTargetCapacitySpecificationPtrOutputWithContext(ctx context.Context) FleetTargetCapacitySpecificationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(FleetTargetCapacitySpecificationPtrOutput) } -type InstanceInstanceMarketOptionsOutput struct{ *pulumi.OutputState } +type FleetTargetCapacitySpecificationOutput struct{ *pulumi.OutputState } -func (InstanceInstanceMarketOptionsOutput) ElementType() reflect.Type { - return reflect.TypeOf((*InstanceInstanceMarketOptions)(nil)).Elem() +func (FleetTargetCapacitySpecificationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*FleetTargetCapacitySpecification)(nil)).Elem() } -func (o InstanceInstanceMarketOptionsOutput) ToInstanceInstanceMarketOptionsOutput() InstanceInstanceMarketOptionsOutput { +func (o FleetTargetCapacitySpecificationOutput) ToFleetTargetCapacitySpecificationOutput() FleetTargetCapacitySpecificationOutput { return o } -func (o InstanceInstanceMarketOptionsOutput) ToInstanceInstanceMarketOptionsOutputWithContext(ctx context.Context) InstanceInstanceMarketOptionsOutput { +func (o FleetTargetCapacitySpecificationOutput) ToFleetTargetCapacitySpecificationOutputWithContext(ctx context.Context) FleetTargetCapacitySpecificationOutput { return o } -func (o InstanceInstanceMarketOptionsOutput) ToInstanceInstanceMarketOptionsPtrOutput() InstanceInstanceMarketOptionsPtrOutput { - return o.ToInstanceInstanceMarketOptionsPtrOutputWithContext(context.Background()) +func (o FleetTargetCapacitySpecificationOutput) ToFleetTargetCapacitySpecificationPtrOutput() FleetTargetCapacitySpecificationPtrOutput { + return o.ToFleetTargetCapacitySpecificationPtrOutputWithContext(context.Background()) } -func (o InstanceInstanceMarketOptionsOutput) ToInstanceInstanceMarketOptionsPtrOutputWithContext(ctx context.Context) InstanceInstanceMarketOptionsPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v InstanceInstanceMarketOptions) *InstanceInstanceMarketOptions { +func (o FleetTargetCapacitySpecificationOutput) ToFleetTargetCapacitySpecificationPtrOutputWithContext(ctx context.Context) FleetTargetCapacitySpecificationPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v FleetTargetCapacitySpecification) *FleetTargetCapacitySpecification { return &v - }).(InstanceInstanceMarketOptionsPtrOutput) + }).(FleetTargetCapacitySpecificationPtrOutput) } -// Type of market for the instance. Valid values are `spot` and `capacity-block`. Defaults to `spot`. Required if `spotOptions` is specified. -func (o InstanceInstanceMarketOptionsOutput) MarketType() pulumi.StringPtrOutput { - return o.ApplyT(func(v InstanceInstanceMarketOptions) *string { return v.MarketType }).(pulumi.StringPtrOutput) +// Default target capacity type. Valid values: `on-demand`, `spot`. +func (o FleetTargetCapacitySpecificationOutput) DefaultTargetCapacityType() pulumi.StringOutput { + return o.ApplyT(func(v FleetTargetCapacitySpecification) string { return v.DefaultTargetCapacityType }).(pulumi.StringOutput) } -// Block to configure the options for Spot Instances. See Spot Options below for details on attributes. -func (o InstanceInstanceMarketOptionsOutput) SpotOptions() InstanceInstanceMarketOptionsSpotOptionsPtrOutput { - return o.ApplyT(func(v InstanceInstanceMarketOptions) *InstanceInstanceMarketOptionsSpotOptions { return v.SpotOptions }).(InstanceInstanceMarketOptionsSpotOptionsPtrOutput) +// The number of On-Demand units to request. +func (o FleetTargetCapacitySpecificationOutput) OnDemandTargetCapacity() pulumi.IntPtrOutput { + return o.ApplyT(func(v FleetTargetCapacitySpecification) *int { return v.OnDemandTargetCapacity }).(pulumi.IntPtrOutput) } -type InstanceInstanceMarketOptionsPtrOutput struct{ *pulumi.OutputState } +// The number of Spot units to request. +func (o FleetTargetCapacitySpecificationOutput) SpotTargetCapacity() pulumi.IntPtrOutput { + return o.ApplyT(func(v FleetTargetCapacitySpecification) *int { return v.SpotTargetCapacity }).(pulumi.IntPtrOutput) +} -func (InstanceInstanceMarketOptionsPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**InstanceInstanceMarketOptions)(nil)).Elem() +// The unit for the target capacity. +// If you specify `targetCapacityUnitType`, `instanceRequirements` must be specified. +func (o FleetTargetCapacitySpecificationOutput) TargetCapacityUnitType() pulumi.StringPtrOutput { + return o.ApplyT(func(v FleetTargetCapacitySpecification) *string { return v.TargetCapacityUnitType }).(pulumi.StringPtrOutput) } -func (o InstanceInstanceMarketOptionsPtrOutput) ToInstanceInstanceMarketOptionsPtrOutput() InstanceInstanceMarketOptionsPtrOutput { +// The number of units to request, filled using `defaultTargetCapacityType`. +func (o FleetTargetCapacitySpecificationOutput) TotalTargetCapacity() pulumi.IntOutput { + return o.ApplyT(func(v FleetTargetCapacitySpecification) int { return v.TotalTargetCapacity }).(pulumi.IntOutput) +} + +type FleetTargetCapacitySpecificationPtrOutput struct{ *pulumi.OutputState } + +func (FleetTargetCapacitySpecificationPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**FleetTargetCapacitySpecification)(nil)).Elem() +} + +func (o FleetTargetCapacitySpecificationPtrOutput) ToFleetTargetCapacitySpecificationPtrOutput() FleetTargetCapacitySpecificationPtrOutput { return o } -func (o InstanceInstanceMarketOptionsPtrOutput) ToInstanceInstanceMarketOptionsPtrOutputWithContext(ctx context.Context) InstanceInstanceMarketOptionsPtrOutput { +func (o FleetTargetCapacitySpecificationPtrOutput) ToFleetTargetCapacitySpecificationPtrOutputWithContext(ctx context.Context) FleetTargetCapacitySpecificationPtrOutput { return o } -func (o InstanceInstanceMarketOptionsPtrOutput) Elem() InstanceInstanceMarketOptionsOutput { - return o.ApplyT(func(v *InstanceInstanceMarketOptions) InstanceInstanceMarketOptions { +func (o FleetTargetCapacitySpecificationPtrOutput) Elem() FleetTargetCapacitySpecificationOutput { + return o.ApplyT(func(v *FleetTargetCapacitySpecification) FleetTargetCapacitySpecification { if v != nil { return *v } - var ret InstanceInstanceMarketOptions + var ret FleetTargetCapacitySpecification return ret - }).(InstanceInstanceMarketOptionsOutput) + }).(FleetTargetCapacitySpecificationOutput) } -// Type of market for the instance. Valid values are `spot` and `capacity-block`. Defaults to `spot`. Required if `spotOptions` is specified. -func (o InstanceInstanceMarketOptionsPtrOutput) MarketType() pulumi.StringPtrOutput { - return o.ApplyT(func(v *InstanceInstanceMarketOptions) *string { +// Default target capacity type. Valid values: `on-demand`, `spot`. +func (o FleetTargetCapacitySpecificationPtrOutput) DefaultTargetCapacityType() pulumi.StringPtrOutput { + return o.ApplyT(func(v *FleetTargetCapacitySpecification) *string { if v == nil { return nil } - return v.MarketType + return &v.DefaultTargetCapacityType }).(pulumi.StringPtrOutput) } -// Block to configure the options for Spot Instances. See Spot Options below for details on attributes. -func (o InstanceInstanceMarketOptionsPtrOutput) SpotOptions() InstanceInstanceMarketOptionsSpotOptionsPtrOutput { - return o.ApplyT(func(v *InstanceInstanceMarketOptions) *InstanceInstanceMarketOptionsSpotOptions { +// The number of On-Demand units to request. +func (o FleetTargetCapacitySpecificationPtrOutput) OnDemandTargetCapacity() pulumi.IntPtrOutput { + return o.ApplyT(func(v *FleetTargetCapacitySpecification) *int { if v == nil { return nil } - return v.SpotOptions - }).(InstanceInstanceMarketOptionsSpotOptionsPtrOutput) + return v.OnDemandTargetCapacity + }).(pulumi.IntPtrOutput) } -type InstanceInstanceMarketOptionsSpotOptions struct { - // The behavior when a Spot Instance is interrupted. Valid values include `hibernate`, `stop`, `terminate` . The default is `terminate`. - InstanceInterruptionBehavior *string `pulumi:"instanceInterruptionBehavior"` - // The maximum hourly price that you're willing to pay for a Spot Instance. - MaxPrice *string `pulumi:"maxPrice"` - // The Spot Instance request type. Valid values include `one-time`, `persistent`. Persistent Spot Instance requests are only supported when the instance interruption behavior is either hibernate or stop. The default is `one-time`. - SpotInstanceType *string `pulumi:"spotInstanceType"` - // The end date of the request, in UTC format (YYYY-MM-DDTHH:MM:SSZ). Supported only for persistent requests. - ValidUntil *string `pulumi:"validUntil"` +// The number of Spot units to request. +func (o FleetTargetCapacitySpecificationPtrOutput) SpotTargetCapacity() pulumi.IntPtrOutput { + return o.ApplyT(func(v *FleetTargetCapacitySpecification) *int { + if v == nil { + return nil + } + return v.SpotTargetCapacity + }).(pulumi.IntPtrOutput) } -// InstanceInstanceMarketOptionsSpotOptionsInput is an input type that accepts InstanceInstanceMarketOptionsSpotOptionsArgs and InstanceInstanceMarketOptionsSpotOptionsOutput values. -// You can construct a concrete instance of `InstanceInstanceMarketOptionsSpotOptionsInput` via: +// The unit for the target capacity. +// If you specify `targetCapacityUnitType`, `instanceRequirements` must be specified. +func (o FleetTargetCapacitySpecificationPtrOutput) TargetCapacityUnitType() pulumi.StringPtrOutput { + return o.ApplyT(func(v *FleetTargetCapacitySpecification) *string { + if v == nil { + return nil + } + return v.TargetCapacityUnitType + }).(pulumi.StringPtrOutput) +} + +// The number of units to request, filled using `defaultTargetCapacityType`. +func (o FleetTargetCapacitySpecificationPtrOutput) TotalTargetCapacity() pulumi.IntPtrOutput { + return o.ApplyT(func(v *FleetTargetCapacitySpecification) *int { + if v == nil { + return nil + } + return &v.TotalTargetCapacity + }).(pulumi.IntPtrOutput) +} + +type FlowLogDestinationOptions struct { + // File format for the flow log. Default value: `plain-text`. Valid values: `plain-text`, `parquet`. + FileFormat *string `pulumi:"fileFormat"` + // Indicates whether to use Hive-compatible prefixes for flow logs stored in Amazon S3. Default value: `false`. + HiveCompatiblePartitions *bool `pulumi:"hiveCompatiblePartitions"` + // Indicates whether to partition the flow log per hour. This reduces the cost and response time for queries. Default value: `false`. + PerHourPartition *bool `pulumi:"perHourPartition"` +} + +// FlowLogDestinationOptionsInput is an input type that accepts FlowLogDestinationOptionsArgs and FlowLogDestinationOptionsOutput values. +// You can construct a concrete instance of `FlowLogDestinationOptionsInput` via: // -// InstanceInstanceMarketOptionsSpotOptionsArgs{...} -type InstanceInstanceMarketOptionsSpotOptionsInput interface { +// FlowLogDestinationOptionsArgs{...} +type FlowLogDestinationOptionsInput interface { pulumi.Input - ToInstanceInstanceMarketOptionsSpotOptionsOutput() InstanceInstanceMarketOptionsSpotOptionsOutput - ToInstanceInstanceMarketOptionsSpotOptionsOutputWithContext(context.Context) InstanceInstanceMarketOptionsSpotOptionsOutput + ToFlowLogDestinationOptionsOutput() FlowLogDestinationOptionsOutput + ToFlowLogDestinationOptionsOutputWithContext(context.Context) FlowLogDestinationOptionsOutput } -type InstanceInstanceMarketOptionsSpotOptionsArgs struct { - // The behavior when a Spot Instance is interrupted. Valid values include `hibernate`, `stop`, `terminate` . The default is `terminate`. - InstanceInterruptionBehavior pulumi.StringPtrInput `pulumi:"instanceInterruptionBehavior"` - // The maximum hourly price that you're willing to pay for a Spot Instance. - MaxPrice pulumi.StringPtrInput `pulumi:"maxPrice"` - // The Spot Instance request type. Valid values include `one-time`, `persistent`. Persistent Spot Instance requests are only supported when the instance interruption behavior is either hibernate or stop. The default is `one-time`. - SpotInstanceType pulumi.StringPtrInput `pulumi:"spotInstanceType"` - // The end date of the request, in UTC format (YYYY-MM-DDTHH:MM:SSZ). Supported only for persistent requests. - ValidUntil pulumi.StringPtrInput `pulumi:"validUntil"` +type FlowLogDestinationOptionsArgs struct { + // File format for the flow log. Default value: `plain-text`. Valid values: `plain-text`, `parquet`. + FileFormat pulumi.StringPtrInput `pulumi:"fileFormat"` + // Indicates whether to use Hive-compatible prefixes for flow logs stored in Amazon S3. Default value: `false`. + HiveCompatiblePartitions pulumi.BoolPtrInput `pulumi:"hiveCompatiblePartitions"` + // Indicates whether to partition the flow log per hour. This reduces the cost and response time for queries. Default value: `false`. + PerHourPartition pulumi.BoolPtrInput `pulumi:"perHourPartition"` } -func (InstanceInstanceMarketOptionsSpotOptionsArgs) ElementType() reflect.Type { - return reflect.TypeOf((*InstanceInstanceMarketOptionsSpotOptions)(nil)).Elem() +func (FlowLogDestinationOptionsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*FlowLogDestinationOptions)(nil)).Elem() } -func (i InstanceInstanceMarketOptionsSpotOptionsArgs) ToInstanceInstanceMarketOptionsSpotOptionsOutput() InstanceInstanceMarketOptionsSpotOptionsOutput { - return i.ToInstanceInstanceMarketOptionsSpotOptionsOutputWithContext(context.Background()) +func (i FlowLogDestinationOptionsArgs) ToFlowLogDestinationOptionsOutput() FlowLogDestinationOptionsOutput { + return i.ToFlowLogDestinationOptionsOutputWithContext(context.Background()) } -func (i InstanceInstanceMarketOptionsSpotOptionsArgs) ToInstanceInstanceMarketOptionsSpotOptionsOutputWithContext(ctx context.Context) InstanceInstanceMarketOptionsSpotOptionsOutput { - return pulumi.ToOutputWithContext(ctx, i).(InstanceInstanceMarketOptionsSpotOptionsOutput) +func (i FlowLogDestinationOptionsArgs) ToFlowLogDestinationOptionsOutputWithContext(ctx context.Context) FlowLogDestinationOptionsOutput { + return pulumi.ToOutputWithContext(ctx, i).(FlowLogDestinationOptionsOutput) } -func (i InstanceInstanceMarketOptionsSpotOptionsArgs) ToInstanceInstanceMarketOptionsSpotOptionsPtrOutput() InstanceInstanceMarketOptionsSpotOptionsPtrOutput { - return i.ToInstanceInstanceMarketOptionsSpotOptionsPtrOutputWithContext(context.Background()) +func (i FlowLogDestinationOptionsArgs) ToFlowLogDestinationOptionsPtrOutput() FlowLogDestinationOptionsPtrOutput { + return i.ToFlowLogDestinationOptionsPtrOutputWithContext(context.Background()) } -func (i InstanceInstanceMarketOptionsSpotOptionsArgs) ToInstanceInstanceMarketOptionsSpotOptionsPtrOutputWithContext(ctx context.Context) InstanceInstanceMarketOptionsSpotOptionsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(InstanceInstanceMarketOptionsSpotOptionsOutput).ToInstanceInstanceMarketOptionsSpotOptionsPtrOutputWithContext(ctx) +func (i FlowLogDestinationOptionsArgs) ToFlowLogDestinationOptionsPtrOutputWithContext(ctx context.Context) FlowLogDestinationOptionsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(FlowLogDestinationOptionsOutput).ToFlowLogDestinationOptionsPtrOutputWithContext(ctx) } -// InstanceInstanceMarketOptionsSpotOptionsPtrInput is an input type that accepts InstanceInstanceMarketOptionsSpotOptionsArgs, InstanceInstanceMarketOptionsSpotOptionsPtr and InstanceInstanceMarketOptionsSpotOptionsPtrOutput values. -// You can construct a concrete instance of `InstanceInstanceMarketOptionsSpotOptionsPtrInput` via: +// FlowLogDestinationOptionsPtrInput is an input type that accepts FlowLogDestinationOptionsArgs, FlowLogDestinationOptionsPtr and FlowLogDestinationOptionsPtrOutput values. +// You can construct a concrete instance of `FlowLogDestinationOptionsPtrInput` via: // -// InstanceInstanceMarketOptionsSpotOptionsArgs{...} +// FlowLogDestinationOptionsArgs{...} // // or: // // nil -type InstanceInstanceMarketOptionsSpotOptionsPtrInput interface { +type FlowLogDestinationOptionsPtrInput interface { pulumi.Input - ToInstanceInstanceMarketOptionsSpotOptionsPtrOutput() InstanceInstanceMarketOptionsSpotOptionsPtrOutput - ToInstanceInstanceMarketOptionsSpotOptionsPtrOutputWithContext(context.Context) InstanceInstanceMarketOptionsSpotOptionsPtrOutput + ToFlowLogDestinationOptionsPtrOutput() FlowLogDestinationOptionsPtrOutput + ToFlowLogDestinationOptionsPtrOutputWithContext(context.Context) FlowLogDestinationOptionsPtrOutput } -type instanceInstanceMarketOptionsSpotOptionsPtrType InstanceInstanceMarketOptionsSpotOptionsArgs +type flowLogDestinationOptionsPtrType FlowLogDestinationOptionsArgs -func InstanceInstanceMarketOptionsSpotOptionsPtr(v *InstanceInstanceMarketOptionsSpotOptionsArgs) InstanceInstanceMarketOptionsSpotOptionsPtrInput { - return (*instanceInstanceMarketOptionsSpotOptionsPtrType)(v) +func FlowLogDestinationOptionsPtr(v *FlowLogDestinationOptionsArgs) FlowLogDestinationOptionsPtrInput { + return (*flowLogDestinationOptionsPtrType)(v) } -func (*instanceInstanceMarketOptionsSpotOptionsPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**InstanceInstanceMarketOptionsSpotOptions)(nil)).Elem() +func (*flowLogDestinationOptionsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**FlowLogDestinationOptions)(nil)).Elem() } -func (i *instanceInstanceMarketOptionsSpotOptionsPtrType) ToInstanceInstanceMarketOptionsSpotOptionsPtrOutput() InstanceInstanceMarketOptionsSpotOptionsPtrOutput { - return i.ToInstanceInstanceMarketOptionsSpotOptionsPtrOutputWithContext(context.Background()) +func (i *flowLogDestinationOptionsPtrType) ToFlowLogDestinationOptionsPtrOutput() FlowLogDestinationOptionsPtrOutput { + return i.ToFlowLogDestinationOptionsPtrOutputWithContext(context.Background()) } -func (i *instanceInstanceMarketOptionsSpotOptionsPtrType) ToInstanceInstanceMarketOptionsSpotOptionsPtrOutputWithContext(ctx context.Context) InstanceInstanceMarketOptionsSpotOptionsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(InstanceInstanceMarketOptionsSpotOptionsPtrOutput) +func (i *flowLogDestinationOptionsPtrType) ToFlowLogDestinationOptionsPtrOutputWithContext(ctx context.Context) FlowLogDestinationOptionsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(FlowLogDestinationOptionsPtrOutput) } -type InstanceInstanceMarketOptionsSpotOptionsOutput struct{ *pulumi.OutputState } +type FlowLogDestinationOptionsOutput struct{ *pulumi.OutputState } -func (InstanceInstanceMarketOptionsSpotOptionsOutput) ElementType() reflect.Type { - return reflect.TypeOf((*InstanceInstanceMarketOptionsSpotOptions)(nil)).Elem() +func (FlowLogDestinationOptionsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*FlowLogDestinationOptions)(nil)).Elem() } -func (o InstanceInstanceMarketOptionsSpotOptionsOutput) ToInstanceInstanceMarketOptionsSpotOptionsOutput() InstanceInstanceMarketOptionsSpotOptionsOutput { +func (o FlowLogDestinationOptionsOutput) ToFlowLogDestinationOptionsOutput() FlowLogDestinationOptionsOutput { return o } -func (o InstanceInstanceMarketOptionsSpotOptionsOutput) ToInstanceInstanceMarketOptionsSpotOptionsOutputWithContext(ctx context.Context) InstanceInstanceMarketOptionsSpotOptionsOutput { +func (o FlowLogDestinationOptionsOutput) ToFlowLogDestinationOptionsOutputWithContext(ctx context.Context) FlowLogDestinationOptionsOutput { return o } -func (o InstanceInstanceMarketOptionsSpotOptionsOutput) ToInstanceInstanceMarketOptionsSpotOptionsPtrOutput() InstanceInstanceMarketOptionsSpotOptionsPtrOutput { - return o.ToInstanceInstanceMarketOptionsSpotOptionsPtrOutputWithContext(context.Background()) +func (o FlowLogDestinationOptionsOutput) ToFlowLogDestinationOptionsPtrOutput() FlowLogDestinationOptionsPtrOutput { + return o.ToFlowLogDestinationOptionsPtrOutputWithContext(context.Background()) } -func (o InstanceInstanceMarketOptionsSpotOptionsOutput) ToInstanceInstanceMarketOptionsSpotOptionsPtrOutputWithContext(ctx context.Context) InstanceInstanceMarketOptionsSpotOptionsPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v InstanceInstanceMarketOptionsSpotOptions) *InstanceInstanceMarketOptionsSpotOptions { +func (o FlowLogDestinationOptionsOutput) ToFlowLogDestinationOptionsPtrOutputWithContext(ctx context.Context) FlowLogDestinationOptionsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v FlowLogDestinationOptions) *FlowLogDestinationOptions { return &v - }).(InstanceInstanceMarketOptionsSpotOptionsPtrOutput) -} - -// The behavior when a Spot Instance is interrupted. Valid values include `hibernate`, `stop`, `terminate` . The default is `terminate`. -func (o InstanceInstanceMarketOptionsSpotOptionsOutput) InstanceInterruptionBehavior() pulumi.StringPtrOutput { - return o.ApplyT(func(v InstanceInstanceMarketOptionsSpotOptions) *string { return v.InstanceInterruptionBehavior }).(pulumi.StringPtrOutput) + }).(FlowLogDestinationOptionsPtrOutput) } -// The maximum hourly price that you're willing to pay for a Spot Instance. -func (o InstanceInstanceMarketOptionsSpotOptionsOutput) MaxPrice() pulumi.StringPtrOutput { - return o.ApplyT(func(v InstanceInstanceMarketOptionsSpotOptions) *string { return v.MaxPrice }).(pulumi.StringPtrOutput) +// File format for the flow log. Default value: `plain-text`. Valid values: `plain-text`, `parquet`. +func (o FlowLogDestinationOptionsOutput) FileFormat() pulumi.StringPtrOutput { + return o.ApplyT(func(v FlowLogDestinationOptions) *string { return v.FileFormat }).(pulumi.StringPtrOutput) } -// The Spot Instance request type. Valid values include `one-time`, `persistent`. Persistent Spot Instance requests are only supported when the instance interruption behavior is either hibernate or stop. The default is `one-time`. -func (o InstanceInstanceMarketOptionsSpotOptionsOutput) SpotInstanceType() pulumi.StringPtrOutput { - return o.ApplyT(func(v InstanceInstanceMarketOptionsSpotOptions) *string { return v.SpotInstanceType }).(pulumi.StringPtrOutput) +// Indicates whether to use Hive-compatible prefixes for flow logs stored in Amazon S3. Default value: `false`. +func (o FlowLogDestinationOptionsOutput) HiveCompatiblePartitions() pulumi.BoolPtrOutput { + return o.ApplyT(func(v FlowLogDestinationOptions) *bool { return v.HiveCompatiblePartitions }).(pulumi.BoolPtrOutput) } -// The end date of the request, in UTC format (YYYY-MM-DDTHH:MM:SSZ). Supported only for persistent requests. -func (o InstanceInstanceMarketOptionsSpotOptionsOutput) ValidUntil() pulumi.StringPtrOutput { - return o.ApplyT(func(v InstanceInstanceMarketOptionsSpotOptions) *string { return v.ValidUntil }).(pulumi.StringPtrOutput) +// Indicates whether to partition the flow log per hour. This reduces the cost and response time for queries. Default value: `false`. +func (o FlowLogDestinationOptionsOutput) PerHourPartition() pulumi.BoolPtrOutput { + return o.ApplyT(func(v FlowLogDestinationOptions) *bool { return v.PerHourPartition }).(pulumi.BoolPtrOutput) } -type InstanceInstanceMarketOptionsSpotOptionsPtrOutput struct{ *pulumi.OutputState } +type FlowLogDestinationOptionsPtrOutput struct{ *pulumi.OutputState } -func (InstanceInstanceMarketOptionsSpotOptionsPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**InstanceInstanceMarketOptionsSpotOptions)(nil)).Elem() +func (FlowLogDestinationOptionsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**FlowLogDestinationOptions)(nil)).Elem() } -func (o InstanceInstanceMarketOptionsSpotOptionsPtrOutput) ToInstanceInstanceMarketOptionsSpotOptionsPtrOutput() InstanceInstanceMarketOptionsSpotOptionsPtrOutput { +func (o FlowLogDestinationOptionsPtrOutput) ToFlowLogDestinationOptionsPtrOutput() FlowLogDestinationOptionsPtrOutput { return o } -func (o InstanceInstanceMarketOptionsSpotOptionsPtrOutput) ToInstanceInstanceMarketOptionsSpotOptionsPtrOutputWithContext(ctx context.Context) InstanceInstanceMarketOptionsSpotOptionsPtrOutput { +func (o FlowLogDestinationOptionsPtrOutput) ToFlowLogDestinationOptionsPtrOutputWithContext(ctx context.Context) FlowLogDestinationOptionsPtrOutput { return o } -func (o InstanceInstanceMarketOptionsSpotOptionsPtrOutput) Elem() InstanceInstanceMarketOptionsSpotOptionsOutput { - return o.ApplyT(func(v *InstanceInstanceMarketOptionsSpotOptions) InstanceInstanceMarketOptionsSpotOptions { +func (o FlowLogDestinationOptionsPtrOutput) Elem() FlowLogDestinationOptionsOutput { + return o.ApplyT(func(v *FlowLogDestinationOptions) FlowLogDestinationOptions { if v != nil { return *v } - var ret InstanceInstanceMarketOptionsSpotOptions + var ret FlowLogDestinationOptions return ret - }).(InstanceInstanceMarketOptionsSpotOptionsOutput) -} - -// The behavior when a Spot Instance is interrupted. Valid values include `hibernate`, `stop`, `terminate` . The default is `terminate`. -func (o InstanceInstanceMarketOptionsSpotOptionsPtrOutput) InstanceInterruptionBehavior() pulumi.StringPtrOutput { - return o.ApplyT(func(v *InstanceInstanceMarketOptionsSpotOptions) *string { - if v == nil { - return nil - } - return v.InstanceInterruptionBehavior - }).(pulumi.StringPtrOutput) + }).(FlowLogDestinationOptionsOutput) } -// The maximum hourly price that you're willing to pay for a Spot Instance. -func (o InstanceInstanceMarketOptionsSpotOptionsPtrOutput) MaxPrice() pulumi.StringPtrOutput { - return o.ApplyT(func(v *InstanceInstanceMarketOptionsSpotOptions) *string { +// File format for the flow log. Default value: `plain-text`. Valid values: `plain-text`, `parquet`. +func (o FlowLogDestinationOptionsPtrOutput) FileFormat() pulumi.StringPtrOutput { + return o.ApplyT(func(v *FlowLogDestinationOptions) *string { if v == nil { return nil } - return v.MaxPrice + return v.FileFormat }).(pulumi.StringPtrOutput) } -// The Spot Instance request type. Valid values include `one-time`, `persistent`. Persistent Spot Instance requests are only supported when the instance interruption behavior is either hibernate or stop. The default is `one-time`. -func (o InstanceInstanceMarketOptionsSpotOptionsPtrOutput) SpotInstanceType() pulumi.StringPtrOutput { - return o.ApplyT(func(v *InstanceInstanceMarketOptionsSpotOptions) *string { +// Indicates whether to use Hive-compatible prefixes for flow logs stored in Amazon S3. Default value: `false`. +func (o FlowLogDestinationOptionsPtrOutput) HiveCompatiblePartitions() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *FlowLogDestinationOptions) *bool { if v == nil { return nil } - return v.SpotInstanceType - }).(pulumi.StringPtrOutput) + return v.HiveCompatiblePartitions + }).(pulumi.BoolPtrOutput) } -// The end date of the request, in UTC format (YYYY-MM-DDTHH:MM:SSZ). Supported only for persistent requests. -func (o InstanceInstanceMarketOptionsSpotOptionsPtrOutput) ValidUntil() pulumi.StringPtrOutput { - return o.ApplyT(func(v *InstanceInstanceMarketOptionsSpotOptions) *string { +// Indicates whether to partition the flow log per hour. This reduces the cost and response time for queries. Default value: `false`. +func (o FlowLogDestinationOptionsPtrOutput) PerHourPartition() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *FlowLogDestinationOptions) *bool { if v == nil { return nil } - return v.ValidUntil - }).(pulumi.StringPtrOutput) + return v.PerHourPartition + }).(pulumi.BoolPtrOutput) } -type InstanceLaunchTemplate struct { - // ID of the launch template. Conflicts with `name`. - Id *string `pulumi:"id"` - // Name of the launch template. Conflicts with `id`. - Name *string `pulumi:"name"` - // Template version. Can be a specific version number, `$Latest` or `$Default`. The default value is `$Default`. - Version *string `pulumi:"version"` +type InstanceCapacityReservationSpecification struct { + // Indicates the instance's Capacity Reservation preferences. Can be `"open"` or `"none"`. (Default: `"open"`). + CapacityReservationPreference *string `pulumi:"capacityReservationPreference"` + // Information about the target Capacity Reservation. See Capacity Reservation Target below for more details. + // + // For more information, see the documentation on [Capacity Reservations](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/capacity-reservations-using.html). + CapacityReservationTarget *InstanceCapacityReservationSpecificationCapacityReservationTarget `pulumi:"capacityReservationTarget"` } -// InstanceLaunchTemplateInput is an input type that accepts InstanceLaunchTemplateArgs and InstanceLaunchTemplateOutput values. -// You can construct a concrete instance of `InstanceLaunchTemplateInput` via: +// InstanceCapacityReservationSpecificationInput is an input type that accepts InstanceCapacityReservationSpecificationArgs and InstanceCapacityReservationSpecificationOutput values. +// You can construct a concrete instance of `InstanceCapacityReservationSpecificationInput` via: // -// InstanceLaunchTemplateArgs{...} -type InstanceLaunchTemplateInput interface { +// InstanceCapacityReservationSpecificationArgs{...} +type InstanceCapacityReservationSpecificationInput interface { pulumi.Input - ToInstanceLaunchTemplateOutput() InstanceLaunchTemplateOutput - ToInstanceLaunchTemplateOutputWithContext(context.Context) InstanceLaunchTemplateOutput + ToInstanceCapacityReservationSpecificationOutput() InstanceCapacityReservationSpecificationOutput + ToInstanceCapacityReservationSpecificationOutputWithContext(context.Context) InstanceCapacityReservationSpecificationOutput } -type InstanceLaunchTemplateArgs struct { - // ID of the launch template. Conflicts with `name`. - Id pulumi.StringPtrInput `pulumi:"id"` - // Name of the launch template. Conflicts with `id`. - Name pulumi.StringPtrInput `pulumi:"name"` - // Template version. Can be a specific version number, `$Latest` or `$Default`. The default value is `$Default`. - Version pulumi.StringPtrInput `pulumi:"version"` +type InstanceCapacityReservationSpecificationArgs struct { + // Indicates the instance's Capacity Reservation preferences. Can be `"open"` or `"none"`. (Default: `"open"`). + CapacityReservationPreference pulumi.StringPtrInput `pulumi:"capacityReservationPreference"` + // Information about the target Capacity Reservation. See Capacity Reservation Target below for more details. + // + // For more information, see the documentation on [Capacity Reservations](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/capacity-reservations-using.html). + CapacityReservationTarget InstanceCapacityReservationSpecificationCapacityReservationTargetPtrInput `pulumi:"capacityReservationTarget"` } -func (InstanceLaunchTemplateArgs) ElementType() reflect.Type { - return reflect.TypeOf((*InstanceLaunchTemplate)(nil)).Elem() +func (InstanceCapacityReservationSpecificationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*InstanceCapacityReservationSpecification)(nil)).Elem() } -func (i InstanceLaunchTemplateArgs) ToInstanceLaunchTemplateOutput() InstanceLaunchTemplateOutput { - return i.ToInstanceLaunchTemplateOutputWithContext(context.Background()) +func (i InstanceCapacityReservationSpecificationArgs) ToInstanceCapacityReservationSpecificationOutput() InstanceCapacityReservationSpecificationOutput { + return i.ToInstanceCapacityReservationSpecificationOutputWithContext(context.Background()) } -func (i InstanceLaunchTemplateArgs) ToInstanceLaunchTemplateOutputWithContext(ctx context.Context) InstanceLaunchTemplateOutput { - return pulumi.ToOutputWithContext(ctx, i).(InstanceLaunchTemplateOutput) +func (i InstanceCapacityReservationSpecificationArgs) ToInstanceCapacityReservationSpecificationOutputWithContext(ctx context.Context) InstanceCapacityReservationSpecificationOutput { + return pulumi.ToOutputWithContext(ctx, i).(InstanceCapacityReservationSpecificationOutput) } -func (i InstanceLaunchTemplateArgs) ToInstanceLaunchTemplatePtrOutput() InstanceLaunchTemplatePtrOutput { - return i.ToInstanceLaunchTemplatePtrOutputWithContext(context.Background()) +func (i InstanceCapacityReservationSpecificationArgs) ToInstanceCapacityReservationSpecificationPtrOutput() InstanceCapacityReservationSpecificationPtrOutput { + return i.ToInstanceCapacityReservationSpecificationPtrOutputWithContext(context.Background()) } -func (i InstanceLaunchTemplateArgs) ToInstanceLaunchTemplatePtrOutputWithContext(ctx context.Context) InstanceLaunchTemplatePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(InstanceLaunchTemplateOutput).ToInstanceLaunchTemplatePtrOutputWithContext(ctx) +func (i InstanceCapacityReservationSpecificationArgs) ToInstanceCapacityReservationSpecificationPtrOutputWithContext(ctx context.Context) InstanceCapacityReservationSpecificationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(InstanceCapacityReservationSpecificationOutput).ToInstanceCapacityReservationSpecificationPtrOutputWithContext(ctx) } -// InstanceLaunchTemplatePtrInput is an input type that accepts InstanceLaunchTemplateArgs, InstanceLaunchTemplatePtr and InstanceLaunchTemplatePtrOutput values. -// You can construct a concrete instance of `InstanceLaunchTemplatePtrInput` via: +// InstanceCapacityReservationSpecificationPtrInput is an input type that accepts InstanceCapacityReservationSpecificationArgs, InstanceCapacityReservationSpecificationPtr and InstanceCapacityReservationSpecificationPtrOutput values. +// You can construct a concrete instance of `InstanceCapacityReservationSpecificationPtrInput` via: // -// InstanceLaunchTemplateArgs{...} +// InstanceCapacityReservationSpecificationArgs{...} // // or: // // nil -type InstanceLaunchTemplatePtrInput interface { +type InstanceCapacityReservationSpecificationPtrInput interface { pulumi.Input - ToInstanceLaunchTemplatePtrOutput() InstanceLaunchTemplatePtrOutput - ToInstanceLaunchTemplatePtrOutputWithContext(context.Context) InstanceLaunchTemplatePtrOutput + ToInstanceCapacityReservationSpecificationPtrOutput() InstanceCapacityReservationSpecificationPtrOutput + ToInstanceCapacityReservationSpecificationPtrOutputWithContext(context.Context) InstanceCapacityReservationSpecificationPtrOutput } -type instanceLaunchTemplatePtrType InstanceLaunchTemplateArgs +type instanceCapacityReservationSpecificationPtrType InstanceCapacityReservationSpecificationArgs -func InstanceLaunchTemplatePtr(v *InstanceLaunchTemplateArgs) InstanceLaunchTemplatePtrInput { - return (*instanceLaunchTemplatePtrType)(v) +func InstanceCapacityReservationSpecificationPtr(v *InstanceCapacityReservationSpecificationArgs) InstanceCapacityReservationSpecificationPtrInput { + return (*instanceCapacityReservationSpecificationPtrType)(v) } -func (*instanceLaunchTemplatePtrType) ElementType() reflect.Type { - return reflect.TypeOf((**InstanceLaunchTemplate)(nil)).Elem() +func (*instanceCapacityReservationSpecificationPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**InstanceCapacityReservationSpecification)(nil)).Elem() } -func (i *instanceLaunchTemplatePtrType) ToInstanceLaunchTemplatePtrOutput() InstanceLaunchTemplatePtrOutput { - return i.ToInstanceLaunchTemplatePtrOutputWithContext(context.Background()) +func (i *instanceCapacityReservationSpecificationPtrType) ToInstanceCapacityReservationSpecificationPtrOutput() InstanceCapacityReservationSpecificationPtrOutput { + return i.ToInstanceCapacityReservationSpecificationPtrOutputWithContext(context.Background()) } -func (i *instanceLaunchTemplatePtrType) ToInstanceLaunchTemplatePtrOutputWithContext(ctx context.Context) InstanceLaunchTemplatePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(InstanceLaunchTemplatePtrOutput) +func (i *instanceCapacityReservationSpecificationPtrType) ToInstanceCapacityReservationSpecificationPtrOutputWithContext(ctx context.Context) InstanceCapacityReservationSpecificationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(InstanceCapacityReservationSpecificationPtrOutput) } -type InstanceLaunchTemplateOutput struct{ *pulumi.OutputState } +type InstanceCapacityReservationSpecificationOutput struct{ *pulumi.OutputState } -func (InstanceLaunchTemplateOutput) ElementType() reflect.Type { - return reflect.TypeOf((*InstanceLaunchTemplate)(nil)).Elem() +func (InstanceCapacityReservationSpecificationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*InstanceCapacityReservationSpecification)(nil)).Elem() } -func (o InstanceLaunchTemplateOutput) ToInstanceLaunchTemplateOutput() InstanceLaunchTemplateOutput { +func (o InstanceCapacityReservationSpecificationOutput) ToInstanceCapacityReservationSpecificationOutput() InstanceCapacityReservationSpecificationOutput { return o } -func (o InstanceLaunchTemplateOutput) ToInstanceLaunchTemplateOutputWithContext(ctx context.Context) InstanceLaunchTemplateOutput { +func (o InstanceCapacityReservationSpecificationOutput) ToInstanceCapacityReservationSpecificationOutputWithContext(ctx context.Context) InstanceCapacityReservationSpecificationOutput { return o } -func (o InstanceLaunchTemplateOutput) ToInstanceLaunchTemplatePtrOutput() InstanceLaunchTemplatePtrOutput { - return o.ToInstanceLaunchTemplatePtrOutputWithContext(context.Background()) +func (o InstanceCapacityReservationSpecificationOutput) ToInstanceCapacityReservationSpecificationPtrOutput() InstanceCapacityReservationSpecificationPtrOutput { + return o.ToInstanceCapacityReservationSpecificationPtrOutputWithContext(context.Background()) } -func (o InstanceLaunchTemplateOutput) ToInstanceLaunchTemplatePtrOutputWithContext(ctx context.Context) InstanceLaunchTemplatePtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v InstanceLaunchTemplate) *InstanceLaunchTemplate { +func (o InstanceCapacityReservationSpecificationOutput) ToInstanceCapacityReservationSpecificationPtrOutputWithContext(ctx context.Context) InstanceCapacityReservationSpecificationPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v InstanceCapacityReservationSpecification) *InstanceCapacityReservationSpecification { return &v - }).(InstanceLaunchTemplatePtrOutput) -} - -// ID of the launch template. Conflicts with `name`. -func (o InstanceLaunchTemplateOutput) Id() pulumi.StringPtrOutput { - return o.ApplyT(func(v InstanceLaunchTemplate) *string { return v.Id }).(pulumi.StringPtrOutput) + }).(InstanceCapacityReservationSpecificationPtrOutput) } -// Name of the launch template. Conflicts with `id`. -func (o InstanceLaunchTemplateOutput) Name() pulumi.StringPtrOutput { - return o.ApplyT(func(v InstanceLaunchTemplate) *string { return v.Name }).(pulumi.StringPtrOutput) +// Indicates the instance's Capacity Reservation preferences. Can be `"open"` or `"none"`. (Default: `"open"`). +func (o InstanceCapacityReservationSpecificationOutput) CapacityReservationPreference() pulumi.StringPtrOutput { + return o.ApplyT(func(v InstanceCapacityReservationSpecification) *string { return v.CapacityReservationPreference }).(pulumi.StringPtrOutput) } -// Template version. Can be a specific version number, `$Latest` or `$Default`. The default value is `$Default`. -func (o InstanceLaunchTemplateOutput) Version() pulumi.StringPtrOutput { - return o.ApplyT(func(v InstanceLaunchTemplate) *string { return v.Version }).(pulumi.StringPtrOutput) +// Information about the target Capacity Reservation. See Capacity Reservation Target below for more details. +// +// For more information, see the documentation on [Capacity Reservations](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/capacity-reservations-using.html). +func (o InstanceCapacityReservationSpecificationOutput) CapacityReservationTarget() InstanceCapacityReservationSpecificationCapacityReservationTargetPtrOutput { + return o.ApplyT(func(v InstanceCapacityReservationSpecification) *InstanceCapacityReservationSpecificationCapacityReservationTarget { + return v.CapacityReservationTarget + }).(InstanceCapacityReservationSpecificationCapacityReservationTargetPtrOutput) } -type InstanceLaunchTemplatePtrOutput struct{ *pulumi.OutputState } +type InstanceCapacityReservationSpecificationPtrOutput struct{ *pulumi.OutputState } -func (InstanceLaunchTemplatePtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**InstanceLaunchTemplate)(nil)).Elem() +func (InstanceCapacityReservationSpecificationPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**InstanceCapacityReservationSpecification)(nil)).Elem() } -func (o InstanceLaunchTemplatePtrOutput) ToInstanceLaunchTemplatePtrOutput() InstanceLaunchTemplatePtrOutput { +func (o InstanceCapacityReservationSpecificationPtrOutput) ToInstanceCapacityReservationSpecificationPtrOutput() InstanceCapacityReservationSpecificationPtrOutput { return o } -func (o InstanceLaunchTemplatePtrOutput) ToInstanceLaunchTemplatePtrOutputWithContext(ctx context.Context) InstanceLaunchTemplatePtrOutput { +func (o InstanceCapacityReservationSpecificationPtrOutput) ToInstanceCapacityReservationSpecificationPtrOutputWithContext(ctx context.Context) InstanceCapacityReservationSpecificationPtrOutput { return o } -func (o InstanceLaunchTemplatePtrOutput) Elem() InstanceLaunchTemplateOutput { - return o.ApplyT(func(v *InstanceLaunchTemplate) InstanceLaunchTemplate { +func (o InstanceCapacityReservationSpecificationPtrOutput) Elem() InstanceCapacityReservationSpecificationOutput { + return o.ApplyT(func(v *InstanceCapacityReservationSpecification) InstanceCapacityReservationSpecification { if v != nil { return *v } - var ret InstanceLaunchTemplate + var ret InstanceCapacityReservationSpecification return ret - }).(InstanceLaunchTemplateOutput) -} - -// ID of the launch template. Conflicts with `name`. -func (o InstanceLaunchTemplatePtrOutput) Id() pulumi.StringPtrOutput { - return o.ApplyT(func(v *InstanceLaunchTemplate) *string { - if v == nil { - return nil - } - return v.Id - }).(pulumi.StringPtrOutput) + }).(InstanceCapacityReservationSpecificationOutput) } -// Name of the launch template. Conflicts with `id`. -func (o InstanceLaunchTemplatePtrOutput) Name() pulumi.StringPtrOutput { - return o.ApplyT(func(v *InstanceLaunchTemplate) *string { +// Indicates the instance's Capacity Reservation preferences. Can be `"open"` or `"none"`. (Default: `"open"`). +func (o InstanceCapacityReservationSpecificationPtrOutput) CapacityReservationPreference() pulumi.StringPtrOutput { + return o.ApplyT(func(v *InstanceCapacityReservationSpecification) *string { if v == nil { return nil } - return v.Name + return v.CapacityReservationPreference }).(pulumi.StringPtrOutput) } -// Template version. Can be a specific version number, `$Latest` or `$Default`. The default value is `$Default`. -func (o InstanceLaunchTemplatePtrOutput) Version() pulumi.StringPtrOutput { - return o.ApplyT(func(v *InstanceLaunchTemplate) *string { +// Information about the target Capacity Reservation. See Capacity Reservation Target below for more details. +// +// For more information, see the documentation on [Capacity Reservations](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/capacity-reservations-using.html). +func (o InstanceCapacityReservationSpecificationPtrOutput) CapacityReservationTarget() InstanceCapacityReservationSpecificationCapacityReservationTargetPtrOutput { + return o.ApplyT(func(v *InstanceCapacityReservationSpecification) *InstanceCapacityReservationSpecificationCapacityReservationTarget { if v == nil { return nil } - return v.Version - }).(pulumi.StringPtrOutput) + return v.CapacityReservationTarget + }).(InstanceCapacityReservationSpecificationCapacityReservationTargetPtrOutput) } -type InstanceMaintenanceOptions struct { - // Automatic recovery behavior of the Instance. Can be `"default"` or `"disabled"`. See [Recover your instance](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-recover.html) for more details. - AutoRecovery *string `pulumi:"autoRecovery"` +type InstanceCapacityReservationSpecificationCapacityReservationTarget struct { + // ID of the Capacity Reservation in which to run the instance. + CapacityReservationId *string `pulumi:"capacityReservationId"` + // ARN of the Capacity Reservation resource group in which to run the instance. + CapacityReservationResourceGroupArn *string `pulumi:"capacityReservationResourceGroupArn"` } -// InstanceMaintenanceOptionsInput is an input type that accepts InstanceMaintenanceOptionsArgs and InstanceMaintenanceOptionsOutput values. -// You can construct a concrete instance of `InstanceMaintenanceOptionsInput` via: +// InstanceCapacityReservationSpecificationCapacityReservationTargetInput is an input type that accepts InstanceCapacityReservationSpecificationCapacityReservationTargetArgs and InstanceCapacityReservationSpecificationCapacityReservationTargetOutput values. +// You can construct a concrete instance of `InstanceCapacityReservationSpecificationCapacityReservationTargetInput` via: // -// InstanceMaintenanceOptionsArgs{...} -type InstanceMaintenanceOptionsInput interface { +// InstanceCapacityReservationSpecificationCapacityReservationTargetArgs{...} +type InstanceCapacityReservationSpecificationCapacityReservationTargetInput interface { pulumi.Input - ToInstanceMaintenanceOptionsOutput() InstanceMaintenanceOptionsOutput - ToInstanceMaintenanceOptionsOutputWithContext(context.Context) InstanceMaintenanceOptionsOutput + ToInstanceCapacityReservationSpecificationCapacityReservationTargetOutput() InstanceCapacityReservationSpecificationCapacityReservationTargetOutput + ToInstanceCapacityReservationSpecificationCapacityReservationTargetOutputWithContext(context.Context) InstanceCapacityReservationSpecificationCapacityReservationTargetOutput } -type InstanceMaintenanceOptionsArgs struct { - // Automatic recovery behavior of the Instance. Can be `"default"` or `"disabled"`. See [Recover your instance](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-recover.html) for more details. - AutoRecovery pulumi.StringPtrInput `pulumi:"autoRecovery"` +type InstanceCapacityReservationSpecificationCapacityReservationTargetArgs struct { + // ID of the Capacity Reservation in which to run the instance. + CapacityReservationId pulumi.StringPtrInput `pulumi:"capacityReservationId"` + // ARN of the Capacity Reservation resource group in which to run the instance. + CapacityReservationResourceGroupArn pulumi.StringPtrInput `pulumi:"capacityReservationResourceGroupArn"` } -func (InstanceMaintenanceOptionsArgs) ElementType() reflect.Type { - return reflect.TypeOf((*InstanceMaintenanceOptions)(nil)).Elem() +func (InstanceCapacityReservationSpecificationCapacityReservationTargetArgs) ElementType() reflect.Type { + return reflect.TypeOf((*InstanceCapacityReservationSpecificationCapacityReservationTarget)(nil)).Elem() } -func (i InstanceMaintenanceOptionsArgs) ToInstanceMaintenanceOptionsOutput() InstanceMaintenanceOptionsOutput { - return i.ToInstanceMaintenanceOptionsOutputWithContext(context.Background()) +func (i InstanceCapacityReservationSpecificationCapacityReservationTargetArgs) ToInstanceCapacityReservationSpecificationCapacityReservationTargetOutput() InstanceCapacityReservationSpecificationCapacityReservationTargetOutput { + return i.ToInstanceCapacityReservationSpecificationCapacityReservationTargetOutputWithContext(context.Background()) } -func (i InstanceMaintenanceOptionsArgs) ToInstanceMaintenanceOptionsOutputWithContext(ctx context.Context) InstanceMaintenanceOptionsOutput { - return pulumi.ToOutputWithContext(ctx, i).(InstanceMaintenanceOptionsOutput) +func (i InstanceCapacityReservationSpecificationCapacityReservationTargetArgs) ToInstanceCapacityReservationSpecificationCapacityReservationTargetOutputWithContext(ctx context.Context) InstanceCapacityReservationSpecificationCapacityReservationTargetOutput { + return pulumi.ToOutputWithContext(ctx, i).(InstanceCapacityReservationSpecificationCapacityReservationTargetOutput) } -func (i InstanceMaintenanceOptionsArgs) ToInstanceMaintenanceOptionsPtrOutput() InstanceMaintenanceOptionsPtrOutput { - return i.ToInstanceMaintenanceOptionsPtrOutputWithContext(context.Background()) +func (i InstanceCapacityReservationSpecificationCapacityReservationTargetArgs) ToInstanceCapacityReservationSpecificationCapacityReservationTargetPtrOutput() InstanceCapacityReservationSpecificationCapacityReservationTargetPtrOutput { + return i.ToInstanceCapacityReservationSpecificationCapacityReservationTargetPtrOutputWithContext(context.Background()) } -func (i InstanceMaintenanceOptionsArgs) ToInstanceMaintenanceOptionsPtrOutputWithContext(ctx context.Context) InstanceMaintenanceOptionsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(InstanceMaintenanceOptionsOutput).ToInstanceMaintenanceOptionsPtrOutputWithContext(ctx) +func (i InstanceCapacityReservationSpecificationCapacityReservationTargetArgs) ToInstanceCapacityReservationSpecificationCapacityReservationTargetPtrOutputWithContext(ctx context.Context) InstanceCapacityReservationSpecificationCapacityReservationTargetPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(InstanceCapacityReservationSpecificationCapacityReservationTargetOutput).ToInstanceCapacityReservationSpecificationCapacityReservationTargetPtrOutputWithContext(ctx) } -// InstanceMaintenanceOptionsPtrInput is an input type that accepts InstanceMaintenanceOptionsArgs, InstanceMaintenanceOptionsPtr and InstanceMaintenanceOptionsPtrOutput values. -// You can construct a concrete instance of `InstanceMaintenanceOptionsPtrInput` via: +// InstanceCapacityReservationSpecificationCapacityReservationTargetPtrInput is an input type that accepts InstanceCapacityReservationSpecificationCapacityReservationTargetArgs, InstanceCapacityReservationSpecificationCapacityReservationTargetPtr and InstanceCapacityReservationSpecificationCapacityReservationTargetPtrOutput values. +// You can construct a concrete instance of `InstanceCapacityReservationSpecificationCapacityReservationTargetPtrInput` via: // -// InstanceMaintenanceOptionsArgs{...} +// InstanceCapacityReservationSpecificationCapacityReservationTargetArgs{...} // // or: // // nil -type InstanceMaintenanceOptionsPtrInput interface { +type InstanceCapacityReservationSpecificationCapacityReservationTargetPtrInput interface { pulumi.Input - ToInstanceMaintenanceOptionsPtrOutput() InstanceMaintenanceOptionsPtrOutput - ToInstanceMaintenanceOptionsPtrOutputWithContext(context.Context) InstanceMaintenanceOptionsPtrOutput + ToInstanceCapacityReservationSpecificationCapacityReservationTargetPtrOutput() InstanceCapacityReservationSpecificationCapacityReservationTargetPtrOutput + ToInstanceCapacityReservationSpecificationCapacityReservationTargetPtrOutputWithContext(context.Context) InstanceCapacityReservationSpecificationCapacityReservationTargetPtrOutput } -type instanceMaintenanceOptionsPtrType InstanceMaintenanceOptionsArgs +type instanceCapacityReservationSpecificationCapacityReservationTargetPtrType InstanceCapacityReservationSpecificationCapacityReservationTargetArgs -func InstanceMaintenanceOptionsPtr(v *InstanceMaintenanceOptionsArgs) InstanceMaintenanceOptionsPtrInput { - return (*instanceMaintenanceOptionsPtrType)(v) +func InstanceCapacityReservationSpecificationCapacityReservationTargetPtr(v *InstanceCapacityReservationSpecificationCapacityReservationTargetArgs) InstanceCapacityReservationSpecificationCapacityReservationTargetPtrInput { + return (*instanceCapacityReservationSpecificationCapacityReservationTargetPtrType)(v) } -func (*instanceMaintenanceOptionsPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**InstanceMaintenanceOptions)(nil)).Elem() +func (*instanceCapacityReservationSpecificationCapacityReservationTargetPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**InstanceCapacityReservationSpecificationCapacityReservationTarget)(nil)).Elem() } -func (i *instanceMaintenanceOptionsPtrType) ToInstanceMaintenanceOptionsPtrOutput() InstanceMaintenanceOptionsPtrOutput { - return i.ToInstanceMaintenanceOptionsPtrOutputWithContext(context.Background()) +func (i *instanceCapacityReservationSpecificationCapacityReservationTargetPtrType) ToInstanceCapacityReservationSpecificationCapacityReservationTargetPtrOutput() InstanceCapacityReservationSpecificationCapacityReservationTargetPtrOutput { + return i.ToInstanceCapacityReservationSpecificationCapacityReservationTargetPtrOutputWithContext(context.Background()) } -func (i *instanceMaintenanceOptionsPtrType) ToInstanceMaintenanceOptionsPtrOutputWithContext(ctx context.Context) InstanceMaintenanceOptionsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(InstanceMaintenanceOptionsPtrOutput) +func (i *instanceCapacityReservationSpecificationCapacityReservationTargetPtrType) ToInstanceCapacityReservationSpecificationCapacityReservationTargetPtrOutputWithContext(ctx context.Context) InstanceCapacityReservationSpecificationCapacityReservationTargetPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(InstanceCapacityReservationSpecificationCapacityReservationTargetPtrOutput) } -type InstanceMaintenanceOptionsOutput struct{ *pulumi.OutputState } +type InstanceCapacityReservationSpecificationCapacityReservationTargetOutput struct{ *pulumi.OutputState } -func (InstanceMaintenanceOptionsOutput) ElementType() reflect.Type { - return reflect.TypeOf((*InstanceMaintenanceOptions)(nil)).Elem() +func (InstanceCapacityReservationSpecificationCapacityReservationTargetOutput) ElementType() reflect.Type { + return reflect.TypeOf((*InstanceCapacityReservationSpecificationCapacityReservationTarget)(nil)).Elem() } -func (o InstanceMaintenanceOptionsOutput) ToInstanceMaintenanceOptionsOutput() InstanceMaintenanceOptionsOutput { +func (o InstanceCapacityReservationSpecificationCapacityReservationTargetOutput) ToInstanceCapacityReservationSpecificationCapacityReservationTargetOutput() InstanceCapacityReservationSpecificationCapacityReservationTargetOutput { return o } -func (o InstanceMaintenanceOptionsOutput) ToInstanceMaintenanceOptionsOutputWithContext(ctx context.Context) InstanceMaintenanceOptionsOutput { +func (o InstanceCapacityReservationSpecificationCapacityReservationTargetOutput) ToInstanceCapacityReservationSpecificationCapacityReservationTargetOutputWithContext(ctx context.Context) InstanceCapacityReservationSpecificationCapacityReservationTargetOutput { return o } -func (o InstanceMaintenanceOptionsOutput) ToInstanceMaintenanceOptionsPtrOutput() InstanceMaintenanceOptionsPtrOutput { - return o.ToInstanceMaintenanceOptionsPtrOutputWithContext(context.Background()) +func (o InstanceCapacityReservationSpecificationCapacityReservationTargetOutput) ToInstanceCapacityReservationSpecificationCapacityReservationTargetPtrOutput() InstanceCapacityReservationSpecificationCapacityReservationTargetPtrOutput { + return o.ToInstanceCapacityReservationSpecificationCapacityReservationTargetPtrOutputWithContext(context.Background()) } -func (o InstanceMaintenanceOptionsOutput) ToInstanceMaintenanceOptionsPtrOutputWithContext(ctx context.Context) InstanceMaintenanceOptionsPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v InstanceMaintenanceOptions) *InstanceMaintenanceOptions { +func (o InstanceCapacityReservationSpecificationCapacityReservationTargetOutput) ToInstanceCapacityReservationSpecificationCapacityReservationTargetPtrOutputWithContext(ctx context.Context) InstanceCapacityReservationSpecificationCapacityReservationTargetPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v InstanceCapacityReservationSpecificationCapacityReservationTarget) *InstanceCapacityReservationSpecificationCapacityReservationTarget { return &v - }).(InstanceMaintenanceOptionsPtrOutput) + }).(InstanceCapacityReservationSpecificationCapacityReservationTargetPtrOutput) } -// Automatic recovery behavior of the Instance. Can be `"default"` or `"disabled"`. See [Recover your instance](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-recover.html) for more details. -func (o InstanceMaintenanceOptionsOutput) AutoRecovery() pulumi.StringPtrOutput { - return o.ApplyT(func(v InstanceMaintenanceOptions) *string { return v.AutoRecovery }).(pulumi.StringPtrOutput) +// ID of the Capacity Reservation in which to run the instance. +func (o InstanceCapacityReservationSpecificationCapacityReservationTargetOutput) CapacityReservationId() pulumi.StringPtrOutput { + return o.ApplyT(func(v InstanceCapacityReservationSpecificationCapacityReservationTarget) *string { + return v.CapacityReservationId + }).(pulumi.StringPtrOutput) } -type InstanceMaintenanceOptionsPtrOutput struct{ *pulumi.OutputState } +// ARN of the Capacity Reservation resource group in which to run the instance. +func (o InstanceCapacityReservationSpecificationCapacityReservationTargetOutput) CapacityReservationResourceGroupArn() pulumi.StringPtrOutput { + return o.ApplyT(func(v InstanceCapacityReservationSpecificationCapacityReservationTarget) *string { + return v.CapacityReservationResourceGroupArn + }).(pulumi.StringPtrOutput) +} -func (InstanceMaintenanceOptionsPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**InstanceMaintenanceOptions)(nil)).Elem() +type InstanceCapacityReservationSpecificationCapacityReservationTargetPtrOutput struct{ *pulumi.OutputState } + +func (InstanceCapacityReservationSpecificationCapacityReservationTargetPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**InstanceCapacityReservationSpecificationCapacityReservationTarget)(nil)).Elem() } -func (o InstanceMaintenanceOptionsPtrOutput) ToInstanceMaintenanceOptionsPtrOutput() InstanceMaintenanceOptionsPtrOutput { +func (o InstanceCapacityReservationSpecificationCapacityReservationTargetPtrOutput) ToInstanceCapacityReservationSpecificationCapacityReservationTargetPtrOutput() InstanceCapacityReservationSpecificationCapacityReservationTargetPtrOutput { return o } -func (o InstanceMaintenanceOptionsPtrOutput) ToInstanceMaintenanceOptionsPtrOutputWithContext(ctx context.Context) InstanceMaintenanceOptionsPtrOutput { +func (o InstanceCapacityReservationSpecificationCapacityReservationTargetPtrOutput) ToInstanceCapacityReservationSpecificationCapacityReservationTargetPtrOutputWithContext(ctx context.Context) InstanceCapacityReservationSpecificationCapacityReservationTargetPtrOutput { return o } -func (o InstanceMaintenanceOptionsPtrOutput) Elem() InstanceMaintenanceOptionsOutput { - return o.ApplyT(func(v *InstanceMaintenanceOptions) InstanceMaintenanceOptions { +func (o InstanceCapacityReservationSpecificationCapacityReservationTargetPtrOutput) Elem() InstanceCapacityReservationSpecificationCapacityReservationTargetOutput { + return o.ApplyT(func(v *InstanceCapacityReservationSpecificationCapacityReservationTarget) InstanceCapacityReservationSpecificationCapacityReservationTarget { if v != nil { return *v } - var ret InstanceMaintenanceOptions + var ret InstanceCapacityReservationSpecificationCapacityReservationTarget return ret - }).(InstanceMaintenanceOptionsOutput) + }).(InstanceCapacityReservationSpecificationCapacityReservationTargetOutput) } -// Automatic recovery behavior of the Instance. Can be `"default"` or `"disabled"`. See [Recover your instance](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-recover.html) for more details. -func (o InstanceMaintenanceOptionsPtrOutput) AutoRecovery() pulumi.StringPtrOutput { - return o.ApplyT(func(v *InstanceMaintenanceOptions) *string { +// ID of the Capacity Reservation in which to run the instance. +func (o InstanceCapacityReservationSpecificationCapacityReservationTargetPtrOutput) CapacityReservationId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *InstanceCapacityReservationSpecificationCapacityReservationTarget) *string { if v == nil { return nil } - return v.AutoRecovery + return v.CapacityReservationId }).(pulumi.StringPtrOutput) } -type InstanceMetadataOptions struct { - // Whether the metadata service is available. Valid values include `enabled` or `disabled`. Defaults to `enabled`. - HttpEndpoint *string `pulumi:"httpEndpoint"` - // Whether the IPv6 endpoint for the instance metadata service is enabled. Defaults to `disabled`. - HttpProtocolIpv6 *string `pulumi:"httpProtocolIpv6"` - // Desired HTTP PUT response hop limit for instance metadata requests. The larger the number, the further instance metadata requests can travel. Valid values are integer from `1` to `64`. Defaults to `1`. - HttpPutResponseHopLimit *int `pulumi:"httpPutResponseHopLimit"` - // Whether or not the metadata service requires session tokens, also referred to as _Instance Metadata Service Version 2 (IMDSv2)_. Valid values include `optional` or `required`. - HttpTokens *string `pulumi:"httpTokens"` - // Enables or disables access to instance tags from the instance metadata service. Valid values include `enabled` or `disabled`. Defaults to `disabled`. +// ARN of the Capacity Reservation resource group in which to run the instance. +func (o InstanceCapacityReservationSpecificationCapacityReservationTargetPtrOutput) CapacityReservationResourceGroupArn() pulumi.StringPtrOutput { + return o.ApplyT(func(v *InstanceCapacityReservationSpecificationCapacityReservationTarget) *string { + if v == nil { + return nil + } + return v.CapacityReservationResourceGroupArn + }).(pulumi.StringPtrOutput) +} + +type InstanceCpuOptions struct { + // Indicates whether to enable the instance for AMD SEV-SNP. AMD SEV-SNP is supported with M6a, R6a, and C6a instance types only. Valid values are `enabled` and `disabled`. + AmdSevSnp *string `pulumi:"amdSevSnp"` + // Sets the number of CPU cores for an instance. This option is only supported on creation of instance type that support CPU Options [CPU Cores and Threads Per CPU Core Per Instance Type](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-optimize-cpu.html#cpu-options-supported-instances-values) - specifying this option for unsupported instance types will return an error from the EC2 API. + CoreCount *int `pulumi:"coreCount"` + // If set to 1, hyperthreading is disabled on the launched instance. Defaults to 2 if not set. See [Optimizing CPU Options](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-optimize-cpu.html) for more information. // - // For more information, see the documentation on the [Instance Metadata Service](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html). - InstanceMetadataTags *string `pulumi:"instanceMetadataTags"` + // For more information, see the documentation on [Optimizing CPU options](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-optimize-cpu.html). + ThreadsPerCore *int `pulumi:"threadsPerCore"` } -// InstanceMetadataOptionsInput is an input type that accepts InstanceMetadataOptionsArgs and InstanceMetadataOptionsOutput values. -// You can construct a concrete instance of `InstanceMetadataOptionsInput` via: +// InstanceCpuOptionsInput is an input type that accepts InstanceCpuOptionsArgs and InstanceCpuOptionsOutput values. +// You can construct a concrete instance of `InstanceCpuOptionsInput` via: // -// InstanceMetadataOptionsArgs{...} -type InstanceMetadataOptionsInput interface { +// InstanceCpuOptionsArgs{...} +type InstanceCpuOptionsInput interface { pulumi.Input - ToInstanceMetadataOptionsOutput() InstanceMetadataOptionsOutput - ToInstanceMetadataOptionsOutputWithContext(context.Context) InstanceMetadataOptionsOutput + ToInstanceCpuOptionsOutput() InstanceCpuOptionsOutput + ToInstanceCpuOptionsOutputWithContext(context.Context) InstanceCpuOptionsOutput } -type InstanceMetadataOptionsArgs struct { - // Whether the metadata service is available. Valid values include `enabled` or `disabled`. Defaults to `enabled`. - HttpEndpoint pulumi.StringPtrInput `pulumi:"httpEndpoint"` - // Whether the IPv6 endpoint for the instance metadata service is enabled. Defaults to `disabled`. - HttpProtocolIpv6 pulumi.StringPtrInput `pulumi:"httpProtocolIpv6"` - // Desired HTTP PUT response hop limit for instance metadata requests. The larger the number, the further instance metadata requests can travel. Valid values are integer from `1` to `64`. Defaults to `1`. - HttpPutResponseHopLimit pulumi.IntPtrInput `pulumi:"httpPutResponseHopLimit"` - // Whether or not the metadata service requires session tokens, also referred to as _Instance Metadata Service Version 2 (IMDSv2)_. Valid values include `optional` or `required`. - HttpTokens pulumi.StringPtrInput `pulumi:"httpTokens"` - // Enables or disables access to instance tags from the instance metadata service. Valid values include `enabled` or `disabled`. Defaults to `disabled`. +type InstanceCpuOptionsArgs struct { + // Indicates whether to enable the instance for AMD SEV-SNP. AMD SEV-SNP is supported with M6a, R6a, and C6a instance types only. Valid values are `enabled` and `disabled`. + AmdSevSnp pulumi.StringPtrInput `pulumi:"amdSevSnp"` + // Sets the number of CPU cores for an instance. This option is only supported on creation of instance type that support CPU Options [CPU Cores and Threads Per CPU Core Per Instance Type](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-optimize-cpu.html#cpu-options-supported-instances-values) - specifying this option for unsupported instance types will return an error from the EC2 API. + CoreCount pulumi.IntPtrInput `pulumi:"coreCount"` + // If set to 1, hyperthreading is disabled on the launched instance. Defaults to 2 if not set. See [Optimizing CPU Options](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-optimize-cpu.html) for more information. // - // For more information, see the documentation on the [Instance Metadata Service](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html). - InstanceMetadataTags pulumi.StringPtrInput `pulumi:"instanceMetadataTags"` + // For more information, see the documentation on [Optimizing CPU options](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-optimize-cpu.html). + ThreadsPerCore pulumi.IntPtrInput `pulumi:"threadsPerCore"` } -func (InstanceMetadataOptionsArgs) ElementType() reflect.Type { - return reflect.TypeOf((*InstanceMetadataOptions)(nil)).Elem() +func (InstanceCpuOptionsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*InstanceCpuOptions)(nil)).Elem() } -func (i InstanceMetadataOptionsArgs) ToInstanceMetadataOptionsOutput() InstanceMetadataOptionsOutput { - return i.ToInstanceMetadataOptionsOutputWithContext(context.Background()) +func (i InstanceCpuOptionsArgs) ToInstanceCpuOptionsOutput() InstanceCpuOptionsOutput { + return i.ToInstanceCpuOptionsOutputWithContext(context.Background()) } -func (i InstanceMetadataOptionsArgs) ToInstanceMetadataOptionsOutputWithContext(ctx context.Context) InstanceMetadataOptionsOutput { - return pulumi.ToOutputWithContext(ctx, i).(InstanceMetadataOptionsOutput) +func (i InstanceCpuOptionsArgs) ToInstanceCpuOptionsOutputWithContext(ctx context.Context) InstanceCpuOptionsOutput { + return pulumi.ToOutputWithContext(ctx, i).(InstanceCpuOptionsOutput) } -func (i InstanceMetadataOptionsArgs) ToInstanceMetadataOptionsPtrOutput() InstanceMetadataOptionsPtrOutput { - return i.ToInstanceMetadataOptionsPtrOutputWithContext(context.Background()) +func (i InstanceCpuOptionsArgs) ToInstanceCpuOptionsPtrOutput() InstanceCpuOptionsPtrOutput { + return i.ToInstanceCpuOptionsPtrOutputWithContext(context.Background()) } -func (i InstanceMetadataOptionsArgs) ToInstanceMetadataOptionsPtrOutputWithContext(ctx context.Context) InstanceMetadataOptionsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(InstanceMetadataOptionsOutput).ToInstanceMetadataOptionsPtrOutputWithContext(ctx) +func (i InstanceCpuOptionsArgs) ToInstanceCpuOptionsPtrOutputWithContext(ctx context.Context) InstanceCpuOptionsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(InstanceCpuOptionsOutput).ToInstanceCpuOptionsPtrOutputWithContext(ctx) } -// InstanceMetadataOptionsPtrInput is an input type that accepts InstanceMetadataOptionsArgs, InstanceMetadataOptionsPtr and InstanceMetadataOptionsPtrOutput values. -// You can construct a concrete instance of `InstanceMetadataOptionsPtrInput` via: +// InstanceCpuOptionsPtrInput is an input type that accepts InstanceCpuOptionsArgs, InstanceCpuOptionsPtr and InstanceCpuOptionsPtrOutput values. +// You can construct a concrete instance of `InstanceCpuOptionsPtrInput` via: // -// InstanceMetadataOptionsArgs{...} +// InstanceCpuOptionsArgs{...} // // or: // // nil -type InstanceMetadataOptionsPtrInput interface { +type InstanceCpuOptionsPtrInput interface { pulumi.Input - ToInstanceMetadataOptionsPtrOutput() InstanceMetadataOptionsPtrOutput - ToInstanceMetadataOptionsPtrOutputWithContext(context.Context) InstanceMetadataOptionsPtrOutput + ToInstanceCpuOptionsPtrOutput() InstanceCpuOptionsPtrOutput + ToInstanceCpuOptionsPtrOutputWithContext(context.Context) InstanceCpuOptionsPtrOutput } -type instanceMetadataOptionsPtrType InstanceMetadataOptionsArgs +type instanceCpuOptionsPtrType InstanceCpuOptionsArgs -func InstanceMetadataOptionsPtr(v *InstanceMetadataOptionsArgs) InstanceMetadataOptionsPtrInput { - return (*instanceMetadataOptionsPtrType)(v) +func InstanceCpuOptionsPtr(v *InstanceCpuOptionsArgs) InstanceCpuOptionsPtrInput { + return (*instanceCpuOptionsPtrType)(v) } -func (*instanceMetadataOptionsPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**InstanceMetadataOptions)(nil)).Elem() +func (*instanceCpuOptionsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**InstanceCpuOptions)(nil)).Elem() } -func (i *instanceMetadataOptionsPtrType) ToInstanceMetadataOptionsPtrOutput() InstanceMetadataOptionsPtrOutput { - return i.ToInstanceMetadataOptionsPtrOutputWithContext(context.Background()) +func (i *instanceCpuOptionsPtrType) ToInstanceCpuOptionsPtrOutput() InstanceCpuOptionsPtrOutput { + return i.ToInstanceCpuOptionsPtrOutputWithContext(context.Background()) } -func (i *instanceMetadataOptionsPtrType) ToInstanceMetadataOptionsPtrOutputWithContext(ctx context.Context) InstanceMetadataOptionsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(InstanceMetadataOptionsPtrOutput) +func (i *instanceCpuOptionsPtrType) ToInstanceCpuOptionsPtrOutputWithContext(ctx context.Context) InstanceCpuOptionsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(InstanceCpuOptionsPtrOutput) } -type InstanceMetadataOptionsOutput struct{ *pulumi.OutputState } +type InstanceCpuOptionsOutput struct{ *pulumi.OutputState } -func (InstanceMetadataOptionsOutput) ElementType() reflect.Type { - return reflect.TypeOf((*InstanceMetadataOptions)(nil)).Elem() +func (InstanceCpuOptionsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*InstanceCpuOptions)(nil)).Elem() } -func (o InstanceMetadataOptionsOutput) ToInstanceMetadataOptionsOutput() InstanceMetadataOptionsOutput { +func (o InstanceCpuOptionsOutput) ToInstanceCpuOptionsOutput() InstanceCpuOptionsOutput { return o } -func (o InstanceMetadataOptionsOutput) ToInstanceMetadataOptionsOutputWithContext(ctx context.Context) InstanceMetadataOptionsOutput { +func (o InstanceCpuOptionsOutput) ToInstanceCpuOptionsOutputWithContext(ctx context.Context) InstanceCpuOptionsOutput { return o } -func (o InstanceMetadataOptionsOutput) ToInstanceMetadataOptionsPtrOutput() InstanceMetadataOptionsPtrOutput { - return o.ToInstanceMetadataOptionsPtrOutputWithContext(context.Background()) +func (o InstanceCpuOptionsOutput) ToInstanceCpuOptionsPtrOutput() InstanceCpuOptionsPtrOutput { + return o.ToInstanceCpuOptionsPtrOutputWithContext(context.Background()) } -func (o InstanceMetadataOptionsOutput) ToInstanceMetadataOptionsPtrOutputWithContext(ctx context.Context) InstanceMetadataOptionsPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v InstanceMetadataOptions) *InstanceMetadataOptions { +func (o InstanceCpuOptionsOutput) ToInstanceCpuOptionsPtrOutputWithContext(ctx context.Context) InstanceCpuOptionsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v InstanceCpuOptions) *InstanceCpuOptions { return &v - }).(InstanceMetadataOptionsPtrOutput) -} - -// Whether the metadata service is available. Valid values include `enabled` or `disabled`. Defaults to `enabled`. -func (o InstanceMetadataOptionsOutput) HttpEndpoint() pulumi.StringPtrOutput { - return o.ApplyT(func(v InstanceMetadataOptions) *string { return v.HttpEndpoint }).(pulumi.StringPtrOutput) -} - -// Whether the IPv6 endpoint for the instance metadata service is enabled. Defaults to `disabled`. -func (o InstanceMetadataOptionsOutput) HttpProtocolIpv6() pulumi.StringPtrOutput { - return o.ApplyT(func(v InstanceMetadataOptions) *string { return v.HttpProtocolIpv6 }).(pulumi.StringPtrOutput) + }).(InstanceCpuOptionsPtrOutput) } -// Desired HTTP PUT response hop limit for instance metadata requests. The larger the number, the further instance metadata requests can travel. Valid values are integer from `1` to `64`. Defaults to `1`. -func (o InstanceMetadataOptionsOutput) HttpPutResponseHopLimit() pulumi.IntPtrOutput { - return o.ApplyT(func(v InstanceMetadataOptions) *int { return v.HttpPutResponseHopLimit }).(pulumi.IntPtrOutput) +// Indicates whether to enable the instance for AMD SEV-SNP. AMD SEV-SNP is supported with M6a, R6a, and C6a instance types only. Valid values are `enabled` and `disabled`. +func (o InstanceCpuOptionsOutput) AmdSevSnp() pulumi.StringPtrOutput { + return o.ApplyT(func(v InstanceCpuOptions) *string { return v.AmdSevSnp }).(pulumi.StringPtrOutput) } -// Whether or not the metadata service requires session tokens, also referred to as _Instance Metadata Service Version 2 (IMDSv2)_. Valid values include `optional` or `required`. -func (o InstanceMetadataOptionsOutput) HttpTokens() pulumi.StringPtrOutput { - return o.ApplyT(func(v InstanceMetadataOptions) *string { return v.HttpTokens }).(pulumi.StringPtrOutput) +// Sets the number of CPU cores for an instance. This option is only supported on creation of instance type that support CPU Options [CPU Cores and Threads Per CPU Core Per Instance Type](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-optimize-cpu.html#cpu-options-supported-instances-values) - specifying this option for unsupported instance types will return an error from the EC2 API. +func (o InstanceCpuOptionsOutput) CoreCount() pulumi.IntPtrOutput { + return o.ApplyT(func(v InstanceCpuOptions) *int { return v.CoreCount }).(pulumi.IntPtrOutput) } -// Enables or disables access to instance tags from the instance metadata service. Valid values include `enabled` or `disabled`. Defaults to `disabled`. +// If set to 1, hyperthreading is disabled on the launched instance. Defaults to 2 if not set. See [Optimizing CPU Options](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-optimize-cpu.html) for more information. // -// For more information, see the documentation on the [Instance Metadata Service](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html). -func (o InstanceMetadataOptionsOutput) InstanceMetadataTags() pulumi.StringPtrOutput { - return o.ApplyT(func(v InstanceMetadataOptions) *string { return v.InstanceMetadataTags }).(pulumi.StringPtrOutput) +// For more information, see the documentation on [Optimizing CPU options](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-optimize-cpu.html). +func (o InstanceCpuOptionsOutput) ThreadsPerCore() pulumi.IntPtrOutput { + return o.ApplyT(func(v InstanceCpuOptions) *int { return v.ThreadsPerCore }).(pulumi.IntPtrOutput) } -type InstanceMetadataOptionsPtrOutput struct{ *pulumi.OutputState } +type InstanceCpuOptionsPtrOutput struct{ *pulumi.OutputState } -func (InstanceMetadataOptionsPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**InstanceMetadataOptions)(nil)).Elem() +func (InstanceCpuOptionsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**InstanceCpuOptions)(nil)).Elem() } -func (o InstanceMetadataOptionsPtrOutput) ToInstanceMetadataOptionsPtrOutput() InstanceMetadataOptionsPtrOutput { +func (o InstanceCpuOptionsPtrOutput) ToInstanceCpuOptionsPtrOutput() InstanceCpuOptionsPtrOutput { return o } -func (o InstanceMetadataOptionsPtrOutput) ToInstanceMetadataOptionsPtrOutputWithContext(ctx context.Context) InstanceMetadataOptionsPtrOutput { +func (o InstanceCpuOptionsPtrOutput) ToInstanceCpuOptionsPtrOutputWithContext(ctx context.Context) InstanceCpuOptionsPtrOutput { return o } -func (o InstanceMetadataOptionsPtrOutput) Elem() InstanceMetadataOptionsOutput { - return o.ApplyT(func(v *InstanceMetadataOptions) InstanceMetadataOptions { +func (o InstanceCpuOptionsPtrOutput) Elem() InstanceCpuOptionsOutput { + return o.ApplyT(func(v *InstanceCpuOptions) InstanceCpuOptions { if v != nil { return *v } - var ret InstanceMetadataOptions + var ret InstanceCpuOptions return ret - }).(InstanceMetadataOptionsOutput) + }).(InstanceCpuOptionsOutput) } -// Whether the metadata service is available. Valid values include `enabled` or `disabled`. Defaults to `enabled`. -func (o InstanceMetadataOptionsPtrOutput) HttpEndpoint() pulumi.StringPtrOutput { - return o.ApplyT(func(v *InstanceMetadataOptions) *string { +// Indicates whether to enable the instance for AMD SEV-SNP. AMD SEV-SNP is supported with M6a, R6a, and C6a instance types only. Valid values are `enabled` and `disabled`. +func (o InstanceCpuOptionsPtrOutput) AmdSevSnp() pulumi.StringPtrOutput { + return o.ApplyT(func(v *InstanceCpuOptions) *string { if v == nil { return nil } - return v.HttpEndpoint + return v.AmdSevSnp }).(pulumi.StringPtrOutput) } -// Whether the IPv6 endpoint for the instance metadata service is enabled. Defaults to `disabled`. -func (o InstanceMetadataOptionsPtrOutput) HttpProtocolIpv6() pulumi.StringPtrOutput { - return o.ApplyT(func(v *InstanceMetadataOptions) *string { +// Sets the number of CPU cores for an instance. This option is only supported on creation of instance type that support CPU Options [CPU Cores and Threads Per CPU Core Per Instance Type](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-optimize-cpu.html#cpu-options-supported-instances-values) - specifying this option for unsupported instance types will return an error from the EC2 API. +func (o InstanceCpuOptionsPtrOutput) CoreCount() pulumi.IntPtrOutput { + return o.ApplyT(func(v *InstanceCpuOptions) *int { if v == nil { return nil } - return v.HttpProtocolIpv6 - }).(pulumi.StringPtrOutput) + return v.CoreCount + }).(pulumi.IntPtrOutput) } -// Desired HTTP PUT response hop limit for instance metadata requests. The larger the number, the further instance metadata requests can travel. Valid values are integer from `1` to `64`. Defaults to `1`. -func (o InstanceMetadataOptionsPtrOutput) HttpPutResponseHopLimit() pulumi.IntPtrOutput { - return o.ApplyT(func(v *InstanceMetadataOptions) *int { +// If set to 1, hyperthreading is disabled on the launched instance. Defaults to 2 if not set. See [Optimizing CPU Options](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-optimize-cpu.html) for more information. +// +// For more information, see the documentation on [Optimizing CPU options](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-optimize-cpu.html). +func (o InstanceCpuOptionsPtrOutput) ThreadsPerCore() pulumi.IntPtrOutput { + return o.ApplyT(func(v *InstanceCpuOptions) *int { if v == nil { return nil } - return v.HttpPutResponseHopLimit + return v.ThreadsPerCore }).(pulumi.IntPtrOutput) } -// Whether or not the metadata service requires session tokens, also referred to as _Instance Metadata Service Version 2 (IMDSv2)_. Valid values include `optional` or `required`. -func (o InstanceMetadataOptionsPtrOutput) HttpTokens() pulumi.StringPtrOutput { - return o.ApplyT(func(v *InstanceMetadataOptions) *string { - if v == nil { - return nil - } - return v.HttpTokens - }).(pulumi.StringPtrOutput) +type InstanceCreditSpecification struct { + // Credit option for CPU usage. Valid values include `standard` or `unlimited`. T3 instances are launched as unlimited by default. T2 instances are launched as standard by default. + CpuCredits *string `pulumi:"cpuCredits"` } -// Enables or disables access to instance tags from the instance metadata service. Valid values include `enabled` or `disabled`. Defaults to `disabled`. +// InstanceCreditSpecificationInput is an input type that accepts InstanceCreditSpecificationArgs and InstanceCreditSpecificationOutput values. +// You can construct a concrete instance of `InstanceCreditSpecificationInput` via: // -// For more information, see the documentation on the [Instance Metadata Service](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html). -func (o InstanceMetadataOptionsPtrOutput) InstanceMetadataTags() pulumi.StringPtrOutput { - return o.ApplyT(func(v *InstanceMetadataOptions) *string { - if v == nil { - return nil - } - return v.InstanceMetadataTags - }).(pulumi.StringPtrOutput) -} +// InstanceCreditSpecificationArgs{...} +type InstanceCreditSpecificationInput interface { + pulumi.Input -type InstanceNetworkInterface struct { - // Whether or not to delete the network interface on instance termination. Defaults to `false`. Currently, the only valid value is `false`, as this is only supported when creating new network interfaces when launching an instance. - DeleteOnTermination *bool `pulumi:"deleteOnTermination"` - // Integer index of the network interface attachment. Limited by instance type. - DeviceIndex int `pulumi:"deviceIndex"` - // Integer index of the network card. Limited by instance type. The default index is `0`. - NetworkCardIndex *int `pulumi:"networkCardIndex"` - // ID of the network interface to attach. - NetworkInterfaceId string `pulumi:"networkInterfaceId"` + ToInstanceCreditSpecificationOutput() InstanceCreditSpecificationOutput + ToInstanceCreditSpecificationOutputWithContext(context.Context) InstanceCreditSpecificationOutput } -// InstanceNetworkInterfaceInput is an input type that accepts InstanceNetworkInterfaceArgs and InstanceNetworkInterfaceOutput values. -// You can construct a concrete instance of `InstanceNetworkInterfaceInput` via: -// -// InstanceNetworkInterfaceArgs{...} -type InstanceNetworkInterfaceInput interface { - pulumi.Input +type InstanceCreditSpecificationArgs struct { + // Credit option for CPU usage. Valid values include `standard` or `unlimited`. T3 instances are launched as unlimited by default. T2 instances are launched as standard by default. + CpuCredits pulumi.StringPtrInput `pulumi:"cpuCredits"` +} - ToInstanceNetworkInterfaceOutput() InstanceNetworkInterfaceOutput - ToInstanceNetworkInterfaceOutputWithContext(context.Context) InstanceNetworkInterfaceOutput +func (InstanceCreditSpecificationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*InstanceCreditSpecification)(nil)).Elem() } -type InstanceNetworkInterfaceArgs struct { - // Whether or not to delete the network interface on instance termination. Defaults to `false`. Currently, the only valid value is `false`, as this is only supported when creating new network interfaces when launching an instance. - DeleteOnTermination pulumi.BoolPtrInput `pulumi:"deleteOnTermination"` - // Integer index of the network interface attachment. Limited by instance type. - DeviceIndex pulumi.IntInput `pulumi:"deviceIndex"` - // Integer index of the network card. Limited by instance type. The default index is `0`. - NetworkCardIndex pulumi.IntPtrInput `pulumi:"networkCardIndex"` - // ID of the network interface to attach. - NetworkInterfaceId pulumi.StringInput `pulumi:"networkInterfaceId"` +func (i InstanceCreditSpecificationArgs) ToInstanceCreditSpecificationOutput() InstanceCreditSpecificationOutput { + return i.ToInstanceCreditSpecificationOutputWithContext(context.Background()) } -func (InstanceNetworkInterfaceArgs) ElementType() reflect.Type { - return reflect.TypeOf((*InstanceNetworkInterface)(nil)).Elem() +func (i InstanceCreditSpecificationArgs) ToInstanceCreditSpecificationOutputWithContext(ctx context.Context) InstanceCreditSpecificationOutput { + return pulumi.ToOutputWithContext(ctx, i).(InstanceCreditSpecificationOutput) } -func (i InstanceNetworkInterfaceArgs) ToInstanceNetworkInterfaceOutput() InstanceNetworkInterfaceOutput { - return i.ToInstanceNetworkInterfaceOutputWithContext(context.Background()) +func (i InstanceCreditSpecificationArgs) ToInstanceCreditSpecificationPtrOutput() InstanceCreditSpecificationPtrOutput { + return i.ToInstanceCreditSpecificationPtrOutputWithContext(context.Background()) } -func (i InstanceNetworkInterfaceArgs) ToInstanceNetworkInterfaceOutputWithContext(ctx context.Context) InstanceNetworkInterfaceOutput { - return pulumi.ToOutputWithContext(ctx, i).(InstanceNetworkInterfaceOutput) +func (i InstanceCreditSpecificationArgs) ToInstanceCreditSpecificationPtrOutputWithContext(ctx context.Context) InstanceCreditSpecificationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(InstanceCreditSpecificationOutput).ToInstanceCreditSpecificationPtrOutputWithContext(ctx) } -// InstanceNetworkInterfaceArrayInput is an input type that accepts InstanceNetworkInterfaceArray and InstanceNetworkInterfaceArrayOutput values. -// You can construct a concrete instance of `InstanceNetworkInterfaceArrayInput` via: +// InstanceCreditSpecificationPtrInput is an input type that accepts InstanceCreditSpecificationArgs, InstanceCreditSpecificationPtr and InstanceCreditSpecificationPtrOutput values. +// You can construct a concrete instance of `InstanceCreditSpecificationPtrInput` via: // -// InstanceNetworkInterfaceArray{ InstanceNetworkInterfaceArgs{...} } -type InstanceNetworkInterfaceArrayInput interface { +// InstanceCreditSpecificationArgs{...} +// +// or: +// +// nil +type InstanceCreditSpecificationPtrInput interface { pulumi.Input - ToInstanceNetworkInterfaceArrayOutput() InstanceNetworkInterfaceArrayOutput - ToInstanceNetworkInterfaceArrayOutputWithContext(context.Context) InstanceNetworkInterfaceArrayOutput + ToInstanceCreditSpecificationPtrOutput() InstanceCreditSpecificationPtrOutput + ToInstanceCreditSpecificationPtrOutputWithContext(context.Context) InstanceCreditSpecificationPtrOutput } -type InstanceNetworkInterfaceArray []InstanceNetworkInterfaceInput +type instanceCreditSpecificationPtrType InstanceCreditSpecificationArgs -func (InstanceNetworkInterfaceArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]InstanceNetworkInterface)(nil)).Elem() +func InstanceCreditSpecificationPtr(v *InstanceCreditSpecificationArgs) InstanceCreditSpecificationPtrInput { + return (*instanceCreditSpecificationPtrType)(v) } -func (i InstanceNetworkInterfaceArray) ToInstanceNetworkInterfaceArrayOutput() InstanceNetworkInterfaceArrayOutput { - return i.ToInstanceNetworkInterfaceArrayOutputWithContext(context.Background()) +func (*instanceCreditSpecificationPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**InstanceCreditSpecification)(nil)).Elem() } -func (i InstanceNetworkInterfaceArray) ToInstanceNetworkInterfaceArrayOutputWithContext(ctx context.Context) InstanceNetworkInterfaceArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(InstanceNetworkInterfaceArrayOutput) +func (i *instanceCreditSpecificationPtrType) ToInstanceCreditSpecificationPtrOutput() InstanceCreditSpecificationPtrOutput { + return i.ToInstanceCreditSpecificationPtrOutputWithContext(context.Background()) } -type InstanceNetworkInterfaceOutput struct{ *pulumi.OutputState } - -func (InstanceNetworkInterfaceOutput) ElementType() reflect.Type { - return reflect.TypeOf((*InstanceNetworkInterface)(nil)).Elem() +func (i *instanceCreditSpecificationPtrType) ToInstanceCreditSpecificationPtrOutputWithContext(ctx context.Context) InstanceCreditSpecificationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(InstanceCreditSpecificationPtrOutput) } -func (o InstanceNetworkInterfaceOutput) ToInstanceNetworkInterfaceOutput() InstanceNetworkInterfaceOutput { - return o +type InstanceCreditSpecificationOutput struct{ *pulumi.OutputState } + +func (InstanceCreditSpecificationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*InstanceCreditSpecification)(nil)).Elem() } -func (o InstanceNetworkInterfaceOutput) ToInstanceNetworkInterfaceOutputWithContext(ctx context.Context) InstanceNetworkInterfaceOutput { +func (o InstanceCreditSpecificationOutput) ToInstanceCreditSpecificationOutput() InstanceCreditSpecificationOutput { return o } -// Whether or not to delete the network interface on instance termination. Defaults to `false`. Currently, the only valid value is `false`, as this is only supported when creating new network interfaces when launching an instance. -func (o InstanceNetworkInterfaceOutput) DeleteOnTermination() pulumi.BoolPtrOutput { - return o.ApplyT(func(v InstanceNetworkInterface) *bool { return v.DeleteOnTermination }).(pulumi.BoolPtrOutput) +func (o InstanceCreditSpecificationOutput) ToInstanceCreditSpecificationOutputWithContext(ctx context.Context) InstanceCreditSpecificationOutput { + return o } -// Integer index of the network interface attachment. Limited by instance type. -func (o InstanceNetworkInterfaceOutput) DeviceIndex() pulumi.IntOutput { - return o.ApplyT(func(v InstanceNetworkInterface) int { return v.DeviceIndex }).(pulumi.IntOutput) +func (o InstanceCreditSpecificationOutput) ToInstanceCreditSpecificationPtrOutput() InstanceCreditSpecificationPtrOutput { + return o.ToInstanceCreditSpecificationPtrOutputWithContext(context.Background()) } -// Integer index of the network card. Limited by instance type. The default index is `0`. -func (o InstanceNetworkInterfaceOutput) NetworkCardIndex() pulumi.IntPtrOutput { - return o.ApplyT(func(v InstanceNetworkInterface) *int { return v.NetworkCardIndex }).(pulumi.IntPtrOutput) +func (o InstanceCreditSpecificationOutput) ToInstanceCreditSpecificationPtrOutputWithContext(ctx context.Context) InstanceCreditSpecificationPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v InstanceCreditSpecification) *InstanceCreditSpecification { + return &v + }).(InstanceCreditSpecificationPtrOutput) } -// ID of the network interface to attach. -func (o InstanceNetworkInterfaceOutput) NetworkInterfaceId() pulumi.StringOutput { - return o.ApplyT(func(v InstanceNetworkInterface) string { return v.NetworkInterfaceId }).(pulumi.StringOutput) +// Credit option for CPU usage. Valid values include `standard` or `unlimited`. T3 instances are launched as unlimited by default. T2 instances are launched as standard by default. +func (o InstanceCreditSpecificationOutput) CpuCredits() pulumi.StringPtrOutput { + return o.ApplyT(func(v InstanceCreditSpecification) *string { return v.CpuCredits }).(pulumi.StringPtrOutput) } -type InstanceNetworkInterfaceArrayOutput struct{ *pulumi.OutputState } +type InstanceCreditSpecificationPtrOutput struct{ *pulumi.OutputState } -func (InstanceNetworkInterfaceArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]InstanceNetworkInterface)(nil)).Elem() +func (InstanceCreditSpecificationPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**InstanceCreditSpecification)(nil)).Elem() } -func (o InstanceNetworkInterfaceArrayOutput) ToInstanceNetworkInterfaceArrayOutput() InstanceNetworkInterfaceArrayOutput { +func (o InstanceCreditSpecificationPtrOutput) ToInstanceCreditSpecificationPtrOutput() InstanceCreditSpecificationPtrOutput { return o } -func (o InstanceNetworkInterfaceArrayOutput) ToInstanceNetworkInterfaceArrayOutputWithContext(ctx context.Context) InstanceNetworkInterfaceArrayOutput { +func (o InstanceCreditSpecificationPtrOutput) ToInstanceCreditSpecificationPtrOutputWithContext(ctx context.Context) InstanceCreditSpecificationPtrOutput { return o } -func (o InstanceNetworkInterfaceArrayOutput) Index(i pulumi.IntInput) InstanceNetworkInterfaceOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) InstanceNetworkInterface { - return vs[0].([]InstanceNetworkInterface)[vs[1].(int)] - }).(InstanceNetworkInterfaceOutput) +func (o InstanceCreditSpecificationPtrOutput) Elem() InstanceCreditSpecificationOutput { + return o.ApplyT(func(v *InstanceCreditSpecification) InstanceCreditSpecification { + if v != nil { + return *v + } + var ret InstanceCreditSpecification + return ret + }).(InstanceCreditSpecificationOutput) } -type InstancePrimaryNetworkInterface struct { - // Whether the network interface will be deleted when the instance terminates. +// Credit option for CPU usage. Valid values include `standard` or `unlimited`. T3 instances are launched as unlimited by default. T2 instances are launched as standard by default. +func (o InstanceCreditSpecificationPtrOutput) CpuCredits() pulumi.StringPtrOutput { + return o.ApplyT(func(v *InstanceCreditSpecification) *string { + if v == nil { + return nil + } + return v.CpuCredits + }).(pulumi.StringPtrOutput) +} + +type InstanceEbsBlockDevice struct { + // Whether the volume should be destroyed on instance termination. Defaults to `true`. DeleteOnTermination *bool `pulumi:"deleteOnTermination"` - // ID of the network interface to attach. - NetworkInterfaceId string `pulumi:"networkInterfaceId"` + // Name of the device to mount. + DeviceName string `pulumi:"deviceName"` + // Enables [EBS encryption](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html) on the volume. Defaults to `false`. Cannot be used with `snapshotId`. Must be configured to perform drift detection. + Encrypted *bool `pulumi:"encrypted"` + // Amount of provisioned [IOPS](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-io-characteristics.html). Only valid for volumeType of `io1`, `io2` or `gp3`. + Iops *int `pulumi:"iops"` + // Amazon Resource Name (ARN) of the KMS Key to use when encrypting the volume. Must be configured to perform drift detection. + KmsKeyId *string `pulumi:"kmsKeyId"` + // Snapshot ID to mount. + SnapshotId *string `pulumi:"snapshotId"` + // Map of tags to assign to the device. + Tags map[string]string `pulumi:"tags"` + // Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + TagsAll map[string]string `pulumi:"tagsAll"` + // Throughput to provision for a volume in mebibytes per second (MiB/s). This is only valid for `volumeType` of `gp3`. + Throughput *int `pulumi:"throughput"` + // ID of the volume. For example, the ID can be accessed like this, `aws_instance.web.root_block_device.0.volume_id`. + 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`. + // + // > **NOTE:** Currently, changes to the `ebsBlockDevice` configuration of _existing_ resources cannot be automatically detected by this provider. To manage changes and attachments of an EBS block to an instance, use the `ebs.Volume` and `ec2.VolumeAttachment` resources instead. If you use `ebsBlockDevice` on an `ec2.Instance`, this provider will assume management over the full set of non-root EBS block devices for the instance, treating additional block devices as drift. For this reason, `ebsBlockDevice` cannot be mixed with external `ebs.Volume` and `ec2.VolumeAttachment` resources for a given instance. + VolumeType *string `pulumi:"volumeType"` } -// InstancePrimaryNetworkInterfaceInput is an input type that accepts InstancePrimaryNetworkInterfaceArgs and InstancePrimaryNetworkInterfaceOutput values. -// You can construct a concrete instance of `InstancePrimaryNetworkInterfaceInput` via: +// InstanceEbsBlockDeviceInput is an input type that accepts InstanceEbsBlockDeviceArgs and InstanceEbsBlockDeviceOutput values. +// You can construct a concrete instance of `InstanceEbsBlockDeviceInput` via: // -// InstancePrimaryNetworkInterfaceArgs{...} -type InstancePrimaryNetworkInterfaceInput interface { +// InstanceEbsBlockDeviceArgs{...} +type InstanceEbsBlockDeviceInput interface { pulumi.Input - ToInstancePrimaryNetworkInterfaceOutput() InstancePrimaryNetworkInterfaceOutput - ToInstancePrimaryNetworkInterfaceOutputWithContext(context.Context) InstancePrimaryNetworkInterfaceOutput + ToInstanceEbsBlockDeviceOutput() InstanceEbsBlockDeviceOutput + ToInstanceEbsBlockDeviceOutputWithContext(context.Context) InstanceEbsBlockDeviceOutput } -type InstancePrimaryNetworkInterfaceArgs struct { - // Whether the network interface will be deleted when the instance terminates. +type InstanceEbsBlockDeviceArgs struct { + // Whether the volume should be destroyed on instance termination. Defaults to `true`. DeleteOnTermination pulumi.BoolPtrInput `pulumi:"deleteOnTermination"` - // ID of the network interface to attach. - NetworkInterfaceId pulumi.StringInput `pulumi:"networkInterfaceId"` + // Name of the device to mount. + DeviceName pulumi.StringInput `pulumi:"deviceName"` + // Enables [EBS encryption](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html) on the volume. Defaults to `false`. Cannot be used with `snapshotId`. Must be configured to perform drift detection. + Encrypted pulumi.BoolPtrInput `pulumi:"encrypted"` + // Amount of provisioned [IOPS](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-io-characteristics.html). Only valid for volumeType of `io1`, `io2` or `gp3`. + Iops pulumi.IntPtrInput `pulumi:"iops"` + // Amazon Resource Name (ARN) of the KMS Key to use when encrypting the volume. Must be configured to perform drift detection. + KmsKeyId pulumi.StringPtrInput `pulumi:"kmsKeyId"` + // Snapshot ID to mount. + SnapshotId pulumi.StringPtrInput `pulumi:"snapshotId"` + // Map of tags to assign to the device. + Tags pulumi.StringMapInput `pulumi:"tags"` + // Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + TagsAll pulumi.StringMapInput `pulumi:"tagsAll"` + // Throughput to provision for a volume in mebibytes per second (MiB/s). This is only valid for `volumeType` of `gp3`. + Throughput pulumi.IntPtrInput `pulumi:"throughput"` + // ID of the volume. For example, the ID can be accessed like this, `aws_instance.web.root_block_device.0.volume_id`. + 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`. + // + // > **NOTE:** Currently, changes to the `ebsBlockDevice` configuration of _existing_ resources cannot be automatically detected by this provider. To manage changes and attachments of an EBS block to an instance, use the `ebs.Volume` and `ec2.VolumeAttachment` resources instead. If you use `ebsBlockDevice` on an `ec2.Instance`, this provider will assume management over the full set of non-root EBS block devices for the instance, treating additional block devices as drift. For this reason, `ebsBlockDevice` cannot be mixed with external `ebs.Volume` and `ec2.VolumeAttachment` resources for a given instance. + VolumeType pulumi.StringPtrInput `pulumi:"volumeType"` } -func (InstancePrimaryNetworkInterfaceArgs) ElementType() reflect.Type { - return reflect.TypeOf((*InstancePrimaryNetworkInterface)(nil)).Elem() +func (InstanceEbsBlockDeviceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*InstanceEbsBlockDevice)(nil)).Elem() } -func (i InstancePrimaryNetworkInterfaceArgs) ToInstancePrimaryNetworkInterfaceOutput() InstancePrimaryNetworkInterfaceOutput { - return i.ToInstancePrimaryNetworkInterfaceOutputWithContext(context.Background()) +func (i InstanceEbsBlockDeviceArgs) ToInstanceEbsBlockDeviceOutput() InstanceEbsBlockDeviceOutput { + return i.ToInstanceEbsBlockDeviceOutputWithContext(context.Background()) } -func (i InstancePrimaryNetworkInterfaceArgs) ToInstancePrimaryNetworkInterfaceOutputWithContext(ctx context.Context) InstancePrimaryNetworkInterfaceOutput { - return pulumi.ToOutputWithContext(ctx, i).(InstancePrimaryNetworkInterfaceOutput) +func (i InstanceEbsBlockDeviceArgs) ToInstanceEbsBlockDeviceOutputWithContext(ctx context.Context) InstanceEbsBlockDeviceOutput { + return pulumi.ToOutputWithContext(ctx, i).(InstanceEbsBlockDeviceOutput) } -func (i InstancePrimaryNetworkInterfaceArgs) ToInstancePrimaryNetworkInterfacePtrOutput() InstancePrimaryNetworkInterfacePtrOutput { - return i.ToInstancePrimaryNetworkInterfacePtrOutputWithContext(context.Background()) +// InstanceEbsBlockDeviceArrayInput is an input type that accepts InstanceEbsBlockDeviceArray and InstanceEbsBlockDeviceArrayOutput values. +// You can construct a concrete instance of `InstanceEbsBlockDeviceArrayInput` via: +// +// InstanceEbsBlockDeviceArray{ InstanceEbsBlockDeviceArgs{...} } +type InstanceEbsBlockDeviceArrayInput interface { + pulumi.Input + + ToInstanceEbsBlockDeviceArrayOutput() InstanceEbsBlockDeviceArrayOutput + ToInstanceEbsBlockDeviceArrayOutputWithContext(context.Context) InstanceEbsBlockDeviceArrayOutput } -func (i InstancePrimaryNetworkInterfaceArgs) ToInstancePrimaryNetworkInterfacePtrOutputWithContext(ctx context.Context) InstancePrimaryNetworkInterfacePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(InstancePrimaryNetworkInterfaceOutput).ToInstancePrimaryNetworkInterfacePtrOutputWithContext(ctx) +type InstanceEbsBlockDeviceArray []InstanceEbsBlockDeviceInput + +func (InstanceEbsBlockDeviceArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]InstanceEbsBlockDevice)(nil)).Elem() } -// InstancePrimaryNetworkInterfacePtrInput is an input type that accepts InstancePrimaryNetworkInterfaceArgs, InstancePrimaryNetworkInterfacePtr and InstancePrimaryNetworkInterfacePtrOutput values. -// You can construct a concrete instance of `InstancePrimaryNetworkInterfacePtrInput` via: -// -// InstancePrimaryNetworkInterfaceArgs{...} -// -// or: -// -// nil -type InstancePrimaryNetworkInterfacePtrInput interface { - pulumi.Input +func (i InstanceEbsBlockDeviceArray) ToInstanceEbsBlockDeviceArrayOutput() InstanceEbsBlockDeviceArrayOutput { + return i.ToInstanceEbsBlockDeviceArrayOutputWithContext(context.Background()) +} - ToInstancePrimaryNetworkInterfacePtrOutput() InstancePrimaryNetworkInterfacePtrOutput - ToInstancePrimaryNetworkInterfacePtrOutputWithContext(context.Context) InstancePrimaryNetworkInterfacePtrOutput +func (i InstanceEbsBlockDeviceArray) ToInstanceEbsBlockDeviceArrayOutputWithContext(ctx context.Context) InstanceEbsBlockDeviceArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(InstanceEbsBlockDeviceArrayOutput) } -type instancePrimaryNetworkInterfacePtrType InstancePrimaryNetworkInterfaceArgs +type InstanceEbsBlockDeviceOutput struct{ *pulumi.OutputState } -func InstancePrimaryNetworkInterfacePtr(v *InstancePrimaryNetworkInterfaceArgs) InstancePrimaryNetworkInterfacePtrInput { - return (*instancePrimaryNetworkInterfacePtrType)(v) +func (InstanceEbsBlockDeviceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*InstanceEbsBlockDevice)(nil)).Elem() } -func (*instancePrimaryNetworkInterfacePtrType) ElementType() reflect.Type { - return reflect.TypeOf((**InstancePrimaryNetworkInterface)(nil)).Elem() +func (o InstanceEbsBlockDeviceOutput) ToInstanceEbsBlockDeviceOutput() InstanceEbsBlockDeviceOutput { + return o } -func (i *instancePrimaryNetworkInterfacePtrType) ToInstancePrimaryNetworkInterfacePtrOutput() InstancePrimaryNetworkInterfacePtrOutput { - return i.ToInstancePrimaryNetworkInterfacePtrOutputWithContext(context.Background()) +func (o InstanceEbsBlockDeviceOutput) ToInstanceEbsBlockDeviceOutputWithContext(ctx context.Context) InstanceEbsBlockDeviceOutput { + return o } -func (i *instancePrimaryNetworkInterfacePtrType) ToInstancePrimaryNetworkInterfacePtrOutputWithContext(ctx context.Context) InstancePrimaryNetworkInterfacePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(InstancePrimaryNetworkInterfacePtrOutput) +// Whether the volume should be destroyed on instance termination. Defaults to `true`. +func (o InstanceEbsBlockDeviceOutput) DeleteOnTermination() pulumi.BoolPtrOutput { + return o.ApplyT(func(v InstanceEbsBlockDevice) *bool { return v.DeleteOnTermination }).(pulumi.BoolPtrOutput) } -type InstancePrimaryNetworkInterfaceOutput struct{ *pulumi.OutputState } +// Name of the device to mount. +func (o InstanceEbsBlockDeviceOutput) DeviceName() pulumi.StringOutput { + return o.ApplyT(func(v InstanceEbsBlockDevice) string { return v.DeviceName }).(pulumi.StringOutput) +} -func (InstancePrimaryNetworkInterfaceOutput) ElementType() reflect.Type { - return reflect.TypeOf((*InstancePrimaryNetworkInterface)(nil)).Elem() +// Enables [EBS encryption](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html) on the volume. Defaults to `false`. Cannot be used with `snapshotId`. Must be configured to perform drift detection. +func (o InstanceEbsBlockDeviceOutput) Encrypted() pulumi.BoolPtrOutput { + return o.ApplyT(func(v InstanceEbsBlockDevice) *bool { return v.Encrypted }).(pulumi.BoolPtrOutput) } -func (o InstancePrimaryNetworkInterfaceOutput) ToInstancePrimaryNetworkInterfaceOutput() InstancePrimaryNetworkInterfaceOutput { - return o +// Amount of provisioned [IOPS](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-io-characteristics.html). Only valid for volumeType of `io1`, `io2` or `gp3`. +func (o InstanceEbsBlockDeviceOutput) Iops() pulumi.IntPtrOutput { + return o.ApplyT(func(v InstanceEbsBlockDevice) *int { return v.Iops }).(pulumi.IntPtrOutput) } -func (o InstancePrimaryNetworkInterfaceOutput) ToInstancePrimaryNetworkInterfaceOutputWithContext(ctx context.Context) InstancePrimaryNetworkInterfaceOutput { - return o +// Amazon Resource Name (ARN) of the KMS Key to use when encrypting the volume. Must be configured to perform drift detection. +func (o InstanceEbsBlockDeviceOutput) KmsKeyId() pulumi.StringPtrOutput { + return o.ApplyT(func(v InstanceEbsBlockDevice) *string { return v.KmsKeyId }).(pulumi.StringPtrOutput) } -func (o InstancePrimaryNetworkInterfaceOutput) ToInstancePrimaryNetworkInterfacePtrOutput() InstancePrimaryNetworkInterfacePtrOutput { - return o.ToInstancePrimaryNetworkInterfacePtrOutputWithContext(context.Background()) +// Snapshot ID to mount. +func (o InstanceEbsBlockDeviceOutput) SnapshotId() pulumi.StringPtrOutput { + return o.ApplyT(func(v InstanceEbsBlockDevice) *string { return v.SnapshotId }).(pulumi.StringPtrOutput) } -func (o InstancePrimaryNetworkInterfaceOutput) ToInstancePrimaryNetworkInterfacePtrOutputWithContext(ctx context.Context) InstancePrimaryNetworkInterfacePtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v InstancePrimaryNetworkInterface) *InstancePrimaryNetworkInterface { - return &v - }).(InstancePrimaryNetworkInterfacePtrOutput) +// Map of tags to assign to the device. +func (o InstanceEbsBlockDeviceOutput) Tags() pulumi.StringMapOutput { + return o.ApplyT(func(v InstanceEbsBlockDevice) map[string]string { return v.Tags }).(pulumi.StringMapOutput) } -// Whether the network interface will be deleted when the instance terminates. -func (o InstancePrimaryNetworkInterfaceOutput) DeleteOnTermination() pulumi.BoolPtrOutput { - return o.ApplyT(func(v InstancePrimaryNetworkInterface) *bool { return v.DeleteOnTermination }).(pulumi.BoolPtrOutput) +// Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. +func (o InstanceEbsBlockDeviceOutput) TagsAll() pulumi.StringMapOutput { + return o.ApplyT(func(v InstanceEbsBlockDevice) map[string]string { return v.TagsAll }).(pulumi.StringMapOutput) } -// ID of the network interface to attach. -func (o InstancePrimaryNetworkInterfaceOutput) NetworkInterfaceId() pulumi.StringOutput { - return o.ApplyT(func(v InstancePrimaryNetworkInterface) string { return v.NetworkInterfaceId }).(pulumi.StringOutput) +// Throughput to provision for a volume in mebibytes per second (MiB/s). This is only valid for `volumeType` of `gp3`. +func (o InstanceEbsBlockDeviceOutput) Throughput() pulumi.IntPtrOutput { + return o.ApplyT(func(v InstanceEbsBlockDevice) *int { return v.Throughput }).(pulumi.IntPtrOutput) } -type InstancePrimaryNetworkInterfacePtrOutput struct{ *pulumi.OutputState } +// ID of the volume. For example, the ID can be accessed like this, `aws_instance.web.root_block_device.0.volume_id`. +func (o InstanceEbsBlockDeviceOutput) VolumeId() pulumi.StringPtrOutput { + return o.ApplyT(func(v InstanceEbsBlockDevice) *string { return v.VolumeId }).(pulumi.StringPtrOutput) +} -func (InstancePrimaryNetworkInterfacePtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**InstancePrimaryNetworkInterface)(nil)).Elem() +// Size of the volume in gibibytes (GiB). +func (o InstanceEbsBlockDeviceOutput) VolumeSize() pulumi.IntPtrOutput { + return o.ApplyT(func(v InstanceEbsBlockDevice) *int { return v.VolumeSize }).(pulumi.IntPtrOutput) } -func (o InstancePrimaryNetworkInterfacePtrOutput) ToInstancePrimaryNetworkInterfacePtrOutput() InstancePrimaryNetworkInterfacePtrOutput { - return o +// Type of volume. Valid values include `standard`, `gp2`, `gp3`, `io1`, `io2`, `sc1`, or `st1`. Defaults to `gp2`. +// +// > **NOTE:** Currently, changes to the `ebsBlockDevice` configuration of _existing_ resources cannot be automatically detected by this provider. To manage changes and attachments of an EBS block to an instance, use the `ebs.Volume` and `ec2.VolumeAttachment` resources instead. If you use `ebsBlockDevice` on an `ec2.Instance`, this provider will assume management over the full set of non-root EBS block devices for the instance, treating additional block devices as drift. For this reason, `ebsBlockDevice` cannot be mixed with external `ebs.Volume` and `ec2.VolumeAttachment` resources for a given instance. +func (o InstanceEbsBlockDeviceOutput) VolumeType() pulumi.StringPtrOutput { + return o.ApplyT(func(v InstanceEbsBlockDevice) *string { return v.VolumeType }).(pulumi.StringPtrOutput) } -func (o InstancePrimaryNetworkInterfacePtrOutput) ToInstancePrimaryNetworkInterfacePtrOutputWithContext(ctx context.Context) InstancePrimaryNetworkInterfacePtrOutput { - return o +type InstanceEbsBlockDeviceArrayOutput struct{ *pulumi.OutputState } + +func (InstanceEbsBlockDeviceArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]InstanceEbsBlockDevice)(nil)).Elem() } -func (o InstancePrimaryNetworkInterfacePtrOutput) Elem() InstancePrimaryNetworkInterfaceOutput { - return o.ApplyT(func(v *InstancePrimaryNetworkInterface) InstancePrimaryNetworkInterface { - if v != nil { - return *v - } - var ret InstancePrimaryNetworkInterface - return ret - }).(InstancePrimaryNetworkInterfaceOutput) +func (o InstanceEbsBlockDeviceArrayOutput) ToInstanceEbsBlockDeviceArrayOutput() InstanceEbsBlockDeviceArrayOutput { + return o } -// Whether the network interface will be deleted when the instance terminates. -func (o InstancePrimaryNetworkInterfacePtrOutput) DeleteOnTermination() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *InstancePrimaryNetworkInterface) *bool { - if v == nil { - return nil - } - return v.DeleteOnTermination - }).(pulumi.BoolPtrOutput) +func (o InstanceEbsBlockDeviceArrayOutput) ToInstanceEbsBlockDeviceArrayOutputWithContext(ctx context.Context) InstanceEbsBlockDeviceArrayOutput { + return o } -// ID of the network interface to attach. -func (o InstancePrimaryNetworkInterfacePtrOutput) NetworkInterfaceId() pulumi.StringPtrOutput { - return o.ApplyT(func(v *InstancePrimaryNetworkInterface) *string { - if v == nil { - return nil - } - return &v.NetworkInterfaceId - }).(pulumi.StringPtrOutput) +func (o InstanceEbsBlockDeviceArrayOutput) Index(i pulumi.IntInput) InstanceEbsBlockDeviceOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) InstanceEbsBlockDevice { + return vs[0].([]InstanceEbsBlockDevice)[vs[1].(int)] + }).(InstanceEbsBlockDeviceOutput) } -type InstancePrivateDnsNameOptions struct { - // Indicates whether to respond to DNS queries for instance hostnames with DNS A records. - EnableResourceNameDnsARecord *bool `pulumi:"enableResourceNameDnsARecord"` - // Indicates whether to respond to DNS queries for instance hostnames with DNS AAAA records. - EnableResourceNameDnsAaaaRecord *bool `pulumi:"enableResourceNameDnsAaaaRecord"` - // Type of hostname for Amazon EC2 instances. For IPv4 only subnets, an instance DNS name must be based on the instance IPv4 address. For IPv6 native subnets, an instance DNS name must be based on the instance ID. For dual-stack subnets, you can specify whether DNS names use the instance IPv4 address or the instance ID. Valid values: `ip-name` and `resource-name`. - HostnameType *string `pulumi:"hostnameType"` +type InstanceEnclaveOptions struct { + // Whether Nitro Enclaves will be enabled on the instance. Defaults to `false`. + // + // For more information, see the documentation on [Nitro Enclaves](https://docs.aws.amazon.com/enclaves/latest/user/nitro-enclave.html). + Enabled *bool `pulumi:"enabled"` } -// InstancePrivateDnsNameOptionsInput is an input type that accepts InstancePrivateDnsNameOptionsArgs and InstancePrivateDnsNameOptionsOutput values. -// You can construct a concrete instance of `InstancePrivateDnsNameOptionsInput` via: +// InstanceEnclaveOptionsInput is an input type that accepts InstanceEnclaveOptionsArgs and InstanceEnclaveOptionsOutput values. +// You can construct a concrete instance of `InstanceEnclaveOptionsInput` via: // -// InstancePrivateDnsNameOptionsArgs{...} -type InstancePrivateDnsNameOptionsInput interface { +// InstanceEnclaveOptionsArgs{...} +type InstanceEnclaveOptionsInput interface { pulumi.Input - ToInstancePrivateDnsNameOptionsOutput() InstancePrivateDnsNameOptionsOutput - ToInstancePrivateDnsNameOptionsOutputWithContext(context.Context) InstancePrivateDnsNameOptionsOutput + ToInstanceEnclaveOptionsOutput() InstanceEnclaveOptionsOutput + ToInstanceEnclaveOptionsOutputWithContext(context.Context) InstanceEnclaveOptionsOutput } -type InstancePrivateDnsNameOptionsArgs struct { - // Indicates whether to respond to DNS queries for instance hostnames with DNS A records. - EnableResourceNameDnsARecord pulumi.BoolPtrInput `pulumi:"enableResourceNameDnsARecord"` - // Indicates whether to respond to DNS queries for instance hostnames with DNS AAAA records. - EnableResourceNameDnsAaaaRecord pulumi.BoolPtrInput `pulumi:"enableResourceNameDnsAaaaRecord"` - // Type of hostname for Amazon EC2 instances. For IPv4 only subnets, an instance DNS name must be based on the instance IPv4 address. For IPv6 native subnets, an instance DNS name must be based on the instance ID. For dual-stack subnets, you can specify whether DNS names use the instance IPv4 address or the instance ID. Valid values: `ip-name` and `resource-name`. - HostnameType pulumi.StringPtrInput `pulumi:"hostnameType"` +type InstanceEnclaveOptionsArgs struct { + // Whether Nitro Enclaves will be enabled on the instance. Defaults to `false`. + // + // For more information, see the documentation on [Nitro Enclaves](https://docs.aws.amazon.com/enclaves/latest/user/nitro-enclave.html). + Enabled pulumi.BoolPtrInput `pulumi:"enabled"` } -func (InstancePrivateDnsNameOptionsArgs) ElementType() reflect.Type { - return reflect.TypeOf((*InstancePrivateDnsNameOptions)(nil)).Elem() +func (InstanceEnclaveOptionsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*InstanceEnclaveOptions)(nil)).Elem() } -func (i InstancePrivateDnsNameOptionsArgs) ToInstancePrivateDnsNameOptionsOutput() InstancePrivateDnsNameOptionsOutput { - return i.ToInstancePrivateDnsNameOptionsOutputWithContext(context.Background()) +func (i InstanceEnclaveOptionsArgs) ToInstanceEnclaveOptionsOutput() InstanceEnclaveOptionsOutput { + return i.ToInstanceEnclaveOptionsOutputWithContext(context.Background()) } -func (i InstancePrivateDnsNameOptionsArgs) ToInstancePrivateDnsNameOptionsOutputWithContext(ctx context.Context) InstancePrivateDnsNameOptionsOutput { - return pulumi.ToOutputWithContext(ctx, i).(InstancePrivateDnsNameOptionsOutput) +func (i InstanceEnclaveOptionsArgs) ToInstanceEnclaveOptionsOutputWithContext(ctx context.Context) InstanceEnclaveOptionsOutput { + return pulumi.ToOutputWithContext(ctx, i).(InstanceEnclaveOptionsOutput) } -func (i InstancePrivateDnsNameOptionsArgs) ToInstancePrivateDnsNameOptionsPtrOutput() InstancePrivateDnsNameOptionsPtrOutput { - return i.ToInstancePrivateDnsNameOptionsPtrOutputWithContext(context.Background()) +func (i InstanceEnclaveOptionsArgs) ToInstanceEnclaveOptionsPtrOutput() InstanceEnclaveOptionsPtrOutput { + return i.ToInstanceEnclaveOptionsPtrOutputWithContext(context.Background()) } -func (i InstancePrivateDnsNameOptionsArgs) ToInstancePrivateDnsNameOptionsPtrOutputWithContext(ctx context.Context) InstancePrivateDnsNameOptionsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(InstancePrivateDnsNameOptionsOutput).ToInstancePrivateDnsNameOptionsPtrOutputWithContext(ctx) +func (i InstanceEnclaveOptionsArgs) ToInstanceEnclaveOptionsPtrOutputWithContext(ctx context.Context) InstanceEnclaveOptionsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(InstanceEnclaveOptionsOutput).ToInstanceEnclaveOptionsPtrOutputWithContext(ctx) } -// InstancePrivateDnsNameOptionsPtrInput is an input type that accepts InstancePrivateDnsNameOptionsArgs, InstancePrivateDnsNameOptionsPtr and InstancePrivateDnsNameOptionsPtrOutput values. -// You can construct a concrete instance of `InstancePrivateDnsNameOptionsPtrInput` via: +// InstanceEnclaveOptionsPtrInput is an input type that accepts InstanceEnclaveOptionsArgs, InstanceEnclaveOptionsPtr and InstanceEnclaveOptionsPtrOutput values. +// You can construct a concrete instance of `InstanceEnclaveOptionsPtrInput` via: // -// InstancePrivateDnsNameOptionsArgs{...} +// InstanceEnclaveOptionsArgs{...} // // or: // // nil -type InstancePrivateDnsNameOptionsPtrInput interface { +type InstanceEnclaveOptionsPtrInput interface { pulumi.Input - ToInstancePrivateDnsNameOptionsPtrOutput() InstancePrivateDnsNameOptionsPtrOutput - ToInstancePrivateDnsNameOptionsPtrOutputWithContext(context.Context) InstancePrivateDnsNameOptionsPtrOutput + ToInstanceEnclaveOptionsPtrOutput() InstanceEnclaveOptionsPtrOutput + ToInstanceEnclaveOptionsPtrOutputWithContext(context.Context) InstanceEnclaveOptionsPtrOutput } -type instancePrivateDnsNameOptionsPtrType InstancePrivateDnsNameOptionsArgs +type instanceEnclaveOptionsPtrType InstanceEnclaveOptionsArgs -func InstancePrivateDnsNameOptionsPtr(v *InstancePrivateDnsNameOptionsArgs) InstancePrivateDnsNameOptionsPtrInput { - return (*instancePrivateDnsNameOptionsPtrType)(v) +func InstanceEnclaveOptionsPtr(v *InstanceEnclaveOptionsArgs) InstanceEnclaveOptionsPtrInput { + return (*instanceEnclaveOptionsPtrType)(v) } -func (*instancePrivateDnsNameOptionsPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**InstancePrivateDnsNameOptions)(nil)).Elem() +func (*instanceEnclaveOptionsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**InstanceEnclaveOptions)(nil)).Elem() } -func (i *instancePrivateDnsNameOptionsPtrType) ToInstancePrivateDnsNameOptionsPtrOutput() InstancePrivateDnsNameOptionsPtrOutput { - return i.ToInstancePrivateDnsNameOptionsPtrOutputWithContext(context.Background()) +func (i *instanceEnclaveOptionsPtrType) ToInstanceEnclaveOptionsPtrOutput() InstanceEnclaveOptionsPtrOutput { + return i.ToInstanceEnclaveOptionsPtrOutputWithContext(context.Background()) } -func (i *instancePrivateDnsNameOptionsPtrType) ToInstancePrivateDnsNameOptionsPtrOutputWithContext(ctx context.Context) InstancePrivateDnsNameOptionsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(InstancePrivateDnsNameOptionsPtrOutput) +func (i *instanceEnclaveOptionsPtrType) ToInstanceEnclaveOptionsPtrOutputWithContext(ctx context.Context) InstanceEnclaveOptionsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(InstanceEnclaveOptionsPtrOutput) } -type InstancePrivateDnsNameOptionsOutput struct{ *pulumi.OutputState } +type InstanceEnclaveOptionsOutput struct{ *pulumi.OutputState } -func (InstancePrivateDnsNameOptionsOutput) ElementType() reflect.Type { - return reflect.TypeOf((*InstancePrivateDnsNameOptions)(nil)).Elem() +func (InstanceEnclaveOptionsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*InstanceEnclaveOptions)(nil)).Elem() } -func (o InstancePrivateDnsNameOptionsOutput) ToInstancePrivateDnsNameOptionsOutput() InstancePrivateDnsNameOptionsOutput { +func (o InstanceEnclaveOptionsOutput) ToInstanceEnclaveOptionsOutput() InstanceEnclaveOptionsOutput { return o } -func (o InstancePrivateDnsNameOptionsOutput) ToInstancePrivateDnsNameOptionsOutputWithContext(ctx context.Context) InstancePrivateDnsNameOptionsOutput { +func (o InstanceEnclaveOptionsOutput) ToInstanceEnclaveOptionsOutputWithContext(ctx context.Context) InstanceEnclaveOptionsOutput { return o } -func (o InstancePrivateDnsNameOptionsOutput) ToInstancePrivateDnsNameOptionsPtrOutput() InstancePrivateDnsNameOptionsPtrOutput { - return o.ToInstancePrivateDnsNameOptionsPtrOutputWithContext(context.Background()) +func (o InstanceEnclaveOptionsOutput) ToInstanceEnclaveOptionsPtrOutput() InstanceEnclaveOptionsPtrOutput { + return o.ToInstanceEnclaveOptionsPtrOutputWithContext(context.Background()) } -func (o InstancePrivateDnsNameOptionsOutput) ToInstancePrivateDnsNameOptionsPtrOutputWithContext(ctx context.Context) InstancePrivateDnsNameOptionsPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v InstancePrivateDnsNameOptions) *InstancePrivateDnsNameOptions { +func (o InstanceEnclaveOptionsOutput) ToInstanceEnclaveOptionsPtrOutputWithContext(ctx context.Context) InstanceEnclaveOptionsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v InstanceEnclaveOptions) *InstanceEnclaveOptions { return &v - }).(InstancePrivateDnsNameOptionsPtrOutput) -} - -// Indicates whether to respond to DNS queries for instance hostnames with DNS A records. -func (o InstancePrivateDnsNameOptionsOutput) EnableResourceNameDnsARecord() pulumi.BoolPtrOutput { - return o.ApplyT(func(v InstancePrivateDnsNameOptions) *bool { return v.EnableResourceNameDnsARecord }).(pulumi.BoolPtrOutput) -} - -// Indicates whether to respond to DNS queries for instance hostnames with DNS AAAA records. -func (o InstancePrivateDnsNameOptionsOutput) EnableResourceNameDnsAaaaRecord() pulumi.BoolPtrOutput { - return o.ApplyT(func(v InstancePrivateDnsNameOptions) *bool { return v.EnableResourceNameDnsAaaaRecord }).(pulumi.BoolPtrOutput) + }).(InstanceEnclaveOptionsPtrOutput) } -// Type of hostname for Amazon EC2 instances. For IPv4 only subnets, an instance DNS name must be based on the instance IPv4 address. For IPv6 native subnets, an instance DNS name must be based on the instance ID. For dual-stack subnets, you can specify whether DNS names use the instance IPv4 address or the instance ID. Valid values: `ip-name` and `resource-name`. -func (o InstancePrivateDnsNameOptionsOutput) HostnameType() pulumi.StringPtrOutput { - return o.ApplyT(func(v InstancePrivateDnsNameOptions) *string { return v.HostnameType }).(pulumi.StringPtrOutput) +// Whether Nitro Enclaves will be enabled on the instance. Defaults to `false`. +// +// For more information, see the documentation on [Nitro Enclaves](https://docs.aws.amazon.com/enclaves/latest/user/nitro-enclave.html). +func (o InstanceEnclaveOptionsOutput) Enabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v InstanceEnclaveOptions) *bool { return v.Enabled }).(pulumi.BoolPtrOutput) } -type InstancePrivateDnsNameOptionsPtrOutput struct{ *pulumi.OutputState } +type InstanceEnclaveOptionsPtrOutput struct{ *pulumi.OutputState } -func (InstancePrivateDnsNameOptionsPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**InstancePrivateDnsNameOptions)(nil)).Elem() +func (InstanceEnclaveOptionsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**InstanceEnclaveOptions)(nil)).Elem() } -func (o InstancePrivateDnsNameOptionsPtrOutput) ToInstancePrivateDnsNameOptionsPtrOutput() InstancePrivateDnsNameOptionsPtrOutput { +func (o InstanceEnclaveOptionsPtrOutput) ToInstanceEnclaveOptionsPtrOutput() InstanceEnclaveOptionsPtrOutput { return o } -func (o InstancePrivateDnsNameOptionsPtrOutput) ToInstancePrivateDnsNameOptionsPtrOutputWithContext(ctx context.Context) InstancePrivateDnsNameOptionsPtrOutput { +func (o InstanceEnclaveOptionsPtrOutput) ToInstanceEnclaveOptionsPtrOutputWithContext(ctx context.Context) InstanceEnclaveOptionsPtrOutput { return o } -func (o InstancePrivateDnsNameOptionsPtrOutput) Elem() InstancePrivateDnsNameOptionsOutput { - return o.ApplyT(func(v *InstancePrivateDnsNameOptions) InstancePrivateDnsNameOptions { +func (o InstanceEnclaveOptionsPtrOutput) Elem() InstanceEnclaveOptionsOutput { + return o.ApplyT(func(v *InstanceEnclaveOptions) InstanceEnclaveOptions { if v != nil { return *v } - var ret InstancePrivateDnsNameOptions + var ret InstanceEnclaveOptions return ret - }).(InstancePrivateDnsNameOptionsOutput) -} - -// Indicates whether to respond to DNS queries for instance hostnames with DNS A records. -func (o InstancePrivateDnsNameOptionsPtrOutput) EnableResourceNameDnsARecord() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *InstancePrivateDnsNameOptions) *bool { - if v == nil { - return nil - } - return v.EnableResourceNameDnsARecord - }).(pulumi.BoolPtrOutput) + }).(InstanceEnclaveOptionsOutput) } -// Indicates whether to respond to DNS queries for instance hostnames with DNS AAAA records. -func (o InstancePrivateDnsNameOptionsPtrOutput) EnableResourceNameDnsAaaaRecord() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *InstancePrivateDnsNameOptions) *bool { +// Whether Nitro Enclaves will be enabled on the instance. Defaults to `false`. +// +// For more information, see the documentation on [Nitro Enclaves](https://docs.aws.amazon.com/enclaves/latest/user/nitro-enclave.html). +func (o InstanceEnclaveOptionsPtrOutput) Enabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *InstanceEnclaveOptions) *bool { if v == nil { return nil } - return v.EnableResourceNameDnsAaaaRecord + return v.Enabled }).(pulumi.BoolPtrOutput) } -// Type of hostname for Amazon EC2 instances. For IPv4 only subnets, an instance DNS name must be based on the instance IPv4 address. For IPv6 native subnets, an instance DNS name must be based on the instance ID. For dual-stack subnets, you can specify whether DNS names use the instance IPv4 address or the instance ID. Valid values: `ip-name` and `resource-name`. -func (o InstancePrivateDnsNameOptionsPtrOutput) HostnameType() pulumi.StringPtrOutput { - return o.ApplyT(func(v *InstancePrivateDnsNameOptions) *string { - if v == nil { - return nil - } - return v.HostnameType - }).(pulumi.StringPtrOutput) -} - -type InstanceRootBlockDevice struct { - // Whether the volume should be destroyed on instance termination. Defaults to `true`. - DeleteOnTermination *bool `pulumi:"deleteOnTermination"` - // Device name, e.g., `/dev/sdh` or `xvdh`. - DeviceName *string `pulumi:"deviceName"` - // Whether to enable volume encryption. Defaults to `false`. Must be configured to perform drift detection. - Encrypted *bool `pulumi:"encrypted"` - // Amount of provisioned [IOPS](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-io-characteristics.html). Only valid for volumeType of `io1`, `io2` or `gp3`. - Iops *int `pulumi:"iops"` - // Amazon Resource Name (ARN) of the KMS Key to use when encrypting the volume. Must be configured to perform drift detection. - KmsKeyId *string `pulumi:"kmsKeyId"` - // Map of tags to assign to the device. - Tags map[string]string `pulumi:"tags"` - // Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. - TagsAll map[string]string `pulumi:"tagsAll"` - // Throughput to provision for a volume in mebibytes per second (MiB/s). This is only valid for `volumeType` of `gp3`. - Throughput *int `pulumi:"throughput"` - // ID of the volume. For example, the ID can be accessed like this, `aws_instance.web.root_block_device.0.volume_id`. - 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 the volume type that the AMI uses. +type InstanceEphemeralBlockDevice struct { + // Name of the block device to mount on the instance. + DeviceName string `pulumi:"deviceName"` + // Suppresses the specified device included in the AMI's block device mapping. + NoDevice *bool `pulumi:"noDevice"` + // [Instance Store Device Name](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html#InstanceStoreDeviceNames) (e.g., `ephemeral0`). // - // Modifying the `encrypted` or `kmsKeyId` settings of the `rootBlockDevice` requires resource replacement. - VolumeType *string `pulumi:"volumeType"` + // Each AWS Instance type has a different set of Instance Store block devices available for attachment. AWS [publishes a list](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html#StorageOnInstanceTypes) of which ephemeral devices are available on each type. The devices are always identified by the `virtualName` in the format `ephemeral{0..N}`. + VirtualName *string `pulumi:"virtualName"` } -// InstanceRootBlockDeviceInput is an input type that accepts InstanceRootBlockDeviceArgs and InstanceRootBlockDeviceOutput values. -// You can construct a concrete instance of `InstanceRootBlockDeviceInput` via: +// InstanceEphemeralBlockDeviceInput is an input type that accepts InstanceEphemeralBlockDeviceArgs and InstanceEphemeralBlockDeviceOutput values. +// You can construct a concrete instance of `InstanceEphemeralBlockDeviceInput` via: // -// InstanceRootBlockDeviceArgs{...} -type InstanceRootBlockDeviceInput interface { +// InstanceEphemeralBlockDeviceArgs{...} +type InstanceEphemeralBlockDeviceInput interface { pulumi.Input - ToInstanceRootBlockDeviceOutput() InstanceRootBlockDeviceOutput - ToInstanceRootBlockDeviceOutputWithContext(context.Context) InstanceRootBlockDeviceOutput + ToInstanceEphemeralBlockDeviceOutput() InstanceEphemeralBlockDeviceOutput + ToInstanceEphemeralBlockDeviceOutputWithContext(context.Context) InstanceEphemeralBlockDeviceOutput } -type InstanceRootBlockDeviceArgs struct { - // Whether the volume should be destroyed on instance termination. Defaults to `true`. - DeleteOnTermination pulumi.BoolPtrInput `pulumi:"deleteOnTermination"` - // Device name, e.g., `/dev/sdh` or `xvdh`. - DeviceName pulumi.StringPtrInput `pulumi:"deviceName"` - // Whether to enable volume encryption. Defaults to `false`. Must be configured to perform drift detection. - Encrypted pulumi.BoolPtrInput `pulumi:"encrypted"` - // Amount of provisioned [IOPS](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-io-characteristics.html). Only valid for volumeType of `io1`, `io2` or `gp3`. - Iops pulumi.IntPtrInput `pulumi:"iops"` - // Amazon Resource Name (ARN) of the KMS Key to use when encrypting the volume. Must be configured to perform drift detection. - KmsKeyId pulumi.StringPtrInput `pulumi:"kmsKeyId"` - // Map of tags to assign to the device. - Tags pulumi.StringMapInput `pulumi:"tags"` - // Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. - TagsAll pulumi.StringMapInput `pulumi:"tagsAll"` - // Throughput to provision for a volume in mebibytes per second (MiB/s). This is only valid for `volumeType` of `gp3`. - Throughput pulumi.IntPtrInput `pulumi:"throughput"` - // ID of the volume. For example, the ID can be accessed like this, `aws_instance.web.root_block_device.0.volume_id`. - 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 the volume type that the AMI uses. +type InstanceEphemeralBlockDeviceArgs struct { + // Name of the block device to mount on the instance. + DeviceName pulumi.StringInput `pulumi:"deviceName"` + // Suppresses the specified device included in the AMI's block device mapping. + NoDevice pulumi.BoolPtrInput `pulumi:"noDevice"` + // [Instance Store Device Name](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html#InstanceStoreDeviceNames) (e.g., `ephemeral0`). // - // Modifying the `encrypted` or `kmsKeyId` settings of the `rootBlockDevice` requires resource replacement. - VolumeType pulumi.StringPtrInput `pulumi:"volumeType"` -} - -func (InstanceRootBlockDeviceArgs) ElementType() reflect.Type { - return reflect.TypeOf((*InstanceRootBlockDevice)(nil)).Elem() -} - -func (i InstanceRootBlockDeviceArgs) ToInstanceRootBlockDeviceOutput() InstanceRootBlockDeviceOutput { - return i.ToInstanceRootBlockDeviceOutputWithContext(context.Background()) + // Each AWS Instance type has a different set of Instance Store block devices available for attachment. AWS [publishes a list](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html#StorageOnInstanceTypes) of which ephemeral devices are available on each type. The devices are always identified by the `virtualName` in the format `ephemeral{0..N}`. + VirtualName pulumi.StringPtrInput `pulumi:"virtualName"` } -func (i InstanceRootBlockDeviceArgs) ToInstanceRootBlockDeviceOutputWithContext(ctx context.Context) InstanceRootBlockDeviceOutput { - return pulumi.ToOutputWithContext(ctx, i).(InstanceRootBlockDeviceOutput) +func (InstanceEphemeralBlockDeviceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*InstanceEphemeralBlockDevice)(nil)).Elem() } -func (i InstanceRootBlockDeviceArgs) ToInstanceRootBlockDevicePtrOutput() InstanceRootBlockDevicePtrOutput { - return i.ToInstanceRootBlockDevicePtrOutputWithContext(context.Background()) +func (i InstanceEphemeralBlockDeviceArgs) ToInstanceEphemeralBlockDeviceOutput() InstanceEphemeralBlockDeviceOutput { + return i.ToInstanceEphemeralBlockDeviceOutputWithContext(context.Background()) } -func (i InstanceRootBlockDeviceArgs) ToInstanceRootBlockDevicePtrOutputWithContext(ctx context.Context) InstanceRootBlockDevicePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(InstanceRootBlockDeviceOutput).ToInstanceRootBlockDevicePtrOutputWithContext(ctx) +func (i InstanceEphemeralBlockDeviceArgs) ToInstanceEphemeralBlockDeviceOutputWithContext(ctx context.Context) InstanceEphemeralBlockDeviceOutput { + return pulumi.ToOutputWithContext(ctx, i).(InstanceEphemeralBlockDeviceOutput) } -// InstanceRootBlockDevicePtrInput is an input type that accepts InstanceRootBlockDeviceArgs, InstanceRootBlockDevicePtr and InstanceRootBlockDevicePtrOutput values. -// You can construct a concrete instance of `InstanceRootBlockDevicePtrInput` via: -// -// InstanceRootBlockDeviceArgs{...} -// -// or: +// InstanceEphemeralBlockDeviceArrayInput is an input type that accepts InstanceEphemeralBlockDeviceArray and InstanceEphemeralBlockDeviceArrayOutput values. +// You can construct a concrete instance of `InstanceEphemeralBlockDeviceArrayInput` via: // -// nil -type InstanceRootBlockDevicePtrInput interface { +// InstanceEphemeralBlockDeviceArray{ InstanceEphemeralBlockDeviceArgs{...} } +type InstanceEphemeralBlockDeviceArrayInput interface { pulumi.Input - ToInstanceRootBlockDevicePtrOutput() InstanceRootBlockDevicePtrOutput - ToInstanceRootBlockDevicePtrOutputWithContext(context.Context) InstanceRootBlockDevicePtrOutput + ToInstanceEphemeralBlockDeviceArrayOutput() InstanceEphemeralBlockDeviceArrayOutput + ToInstanceEphemeralBlockDeviceArrayOutputWithContext(context.Context) InstanceEphemeralBlockDeviceArrayOutput } -type instanceRootBlockDevicePtrType InstanceRootBlockDeviceArgs - -func InstanceRootBlockDevicePtr(v *InstanceRootBlockDeviceArgs) InstanceRootBlockDevicePtrInput { - return (*instanceRootBlockDevicePtrType)(v) -} +type InstanceEphemeralBlockDeviceArray []InstanceEphemeralBlockDeviceInput -func (*instanceRootBlockDevicePtrType) ElementType() reflect.Type { - return reflect.TypeOf((**InstanceRootBlockDevice)(nil)).Elem() +func (InstanceEphemeralBlockDeviceArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]InstanceEphemeralBlockDevice)(nil)).Elem() } -func (i *instanceRootBlockDevicePtrType) ToInstanceRootBlockDevicePtrOutput() InstanceRootBlockDevicePtrOutput { - return i.ToInstanceRootBlockDevicePtrOutputWithContext(context.Background()) +func (i InstanceEphemeralBlockDeviceArray) ToInstanceEphemeralBlockDeviceArrayOutput() InstanceEphemeralBlockDeviceArrayOutput { + return i.ToInstanceEphemeralBlockDeviceArrayOutputWithContext(context.Background()) } -func (i *instanceRootBlockDevicePtrType) ToInstanceRootBlockDevicePtrOutputWithContext(ctx context.Context) InstanceRootBlockDevicePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(InstanceRootBlockDevicePtrOutput) +func (i InstanceEphemeralBlockDeviceArray) ToInstanceEphemeralBlockDeviceArrayOutputWithContext(ctx context.Context) InstanceEphemeralBlockDeviceArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(InstanceEphemeralBlockDeviceArrayOutput) } -type InstanceRootBlockDeviceOutput struct{ *pulumi.OutputState } +type InstanceEphemeralBlockDeviceOutput struct{ *pulumi.OutputState } -func (InstanceRootBlockDeviceOutput) ElementType() reflect.Type { - return reflect.TypeOf((*InstanceRootBlockDevice)(nil)).Elem() +func (InstanceEphemeralBlockDeviceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*InstanceEphemeralBlockDevice)(nil)).Elem() } -func (o InstanceRootBlockDeviceOutput) ToInstanceRootBlockDeviceOutput() InstanceRootBlockDeviceOutput { +func (o InstanceEphemeralBlockDeviceOutput) ToInstanceEphemeralBlockDeviceOutput() InstanceEphemeralBlockDeviceOutput { return o } -func (o InstanceRootBlockDeviceOutput) ToInstanceRootBlockDeviceOutputWithContext(ctx context.Context) InstanceRootBlockDeviceOutput { +func (o InstanceEphemeralBlockDeviceOutput) ToInstanceEphemeralBlockDeviceOutputWithContext(ctx context.Context) InstanceEphemeralBlockDeviceOutput { return o } -func (o InstanceRootBlockDeviceOutput) ToInstanceRootBlockDevicePtrOutput() InstanceRootBlockDevicePtrOutput { - return o.ToInstanceRootBlockDevicePtrOutputWithContext(context.Background()) +// Name of the block device to mount on the instance. +func (o InstanceEphemeralBlockDeviceOutput) DeviceName() pulumi.StringOutput { + return o.ApplyT(func(v InstanceEphemeralBlockDevice) string { return v.DeviceName }).(pulumi.StringOutput) } -func (o InstanceRootBlockDeviceOutput) ToInstanceRootBlockDevicePtrOutputWithContext(ctx context.Context) InstanceRootBlockDevicePtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v InstanceRootBlockDevice) *InstanceRootBlockDevice { - return &v - }).(InstanceRootBlockDevicePtrOutput) +// Suppresses the specified device included in the AMI's block device mapping. +func (o InstanceEphemeralBlockDeviceOutput) NoDevice() pulumi.BoolPtrOutput { + return o.ApplyT(func(v InstanceEphemeralBlockDevice) *bool { return v.NoDevice }).(pulumi.BoolPtrOutput) } -// Whether the volume should be destroyed on instance termination. Defaults to `true`. -func (o InstanceRootBlockDeviceOutput) DeleteOnTermination() pulumi.BoolPtrOutput { - return o.ApplyT(func(v InstanceRootBlockDevice) *bool { return v.DeleteOnTermination }).(pulumi.BoolPtrOutput) +// [Instance Store Device Name](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html#InstanceStoreDeviceNames) (e.g., `ephemeral0`). +// +// Each AWS Instance type has a different set of Instance Store block devices available for attachment. AWS [publishes a list](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html#StorageOnInstanceTypes) of which ephemeral devices are available on each type. The devices are always identified by the `virtualName` in the format `ephemeral{0..N}`. +func (o InstanceEphemeralBlockDeviceOutput) VirtualName() pulumi.StringPtrOutput { + return o.ApplyT(func(v InstanceEphemeralBlockDevice) *string { return v.VirtualName }).(pulumi.StringPtrOutput) } -// Device name, e.g., `/dev/sdh` or `xvdh`. -func (o InstanceRootBlockDeviceOutput) DeviceName() pulumi.StringPtrOutput { - return o.ApplyT(func(v InstanceRootBlockDevice) *string { return v.DeviceName }).(pulumi.StringPtrOutput) -} +type InstanceEphemeralBlockDeviceArrayOutput struct{ *pulumi.OutputState } -// Whether to enable volume encryption. Defaults to `false`. Must be configured to perform drift detection. -func (o InstanceRootBlockDeviceOutput) Encrypted() pulumi.BoolPtrOutput { - return o.ApplyT(func(v InstanceRootBlockDevice) *bool { return v.Encrypted }).(pulumi.BoolPtrOutput) +func (InstanceEphemeralBlockDeviceArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]InstanceEphemeralBlockDevice)(nil)).Elem() } -// Amount of provisioned [IOPS](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-io-characteristics.html). Only valid for volumeType of `io1`, `io2` or `gp3`. -func (o InstanceRootBlockDeviceOutput) Iops() pulumi.IntPtrOutput { - return o.ApplyT(func(v InstanceRootBlockDevice) *int { return v.Iops }).(pulumi.IntPtrOutput) +func (o InstanceEphemeralBlockDeviceArrayOutput) ToInstanceEphemeralBlockDeviceArrayOutput() InstanceEphemeralBlockDeviceArrayOutput { + return o } -// Amazon Resource Name (ARN) of the KMS Key to use when encrypting the volume. Must be configured to perform drift detection. -func (o InstanceRootBlockDeviceOutput) KmsKeyId() pulumi.StringPtrOutput { - return o.ApplyT(func(v InstanceRootBlockDevice) *string { return v.KmsKeyId }).(pulumi.StringPtrOutput) +func (o InstanceEphemeralBlockDeviceArrayOutput) ToInstanceEphemeralBlockDeviceArrayOutputWithContext(ctx context.Context) InstanceEphemeralBlockDeviceArrayOutput { + return o } -// Map of tags to assign to the device. -func (o InstanceRootBlockDeviceOutput) Tags() pulumi.StringMapOutput { - return o.ApplyT(func(v InstanceRootBlockDevice) map[string]string { return v.Tags }).(pulumi.StringMapOutput) +func (o InstanceEphemeralBlockDeviceArrayOutput) Index(i pulumi.IntInput) InstanceEphemeralBlockDeviceOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) InstanceEphemeralBlockDevice { + return vs[0].([]InstanceEphemeralBlockDevice)[vs[1].(int)] + }).(InstanceEphemeralBlockDeviceOutput) } -// Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. -func (o InstanceRootBlockDeviceOutput) TagsAll() pulumi.StringMapOutput { - return o.ApplyT(func(v InstanceRootBlockDevice) map[string]string { return v.TagsAll }).(pulumi.StringMapOutput) +type InstanceInstanceMarketOptions struct { + // Type of market for the instance. Valid values are `spot` and `capacity-block`. Defaults to `spot`. Required if `spotOptions` is specified. + MarketType *string `pulumi:"marketType"` + // Block to configure the options for Spot Instances. See Spot Options below for details on attributes. + SpotOptions *InstanceInstanceMarketOptionsSpotOptions `pulumi:"spotOptions"` } -// Throughput to provision for a volume in mebibytes per second (MiB/s). This is only valid for `volumeType` of `gp3`. -func (o InstanceRootBlockDeviceOutput) Throughput() pulumi.IntPtrOutput { - return o.ApplyT(func(v InstanceRootBlockDevice) *int { return v.Throughput }).(pulumi.IntPtrOutput) +// InstanceInstanceMarketOptionsInput is an input type that accepts InstanceInstanceMarketOptionsArgs and InstanceInstanceMarketOptionsOutput values. +// You can construct a concrete instance of `InstanceInstanceMarketOptionsInput` via: +// +// InstanceInstanceMarketOptionsArgs{...} +type InstanceInstanceMarketOptionsInput interface { + pulumi.Input + + ToInstanceInstanceMarketOptionsOutput() InstanceInstanceMarketOptionsOutput + ToInstanceInstanceMarketOptionsOutputWithContext(context.Context) InstanceInstanceMarketOptionsOutput } -// ID of the volume. For example, the ID can be accessed like this, `aws_instance.web.root_block_device.0.volume_id`. -func (o InstanceRootBlockDeviceOutput) VolumeId() pulumi.StringPtrOutput { - return o.ApplyT(func(v InstanceRootBlockDevice) *string { return v.VolumeId }).(pulumi.StringPtrOutput) +type InstanceInstanceMarketOptionsArgs struct { + // Type of market for the instance. Valid values are `spot` and `capacity-block`. Defaults to `spot`. Required if `spotOptions` is specified. + MarketType pulumi.StringPtrInput `pulumi:"marketType"` + // Block to configure the options for Spot Instances. See Spot Options below for details on attributes. + SpotOptions InstanceInstanceMarketOptionsSpotOptionsPtrInput `pulumi:"spotOptions"` } -// Size of the volume in gibibytes (GiB). -func (o InstanceRootBlockDeviceOutput) VolumeSize() pulumi.IntPtrOutput { - return o.ApplyT(func(v InstanceRootBlockDevice) *int { return v.VolumeSize }).(pulumi.IntPtrOutput) +func (InstanceInstanceMarketOptionsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*InstanceInstanceMarketOptions)(nil)).Elem() } -// Type of volume. Valid values include `standard`, `gp2`, `gp3`, `io1`, `io2`, `sc1`, or `st1`. Defaults to the volume type that the AMI uses. +func (i InstanceInstanceMarketOptionsArgs) ToInstanceInstanceMarketOptionsOutput() InstanceInstanceMarketOptionsOutput { + return i.ToInstanceInstanceMarketOptionsOutputWithContext(context.Background()) +} + +func (i InstanceInstanceMarketOptionsArgs) ToInstanceInstanceMarketOptionsOutputWithContext(ctx context.Context) InstanceInstanceMarketOptionsOutput { + return pulumi.ToOutputWithContext(ctx, i).(InstanceInstanceMarketOptionsOutput) +} + +func (i InstanceInstanceMarketOptionsArgs) ToInstanceInstanceMarketOptionsPtrOutput() InstanceInstanceMarketOptionsPtrOutput { + return i.ToInstanceInstanceMarketOptionsPtrOutputWithContext(context.Background()) +} + +func (i InstanceInstanceMarketOptionsArgs) ToInstanceInstanceMarketOptionsPtrOutputWithContext(ctx context.Context) InstanceInstanceMarketOptionsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(InstanceInstanceMarketOptionsOutput).ToInstanceInstanceMarketOptionsPtrOutputWithContext(ctx) +} + +// InstanceInstanceMarketOptionsPtrInput is an input type that accepts InstanceInstanceMarketOptionsArgs, InstanceInstanceMarketOptionsPtr and InstanceInstanceMarketOptionsPtrOutput values. +// You can construct a concrete instance of `InstanceInstanceMarketOptionsPtrInput` via: // -// Modifying the `encrypted` or `kmsKeyId` settings of the `rootBlockDevice` requires resource replacement. -func (o InstanceRootBlockDeviceOutput) VolumeType() pulumi.StringPtrOutput { - return o.ApplyT(func(v InstanceRootBlockDevice) *string { return v.VolumeType }).(pulumi.StringPtrOutput) +// InstanceInstanceMarketOptionsArgs{...} +// +// or: +// +// nil +type InstanceInstanceMarketOptionsPtrInput interface { + pulumi.Input + + ToInstanceInstanceMarketOptionsPtrOutput() InstanceInstanceMarketOptionsPtrOutput + ToInstanceInstanceMarketOptionsPtrOutputWithContext(context.Context) InstanceInstanceMarketOptionsPtrOutput } -type InstanceRootBlockDevicePtrOutput struct{ *pulumi.OutputState } +type instanceInstanceMarketOptionsPtrType InstanceInstanceMarketOptionsArgs -func (InstanceRootBlockDevicePtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**InstanceRootBlockDevice)(nil)).Elem() +func InstanceInstanceMarketOptionsPtr(v *InstanceInstanceMarketOptionsArgs) InstanceInstanceMarketOptionsPtrInput { + return (*instanceInstanceMarketOptionsPtrType)(v) } -func (o InstanceRootBlockDevicePtrOutput) ToInstanceRootBlockDevicePtrOutput() InstanceRootBlockDevicePtrOutput { - return o +func (*instanceInstanceMarketOptionsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**InstanceInstanceMarketOptions)(nil)).Elem() } -func (o InstanceRootBlockDevicePtrOutput) ToInstanceRootBlockDevicePtrOutputWithContext(ctx context.Context) InstanceRootBlockDevicePtrOutput { - return o +func (i *instanceInstanceMarketOptionsPtrType) ToInstanceInstanceMarketOptionsPtrOutput() InstanceInstanceMarketOptionsPtrOutput { + return i.ToInstanceInstanceMarketOptionsPtrOutputWithContext(context.Background()) } -func (o InstanceRootBlockDevicePtrOutput) Elem() InstanceRootBlockDeviceOutput { - return o.ApplyT(func(v *InstanceRootBlockDevice) InstanceRootBlockDevice { - if v != nil { - return *v - } - var ret InstanceRootBlockDevice - return ret - }).(InstanceRootBlockDeviceOutput) +func (i *instanceInstanceMarketOptionsPtrType) ToInstanceInstanceMarketOptionsPtrOutputWithContext(ctx context.Context) InstanceInstanceMarketOptionsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(InstanceInstanceMarketOptionsPtrOutput) } -// Whether the volume should be destroyed on instance termination. Defaults to `true`. -func (o InstanceRootBlockDevicePtrOutput) DeleteOnTermination() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *InstanceRootBlockDevice) *bool { - if v == nil { - return nil - } - return v.DeleteOnTermination - }).(pulumi.BoolPtrOutput) +type InstanceInstanceMarketOptionsOutput struct{ *pulumi.OutputState } + +func (InstanceInstanceMarketOptionsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*InstanceInstanceMarketOptions)(nil)).Elem() } -// Device name, e.g., `/dev/sdh` or `xvdh`. -func (o InstanceRootBlockDevicePtrOutput) DeviceName() pulumi.StringPtrOutput { - return o.ApplyT(func(v *InstanceRootBlockDevice) *string { - if v == nil { - return nil - } - return v.DeviceName - }).(pulumi.StringPtrOutput) +func (o InstanceInstanceMarketOptionsOutput) ToInstanceInstanceMarketOptionsOutput() InstanceInstanceMarketOptionsOutput { + return o } -// Whether to enable volume encryption. Defaults to `false`. Must be configured to perform drift detection. -func (o InstanceRootBlockDevicePtrOutput) Encrypted() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *InstanceRootBlockDevice) *bool { - if v == nil { - return nil - } - return v.Encrypted - }).(pulumi.BoolPtrOutput) +func (o InstanceInstanceMarketOptionsOutput) ToInstanceInstanceMarketOptionsOutputWithContext(ctx context.Context) InstanceInstanceMarketOptionsOutput { + return o } -// Amount of provisioned [IOPS](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-io-characteristics.html). Only valid for volumeType of `io1`, `io2` or `gp3`. -func (o InstanceRootBlockDevicePtrOutput) Iops() pulumi.IntPtrOutput { - return o.ApplyT(func(v *InstanceRootBlockDevice) *int { - if v == nil { - return nil - } - return v.Iops - }).(pulumi.IntPtrOutput) +func (o InstanceInstanceMarketOptionsOutput) ToInstanceInstanceMarketOptionsPtrOutput() InstanceInstanceMarketOptionsPtrOutput { + return o.ToInstanceInstanceMarketOptionsPtrOutputWithContext(context.Background()) } -// Amazon Resource Name (ARN) of the KMS Key to use when encrypting the volume. Must be configured to perform drift detection. -func (o InstanceRootBlockDevicePtrOutput) KmsKeyId() pulumi.StringPtrOutput { - return o.ApplyT(func(v *InstanceRootBlockDevice) *string { - if v == nil { - return nil - } - return v.KmsKeyId - }).(pulumi.StringPtrOutput) +func (o InstanceInstanceMarketOptionsOutput) ToInstanceInstanceMarketOptionsPtrOutputWithContext(ctx context.Context) InstanceInstanceMarketOptionsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v InstanceInstanceMarketOptions) *InstanceInstanceMarketOptions { + return &v + }).(InstanceInstanceMarketOptionsPtrOutput) } -// Map of tags to assign to the device. -func (o InstanceRootBlockDevicePtrOutput) Tags() pulumi.StringMapOutput { - return o.ApplyT(func(v *InstanceRootBlockDevice) map[string]string { - if v == nil { - return nil - } - return v.Tags - }).(pulumi.StringMapOutput) +// Type of market for the instance. Valid values are `spot` and `capacity-block`. Defaults to `spot`. Required if `spotOptions` is specified. +func (o InstanceInstanceMarketOptionsOutput) MarketType() pulumi.StringPtrOutput { + return o.ApplyT(func(v InstanceInstanceMarketOptions) *string { return v.MarketType }).(pulumi.StringPtrOutput) } -// Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. -func (o InstanceRootBlockDevicePtrOutput) TagsAll() pulumi.StringMapOutput { - return o.ApplyT(func(v *InstanceRootBlockDevice) map[string]string { - if v == nil { - return nil - } - return v.TagsAll - }).(pulumi.StringMapOutput) +// Block to configure the options for Spot Instances. See Spot Options below for details on attributes. +func (o InstanceInstanceMarketOptionsOutput) SpotOptions() InstanceInstanceMarketOptionsSpotOptionsPtrOutput { + return o.ApplyT(func(v InstanceInstanceMarketOptions) *InstanceInstanceMarketOptionsSpotOptions { return v.SpotOptions }).(InstanceInstanceMarketOptionsSpotOptionsPtrOutput) } -// Throughput to provision for a volume in mebibytes per second (MiB/s). This is only valid for `volumeType` of `gp3`. -func (o InstanceRootBlockDevicePtrOutput) Throughput() pulumi.IntPtrOutput { - return o.ApplyT(func(v *InstanceRootBlockDevice) *int { - if v == nil { - return nil - } - return v.Throughput - }).(pulumi.IntPtrOutput) +type InstanceInstanceMarketOptionsPtrOutput struct{ *pulumi.OutputState } + +func (InstanceInstanceMarketOptionsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**InstanceInstanceMarketOptions)(nil)).Elem() } -// ID of the volume. For example, the ID can be accessed like this, `aws_instance.web.root_block_device.0.volume_id`. -func (o InstanceRootBlockDevicePtrOutput) VolumeId() pulumi.StringPtrOutput { - return o.ApplyT(func(v *InstanceRootBlockDevice) *string { - if v == nil { - return nil +func (o InstanceInstanceMarketOptionsPtrOutput) ToInstanceInstanceMarketOptionsPtrOutput() InstanceInstanceMarketOptionsPtrOutput { + return o +} + +func (o InstanceInstanceMarketOptionsPtrOutput) ToInstanceInstanceMarketOptionsPtrOutputWithContext(ctx context.Context) InstanceInstanceMarketOptionsPtrOutput { + return o +} + +func (o InstanceInstanceMarketOptionsPtrOutput) Elem() InstanceInstanceMarketOptionsOutput { + return o.ApplyT(func(v *InstanceInstanceMarketOptions) InstanceInstanceMarketOptions { + if v != nil { + return *v } - return v.VolumeId - }).(pulumi.StringPtrOutput) + var ret InstanceInstanceMarketOptions + return ret + }).(InstanceInstanceMarketOptionsOutput) } -// Size of the volume in gibibytes (GiB). -func (o InstanceRootBlockDevicePtrOutput) VolumeSize() pulumi.IntPtrOutput { - return o.ApplyT(func(v *InstanceRootBlockDevice) *int { +// Type of market for the instance. Valid values are `spot` and `capacity-block`. Defaults to `spot`. Required if `spotOptions` is specified. +func (o InstanceInstanceMarketOptionsPtrOutput) MarketType() pulumi.StringPtrOutput { + return o.ApplyT(func(v *InstanceInstanceMarketOptions) *string { if v == nil { return nil } - return v.VolumeSize - }).(pulumi.IntPtrOutput) + return v.MarketType + }).(pulumi.StringPtrOutput) } -// 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 { - return o.ApplyT(func(v *InstanceRootBlockDevice) *string { +// Block to configure the options for Spot Instances. See Spot Options below for details on attributes. +func (o InstanceInstanceMarketOptionsPtrOutput) SpotOptions() InstanceInstanceMarketOptionsSpotOptionsPtrOutput { + return o.ApplyT(func(v *InstanceInstanceMarketOptions) *InstanceInstanceMarketOptionsSpotOptions { if v == nil { return nil } - return v.VolumeType - }).(pulumi.StringPtrOutput) + return v.SpotOptions + }).(InstanceInstanceMarketOptionsSpotOptionsPtrOutput) } -type LaunchConfigurationEbsBlockDevice struct { - DeleteOnTermination *bool `pulumi:"deleteOnTermination"` - DeviceName string `pulumi:"deviceName"` - Encrypted *bool `pulumi:"encrypted"` - Iops *int `pulumi:"iops"` - NoDevice *bool `pulumi:"noDevice"` - SnapshotId *string `pulumi:"snapshotId"` - Throughput *int `pulumi:"throughput"` - VolumeSize *int `pulumi:"volumeSize"` - VolumeType *string `pulumi:"volumeType"` +type InstanceInstanceMarketOptionsSpotOptions struct { + // The behavior when a Spot Instance is interrupted. Valid values include `hibernate`, `stop`, `terminate` . The default is `terminate`. + InstanceInterruptionBehavior *string `pulumi:"instanceInterruptionBehavior"` + // The maximum hourly price that you're willing to pay for a Spot Instance. + MaxPrice *string `pulumi:"maxPrice"` + // The Spot Instance request type. Valid values include `one-time`, `persistent`. Persistent Spot Instance requests are only supported when the instance interruption behavior is either hibernate or stop. The default is `one-time`. + SpotInstanceType *string `pulumi:"spotInstanceType"` + // The end date of the request, in UTC format (YYYY-MM-DDTHH:MM:SSZ). Supported only for persistent requests. + ValidUntil *string `pulumi:"validUntil"` } -// LaunchConfigurationEbsBlockDeviceInput is an input type that accepts LaunchConfigurationEbsBlockDeviceArgs and LaunchConfigurationEbsBlockDeviceOutput values. -// You can construct a concrete instance of `LaunchConfigurationEbsBlockDeviceInput` via: +// InstanceInstanceMarketOptionsSpotOptionsInput is an input type that accepts InstanceInstanceMarketOptionsSpotOptionsArgs and InstanceInstanceMarketOptionsSpotOptionsOutput values. +// You can construct a concrete instance of `InstanceInstanceMarketOptionsSpotOptionsInput` via: // -// LaunchConfigurationEbsBlockDeviceArgs{...} -type LaunchConfigurationEbsBlockDeviceInput interface { +// InstanceInstanceMarketOptionsSpotOptionsArgs{...} +type InstanceInstanceMarketOptionsSpotOptionsInput interface { pulumi.Input - ToLaunchConfigurationEbsBlockDeviceOutput() LaunchConfigurationEbsBlockDeviceOutput - ToLaunchConfigurationEbsBlockDeviceOutputWithContext(context.Context) LaunchConfigurationEbsBlockDeviceOutput + ToInstanceInstanceMarketOptionsSpotOptionsOutput() InstanceInstanceMarketOptionsSpotOptionsOutput + ToInstanceInstanceMarketOptionsSpotOptionsOutputWithContext(context.Context) InstanceInstanceMarketOptionsSpotOptionsOutput } -type LaunchConfigurationEbsBlockDeviceArgs struct { - DeleteOnTermination pulumi.BoolPtrInput `pulumi:"deleteOnTermination"` - DeviceName pulumi.StringInput `pulumi:"deviceName"` - Encrypted pulumi.BoolPtrInput `pulumi:"encrypted"` - Iops pulumi.IntPtrInput `pulumi:"iops"` - NoDevice pulumi.BoolPtrInput `pulumi:"noDevice"` - SnapshotId pulumi.StringPtrInput `pulumi:"snapshotId"` - Throughput pulumi.IntPtrInput `pulumi:"throughput"` - VolumeSize pulumi.IntPtrInput `pulumi:"volumeSize"` - VolumeType pulumi.StringPtrInput `pulumi:"volumeType"` +type InstanceInstanceMarketOptionsSpotOptionsArgs struct { + // The behavior when a Spot Instance is interrupted. Valid values include `hibernate`, `stop`, `terminate` . The default is `terminate`. + InstanceInterruptionBehavior pulumi.StringPtrInput `pulumi:"instanceInterruptionBehavior"` + // The maximum hourly price that you're willing to pay for a Spot Instance. + MaxPrice pulumi.StringPtrInput `pulumi:"maxPrice"` + // The Spot Instance request type. Valid values include `one-time`, `persistent`. Persistent Spot Instance requests are only supported when the instance interruption behavior is either hibernate or stop. The default is `one-time`. + SpotInstanceType pulumi.StringPtrInput `pulumi:"spotInstanceType"` + // The end date of the request, in UTC format (YYYY-MM-DDTHH:MM:SSZ). Supported only for persistent requests. + ValidUntil pulumi.StringPtrInput `pulumi:"validUntil"` } -func (LaunchConfigurationEbsBlockDeviceArgs) ElementType() reflect.Type { - return reflect.TypeOf((*LaunchConfigurationEbsBlockDevice)(nil)).Elem() +func (InstanceInstanceMarketOptionsSpotOptionsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*InstanceInstanceMarketOptionsSpotOptions)(nil)).Elem() } -func (i LaunchConfigurationEbsBlockDeviceArgs) ToLaunchConfigurationEbsBlockDeviceOutput() LaunchConfigurationEbsBlockDeviceOutput { - return i.ToLaunchConfigurationEbsBlockDeviceOutputWithContext(context.Background()) +func (i InstanceInstanceMarketOptionsSpotOptionsArgs) ToInstanceInstanceMarketOptionsSpotOptionsOutput() InstanceInstanceMarketOptionsSpotOptionsOutput { + return i.ToInstanceInstanceMarketOptionsSpotOptionsOutputWithContext(context.Background()) } -func (i LaunchConfigurationEbsBlockDeviceArgs) ToLaunchConfigurationEbsBlockDeviceOutputWithContext(ctx context.Context) LaunchConfigurationEbsBlockDeviceOutput { - return pulumi.ToOutputWithContext(ctx, i).(LaunchConfigurationEbsBlockDeviceOutput) +func (i InstanceInstanceMarketOptionsSpotOptionsArgs) ToInstanceInstanceMarketOptionsSpotOptionsOutputWithContext(ctx context.Context) InstanceInstanceMarketOptionsSpotOptionsOutput { + return pulumi.ToOutputWithContext(ctx, i).(InstanceInstanceMarketOptionsSpotOptionsOutput) } -// LaunchConfigurationEbsBlockDeviceArrayInput is an input type that accepts LaunchConfigurationEbsBlockDeviceArray and LaunchConfigurationEbsBlockDeviceArrayOutput values. -// You can construct a concrete instance of `LaunchConfigurationEbsBlockDeviceArrayInput` via: +func (i InstanceInstanceMarketOptionsSpotOptionsArgs) ToInstanceInstanceMarketOptionsSpotOptionsPtrOutput() InstanceInstanceMarketOptionsSpotOptionsPtrOutput { + return i.ToInstanceInstanceMarketOptionsSpotOptionsPtrOutputWithContext(context.Background()) +} + +func (i InstanceInstanceMarketOptionsSpotOptionsArgs) ToInstanceInstanceMarketOptionsSpotOptionsPtrOutputWithContext(ctx context.Context) InstanceInstanceMarketOptionsSpotOptionsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(InstanceInstanceMarketOptionsSpotOptionsOutput).ToInstanceInstanceMarketOptionsSpotOptionsPtrOutputWithContext(ctx) +} + +// InstanceInstanceMarketOptionsSpotOptionsPtrInput is an input type that accepts InstanceInstanceMarketOptionsSpotOptionsArgs, InstanceInstanceMarketOptionsSpotOptionsPtr and InstanceInstanceMarketOptionsSpotOptionsPtrOutput values. +// You can construct a concrete instance of `InstanceInstanceMarketOptionsSpotOptionsPtrInput` via: // -// LaunchConfigurationEbsBlockDeviceArray{ LaunchConfigurationEbsBlockDeviceArgs{...} } -type LaunchConfigurationEbsBlockDeviceArrayInput interface { +// InstanceInstanceMarketOptionsSpotOptionsArgs{...} +// +// or: +// +// nil +type InstanceInstanceMarketOptionsSpotOptionsPtrInput interface { pulumi.Input - ToLaunchConfigurationEbsBlockDeviceArrayOutput() LaunchConfigurationEbsBlockDeviceArrayOutput - ToLaunchConfigurationEbsBlockDeviceArrayOutputWithContext(context.Context) LaunchConfigurationEbsBlockDeviceArrayOutput + ToInstanceInstanceMarketOptionsSpotOptionsPtrOutput() InstanceInstanceMarketOptionsSpotOptionsPtrOutput + ToInstanceInstanceMarketOptionsSpotOptionsPtrOutputWithContext(context.Context) InstanceInstanceMarketOptionsSpotOptionsPtrOutput } -type LaunchConfigurationEbsBlockDeviceArray []LaunchConfigurationEbsBlockDeviceInput +type instanceInstanceMarketOptionsSpotOptionsPtrType InstanceInstanceMarketOptionsSpotOptionsArgs -func (LaunchConfigurationEbsBlockDeviceArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]LaunchConfigurationEbsBlockDevice)(nil)).Elem() +func InstanceInstanceMarketOptionsSpotOptionsPtr(v *InstanceInstanceMarketOptionsSpotOptionsArgs) InstanceInstanceMarketOptionsSpotOptionsPtrInput { + return (*instanceInstanceMarketOptionsSpotOptionsPtrType)(v) } -func (i LaunchConfigurationEbsBlockDeviceArray) ToLaunchConfigurationEbsBlockDeviceArrayOutput() LaunchConfigurationEbsBlockDeviceArrayOutput { - return i.ToLaunchConfigurationEbsBlockDeviceArrayOutputWithContext(context.Background()) +func (*instanceInstanceMarketOptionsSpotOptionsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**InstanceInstanceMarketOptionsSpotOptions)(nil)).Elem() } -func (i LaunchConfigurationEbsBlockDeviceArray) ToLaunchConfigurationEbsBlockDeviceArrayOutputWithContext(ctx context.Context) LaunchConfigurationEbsBlockDeviceArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(LaunchConfigurationEbsBlockDeviceArrayOutput) +func (i *instanceInstanceMarketOptionsSpotOptionsPtrType) ToInstanceInstanceMarketOptionsSpotOptionsPtrOutput() InstanceInstanceMarketOptionsSpotOptionsPtrOutput { + return i.ToInstanceInstanceMarketOptionsSpotOptionsPtrOutputWithContext(context.Background()) } -type LaunchConfigurationEbsBlockDeviceOutput struct{ *pulumi.OutputState } +func (i *instanceInstanceMarketOptionsSpotOptionsPtrType) ToInstanceInstanceMarketOptionsSpotOptionsPtrOutputWithContext(ctx context.Context) InstanceInstanceMarketOptionsSpotOptionsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(InstanceInstanceMarketOptionsSpotOptionsPtrOutput) +} -func (LaunchConfigurationEbsBlockDeviceOutput) ElementType() reflect.Type { - return reflect.TypeOf((*LaunchConfigurationEbsBlockDevice)(nil)).Elem() +type InstanceInstanceMarketOptionsSpotOptionsOutput struct{ *pulumi.OutputState } + +func (InstanceInstanceMarketOptionsSpotOptionsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*InstanceInstanceMarketOptionsSpotOptions)(nil)).Elem() } -func (o LaunchConfigurationEbsBlockDeviceOutput) ToLaunchConfigurationEbsBlockDeviceOutput() LaunchConfigurationEbsBlockDeviceOutput { +func (o InstanceInstanceMarketOptionsSpotOptionsOutput) ToInstanceInstanceMarketOptionsSpotOptionsOutput() InstanceInstanceMarketOptionsSpotOptionsOutput { return o } -func (o LaunchConfigurationEbsBlockDeviceOutput) ToLaunchConfigurationEbsBlockDeviceOutputWithContext(ctx context.Context) LaunchConfigurationEbsBlockDeviceOutput { +func (o InstanceInstanceMarketOptionsSpotOptionsOutput) ToInstanceInstanceMarketOptionsSpotOptionsOutputWithContext(ctx context.Context) InstanceInstanceMarketOptionsSpotOptionsOutput { return o } -func (o LaunchConfigurationEbsBlockDeviceOutput) DeleteOnTermination() pulumi.BoolPtrOutput { - return o.ApplyT(func(v LaunchConfigurationEbsBlockDevice) *bool { return v.DeleteOnTermination }).(pulumi.BoolPtrOutput) +func (o InstanceInstanceMarketOptionsSpotOptionsOutput) ToInstanceInstanceMarketOptionsSpotOptionsPtrOutput() InstanceInstanceMarketOptionsSpotOptionsPtrOutput { + return o.ToInstanceInstanceMarketOptionsSpotOptionsPtrOutputWithContext(context.Background()) } -func (o LaunchConfigurationEbsBlockDeviceOutput) DeviceName() pulumi.StringOutput { - return o.ApplyT(func(v LaunchConfigurationEbsBlockDevice) string { return v.DeviceName }).(pulumi.StringOutput) +func (o InstanceInstanceMarketOptionsSpotOptionsOutput) ToInstanceInstanceMarketOptionsSpotOptionsPtrOutputWithContext(ctx context.Context) InstanceInstanceMarketOptionsSpotOptionsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v InstanceInstanceMarketOptionsSpotOptions) *InstanceInstanceMarketOptionsSpotOptions { + return &v + }).(InstanceInstanceMarketOptionsSpotOptionsPtrOutput) } -func (o LaunchConfigurationEbsBlockDeviceOutput) Encrypted() pulumi.BoolPtrOutput { - return o.ApplyT(func(v LaunchConfigurationEbsBlockDevice) *bool { return v.Encrypted }).(pulumi.BoolPtrOutput) +// The behavior when a Spot Instance is interrupted. Valid values include `hibernate`, `stop`, `terminate` . The default is `terminate`. +func (o InstanceInstanceMarketOptionsSpotOptionsOutput) InstanceInterruptionBehavior() pulumi.StringPtrOutput { + return o.ApplyT(func(v InstanceInstanceMarketOptionsSpotOptions) *string { return v.InstanceInterruptionBehavior }).(pulumi.StringPtrOutput) } -func (o LaunchConfigurationEbsBlockDeviceOutput) Iops() pulumi.IntPtrOutput { - return o.ApplyT(func(v LaunchConfigurationEbsBlockDevice) *int { return v.Iops }).(pulumi.IntPtrOutput) +// The maximum hourly price that you're willing to pay for a Spot Instance. +func (o InstanceInstanceMarketOptionsSpotOptionsOutput) MaxPrice() pulumi.StringPtrOutput { + return o.ApplyT(func(v InstanceInstanceMarketOptionsSpotOptions) *string { return v.MaxPrice }).(pulumi.StringPtrOutput) } -func (o LaunchConfigurationEbsBlockDeviceOutput) NoDevice() pulumi.BoolPtrOutput { - return o.ApplyT(func(v LaunchConfigurationEbsBlockDevice) *bool { return v.NoDevice }).(pulumi.BoolPtrOutput) +// The Spot Instance request type. Valid values include `one-time`, `persistent`. Persistent Spot Instance requests are only supported when the instance interruption behavior is either hibernate or stop. The default is `one-time`. +func (o InstanceInstanceMarketOptionsSpotOptionsOutput) SpotInstanceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v InstanceInstanceMarketOptionsSpotOptions) *string { return v.SpotInstanceType }).(pulumi.StringPtrOutput) } -func (o LaunchConfigurationEbsBlockDeviceOutput) SnapshotId() pulumi.StringPtrOutput { - return o.ApplyT(func(v LaunchConfigurationEbsBlockDevice) *string { return v.SnapshotId }).(pulumi.StringPtrOutput) +// The end date of the request, in UTC format (YYYY-MM-DDTHH:MM:SSZ). Supported only for persistent requests. +func (o InstanceInstanceMarketOptionsSpotOptionsOutput) ValidUntil() pulumi.StringPtrOutput { + return o.ApplyT(func(v InstanceInstanceMarketOptionsSpotOptions) *string { return v.ValidUntil }).(pulumi.StringPtrOutput) } -func (o LaunchConfigurationEbsBlockDeviceOutput) Throughput() pulumi.IntPtrOutput { - return o.ApplyT(func(v LaunchConfigurationEbsBlockDevice) *int { return v.Throughput }).(pulumi.IntPtrOutput) +type InstanceInstanceMarketOptionsSpotOptionsPtrOutput struct{ *pulumi.OutputState } + +func (InstanceInstanceMarketOptionsSpotOptionsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**InstanceInstanceMarketOptionsSpotOptions)(nil)).Elem() } -func (o LaunchConfigurationEbsBlockDeviceOutput) VolumeSize() pulumi.IntPtrOutput { - return o.ApplyT(func(v LaunchConfigurationEbsBlockDevice) *int { return v.VolumeSize }).(pulumi.IntPtrOutput) +func (o InstanceInstanceMarketOptionsSpotOptionsPtrOutput) ToInstanceInstanceMarketOptionsSpotOptionsPtrOutput() InstanceInstanceMarketOptionsSpotOptionsPtrOutput { + return o } -func (o LaunchConfigurationEbsBlockDeviceOutput) VolumeType() pulumi.StringPtrOutput { - return o.ApplyT(func(v LaunchConfigurationEbsBlockDevice) *string { return v.VolumeType }).(pulumi.StringPtrOutput) +func (o InstanceInstanceMarketOptionsSpotOptionsPtrOutput) ToInstanceInstanceMarketOptionsSpotOptionsPtrOutputWithContext(ctx context.Context) InstanceInstanceMarketOptionsSpotOptionsPtrOutput { + return o } -type LaunchConfigurationEbsBlockDeviceArrayOutput struct{ *pulumi.OutputState } +func (o InstanceInstanceMarketOptionsSpotOptionsPtrOutput) Elem() InstanceInstanceMarketOptionsSpotOptionsOutput { + return o.ApplyT(func(v *InstanceInstanceMarketOptionsSpotOptions) InstanceInstanceMarketOptionsSpotOptions { + if v != nil { + return *v + } + var ret InstanceInstanceMarketOptionsSpotOptions + return ret + }).(InstanceInstanceMarketOptionsSpotOptionsOutput) +} -func (LaunchConfigurationEbsBlockDeviceArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]LaunchConfigurationEbsBlockDevice)(nil)).Elem() +// The behavior when a Spot Instance is interrupted. Valid values include `hibernate`, `stop`, `terminate` . The default is `terminate`. +func (o InstanceInstanceMarketOptionsSpotOptionsPtrOutput) InstanceInterruptionBehavior() pulumi.StringPtrOutput { + return o.ApplyT(func(v *InstanceInstanceMarketOptionsSpotOptions) *string { + if v == nil { + return nil + } + return v.InstanceInterruptionBehavior + }).(pulumi.StringPtrOutput) } -func (o LaunchConfigurationEbsBlockDeviceArrayOutput) ToLaunchConfigurationEbsBlockDeviceArrayOutput() LaunchConfigurationEbsBlockDeviceArrayOutput { - return o +// The maximum hourly price that you're willing to pay for a Spot Instance. +func (o InstanceInstanceMarketOptionsSpotOptionsPtrOutput) MaxPrice() pulumi.StringPtrOutput { + return o.ApplyT(func(v *InstanceInstanceMarketOptionsSpotOptions) *string { + if v == nil { + return nil + } + return v.MaxPrice + }).(pulumi.StringPtrOutput) } -func (o LaunchConfigurationEbsBlockDeviceArrayOutput) ToLaunchConfigurationEbsBlockDeviceArrayOutputWithContext(ctx context.Context) LaunchConfigurationEbsBlockDeviceArrayOutput { - return o +// The Spot Instance request type. Valid values include `one-time`, `persistent`. Persistent Spot Instance requests are only supported when the instance interruption behavior is either hibernate or stop. The default is `one-time`. +func (o InstanceInstanceMarketOptionsSpotOptionsPtrOutput) SpotInstanceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v *InstanceInstanceMarketOptionsSpotOptions) *string { + if v == nil { + return nil + } + return v.SpotInstanceType + }).(pulumi.StringPtrOutput) } -func (o LaunchConfigurationEbsBlockDeviceArrayOutput) Index(i pulumi.IntInput) LaunchConfigurationEbsBlockDeviceOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) LaunchConfigurationEbsBlockDevice { - return vs[0].([]LaunchConfigurationEbsBlockDevice)[vs[1].(int)] - }).(LaunchConfigurationEbsBlockDeviceOutput) +// The end date of the request, in UTC format (YYYY-MM-DDTHH:MM:SSZ). Supported only for persistent requests. +func (o InstanceInstanceMarketOptionsSpotOptionsPtrOutput) ValidUntil() pulumi.StringPtrOutput { + return o.ApplyT(func(v *InstanceInstanceMarketOptionsSpotOptions) *string { + if v == nil { + return nil + } + return v.ValidUntil + }).(pulumi.StringPtrOutput) } -type LaunchConfigurationEphemeralBlockDevice struct { - DeviceName string `pulumi:"deviceName"` - NoDevice *bool `pulumi:"noDevice"` - VirtualName *string `pulumi:"virtualName"` +type InstanceLaunchTemplate struct { + // ID of the launch template. Conflicts with `name`. + Id *string `pulumi:"id"` + // Name of the launch template. Conflicts with `id`. + Name *string `pulumi:"name"` + // Template version. Can be a specific version number, `$Latest` or `$Default`. The default value is `$Default`. + Version *string `pulumi:"version"` } -// LaunchConfigurationEphemeralBlockDeviceInput is an input type that accepts LaunchConfigurationEphemeralBlockDeviceArgs and LaunchConfigurationEphemeralBlockDeviceOutput values. -// You can construct a concrete instance of `LaunchConfigurationEphemeralBlockDeviceInput` via: +// InstanceLaunchTemplateInput is an input type that accepts InstanceLaunchTemplateArgs and InstanceLaunchTemplateOutput values. +// You can construct a concrete instance of `InstanceLaunchTemplateInput` via: // -// LaunchConfigurationEphemeralBlockDeviceArgs{...} -type LaunchConfigurationEphemeralBlockDeviceInput interface { +// InstanceLaunchTemplateArgs{...} +type InstanceLaunchTemplateInput interface { pulumi.Input - ToLaunchConfigurationEphemeralBlockDeviceOutput() LaunchConfigurationEphemeralBlockDeviceOutput - ToLaunchConfigurationEphemeralBlockDeviceOutputWithContext(context.Context) LaunchConfigurationEphemeralBlockDeviceOutput + ToInstanceLaunchTemplateOutput() InstanceLaunchTemplateOutput + ToInstanceLaunchTemplateOutputWithContext(context.Context) InstanceLaunchTemplateOutput } -type LaunchConfigurationEphemeralBlockDeviceArgs struct { - DeviceName pulumi.StringInput `pulumi:"deviceName"` - NoDevice pulumi.BoolPtrInput `pulumi:"noDevice"` - VirtualName pulumi.StringPtrInput `pulumi:"virtualName"` +type InstanceLaunchTemplateArgs struct { + // ID of the launch template. Conflicts with `name`. + Id pulumi.StringPtrInput `pulumi:"id"` + // Name of the launch template. Conflicts with `id`. + Name pulumi.StringPtrInput `pulumi:"name"` + // Template version. Can be a specific version number, `$Latest` or `$Default`. The default value is `$Default`. + Version pulumi.StringPtrInput `pulumi:"version"` } -func (LaunchConfigurationEphemeralBlockDeviceArgs) ElementType() reflect.Type { - return reflect.TypeOf((*LaunchConfigurationEphemeralBlockDevice)(nil)).Elem() +func (InstanceLaunchTemplateArgs) ElementType() reflect.Type { + return reflect.TypeOf((*InstanceLaunchTemplate)(nil)).Elem() } -func (i LaunchConfigurationEphemeralBlockDeviceArgs) ToLaunchConfigurationEphemeralBlockDeviceOutput() LaunchConfigurationEphemeralBlockDeviceOutput { - return i.ToLaunchConfigurationEphemeralBlockDeviceOutputWithContext(context.Background()) +func (i InstanceLaunchTemplateArgs) ToInstanceLaunchTemplateOutput() InstanceLaunchTemplateOutput { + return i.ToInstanceLaunchTemplateOutputWithContext(context.Background()) } -func (i LaunchConfigurationEphemeralBlockDeviceArgs) ToLaunchConfigurationEphemeralBlockDeviceOutputWithContext(ctx context.Context) LaunchConfigurationEphemeralBlockDeviceOutput { - return pulumi.ToOutputWithContext(ctx, i).(LaunchConfigurationEphemeralBlockDeviceOutput) +func (i InstanceLaunchTemplateArgs) ToInstanceLaunchTemplateOutputWithContext(ctx context.Context) InstanceLaunchTemplateOutput { + return pulumi.ToOutputWithContext(ctx, i).(InstanceLaunchTemplateOutput) } -// LaunchConfigurationEphemeralBlockDeviceArrayInput is an input type that accepts LaunchConfigurationEphemeralBlockDeviceArray and LaunchConfigurationEphemeralBlockDeviceArrayOutput values. -// You can construct a concrete instance of `LaunchConfigurationEphemeralBlockDeviceArrayInput` via: +func (i InstanceLaunchTemplateArgs) ToInstanceLaunchTemplatePtrOutput() InstanceLaunchTemplatePtrOutput { + return i.ToInstanceLaunchTemplatePtrOutputWithContext(context.Background()) +} + +func (i InstanceLaunchTemplateArgs) ToInstanceLaunchTemplatePtrOutputWithContext(ctx context.Context) InstanceLaunchTemplatePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(InstanceLaunchTemplateOutput).ToInstanceLaunchTemplatePtrOutputWithContext(ctx) +} + +// InstanceLaunchTemplatePtrInput is an input type that accepts InstanceLaunchTemplateArgs, InstanceLaunchTemplatePtr and InstanceLaunchTemplatePtrOutput values. +// You can construct a concrete instance of `InstanceLaunchTemplatePtrInput` via: // -// LaunchConfigurationEphemeralBlockDeviceArray{ LaunchConfigurationEphemeralBlockDeviceArgs{...} } -type LaunchConfigurationEphemeralBlockDeviceArrayInput interface { +// InstanceLaunchTemplateArgs{...} +// +// or: +// +// nil +type InstanceLaunchTemplatePtrInput interface { pulumi.Input - ToLaunchConfigurationEphemeralBlockDeviceArrayOutput() LaunchConfigurationEphemeralBlockDeviceArrayOutput - ToLaunchConfigurationEphemeralBlockDeviceArrayOutputWithContext(context.Context) LaunchConfigurationEphemeralBlockDeviceArrayOutput + ToInstanceLaunchTemplatePtrOutput() InstanceLaunchTemplatePtrOutput + ToInstanceLaunchTemplatePtrOutputWithContext(context.Context) InstanceLaunchTemplatePtrOutput } -type LaunchConfigurationEphemeralBlockDeviceArray []LaunchConfigurationEphemeralBlockDeviceInput +type instanceLaunchTemplatePtrType InstanceLaunchTemplateArgs -func (LaunchConfigurationEphemeralBlockDeviceArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]LaunchConfigurationEphemeralBlockDevice)(nil)).Elem() +func InstanceLaunchTemplatePtr(v *InstanceLaunchTemplateArgs) InstanceLaunchTemplatePtrInput { + return (*instanceLaunchTemplatePtrType)(v) } -func (i LaunchConfigurationEphemeralBlockDeviceArray) ToLaunchConfigurationEphemeralBlockDeviceArrayOutput() LaunchConfigurationEphemeralBlockDeviceArrayOutput { - return i.ToLaunchConfigurationEphemeralBlockDeviceArrayOutputWithContext(context.Background()) +func (*instanceLaunchTemplatePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**InstanceLaunchTemplate)(nil)).Elem() } -func (i LaunchConfigurationEphemeralBlockDeviceArray) ToLaunchConfigurationEphemeralBlockDeviceArrayOutputWithContext(ctx context.Context) LaunchConfigurationEphemeralBlockDeviceArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(LaunchConfigurationEphemeralBlockDeviceArrayOutput) +func (i *instanceLaunchTemplatePtrType) ToInstanceLaunchTemplatePtrOutput() InstanceLaunchTemplatePtrOutput { + return i.ToInstanceLaunchTemplatePtrOutputWithContext(context.Background()) } -type LaunchConfigurationEphemeralBlockDeviceOutput struct{ *pulumi.OutputState } +func (i *instanceLaunchTemplatePtrType) ToInstanceLaunchTemplatePtrOutputWithContext(ctx context.Context) InstanceLaunchTemplatePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(InstanceLaunchTemplatePtrOutput) +} -func (LaunchConfigurationEphemeralBlockDeviceOutput) ElementType() reflect.Type { - return reflect.TypeOf((*LaunchConfigurationEphemeralBlockDevice)(nil)).Elem() +type InstanceLaunchTemplateOutput struct{ *pulumi.OutputState } + +func (InstanceLaunchTemplateOutput) ElementType() reflect.Type { + return reflect.TypeOf((*InstanceLaunchTemplate)(nil)).Elem() } -func (o LaunchConfigurationEphemeralBlockDeviceOutput) ToLaunchConfigurationEphemeralBlockDeviceOutput() LaunchConfigurationEphemeralBlockDeviceOutput { +func (o InstanceLaunchTemplateOutput) ToInstanceLaunchTemplateOutput() InstanceLaunchTemplateOutput { return o } -func (o LaunchConfigurationEphemeralBlockDeviceOutput) ToLaunchConfigurationEphemeralBlockDeviceOutputWithContext(ctx context.Context) LaunchConfigurationEphemeralBlockDeviceOutput { +func (o InstanceLaunchTemplateOutput) ToInstanceLaunchTemplateOutputWithContext(ctx context.Context) InstanceLaunchTemplateOutput { return o } -func (o LaunchConfigurationEphemeralBlockDeviceOutput) DeviceName() pulumi.StringOutput { - return o.ApplyT(func(v LaunchConfigurationEphemeralBlockDevice) string { return v.DeviceName }).(pulumi.StringOutput) +func (o InstanceLaunchTemplateOutput) ToInstanceLaunchTemplatePtrOutput() InstanceLaunchTemplatePtrOutput { + return o.ToInstanceLaunchTemplatePtrOutputWithContext(context.Background()) } -func (o LaunchConfigurationEphemeralBlockDeviceOutput) NoDevice() pulumi.BoolPtrOutput { - return o.ApplyT(func(v LaunchConfigurationEphemeralBlockDevice) *bool { return v.NoDevice }).(pulumi.BoolPtrOutput) +func (o InstanceLaunchTemplateOutput) ToInstanceLaunchTemplatePtrOutputWithContext(ctx context.Context) InstanceLaunchTemplatePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v InstanceLaunchTemplate) *InstanceLaunchTemplate { + return &v + }).(InstanceLaunchTemplatePtrOutput) } -func (o LaunchConfigurationEphemeralBlockDeviceOutput) VirtualName() pulumi.StringPtrOutput { - return o.ApplyT(func(v LaunchConfigurationEphemeralBlockDevice) *string { return v.VirtualName }).(pulumi.StringPtrOutput) +// ID of the launch template. Conflicts with `name`. +func (o InstanceLaunchTemplateOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v InstanceLaunchTemplate) *string { return v.Id }).(pulumi.StringPtrOutput) } -type LaunchConfigurationEphemeralBlockDeviceArrayOutput struct{ *pulumi.OutputState } +// Name of the launch template. Conflicts with `id`. +func (o InstanceLaunchTemplateOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v InstanceLaunchTemplate) *string { return v.Name }).(pulumi.StringPtrOutput) +} -func (LaunchConfigurationEphemeralBlockDeviceArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]LaunchConfigurationEphemeralBlockDevice)(nil)).Elem() +// Template version. Can be a specific version number, `$Latest` or `$Default`. The default value is `$Default`. +func (o InstanceLaunchTemplateOutput) Version() pulumi.StringPtrOutput { + return o.ApplyT(func(v InstanceLaunchTemplate) *string { return v.Version }).(pulumi.StringPtrOutput) } -func (o LaunchConfigurationEphemeralBlockDeviceArrayOutput) ToLaunchConfigurationEphemeralBlockDeviceArrayOutput() LaunchConfigurationEphemeralBlockDeviceArrayOutput { +type InstanceLaunchTemplatePtrOutput struct{ *pulumi.OutputState } + +func (InstanceLaunchTemplatePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**InstanceLaunchTemplate)(nil)).Elem() +} + +func (o InstanceLaunchTemplatePtrOutput) ToInstanceLaunchTemplatePtrOutput() InstanceLaunchTemplatePtrOutput { return o } -func (o LaunchConfigurationEphemeralBlockDeviceArrayOutput) ToLaunchConfigurationEphemeralBlockDeviceArrayOutputWithContext(ctx context.Context) LaunchConfigurationEphemeralBlockDeviceArrayOutput { +func (o InstanceLaunchTemplatePtrOutput) ToInstanceLaunchTemplatePtrOutputWithContext(ctx context.Context) InstanceLaunchTemplatePtrOutput { return o } -func (o LaunchConfigurationEphemeralBlockDeviceArrayOutput) Index(i pulumi.IntInput) LaunchConfigurationEphemeralBlockDeviceOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) LaunchConfigurationEphemeralBlockDevice { - return vs[0].([]LaunchConfigurationEphemeralBlockDevice)[vs[1].(int)] - }).(LaunchConfigurationEphemeralBlockDeviceOutput) +func (o InstanceLaunchTemplatePtrOutput) Elem() InstanceLaunchTemplateOutput { + return o.ApplyT(func(v *InstanceLaunchTemplate) InstanceLaunchTemplate { + if v != nil { + return *v + } + var ret InstanceLaunchTemplate + return ret + }).(InstanceLaunchTemplateOutput) } -type LaunchConfigurationMetadataOptions struct { - // The state of the metadata service: `enabled`, `disabled`. - HttpEndpoint *string `pulumi:"httpEndpoint"` - // The desired HTTP PUT response hop limit for instance metadata requests. - HttpPutResponseHopLimit *int `pulumi:"httpPutResponseHopLimit"` - // If session tokens are required: `optional`, `required`. - HttpTokens *string `pulumi:"httpTokens"` +// ID of the launch template. Conflicts with `name`. +func (o InstanceLaunchTemplatePtrOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v *InstanceLaunchTemplate) *string { + if v == nil { + return nil + } + return v.Id + }).(pulumi.StringPtrOutput) } -// LaunchConfigurationMetadataOptionsInput is an input type that accepts LaunchConfigurationMetadataOptionsArgs and LaunchConfigurationMetadataOptionsOutput values. -// You can construct a concrete instance of `LaunchConfigurationMetadataOptionsInput` via: +// Name of the launch template. Conflicts with `id`. +func (o InstanceLaunchTemplatePtrOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v *InstanceLaunchTemplate) *string { + if v == nil { + return nil + } + return v.Name + }).(pulumi.StringPtrOutput) +} + +// Template version. Can be a specific version number, `$Latest` or `$Default`. The default value is `$Default`. +func (o InstanceLaunchTemplatePtrOutput) Version() pulumi.StringPtrOutput { + return o.ApplyT(func(v *InstanceLaunchTemplate) *string { + if v == nil { + return nil + } + return v.Version + }).(pulumi.StringPtrOutput) +} + +type InstanceMaintenanceOptions struct { + // Automatic recovery behavior of the Instance. Can be `"default"` or `"disabled"`. See [Recover your instance](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-recover.html) for more details. + AutoRecovery *string `pulumi:"autoRecovery"` +} + +// InstanceMaintenanceOptionsInput is an input type that accepts InstanceMaintenanceOptionsArgs and InstanceMaintenanceOptionsOutput values. +// You can construct a concrete instance of `InstanceMaintenanceOptionsInput` via: // -// LaunchConfigurationMetadataOptionsArgs{...} -type LaunchConfigurationMetadataOptionsInput interface { +// InstanceMaintenanceOptionsArgs{...} +type InstanceMaintenanceOptionsInput interface { pulumi.Input - ToLaunchConfigurationMetadataOptionsOutput() LaunchConfigurationMetadataOptionsOutput - ToLaunchConfigurationMetadataOptionsOutputWithContext(context.Context) LaunchConfigurationMetadataOptionsOutput + ToInstanceMaintenanceOptionsOutput() InstanceMaintenanceOptionsOutput + ToInstanceMaintenanceOptionsOutputWithContext(context.Context) InstanceMaintenanceOptionsOutput } -type LaunchConfigurationMetadataOptionsArgs struct { - // The state of the metadata service: `enabled`, `disabled`. - HttpEndpoint pulumi.StringPtrInput `pulumi:"httpEndpoint"` - // The desired HTTP PUT response hop limit for instance metadata requests. - HttpPutResponseHopLimit pulumi.IntPtrInput `pulumi:"httpPutResponseHopLimit"` - // If session tokens are required: `optional`, `required`. - HttpTokens pulumi.StringPtrInput `pulumi:"httpTokens"` +type InstanceMaintenanceOptionsArgs struct { + // Automatic recovery behavior of the Instance. Can be `"default"` or `"disabled"`. See [Recover your instance](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-recover.html) for more details. + AutoRecovery pulumi.StringPtrInput `pulumi:"autoRecovery"` } -func (LaunchConfigurationMetadataOptionsArgs) ElementType() reflect.Type { - return reflect.TypeOf((*LaunchConfigurationMetadataOptions)(nil)).Elem() +func (InstanceMaintenanceOptionsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*InstanceMaintenanceOptions)(nil)).Elem() } -func (i LaunchConfigurationMetadataOptionsArgs) ToLaunchConfigurationMetadataOptionsOutput() LaunchConfigurationMetadataOptionsOutput { - return i.ToLaunchConfigurationMetadataOptionsOutputWithContext(context.Background()) +func (i InstanceMaintenanceOptionsArgs) ToInstanceMaintenanceOptionsOutput() InstanceMaintenanceOptionsOutput { + return i.ToInstanceMaintenanceOptionsOutputWithContext(context.Background()) } -func (i LaunchConfigurationMetadataOptionsArgs) ToLaunchConfigurationMetadataOptionsOutputWithContext(ctx context.Context) LaunchConfigurationMetadataOptionsOutput { - return pulumi.ToOutputWithContext(ctx, i).(LaunchConfigurationMetadataOptionsOutput) +func (i InstanceMaintenanceOptionsArgs) ToInstanceMaintenanceOptionsOutputWithContext(ctx context.Context) InstanceMaintenanceOptionsOutput { + return pulumi.ToOutputWithContext(ctx, i).(InstanceMaintenanceOptionsOutput) } -func (i LaunchConfigurationMetadataOptionsArgs) ToLaunchConfigurationMetadataOptionsPtrOutput() LaunchConfigurationMetadataOptionsPtrOutput { - return i.ToLaunchConfigurationMetadataOptionsPtrOutputWithContext(context.Background()) +func (i InstanceMaintenanceOptionsArgs) ToInstanceMaintenanceOptionsPtrOutput() InstanceMaintenanceOptionsPtrOutput { + return i.ToInstanceMaintenanceOptionsPtrOutputWithContext(context.Background()) } -func (i LaunchConfigurationMetadataOptionsArgs) ToLaunchConfigurationMetadataOptionsPtrOutputWithContext(ctx context.Context) LaunchConfigurationMetadataOptionsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(LaunchConfigurationMetadataOptionsOutput).ToLaunchConfigurationMetadataOptionsPtrOutputWithContext(ctx) +func (i InstanceMaintenanceOptionsArgs) ToInstanceMaintenanceOptionsPtrOutputWithContext(ctx context.Context) InstanceMaintenanceOptionsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(InstanceMaintenanceOptionsOutput).ToInstanceMaintenanceOptionsPtrOutputWithContext(ctx) } -// LaunchConfigurationMetadataOptionsPtrInput is an input type that accepts LaunchConfigurationMetadataOptionsArgs, LaunchConfigurationMetadataOptionsPtr and LaunchConfigurationMetadataOptionsPtrOutput values. -// You can construct a concrete instance of `LaunchConfigurationMetadataOptionsPtrInput` via: +// InstanceMaintenanceOptionsPtrInput is an input type that accepts InstanceMaintenanceOptionsArgs, InstanceMaintenanceOptionsPtr and InstanceMaintenanceOptionsPtrOutput values. +// You can construct a concrete instance of `InstanceMaintenanceOptionsPtrInput` via: // -// LaunchConfigurationMetadataOptionsArgs{...} +// InstanceMaintenanceOptionsArgs{...} // // or: // // nil -type LaunchConfigurationMetadataOptionsPtrInput interface { +type InstanceMaintenanceOptionsPtrInput interface { pulumi.Input - ToLaunchConfigurationMetadataOptionsPtrOutput() LaunchConfigurationMetadataOptionsPtrOutput - ToLaunchConfigurationMetadataOptionsPtrOutputWithContext(context.Context) LaunchConfigurationMetadataOptionsPtrOutput + ToInstanceMaintenanceOptionsPtrOutput() InstanceMaintenanceOptionsPtrOutput + ToInstanceMaintenanceOptionsPtrOutputWithContext(context.Context) InstanceMaintenanceOptionsPtrOutput } -type launchConfigurationMetadataOptionsPtrType LaunchConfigurationMetadataOptionsArgs +type instanceMaintenanceOptionsPtrType InstanceMaintenanceOptionsArgs -func LaunchConfigurationMetadataOptionsPtr(v *LaunchConfigurationMetadataOptionsArgs) LaunchConfigurationMetadataOptionsPtrInput { - return (*launchConfigurationMetadataOptionsPtrType)(v) +func InstanceMaintenanceOptionsPtr(v *InstanceMaintenanceOptionsArgs) InstanceMaintenanceOptionsPtrInput { + return (*instanceMaintenanceOptionsPtrType)(v) } -func (*launchConfigurationMetadataOptionsPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**LaunchConfigurationMetadataOptions)(nil)).Elem() +func (*instanceMaintenanceOptionsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**InstanceMaintenanceOptions)(nil)).Elem() } -func (i *launchConfigurationMetadataOptionsPtrType) ToLaunchConfigurationMetadataOptionsPtrOutput() LaunchConfigurationMetadataOptionsPtrOutput { - return i.ToLaunchConfigurationMetadataOptionsPtrOutputWithContext(context.Background()) +func (i *instanceMaintenanceOptionsPtrType) ToInstanceMaintenanceOptionsPtrOutput() InstanceMaintenanceOptionsPtrOutput { + return i.ToInstanceMaintenanceOptionsPtrOutputWithContext(context.Background()) } -func (i *launchConfigurationMetadataOptionsPtrType) ToLaunchConfigurationMetadataOptionsPtrOutputWithContext(ctx context.Context) LaunchConfigurationMetadataOptionsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(LaunchConfigurationMetadataOptionsPtrOutput) +func (i *instanceMaintenanceOptionsPtrType) ToInstanceMaintenanceOptionsPtrOutputWithContext(ctx context.Context) InstanceMaintenanceOptionsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(InstanceMaintenanceOptionsPtrOutput) } -type LaunchConfigurationMetadataOptionsOutput struct{ *pulumi.OutputState } +type InstanceMaintenanceOptionsOutput struct{ *pulumi.OutputState } -func (LaunchConfigurationMetadataOptionsOutput) ElementType() reflect.Type { - return reflect.TypeOf((*LaunchConfigurationMetadataOptions)(nil)).Elem() +func (InstanceMaintenanceOptionsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*InstanceMaintenanceOptions)(nil)).Elem() } -func (o LaunchConfigurationMetadataOptionsOutput) ToLaunchConfigurationMetadataOptionsOutput() LaunchConfigurationMetadataOptionsOutput { +func (o InstanceMaintenanceOptionsOutput) ToInstanceMaintenanceOptionsOutput() InstanceMaintenanceOptionsOutput { return o } -func (o LaunchConfigurationMetadataOptionsOutput) ToLaunchConfigurationMetadataOptionsOutputWithContext(ctx context.Context) LaunchConfigurationMetadataOptionsOutput { +func (o InstanceMaintenanceOptionsOutput) ToInstanceMaintenanceOptionsOutputWithContext(ctx context.Context) InstanceMaintenanceOptionsOutput { return o } -func (o LaunchConfigurationMetadataOptionsOutput) ToLaunchConfigurationMetadataOptionsPtrOutput() LaunchConfigurationMetadataOptionsPtrOutput { - return o.ToLaunchConfigurationMetadataOptionsPtrOutputWithContext(context.Background()) +func (o InstanceMaintenanceOptionsOutput) ToInstanceMaintenanceOptionsPtrOutput() InstanceMaintenanceOptionsPtrOutput { + return o.ToInstanceMaintenanceOptionsPtrOutputWithContext(context.Background()) } -func (o LaunchConfigurationMetadataOptionsOutput) ToLaunchConfigurationMetadataOptionsPtrOutputWithContext(ctx context.Context) LaunchConfigurationMetadataOptionsPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v LaunchConfigurationMetadataOptions) *LaunchConfigurationMetadataOptions { +func (o InstanceMaintenanceOptionsOutput) ToInstanceMaintenanceOptionsPtrOutputWithContext(ctx context.Context) InstanceMaintenanceOptionsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v InstanceMaintenanceOptions) *InstanceMaintenanceOptions { return &v - }).(LaunchConfigurationMetadataOptionsPtrOutput) -} - -// The state of the metadata service: `enabled`, `disabled`. -func (o LaunchConfigurationMetadataOptionsOutput) HttpEndpoint() pulumi.StringPtrOutput { - return o.ApplyT(func(v LaunchConfigurationMetadataOptions) *string { return v.HttpEndpoint }).(pulumi.StringPtrOutput) -} - -// The desired HTTP PUT response hop limit for instance metadata requests. -func (o LaunchConfigurationMetadataOptionsOutput) HttpPutResponseHopLimit() pulumi.IntPtrOutput { - return o.ApplyT(func(v LaunchConfigurationMetadataOptions) *int { return v.HttpPutResponseHopLimit }).(pulumi.IntPtrOutput) + }).(InstanceMaintenanceOptionsPtrOutput) } -// If session tokens are required: `optional`, `required`. -func (o LaunchConfigurationMetadataOptionsOutput) HttpTokens() pulumi.StringPtrOutput { - return o.ApplyT(func(v LaunchConfigurationMetadataOptions) *string { return v.HttpTokens }).(pulumi.StringPtrOutput) +// Automatic recovery behavior of the Instance. Can be `"default"` or `"disabled"`. See [Recover your instance](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-recover.html) for more details. +func (o InstanceMaintenanceOptionsOutput) AutoRecovery() pulumi.StringPtrOutput { + return o.ApplyT(func(v InstanceMaintenanceOptions) *string { return v.AutoRecovery }).(pulumi.StringPtrOutput) } -type LaunchConfigurationMetadataOptionsPtrOutput struct{ *pulumi.OutputState } +type InstanceMaintenanceOptionsPtrOutput struct{ *pulumi.OutputState } -func (LaunchConfigurationMetadataOptionsPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**LaunchConfigurationMetadataOptions)(nil)).Elem() +func (InstanceMaintenanceOptionsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**InstanceMaintenanceOptions)(nil)).Elem() } -func (o LaunchConfigurationMetadataOptionsPtrOutput) ToLaunchConfigurationMetadataOptionsPtrOutput() LaunchConfigurationMetadataOptionsPtrOutput { +func (o InstanceMaintenanceOptionsPtrOutput) ToInstanceMaintenanceOptionsPtrOutput() InstanceMaintenanceOptionsPtrOutput { return o } -func (o LaunchConfigurationMetadataOptionsPtrOutput) ToLaunchConfigurationMetadataOptionsPtrOutputWithContext(ctx context.Context) LaunchConfigurationMetadataOptionsPtrOutput { +func (o InstanceMaintenanceOptionsPtrOutput) ToInstanceMaintenanceOptionsPtrOutputWithContext(ctx context.Context) InstanceMaintenanceOptionsPtrOutput { return o } -func (o LaunchConfigurationMetadataOptionsPtrOutput) Elem() LaunchConfigurationMetadataOptionsOutput { - return o.ApplyT(func(v *LaunchConfigurationMetadataOptions) LaunchConfigurationMetadataOptions { +func (o InstanceMaintenanceOptionsPtrOutput) Elem() InstanceMaintenanceOptionsOutput { + return o.ApplyT(func(v *InstanceMaintenanceOptions) InstanceMaintenanceOptions { if v != nil { return *v } - var ret LaunchConfigurationMetadataOptions + var ret InstanceMaintenanceOptions return ret - }).(LaunchConfigurationMetadataOptionsOutput) -} - -// The state of the metadata service: `enabled`, `disabled`. -func (o LaunchConfigurationMetadataOptionsPtrOutput) HttpEndpoint() pulumi.StringPtrOutput { - return o.ApplyT(func(v *LaunchConfigurationMetadataOptions) *string { - if v == nil { - return nil - } - return v.HttpEndpoint - }).(pulumi.StringPtrOutput) -} - -// The desired HTTP PUT response hop limit for instance metadata requests. -func (o LaunchConfigurationMetadataOptionsPtrOutput) HttpPutResponseHopLimit() pulumi.IntPtrOutput { - return o.ApplyT(func(v *LaunchConfigurationMetadataOptions) *int { - if v == nil { - return nil - } - return v.HttpPutResponseHopLimit - }).(pulumi.IntPtrOutput) + }).(InstanceMaintenanceOptionsOutput) } -// If session tokens are required: `optional`, `required`. -func (o LaunchConfigurationMetadataOptionsPtrOutput) HttpTokens() pulumi.StringPtrOutput { - return o.ApplyT(func(v *LaunchConfigurationMetadataOptions) *string { +// Automatic recovery behavior of the Instance. Can be `"default"` or `"disabled"`. See [Recover your instance](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-recover.html) for more details. +func (o InstanceMaintenanceOptionsPtrOutput) AutoRecovery() pulumi.StringPtrOutput { + return o.ApplyT(func(v *InstanceMaintenanceOptions) *string { if v == nil { return nil } - return v.HttpTokens + return v.AutoRecovery }).(pulumi.StringPtrOutput) } -type LaunchConfigurationRootBlockDevice struct { - DeleteOnTermination *bool `pulumi:"deleteOnTermination"` - Encrypted *bool `pulumi:"encrypted"` - Iops *int `pulumi:"iops"` - Throughput *int `pulumi:"throughput"` - VolumeSize *int `pulumi:"volumeSize"` - VolumeType *string `pulumi:"volumeType"` +type InstanceMetadataOptions struct { + // Whether the metadata service is available. Valid values include `enabled` or `disabled`. Defaults to `enabled`. + HttpEndpoint *string `pulumi:"httpEndpoint"` + // Whether the IPv6 endpoint for the instance metadata service is enabled. Defaults to `disabled`. + HttpProtocolIpv6 *string `pulumi:"httpProtocolIpv6"` + // Desired HTTP PUT response hop limit for instance metadata requests. The larger the number, the further instance metadata requests can travel. Valid values are integer from `1` to `64`. Defaults to `1`. + HttpPutResponseHopLimit *int `pulumi:"httpPutResponseHopLimit"` + // Whether or not the metadata service requires session tokens, also referred to as _Instance Metadata Service Version 2 (IMDSv2)_. Valid values include `optional` or `required`. + HttpTokens *string `pulumi:"httpTokens"` + // Enables or disables access to instance tags from the instance metadata service. Valid values include `enabled` or `disabled`. Defaults to `disabled`. + // + // For more information, see the documentation on the [Instance Metadata Service](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html). + InstanceMetadataTags *string `pulumi:"instanceMetadataTags"` } -// LaunchConfigurationRootBlockDeviceInput is an input type that accepts LaunchConfigurationRootBlockDeviceArgs and LaunchConfigurationRootBlockDeviceOutput values. -// You can construct a concrete instance of `LaunchConfigurationRootBlockDeviceInput` via: +// InstanceMetadataOptionsInput is an input type that accepts InstanceMetadataOptionsArgs and InstanceMetadataOptionsOutput values. +// You can construct a concrete instance of `InstanceMetadataOptionsInput` via: // -// LaunchConfigurationRootBlockDeviceArgs{...} -type LaunchConfigurationRootBlockDeviceInput interface { +// InstanceMetadataOptionsArgs{...} +type InstanceMetadataOptionsInput interface { pulumi.Input - ToLaunchConfigurationRootBlockDeviceOutput() LaunchConfigurationRootBlockDeviceOutput - ToLaunchConfigurationRootBlockDeviceOutputWithContext(context.Context) LaunchConfigurationRootBlockDeviceOutput + ToInstanceMetadataOptionsOutput() InstanceMetadataOptionsOutput + ToInstanceMetadataOptionsOutputWithContext(context.Context) InstanceMetadataOptionsOutput } -type LaunchConfigurationRootBlockDeviceArgs struct { - DeleteOnTermination pulumi.BoolPtrInput `pulumi:"deleteOnTermination"` - Encrypted pulumi.BoolPtrInput `pulumi:"encrypted"` - Iops pulumi.IntPtrInput `pulumi:"iops"` - Throughput pulumi.IntPtrInput `pulumi:"throughput"` - VolumeSize pulumi.IntPtrInput `pulumi:"volumeSize"` - VolumeType pulumi.StringPtrInput `pulumi:"volumeType"` +type InstanceMetadataOptionsArgs struct { + // Whether the metadata service is available. Valid values include `enabled` or `disabled`. Defaults to `enabled`. + HttpEndpoint pulumi.StringPtrInput `pulumi:"httpEndpoint"` + // Whether the IPv6 endpoint for the instance metadata service is enabled. Defaults to `disabled`. + HttpProtocolIpv6 pulumi.StringPtrInput `pulumi:"httpProtocolIpv6"` + // Desired HTTP PUT response hop limit for instance metadata requests. The larger the number, the further instance metadata requests can travel. Valid values are integer from `1` to `64`. Defaults to `1`. + HttpPutResponseHopLimit pulumi.IntPtrInput `pulumi:"httpPutResponseHopLimit"` + // Whether or not the metadata service requires session tokens, also referred to as _Instance Metadata Service Version 2 (IMDSv2)_. Valid values include `optional` or `required`. + HttpTokens pulumi.StringPtrInput `pulumi:"httpTokens"` + // Enables or disables access to instance tags from the instance metadata service. Valid values include `enabled` or `disabled`. Defaults to `disabled`. + // + // For more information, see the documentation on the [Instance Metadata Service](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html). + InstanceMetadataTags pulumi.StringPtrInput `pulumi:"instanceMetadataTags"` } -func (LaunchConfigurationRootBlockDeviceArgs) ElementType() reflect.Type { - return reflect.TypeOf((*LaunchConfigurationRootBlockDevice)(nil)).Elem() +func (InstanceMetadataOptionsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*InstanceMetadataOptions)(nil)).Elem() } -func (i LaunchConfigurationRootBlockDeviceArgs) ToLaunchConfigurationRootBlockDeviceOutput() LaunchConfigurationRootBlockDeviceOutput { - return i.ToLaunchConfigurationRootBlockDeviceOutputWithContext(context.Background()) +func (i InstanceMetadataOptionsArgs) ToInstanceMetadataOptionsOutput() InstanceMetadataOptionsOutput { + return i.ToInstanceMetadataOptionsOutputWithContext(context.Background()) } -func (i LaunchConfigurationRootBlockDeviceArgs) ToLaunchConfigurationRootBlockDeviceOutputWithContext(ctx context.Context) LaunchConfigurationRootBlockDeviceOutput { - return pulumi.ToOutputWithContext(ctx, i).(LaunchConfigurationRootBlockDeviceOutput) +func (i InstanceMetadataOptionsArgs) ToInstanceMetadataOptionsOutputWithContext(ctx context.Context) InstanceMetadataOptionsOutput { + return pulumi.ToOutputWithContext(ctx, i).(InstanceMetadataOptionsOutput) } -func (i LaunchConfigurationRootBlockDeviceArgs) ToLaunchConfigurationRootBlockDevicePtrOutput() LaunchConfigurationRootBlockDevicePtrOutput { - return i.ToLaunchConfigurationRootBlockDevicePtrOutputWithContext(context.Background()) +func (i InstanceMetadataOptionsArgs) ToInstanceMetadataOptionsPtrOutput() InstanceMetadataOptionsPtrOutput { + return i.ToInstanceMetadataOptionsPtrOutputWithContext(context.Background()) } -func (i LaunchConfigurationRootBlockDeviceArgs) ToLaunchConfigurationRootBlockDevicePtrOutputWithContext(ctx context.Context) LaunchConfigurationRootBlockDevicePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(LaunchConfigurationRootBlockDeviceOutput).ToLaunchConfigurationRootBlockDevicePtrOutputWithContext(ctx) +func (i InstanceMetadataOptionsArgs) ToInstanceMetadataOptionsPtrOutputWithContext(ctx context.Context) InstanceMetadataOptionsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(InstanceMetadataOptionsOutput).ToInstanceMetadataOptionsPtrOutputWithContext(ctx) } -// LaunchConfigurationRootBlockDevicePtrInput is an input type that accepts LaunchConfigurationRootBlockDeviceArgs, LaunchConfigurationRootBlockDevicePtr and LaunchConfigurationRootBlockDevicePtrOutput values. -// You can construct a concrete instance of `LaunchConfigurationRootBlockDevicePtrInput` via: +// InstanceMetadataOptionsPtrInput is an input type that accepts InstanceMetadataOptionsArgs, InstanceMetadataOptionsPtr and InstanceMetadataOptionsPtrOutput values. +// You can construct a concrete instance of `InstanceMetadataOptionsPtrInput` via: // -// LaunchConfigurationRootBlockDeviceArgs{...} +// InstanceMetadataOptionsArgs{...} // // or: // // nil -type LaunchConfigurationRootBlockDevicePtrInput interface { +type InstanceMetadataOptionsPtrInput interface { pulumi.Input - ToLaunchConfigurationRootBlockDevicePtrOutput() LaunchConfigurationRootBlockDevicePtrOutput - ToLaunchConfigurationRootBlockDevicePtrOutputWithContext(context.Context) LaunchConfigurationRootBlockDevicePtrOutput + ToInstanceMetadataOptionsPtrOutput() InstanceMetadataOptionsPtrOutput + ToInstanceMetadataOptionsPtrOutputWithContext(context.Context) InstanceMetadataOptionsPtrOutput } -type launchConfigurationRootBlockDevicePtrType LaunchConfigurationRootBlockDeviceArgs +type instanceMetadataOptionsPtrType InstanceMetadataOptionsArgs -func LaunchConfigurationRootBlockDevicePtr(v *LaunchConfigurationRootBlockDeviceArgs) LaunchConfigurationRootBlockDevicePtrInput { - return (*launchConfigurationRootBlockDevicePtrType)(v) +func InstanceMetadataOptionsPtr(v *InstanceMetadataOptionsArgs) InstanceMetadataOptionsPtrInput { + return (*instanceMetadataOptionsPtrType)(v) } -func (*launchConfigurationRootBlockDevicePtrType) ElementType() reflect.Type { - return reflect.TypeOf((**LaunchConfigurationRootBlockDevice)(nil)).Elem() +func (*instanceMetadataOptionsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**InstanceMetadataOptions)(nil)).Elem() } -func (i *launchConfigurationRootBlockDevicePtrType) ToLaunchConfigurationRootBlockDevicePtrOutput() LaunchConfigurationRootBlockDevicePtrOutput { - return i.ToLaunchConfigurationRootBlockDevicePtrOutputWithContext(context.Background()) +func (i *instanceMetadataOptionsPtrType) ToInstanceMetadataOptionsPtrOutput() InstanceMetadataOptionsPtrOutput { + return i.ToInstanceMetadataOptionsPtrOutputWithContext(context.Background()) } -func (i *launchConfigurationRootBlockDevicePtrType) ToLaunchConfigurationRootBlockDevicePtrOutputWithContext(ctx context.Context) LaunchConfigurationRootBlockDevicePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(LaunchConfigurationRootBlockDevicePtrOutput) +func (i *instanceMetadataOptionsPtrType) ToInstanceMetadataOptionsPtrOutputWithContext(ctx context.Context) InstanceMetadataOptionsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(InstanceMetadataOptionsPtrOutput) } -type LaunchConfigurationRootBlockDeviceOutput struct{ *pulumi.OutputState } +type InstanceMetadataOptionsOutput struct{ *pulumi.OutputState } -func (LaunchConfigurationRootBlockDeviceOutput) ElementType() reflect.Type { - return reflect.TypeOf((*LaunchConfigurationRootBlockDevice)(nil)).Elem() +func (InstanceMetadataOptionsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*InstanceMetadataOptions)(nil)).Elem() } -func (o LaunchConfigurationRootBlockDeviceOutput) ToLaunchConfigurationRootBlockDeviceOutput() LaunchConfigurationRootBlockDeviceOutput { +func (o InstanceMetadataOptionsOutput) ToInstanceMetadataOptionsOutput() InstanceMetadataOptionsOutput { return o } -func (o LaunchConfigurationRootBlockDeviceOutput) ToLaunchConfigurationRootBlockDeviceOutputWithContext(ctx context.Context) LaunchConfigurationRootBlockDeviceOutput { +func (o InstanceMetadataOptionsOutput) ToInstanceMetadataOptionsOutputWithContext(ctx context.Context) InstanceMetadataOptionsOutput { return o } -func (o LaunchConfigurationRootBlockDeviceOutput) ToLaunchConfigurationRootBlockDevicePtrOutput() LaunchConfigurationRootBlockDevicePtrOutput { - return o.ToLaunchConfigurationRootBlockDevicePtrOutputWithContext(context.Background()) +func (o InstanceMetadataOptionsOutput) ToInstanceMetadataOptionsPtrOutput() InstanceMetadataOptionsPtrOutput { + return o.ToInstanceMetadataOptionsPtrOutputWithContext(context.Background()) } -func (o LaunchConfigurationRootBlockDeviceOutput) ToLaunchConfigurationRootBlockDevicePtrOutputWithContext(ctx context.Context) LaunchConfigurationRootBlockDevicePtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v LaunchConfigurationRootBlockDevice) *LaunchConfigurationRootBlockDevice { +func (o InstanceMetadataOptionsOutput) ToInstanceMetadataOptionsPtrOutputWithContext(ctx context.Context) InstanceMetadataOptionsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v InstanceMetadataOptions) *InstanceMetadataOptions { return &v - }).(LaunchConfigurationRootBlockDevicePtrOutput) -} - -func (o LaunchConfigurationRootBlockDeviceOutput) DeleteOnTermination() pulumi.BoolPtrOutput { - return o.ApplyT(func(v LaunchConfigurationRootBlockDevice) *bool { return v.DeleteOnTermination }).(pulumi.BoolPtrOutput) + }).(InstanceMetadataOptionsPtrOutput) } -func (o LaunchConfigurationRootBlockDeviceOutput) Encrypted() pulumi.BoolPtrOutput { - return o.ApplyT(func(v LaunchConfigurationRootBlockDevice) *bool { return v.Encrypted }).(pulumi.BoolPtrOutput) +// Whether the metadata service is available. Valid values include `enabled` or `disabled`. Defaults to `enabled`. +func (o InstanceMetadataOptionsOutput) HttpEndpoint() pulumi.StringPtrOutput { + return o.ApplyT(func(v InstanceMetadataOptions) *string { return v.HttpEndpoint }).(pulumi.StringPtrOutput) } -func (o LaunchConfigurationRootBlockDeviceOutput) Iops() pulumi.IntPtrOutput { - return o.ApplyT(func(v LaunchConfigurationRootBlockDevice) *int { return v.Iops }).(pulumi.IntPtrOutput) +// Whether the IPv6 endpoint for the instance metadata service is enabled. Defaults to `disabled`. +func (o InstanceMetadataOptionsOutput) HttpProtocolIpv6() pulumi.StringPtrOutput { + return o.ApplyT(func(v InstanceMetadataOptions) *string { return v.HttpProtocolIpv6 }).(pulumi.StringPtrOutput) } -func (o LaunchConfigurationRootBlockDeviceOutput) Throughput() pulumi.IntPtrOutput { - return o.ApplyT(func(v LaunchConfigurationRootBlockDevice) *int { return v.Throughput }).(pulumi.IntPtrOutput) +// Desired HTTP PUT response hop limit for instance metadata requests. The larger the number, the further instance metadata requests can travel. Valid values are integer from `1` to `64`. Defaults to `1`. +func (o InstanceMetadataOptionsOutput) HttpPutResponseHopLimit() pulumi.IntPtrOutput { + return o.ApplyT(func(v InstanceMetadataOptions) *int { return v.HttpPutResponseHopLimit }).(pulumi.IntPtrOutput) } -func (o LaunchConfigurationRootBlockDeviceOutput) VolumeSize() pulumi.IntPtrOutput { - return o.ApplyT(func(v LaunchConfigurationRootBlockDevice) *int { return v.VolumeSize }).(pulumi.IntPtrOutput) +// Whether or not the metadata service requires session tokens, also referred to as _Instance Metadata Service Version 2 (IMDSv2)_. Valid values include `optional` or `required`. +func (o InstanceMetadataOptionsOutput) HttpTokens() pulumi.StringPtrOutput { + return o.ApplyT(func(v InstanceMetadataOptions) *string { return v.HttpTokens }).(pulumi.StringPtrOutput) } -func (o LaunchConfigurationRootBlockDeviceOutput) VolumeType() pulumi.StringPtrOutput { - return o.ApplyT(func(v LaunchConfigurationRootBlockDevice) *string { return v.VolumeType }).(pulumi.StringPtrOutput) +// Enables or disables access to instance tags from the instance metadata service. Valid values include `enabled` or `disabled`. Defaults to `disabled`. +// +// For more information, see the documentation on the [Instance Metadata Service](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html). +func (o InstanceMetadataOptionsOutput) InstanceMetadataTags() pulumi.StringPtrOutput { + return o.ApplyT(func(v InstanceMetadataOptions) *string { return v.InstanceMetadataTags }).(pulumi.StringPtrOutput) } -type LaunchConfigurationRootBlockDevicePtrOutput struct{ *pulumi.OutputState } +type InstanceMetadataOptionsPtrOutput struct{ *pulumi.OutputState } -func (LaunchConfigurationRootBlockDevicePtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**LaunchConfigurationRootBlockDevice)(nil)).Elem() +func (InstanceMetadataOptionsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**InstanceMetadataOptions)(nil)).Elem() } -func (o LaunchConfigurationRootBlockDevicePtrOutput) ToLaunchConfigurationRootBlockDevicePtrOutput() LaunchConfigurationRootBlockDevicePtrOutput { +func (o InstanceMetadataOptionsPtrOutput) ToInstanceMetadataOptionsPtrOutput() InstanceMetadataOptionsPtrOutput { return o } -func (o LaunchConfigurationRootBlockDevicePtrOutput) ToLaunchConfigurationRootBlockDevicePtrOutputWithContext(ctx context.Context) LaunchConfigurationRootBlockDevicePtrOutput { +func (o InstanceMetadataOptionsPtrOutput) ToInstanceMetadataOptionsPtrOutputWithContext(ctx context.Context) InstanceMetadataOptionsPtrOutput { return o } -func (o LaunchConfigurationRootBlockDevicePtrOutput) Elem() LaunchConfigurationRootBlockDeviceOutput { - return o.ApplyT(func(v *LaunchConfigurationRootBlockDevice) LaunchConfigurationRootBlockDevice { +func (o InstanceMetadataOptionsPtrOutput) Elem() InstanceMetadataOptionsOutput { + return o.ApplyT(func(v *InstanceMetadataOptions) InstanceMetadataOptions { if v != nil { return *v } - var ret LaunchConfigurationRootBlockDevice + var ret InstanceMetadataOptions return ret - }).(LaunchConfigurationRootBlockDeviceOutput) -} - -func (o LaunchConfigurationRootBlockDevicePtrOutput) DeleteOnTermination() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *LaunchConfigurationRootBlockDevice) *bool { - if v == nil { - return nil - } - return v.DeleteOnTermination - }).(pulumi.BoolPtrOutput) + }).(InstanceMetadataOptionsOutput) } -func (o LaunchConfigurationRootBlockDevicePtrOutput) Encrypted() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *LaunchConfigurationRootBlockDevice) *bool { +// Whether the metadata service is available. Valid values include `enabled` or `disabled`. Defaults to `enabled`. +func (o InstanceMetadataOptionsPtrOutput) HttpEndpoint() pulumi.StringPtrOutput { + return o.ApplyT(func(v *InstanceMetadataOptions) *string { if v == nil { return nil } - return v.Encrypted - }).(pulumi.BoolPtrOutput) + return v.HttpEndpoint + }).(pulumi.StringPtrOutput) } -func (o LaunchConfigurationRootBlockDevicePtrOutput) Iops() pulumi.IntPtrOutput { - return o.ApplyT(func(v *LaunchConfigurationRootBlockDevice) *int { +// Whether the IPv6 endpoint for the instance metadata service is enabled. Defaults to `disabled`. +func (o InstanceMetadataOptionsPtrOutput) HttpProtocolIpv6() pulumi.StringPtrOutput { + return o.ApplyT(func(v *InstanceMetadataOptions) *string { if v == nil { return nil } - return v.Iops - }).(pulumi.IntPtrOutput) + return v.HttpProtocolIpv6 + }).(pulumi.StringPtrOutput) } -func (o LaunchConfigurationRootBlockDevicePtrOutput) Throughput() pulumi.IntPtrOutput { - return o.ApplyT(func(v *LaunchConfigurationRootBlockDevice) *int { +// Desired HTTP PUT response hop limit for instance metadata requests. The larger the number, the further instance metadata requests can travel. Valid values are integer from `1` to `64`. Defaults to `1`. +func (o InstanceMetadataOptionsPtrOutput) HttpPutResponseHopLimit() pulumi.IntPtrOutput { + return o.ApplyT(func(v *InstanceMetadataOptions) *int { if v == nil { return nil } - return v.Throughput + return v.HttpPutResponseHopLimit }).(pulumi.IntPtrOutput) } -func (o LaunchConfigurationRootBlockDevicePtrOutput) VolumeSize() pulumi.IntPtrOutput { - return o.ApplyT(func(v *LaunchConfigurationRootBlockDevice) *int { +// Whether or not the metadata service requires session tokens, also referred to as _Instance Metadata Service Version 2 (IMDSv2)_. Valid values include `optional` or `required`. +func (o InstanceMetadataOptionsPtrOutput) HttpTokens() pulumi.StringPtrOutput { + return o.ApplyT(func(v *InstanceMetadataOptions) *string { if v == nil { return nil } - return v.VolumeSize - }).(pulumi.IntPtrOutput) + return v.HttpTokens + }).(pulumi.StringPtrOutput) } -func (o LaunchConfigurationRootBlockDevicePtrOutput) VolumeType() pulumi.StringPtrOutput { - return o.ApplyT(func(v *LaunchConfigurationRootBlockDevice) *string { +// Enables or disables access to instance tags from the instance metadata service. Valid values include `enabled` or `disabled`. Defaults to `disabled`. +// +// For more information, see the documentation on the [Instance Metadata Service](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html). +func (o InstanceMetadataOptionsPtrOutput) InstanceMetadataTags() pulumi.StringPtrOutput { + return o.ApplyT(func(v *InstanceMetadataOptions) *string { if v == nil { return nil } - return v.VolumeType + return v.InstanceMetadataTags }).(pulumi.StringPtrOutput) } -type LaunchTemplateBlockDeviceMapping struct { - // The name of the device to mount. - DeviceName *string `pulumi:"deviceName"` - // Configure EBS volume properties. - Ebs *LaunchTemplateBlockDeviceMappingEbs `pulumi:"ebs"` - // Suppresses the specified device included in the AMI's block device mapping. - NoDevice *string `pulumi:"noDevice"` - // The [Instance Store Device - // Name](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html#InstanceStoreDeviceNames) - // (e.g., `"ephemeral0"`). - VirtualName *string `pulumi:"virtualName"` +type InstanceNetworkInterface struct { + // Whether or not to delete the network interface on instance termination. Defaults to `false`. Currently, the only valid value is `false`, as this is only supported when creating new network interfaces when launching an instance. + DeleteOnTermination *bool `pulumi:"deleteOnTermination"` + // Integer index of the network interface attachment. Limited by instance type. + DeviceIndex int `pulumi:"deviceIndex"` + // Integer index of the network card. Limited by instance type. The default index is `0`. + NetworkCardIndex *int `pulumi:"networkCardIndex"` + // ID of the network interface to attach. + NetworkInterfaceId string `pulumi:"networkInterfaceId"` } -// LaunchTemplateBlockDeviceMappingInput is an input type that accepts LaunchTemplateBlockDeviceMappingArgs and LaunchTemplateBlockDeviceMappingOutput values. -// You can construct a concrete instance of `LaunchTemplateBlockDeviceMappingInput` via: +// InstanceNetworkInterfaceInput is an input type that accepts InstanceNetworkInterfaceArgs and InstanceNetworkInterfaceOutput values. +// You can construct a concrete instance of `InstanceNetworkInterfaceInput` via: // -// LaunchTemplateBlockDeviceMappingArgs{...} -type LaunchTemplateBlockDeviceMappingInput interface { +// InstanceNetworkInterfaceArgs{...} +type InstanceNetworkInterfaceInput interface { pulumi.Input - ToLaunchTemplateBlockDeviceMappingOutput() LaunchTemplateBlockDeviceMappingOutput - ToLaunchTemplateBlockDeviceMappingOutputWithContext(context.Context) LaunchTemplateBlockDeviceMappingOutput + ToInstanceNetworkInterfaceOutput() InstanceNetworkInterfaceOutput + ToInstanceNetworkInterfaceOutputWithContext(context.Context) InstanceNetworkInterfaceOutput } -type LaunchTemplateBlockDeviceMappingArgs struct { - // The name of the device to mount. - DeviceName pulumi.StringPtrInput `pulumi:"deviceName"` - // Configure EBS volume properties. - Ebs LaunchTemplateBlockDeviceMappingEbsPtrInput `pulumi:"ebs"` - // Suppresses the specified device included in the AMI's block device mapping. - NoDevice pulumi.StringPtrInput `pulumi:"noDevice"` - // The [Instance Store Device - // Name](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html#InstanceStoreDeviceNames) - // (e.g., `"ephemeral0"`). - VirtualName pulumi.StringPtrInput `pulumi:"virtualName"` +type InstanceNetworkInterfaceArgs struct { + // Whether or not to delete the network interface on instance termination. Defaults to `false`. Currently, the only valid value is `false`, as this is only supported when creating new network interfaces when launching an instance. + DeleteOnTermination pulumi.BoolPtrInput `pulumi:"deleteOnTermination"` + // Integer index of the network interface attachment. Limited by instance type. + DeviceIndex pulumi.IntInput `pulumi:"deviceIndex"` + // Integer index of the network card. Limited by instance type. The default index is `0`. + NetworkCardIndex pulumi.IntPtrInput `pulumi:"networkCardIndex"` + // ID of the network interface to attach. + NetworkInterfaceId pulumi.StringInput `pulumi:"networkInterfaceId"` } -func (LaunchTemplateBlockDeviceMappingArgs) ElementType() reflect.Type { - return reflect.TypeOf((*LaunchTemplateBlockDeviceMapping)(nil)).Elem() +func (InstanceNetworkInterfaceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*InstanceNetworkInterface)(nil)).Elem() } -func (i LaunchTemplateBlockDeviceMappingArgs) ToLaunchTemplateBlockDeviceMappingOutput() LaunchTemplateBlockDeviceMappingOutput { - return i.ToLaunchTemplateBlockDeviceMappingOutputWithContext(context.Background()) +func (i InstanceNetworkInterfaceArgs) ToInstanceNetworkInterfaceOutput() InstanceNetworkInterfaceOutput { + return i.ToInstanceNetworkInterfaceOutputWithContext(context.Background()) } -func (i LaunchTemplateBlockDeviceMappingArgs) ToLaunchTemplateBlockDeviceMappingOutputWithContext(ctx context.Context) LaunchTemplateBlockDeviceMappingOutput { - return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateBlockDeviceMappingOutput) +func (i InstanceNetworkInterfaceArgs) ToInstanceNetworkInterfaceOutputWithContext(ctx context.Context) InstanceNetworkInterfaceOutput { + return pulumi.ToOutputWithContext(ctx, i).(InstanceNetworkInterfaceOutput) } -// LaunchTemplateBlockDeviceMappingArrayInput is an input type that accepts LaunchTemplateBlockDeviceMappingArray and LaunchTemplateBlockDeviceMappingArrayOutput values. -// You can construct a concrete instance of `LaunchTemplateBlockDeviceMappingArrayInput` via: +// InstanceNetworkInterfaceArrayInput is an input type that accepts InstanceNetworkInterfaceArray and InstanceNetworkInterfaceArrayOutput values. +// You can construct a concrete instance of `InstanceNetworkInterfaceArrayInput` via: // -// LaunchTemplateBlockDeviceMappingArray{ LaunchTemplateBlockDeviceMappingArgs{...} } -type LaunchTemplateBlockDeviceMappingArrayInput interface { +// InstanceNetworkInterfaceArray{ InstanceNetworkInterfaceArgs{...} } +type InstanceNetworkInterfaceArrayInput interface { pulumi.Input - ToLaunchTemplateBlockDeviceMappingArrayOutput() LaunchTemplateBlockDeviceMappingArrayOutput - ToLaunchTemplateBlockDeviceMappingArrayOutputWithContext(context.Context) LaunchTemplateBlockDeviceMappingArrayOutput + ToInstanceNetworkInterfaceArrayOutput() InstanceNetworkInterfaceArrayOutput + ToInstanceNetworkInterfaceArrayOutputWithContext(context.Context) InstanceNetworkInterfaceArrayOutput } -type LaunchTemplateBlockDeviceMappingArray []LaunchTemplateBlockDeviceMappingInput +type InstanceNetworkInterfaceArray []InstanceNetworkInterfaceInput -func (LaunchTemplateBlockDeviceMappingArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]LaunchTemplateBlockDeviceMapping)(nil)).Elem() +func (InstanceNetworkInterfaceArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]InstanceNetworkInterface)(nil)).Elem() } -func (i LaunchTemplateBlockDeviceMappingArray) ToLaunchTemplateBlockDeviceMappingArrayOutput() LaunchTemplateBlockDeviceMappingArrayOutput { - return i.ToLaunchTemplateBlockDeviceMappingArrayOutputWithContext(context.Background()) +func (i InstanceNetworkInterfaceArray) ToInstanceNetworkInterfaceArrayOutput() InstanceNetworkInterfaceArrayOutput { + return i.ToInstanceNetworkInterfaceArrayOutputWithContext(context.Background()) } -func (i LaunchTemplateBlockDeviceMappingArray) ToLaunchTemplateBlockDeviceMappingArrayOutputWithContext(ctx context.Context) LaunchTemplateBlockDeviceMappingArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateBlockDeviceMappingArrayOutput) +func (i InstanceNetworkInterfaceArray) ToInstanceNetworkInterfaceArrayOutputWithContext(ctx context.Context) InstanceNetworkInterfaceArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(InstanceNetworkInterfaceArrayOutput) } -type LaunchTemplateBlockDeviceMappingOutput struct{ *pulumi.OutputState } +type InstanceNetworkInterfaceOutput struct{ *pulumi.OutputState } -func (LaunchTemplateBlockDeviceMappingOutput) ElementType() reflect.Type { - return reflect.TypeOf((*LaunchTemplateBlockDeviceMapping)(nil)).Elem() +func (InstanceNetworkInterfaceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*InstanceNetworkInterface)(nil)).Elem() } -func (o LaunchTemplateBlockDeviceMappingOutput) ToLaunchTemplateBlockDeviceMappingOutput() LaunchTemplateBlockDeviceMappingOutput { +func (o InstanceNetworkInterfaceOutput) ToInstanceNetworkInterfaceOutput() InstanceNetworkInterfaceOutput { return o } -func (o LaunchTemplateBlockDeviceMappingOutput) ToLaunchTemplateBlockDeviceMappingOutputWithContext(ctx context.Context) LaunchTemplateBlockDeviceMappingOutput { +func (o InstanceNetworkInterfaceOutput) ToInstanceNetworkInterfaceOutputWithContext(ctx context.Context) InstanceNetworkInterfaceOutput { return o } -// The name of the device to mount. -func (o LaunchTemplateBlockDeviceMappingOutput) DeviceName() pulumi.StringPtrOutput { - return o.ApplyT(func(v LaunchTemplateBlockDeviceMapping) *string { return v.DeviceName }).(pulumi.StringPtrOutput) +// Whether or not to delete the network interface on instance termination. Defaults to `false`. Currently, the only valid value is `false`, as this is only supported when creating new network interfaces when launching an instance. +func (o InstanceNetworkInterfaceOutput) DeleteOnTermination() pulumi.BoolPtrOutput { + return o.ApplyT(func(v InstanceNetworkInterface) *bool { return v.DeleteOnTermination }).(pulumi.BoolPtrOutput) } -// Configure EBS volume properties. -func (o LaunchTemplateBlockDeviceMappingOutput) Ebs() LaunchTemplateBlockDeviceMappingEbsPtrOutput { - return o.ApplyT(func(v LaunchTemplateBlockDeviceMapping) *LaunchTemplateBlockDeviceMappingEbs { return v.Ebs }).(LaunchTemplateBlockDeviceMappingEbsPtrOutput) +// Integer index of the network interface attachment. Limited by instance type. +func (o InstanceNetworkInterfaceOutput) DeviceIndex() pulumi.IntOutput { + return o.ApplyT(func(v InstanceNetworkInterface) int { return v.DeviceIndex }).(pulumi.IntOutput) } -// Suppresses the specified device included in the AMI's block device mapping. -func (o LaunchTemplateBlockDeviceMappingOutput) NoDevice() pulumi.StringPtrOutput { - return o.ApplyT(func(v LaunchTemplateBlockDeviceMapping) *string { return v.NoDevice }).(pulumi.StringPtrOutput) +// Integer index of the network card. Limited by instance type. The default index is `0`. +func (o InstanceNetworkInterfaceOutput) NetworkCardIndex() pulumi.IntPtrOutput { + return o.ApplyT(func(v InstanceNetworkInterface) *int { return v.NetworkCardIndex }).(pulumi.IntPtrOutput) } -// The [Instance Store Device -// Name](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html#InstanceStoreDeviceNames) -// (e.g., `"ephemeral0"`). -func (o LaunchTemplateBlockDeviceMappingOutput) VirtualName() pulumi.StringPtrOutput { - return o.ApplyT(func(v LaunchTemplateBlockDeviceMapping) *string { return v.VirtualName }).(pulumi.StringPtrOutput) +// ID of the network interface to attach. +func (o InstanceNetworkInterfaceOutput) NetworkInterfaceId() pulumi.StringOutput { + return o.ApplyT(func(v InstanceNetworkInterface) string { return v.NetworkInterfaceId }).(pulumi.StringOutput) } -type LaunchTemplateBlockDeviceMappingArrayOutput struct{ *pulumi.OutputState } +type InstanceNetworkInterfaceArrayOutput struct{ *pulumi.OutputState } -func (LaunchTemplateBlockDeviceMappingArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]LaunchTemplateBlockDeviceMapping)(nil)).Elem() +func (InstanceNetworkInterfaceArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]InstanceNetworkInterface)(nil)).Elem() } -func (o LaunchTemplateBlockDeviceMappingArrayOutput) ToLaunchTemplateBlockDeviceMappingArrayOutput() LaunchTemplateBlockDeviceMappingArrayOutput { +func (o InstanceNetworkInterfaceArrayOutput) ToInstanceNetworkInterfaceArrayOutput() InstanceNetworkInterfaceArrayOutput { return o } -func (o LaunchTemplateBlockDeviceMappingArrayOutput) ToLaunchTemplateBlockDeviceMappingArrayOutputWithContext(ctx context.Context) LaunchTemplateBlockDeviceMappingArrayOutput { +func (o InstanceNetworkInterfaceArrayOutput) ToInstanceNetworkInterfaceArrayOutputWithContext(ctx context.Context) InstanceNetworkInterfaceArrayOutput { return o } -func (o LaunchTemplateBlockDeviceMappingArrayOutput) Index(i pulumi.IntInput) LaunchTemplateBlockDeviceMappingOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) LaunchTemplateBlockDeviceMapping { - return vs[0].([]LaunchTemplateBlockDeviceMapping)[vs[1].(int)] - }).(LaunchTemplateBlockDeviceMappingOutput) +func (o InstanceNetworkInterfaceArrayOutput) Index(i pulumi.IntInput) InstanceNetworkInterfaceOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) InstanceNetworkInterface { + return vs[0].([]InstanceNetworkInterface)[vs[1].(int)] + }).(InstanceNetworkInterfaceOutput) } -type LaunchTemplateBlockDeviceMappingEbs struct { - // Whether the volume should be destroyed on instance termination. - // See [Preserving Amazon EBS Volumes on Instance Termination](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/preserving-volumes-on-termination.html) for more information. - DeleteOnTermination *string `pulumi:"deleteOnTermination"` - // Enables [EBS encryption](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html) on the volume. - // Cannot be used with `snapshotId`. - Encrypted *string `pulumi:"encrypted"` - // The amount of provisioned [IOPS](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-io-characteristics.html). - // This must be set with a `volumeType` of `"io1/io2/gp3"`. - Iops *int `pulumi:"iops"` - // Identifier (key ID, key alias, key ARN, or alias ARN) of the customer managed KMS key to use for EBS encryption. - // `encrypted` must be set to `true` when this is set. - KmsKeyId *string `pulumi:"kmsKeyId"` - // The Snapshot ID to mount. - SnapshotId *string `pulumi:"snapshotId"` - // The throughput to provision for a `gp3` volume in MiB/s (specified as an integer, e.g., 500), with a maximum of 1,000 MiB/s. - Throughput *int `pulumi:"throughput"` - // The volume initialization rate in MiB/s (specified as an integer, e.g. 100), with a minimum of 100 MiB/s and maximum of 300 MiB/s. - VolumeInitializationRate *int `pulumi:"volumeInitializationRate"` - // The size of the volume in gigabytes. - VolumeSize *int `pulumi:"volumeSize"` - // The volume type. - // Can be one of `standard`, `gp2`, `gp3`, `io1`, `io2`, `sc1` or `st1`. - VolumeType *string `pulumi:"volumeType"` +type InstancePrimaryNetworkInterface struct { + // Whether the network interface will be deleted when the instance terminates. + DeleteOnTermination *bool `pulumi:"deleteOnTermination"` + // ID of the network interface to attach. + NetworkInterfaceId string `pulumi:"networkInterfaceId"` } -// LaunchTemplateBlockDeviceMappingEbsInput is an input type that accepts LaunchTemplateBlockDeviceMappingEbsArgs and LaunchTemplateBlockDeviceMappingEbsOutput values. -// You can construct a concrete instance of `LaunchTemplateBlockDeviceMappingEbsInput` via: +// InstancePrimaryNetworkInterfaceInput is an input type that accepts InstancePrimaryNetworkInterfaceArgs and InstancePrimaryNetworkInterfaceOutput values. +// You can construct a concrete instance of `InstancePrimaryNetworkInterfaceInput` via: // -// LaunchTemplateBlockDeviceMappingEbsArgs{...} -type LaunchTemplateBlockDeviceMappingEbsInput interface { +// InstancePrimaryNetworkInterfaceArgs{...} +type InstancePrimaryNetworkInterfaceInput interface { pulumi.Input - ToLaunchTemplateBlockDeviceMappingEbsOutput() LaunchTemplateBlockDeviceMappingEbsOutput - ToLaunchTemplateBlockDeviceMappingEbsOutputWithContext(context.Context) LaunchTemplateBlockDeviceMappingEbsOutput + ToInstancePrimaryNetworkInterfaceOutput() InstancePrimaryNetworkInterfaceOutput + ToInstancePrimaryNetworkInterfaceOutputWithContext(context.Context) InstancePrimaryNetworkInterfaceOutput } -type LaunchTemplateBlockDeviceMappingEbsArgs struct { - // Whether the volume should be destroyed on instance termination. - // See [Preserving Amazon EBS Volumes on Instance Termination](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/preserving-volumes-on-termination.html) for more information. - DeleteOnTermination pulumi.StringPtrInput `pulumi:"deleteOnTermination"` - // Enables [EBS encryption](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html) on the volume. - // Cannot be used with `snapshotId`. - Encrypted pulumi.StringPtrInput `pulumi:"encrypted"` - // The amount of provisioned [IOPS](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-io-characteristics.html). - // This must be set with a `volumeType` of `"io1/io2/gp3"`. - Iops pulumi.IntPtrInput `pulumi:"iops"` - // Identifier (key ID, key alias, key ARN, or alias ARN) of the customer managed KMS key to use for EBS encryption. - // `encrypted` must be set to `true` when this is set. - KmsKeyId pulumi.StringPtrInput `pulumi:"kmsKeyId"` - // The Snapshot ID to mount. - SnapshotId pulumi.StringPtrInput `pulumi:"snapshotId"` - // The throughput to provision for a `gp3` volume in MiB/s (specified as an integer, e.g., 500), with a maximum of 1,000 MiB/s. - Throughput pulumi.IntPtrInput `pulumi:"throughput"` - // The volume initialization rate in MiB/s (specified as an integer, e.g. 100), with a minimum of 100 MiB/s and maximum of 300 MiB/s. - VolumeInitializationRate pulumi.IntPtrInput `pulumi:"volumeInitializationRate"` - // The size of the volume in gigabytes. - VolumeSize pulumi.IntPtrInput `pulumi:"volumeSize"` - // The volume type. - // Can be one of `standard`, `gp2`, `gp3`, `io1`, `io2`, `sc1` or `st1`. - VolumeType pulumi.StringPtrInput `pulumi:"volumeType"` +type InstancePrimaryNetworkInterfaceArgs struct { + // Whether the network interface will be deleted when the instance terminates. + DeleteOnTermination pulumi.BoolPtrInput `pulumi:"deleteOnTermination"` + // ID of the network interface to attach. + NetworkInterfaceId pulumi.StringInput `pulumi:"networkInterfaceId"` } -func (LaunchTemplateBlockDeviceMappingEbsArgs) ElementType() reflect.Type { - return reflect.TypeOf((*LaunchTemplateBlockDeviceMappingEbs)(nil)).Elem() +func (InstancePrimaryNetworkInterfaceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*InstancePrimaryNetworkInterface)(nil)).Elem() } -func (i LaunchTemplateBlockDeviceMappingEbsArgs) ToLaunchTemplateBlockDeviceMappingEbsOutput() LaunchTemplateBlockDeviceMappingEbsOutput { - return i.ToLaunchTemplateBlockDeviceMappingEbsOutputWithContext(context.Background()) +func (i InstancePrimaryNetworkInterfaceArgs) ToInstancePrimaryNetworkInterfaceOutput() InstancePrimaryNetworkInterfaceOutput { + return i.ToInstancePrimaryNetworkInterfaceOutputWithContext(context.Background()) } -func (i LaunchTemplateBlockDeviceMappingEbsArgs) ToLaunchTemplateBlockDeviceMappingEbsOutputWithContext(ctx context.Context) LaunchTemplateBlockDeviceMappingEbsOutput { - return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateBlockDeviceMappingEbsOutput) +func (i InstancePrimaryNetworkInterfaceArgs) ToInstancePrimaryNetworkInterfaceOutputWithContext(ctx context.Context) InstancePrimaryNetworkInterfaceOutput { + return pulumi.ToOutputWithContext(ctx, i).(InstancePrimaryNetworkInterfaceOutput) } -func (i LaunchTemplateBlockDeviceMappingEbsArgs) ToLaunchTemplateBlockDeviceMappingEbsPtrOutput() LaunchTemplateBlockDeviceMappingEbsPtrOutput { - return i.ToLaunchTemplateBlockDeviceMappingEbsPtrOutputWithContext(context.Background()) +func (i InstancePrimaryNetworkInterfaceArgs) ToInstancePrimaryNetworkInterfacePtrOutput() InstancePrimaryNetworkInterfacePtrOutput { + return i.ToInstancePrimaryNetworkInterfacePtrOutputWithContext(context.Background()) } -func (i LaunchTemplateBlockDeviceMappingEbsArgs) ToLaunchTemplateBlockDeviceMappingEbsPtrOutputWithContext(ctx context.Context) LaunchTemplateBlockDeviceMappingEbsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateBlockDeviceMappingEbsOutput).ToLaunchTemplateBlockDeviceMappingEbsPtrOutputWithContext(ctx) +func (i InstancePrimaryNetworkInterfaceArgs) ToInstancePrimaryNetworkInterfacePtrOutputWithContext(ctx context.Context) InstancePrimaryNetworkInterfacePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(InstancePrimaryNetworkInterfaceOutput).ToInstancePrimaryNetworkInterfacePtrOutputWithContext(ctx) } -// LaunchTemplateBlockDeviceMappingEbsPtrInput is an input type that accepts LaunchTemplateBlockDeviceMappingEbsArgs, LaunchTemplateBlockDeviceMappingEbsPtr and LaunchTemplateBlockDeviceMappingEbsPtrOutput values. -// You can construct a concrete instance of `LaunchTemplateBlockDeviceMappingEbsPtrInput` via: +// InstancePrimaryNetworkInterfacePtrInput is an input type that accepts InstancePrimaryNetworkInterfaceArgs, InstancePrimaryNetworkInterfacePtr and InstancePrimaryNetworkInterfacePtrOutput values. +// You can construct a concrete instance of `InstancePrimaryNetworkInterfacePtrInput` via: // -// LaunchTemplateBlockDeviceMappingEbsArgs{...} +// InstancePrimaryNetworkInterfaceArgs{...} // // or: // // nil -type LaunchTemplateBlockDeviceMappingEbsPtrInput interface { +type InstancePrimaryNetworkInterfacePtrInput interface { pulumi.Input - ToLaunchTemplateBlockDeviceMappingEbsPtrOutput() LaunchTemplateBlockDeviceMappingEbsPtrOutput - ToLaunchTemplateBlockDeviceMappingEbsPtrOutputWithContext(context.Context) LaunchTemplateBlockDeviceMappingEbsPtrOutput + ToInstancePrimaryNetworkInterfacePtrOutput() InstancePrimaryNetworkInterfacePtrOutput + ToInstancePrimaryNetworkInterfacePtrOutputWithContext(context.Context) InstancePrimaryNetworkInterfacePtrOutput } -type launchTemplateBlockDeviceMappingEbsPtrType LaunchTemplateBlockDeviceMappingEbsArgs +type instancePrimaryNetworkInterfacePtrType InstancePrimaryNetworkInterfaceArgs -func LaunchTemplateBlockDeviceMappingEbsPtr(v *LaunchTemplateBlockDeviceMappingEbsArgs) LaunchTemplateBlockDeviceMappingEbsPtrInput { - return (*launchTemplateBlockDeviceMappingEbsPtrType)(v) +func InstancePrimaryNetworkInterfacePtr(v *InstancePrimaryNetworkInterfaceArgs) InstancePrimaryNetworkInterfacePtrInput { + return (*instancePrimaryNetworkInterfacePtrType)(v) } -func (*launchTemplateBlockDeviceMappingEbsPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**LaunchTemplateBlockDeviceMappingEbs)(nil)).Elem() +func (*instancePrimaryNetworkInterfacePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**InstancePrimaryNetworkInterface)(nil)).Elem() } -func (i *launchTemplateBlockDeviceMappingEbsPtrType) ToLaunchTemplateBlockDeviceMappingEbsPtrOutput() LaunchTemplateBlockDeviceMappingEbsPtrOutput { - return i.ToLaunchTemplateBlockDeviceMappingEbsPtrOutputWithContext(context.Background()) +func (i *instancePrimaryNetworkInterfacePtrType) ToInstancePrimaryNetworkInterfacePtrOutput() InstancePrimaryNetworkInterfacePtrOutput { + return i.ToInstancePrimaryNetworkInterfacePtrOutputWithContext(context.Background()) } -func (i *launchTemplateBlockDeviceMappingEbsPtrType) ToLaunchTemplateBlockDeviceMappingEbsPtrOutputWithContext(ctx context.Context) LaunchTemplateBlockDeviceMappingEbsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateBlockDeviceMappingEbsPtrOutput) +func (i *instancePrimaryNetworkInterfacePtrType) ToInstancePrimaryNetworkInterfacePtrOutputWithContext(ctx context.Context) InstancePrimaryNetworkInterfacePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(InstancePrimaryNetworkInterfacePtrOutput) } -type LaunchTemplateBlockDeviceMappingEbsOutput struct{ *pulumi.OutputState } +type InstancePrimaryNetworkInterfaceOutput struct{ *pulumi.OutputState } -func (LaunchTemplateBlockDeviceMappingEbsOutput) ElementType() reflect.Type { - return reflect.TypeOf((*LaunchTemplateBlockDeviceMappingEbs)(nil)).Elem() +func (InstancePrimaryNetworkInterfaceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*InstancePrimaryNetworkInterface)(nil)).Elem() } -func (o LaunchTemplateBlockDeviceMappingEbsOutput) ToLaunchTemplateBlockDeviceMappingEbsOutput() LaunchTemplateBlockDeviceMappingEbsOutput { +func (o InstancePrimaryNetworkInterfaceOutput) ToInstancePrimaryNetworkInterfaceOutput() InstancePrimaryNetworkInterfaceOutput { return o } -func (o LaunchTemplateBlockDeviceMappingEbsOutput) ToLaunchTemplateBlockDeviceMappingEbsOutputWithContext(ctx context.Context) LaunchTemplateBlockDeviceMappingEbsOutput { +func (o InstancePrimaryNetworkInterfaceOutput) ToInstancePrimaryNetworkInterfaceOutputWithContext(ctx context.Context) InstancePrimaryNetworkInterfaceOutput { return o } -func (o LaunchTemplateBlockDeviceMappingEbsOutput) ToLaunchTemplateBlockDeviceMappingEbsPtrOutput() LaunchTemplateBlockDeviceMappingEbsPtrOutput { - return o.ToLaunchTemplateBlockDeviceMappingEbsPtrOutputWithContext(context.Background()) +func (o InstancePrimaryNetworkInterfaceOutput) ToInstancePrimaryNetworkInterfacePtrOutput() InstancePrimaryNetworkInterfacePtrOutput { + return o.ToInstancePrimaryNetworkInterfacePtrOutputWithContext(context.Background()) } -func (o LaunchTemplateBlockDeviceMappingEbsOutput) ToLaunchTemplateBlockDeviceMappingEbsPtrOutputWithContext(ctx context.Context) LaunchTemplateBlockDeviceMappingEbsPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v LaunchTemplateBlockDeviceMappingEbs) *LaunchTemplateBlockDeviceMappingEbs { +func (o InstancePrimaryNetworkInterfaceOutput) ToInstancePrimaryNetworkInterfacePtrOutputWithContext(ctx context.Context) InstancePrimaryNetworkInterfacePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v InstancePrimaryNetworkInterface) *InstancePrimaryNetworkInterface { return &v - }).(LaunchTemplateBlockDeviceMappingEbsPtrOutput) -} - -// Whether the volume should be destroyed on instance termination. -// See [Preserving Amazon EBS Volumes on Instance Termination](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/preserving-volumes-on-termination.html) for more information. -func (o LaunchTemplateBlockDeviceMappingEbsOutput) DeleteOnTermination() pulumi.StringPtrOutput { - return o.ApplyT(func(v LaunchTemplateBlockDeviceMappingEbs) *string { return v.DeleteOnTermination }).(pulumi.StringPtrOutput) -} - -// Enables [EBS encryption](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html) on the volume. -// Cannot be used with `snapshotId`. -func (o LaunchTemplateBlockDeviceMappingEbsOutput) Encrypted() pulumi.StringPtrOutput { - return o.ApplyT(func(v LaunchTemplateBlockDeviceMappingEbs) *string { return v.Encrypted }).(pulumi.StringPtrOutput) -} - -// The amount of provisioned [IOPS](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-io-characteristics.html). -// This must be set with a `volumeType` of `"io1/io2/gp3"`. -func (o LaunchTemplateBlockDeviceMappingEbsOutput) Iops() pulumi.IntPtrOutput { - return o.ApplyT(func(v LaunchTemplateBlockDeviceMappingEbs) *int { return v.Iops }).(pulumi.IntPtrOutput) -} - -// Identifier (key ID, key alias, key ARN, or alias ARN) of the customer managed KMS key to use for EBS encryption. -// `encrypted` must be set to `true` when this is set. -func (o LaunchTemplateBlockDeviceMappingEbsOutput) KmsKeyId() pulumi.StringPtrOutput { - return o.ApplyT(func(v LaunchTemplateBlockDeviceMappingEbs) *string { return v.KmsKeyId }).(pulumi.StringPtrOutput) -} - -// The Snapshot ID to mount. -func (o LaunchTemplateBlockDeviceMappingEbsOutput) SnapshotId() pulumi.StringPtrOutput { - return o.ApplyT(func(v LaunchTemplateBlockDeviceMappingEbs) *string { return v.SnapshotId }).(pulumi.StringPtrOutput) -} - -// The throughput to provision for a `gp3` volume in MiB/s (specified as an integer, e.g., 500), with a maximum of 1,000 MiB/s. -func (o LaunchTemplateBlockDeviceMappingEbsOutput) Throughput() pulumi.IntPtrOutput { - return o.ApplyT(func(v LaunchTemplateBlockDeviceMappingEbs) *int { return v.Throughput }).(pulumi.IntPtrOutput) -} - -// The volume initialization rate in MiB/s (specified as an integer, e.g. 100), with a minimum of 100 MiB/s and maximum of 300 MiB/s. -func (o LaunchTemplateBlockDeviceMappingEbsOutput) VolumeInitializationRate() pulumi.IntPtrOutput { - return o.ApplyT(func(v LaunchTemplateBlockDeviceMappingEbs) *int { return v.VolumeInitializationRate }).(pulumi.IntPtrOutput) + }).(InstancePrimaryNetworkInterfacePtrOutput) } -// The size of the volume in gigabytes. -func (o LaunchTemplateBlockDeviceMappingEbsOutput) VolumeSize() pulumi.IntPtrOutput { - return o.ApplyT(func(v LaunchTemplateBlockDeviceMappingEbs) *int { return v.VolumeSize }).(pulumi.IntPtrOutput) +// Whether the network interface will be deleted when the instance terminates. +func (o InstancePrimaryNetworkInterfaceOutput) DeleteOnTermination() pulumi.BoolPtrOutput { + return o.ApplyT(func(v InstancePrimaryNetworkInterface) *bool { return v.DeleteOnTermination }).(pulumi.BoolPtrOutput) } -// The volume type. -// Can be one of `standard`, `gp2`, `gp3`, `io1`, `io2`, `sc1` or `st1`. -func (o LaunchTemplateBlockDeviceMappingEbsOutput) VolumeType() pulumi.StringPtrOutput { - return o.ApplyT(func(v LaunchTemplateBlockDeviceMappingEbs) *string { return v.VolumeType }).(pulumi.StringPtrOutput) +// ID of the network interface to attach. +func (o InstancePrimaryNetworkInterfaceOutput) NetworkInterfaceId() pulumi.StringOutput { + return o.ApplyT(func(v InstancePrimaryNetworkInterface) string { return v.NetworkInterfaceId }).(pulumi.StringOutput) } -type LaunchTemplateBlockDeviceMappingEbsPtrOutput struct{ *pulumi.OutputState } +type InstancePrimaryNetworkInterfacePtrOutput struct{ *pulumi.OutputState } -func (LaunchTemplateBlockDeviceMappingEbsPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**LaunchTemplateBlockDeviceMappingEbs)(nil)).Elem() +func (InstancePrimaryNetworkInterfacePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**InstancePrimaryNetworkInterface)(nil)).Elem() } -func (o LaunchTemplateBlockDeviceMappingEbsPtrOutput) ToLaunchTemplateBlockDeviceMappingEbsPtrOutput() LaunchTemplateBlockDeviceMappingEbsPtrOutput { +func (o InstancePrimaryNetworkInterfacePtrOutput) ToInstancePrimaryNetworkInterfacePtrOutput() InstancePrimaryNetworkInterfacePtrOutput { return o } -func (o LaunchTemplateBlockDeviceMappingEbsPtrOutput) ToLaunchTemplateBlockDeviceMappingEbsPtrOutputWithContext(ctx context.Context) LaunchTemplateBlockDeviceMappingEbsPtrOutput { +func (o InstancePrimaryNetworkInterfacePtrOutput) ToInstancePrimaryNetworkInterfacePtrOutputWithContext(ctx context.Context) InstancePrimaryNetworkInterfacePtrOutput { return o } -func (o LaunchTemplateBlockDeviceMappingEbsPtrOutput) Elem() LaunchTemplateBlockDeviceMappingEbsOutput { - return o.ApplyT(func(v *LaunchTemplateBlockDeviceMappingEbs) LaunchTemplateBlockDeviceMappingEbs { +func (o InstancePrimaryNetworkInterfacePtrOutput) Elem() InstancePrimaryNetworkInterfaceOutput { + return o.ApplyT(func(v *InstancePrimaryNetworkInterface) InstancePrimaryNetworkInterface { if v != nil { return *v } - var ret LaunchTemplateBlockDeviceMappingEbs + var ret InstancePrimaryNetworkInterface return ret - }).(LaunchTemplateBlockDeviceMappingEbsOutput) + }).(InstancePrimaryNetworkInterfaceOutput) } -// Whether the volume should be destroyed on instance termination. -// See [Preserving Amazon EBS Volumes on Instance Termination](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/preserving-volumes-on-termination.html) for more information. -func (o LaunchTemplateBlockDeviceMappingEbsPtrOutput) DeleteOnTermination() pulumi.StringPtrOutput { - return o.ApplyT(func(v *LaunchTemplateBlockDeviceMappingEbs) *string { +// Whether the network interface will be deleted when the instance terminates. +func (o InstancePrimaryNetworkInterfacePtrOutput) DeleteOnTermination() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *InstancePrimaryNetworkInterface) *bool { if v == nil { return nil } return v.DeleteOnTermination - }).(pulumi.StringPtrOutput) -} - -// Enables [EBS encryption](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html) on the volume. -// Cannot be used with `snapshotId`. -func (o LaunchTemplateBlockDeviceMappingEbsPtrOutput) Encrypted() pulumi.StringPtrOutput { - return o.ApplyT(func(v *LaunchTemplateBlockDeviceMappingEbs) *string { - if v == nil { - return nil - } - return v.Encrypted - }).(pulumi.StringPtrOutput) -} - -// The amount of provisioned [IOPS](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-io-characteristics.html). -// This must be set with a `volumeType` of `"io1/io2/gp3"`. -func (o LaunchTemplateBlockDeviceMappingEbsPtrOutput) Iops() pulumi.IntPtrOutput { - return o.ApplyT(func(v *LaunchTemplateBlockDeviceMappingEbs) *int { - if v == nil { - return nil - } - return v.Iops - }).(pulumi.IntPtrOutput) -} - -// Identifier (key ID, key alias, key ARN, or alias ARN) of the customer managed KMS key to use for EBS encryption. -// `encrypted` must be set to `true` when this is set. -func (o LaunchTemplateBlockDeviceMappingEbsPtrOutput) KmsKeyId() pulumi.StringPtrOutput { - return o.ApplyT(func(v *LaunchTemplateBlockDeviceMappingEbs) *string { - if v == nil { - return nil - } - return v.KmsKeyId - }).(pulumi.StringPtrOutput) -} - -// The Snapshot ID to mount. -func (o LaunchTemplateBlockDeviceMappingEbsPtrOutput) SnapshotId() pulumi.StringPtrOutput { - return o.ApplyT(func(v *LaunchTemplateBlockDeviceMappingEbs) *string { - if v == nil { - return nil - } - return v.SnapshotId - }).(pulumi.StringPtrOutput) -} - -// The throughput to provision for a `gp3` volume in MiB/s (specified as an integer, e.g., 500), with a maximum of 1,000 MiB/s. -func (o LaunchTemplateBlockDeviceMappingEbsPtrOutput) Throughput() pulumi.IntPtrOutput { - return o.ApplyT(func(v *LaunchTemplateBlockDeviceMappingEbs) *int { - if v == nil { - return nil - } - return v.Throughput - }).(pulumi.IntPtrOutput) -} - -// The volume initialization rate in MiB/s (specified as an integer, e.g. 100), with a minimum of 100 MiB/s and maximum of 300 MiB/s. -func (o LaunchTemplateBlockDeviceMappingEbsPtrOutput) VolumeInitializationRate() pulumi.IntPtrOutput { - return o.ApplyT(func(v *LaunchTemplateBlockDeviceMappingEbs) *int { - if v == nil { - return nil - } - return v.VolumeInitializationRate - }).(pulumi.IntPtrOutput) -} - -// The size of the volume in gigabytes. -func (o LaunchTemplateBlockDeviceMappingEbsPtrOutput) VolumeSize() pulumi.IntPtrOutput { - return o.ApplyT(func(v *LaunchTemplateBlockDeviceMappingEbs) *int { - if v == nil { - return nil - } - return v.VolumeSize - }).(pulumi.IntPtrOutput) + }).(pulumi.BoolPtrOutput) } -// The volume type. -// Can be one of `standard`, `gp2`, `gp3`, `io1`, `io2`, `sc1` or `st1`. -func (o LaunchTemplateBlockDeviceMappingEbsPtrOutput) VolumeType() pulumi.StringPtrOutput { - return o.ApplyT(func(v *LaunchTemplateBlockDeviceMappingEbs) *string { +// ID of the network interface to attach. +func (o InstancePrimaryNetworkInterfacePtrOutput) NetworkInterfaceId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *InstancePrimaryNetworkInterface) *string { if v == nil { return nil } - return v.VolumeType + return &v.NetworkInterfaceId }).(pulumi.StringPtrOutput) } -type LaunchTemplateCapacityReservationSpecification struct { - // Indicates the instance's Capacity Reservation preferences. Can be `capacity-reservations-only`, `open` or `none`. If `capacityReservationId` or `capacityReservationResourceGroupArn` is specified in `capacityReservationTarget` block, either omit `capacityReservationPreference` or set it to `capacity-reservations-only`. - CapacityReservationPreference *string `pulumi:"capacityReservationPreference"` - // Used to target a specific Capacity Reservation: - CapacityReservationTarget *LaunchTemplateCapacityReservationSpecificationCapacityReservationTarget `pulumi:"capacityReservationTarget"` +type InstancePrivateDnsNameOptions struct { + // Indicates whether to respond to DNS queries for instance hostnames with DNS A records. + EnableResourceNameDnsARecord *bool `pulumi:"enableResourceNameDnsARecord"` + // Indicates whether to respond to DNS queries for instance hostnames with DNS AAAA records. + EnableResourceNameDnsAaaaRecord *bool `pulumi:"enableResourceNameDnsAaaaRecord"` + // Type of hostname for Amazon EC2 instances. For IPv4 only subnets, an instance DNS name must be based on the instance IPv4 address. For IPv6 native subnets, an instance DNS name must be based on the instance ID. For dual-stack subnets, you can specify whether DNS names use the instance IPv4 address or the instance ID. Valid values: `ip-name` and `resource-name`. + HostnameType *string `pulumi:"hostnameType"` } -// LaunchTemplateCapacityReservationSpecificationInput is an input type that accepts LaunchTemplateCapacityReservationSpecificationArgs and LaunchTemplateCapacityReservationSpecificationOutput values. -// You can construct a concrete instance of `LaunchTemplateCapacityReservationSpecificationInput` via: +// InstancePrivateDnsNameOptionsInput is an input type that accepts InstancePrivateDnsNameOptionsArgs and InstancePrivateDnsNameOptionsOutput values. +// You can construct a concrete instance of `InstancePrivateDnsNameOptionsInput` via: // -// LaunchTemplateCapacityReservationSpecificationArgs{...} -type LaunchTemplateCapacityReservationSpecificationInput interface { +// InstancePrivateDnsNameOptionsArgs{...} +type InstancePrivateDnsNameOptionsInput interface { pulumi.Input - ToLaunchTemplateCapacityReservationSpecificationOutput() LaunchTemplateCapacityReservationSpecificationOutput - ToLaunchTemplateCapacityReservationSpecificationOutputWithContext(context.Context) LaunchTemplateCapacityReservationSpecificationOutput + ToInstancePrivateDnsNameOptionsOutput() InstancePrivateDnsNameOptionsOutput + ToInstancePrivateDnsNameOptionsOutputWithContext(context.Context) InstancePrivateDnsNameOptionsOutput } -type LaunchTemplateCapacityReservationSpecificationArgs struct { - // Indicates the instance's Capacity Reservation preferences. Can be `capacity-reservations-only`, `open` or `none`. If `capacityReservationId` or `capacityReservationResourceGroupArn` is specified in `capacityReservationTarget` block, either omit `capacityReservationPreference` or set it to `capacity-reservations-only`. - CapacityReservationPreference pulumi.StringPtrInput `pulumi:"capacityReservationPreference"` - // Used to target a specific Capacity Reservation: - CapacityReservationTarget LaunchTemplateCapacityReservationSpecificationCapacityReservationTargetPtrInput `pulumi:"capacityReservationTarget"` +type InstancePrivateDnsNameOptionsArgs struct { + // Indicates whether to respond to DNS queries for instance hostnames with DNS A records. + EnableResourceNameDnsARecord pulumi.BoolPtrInput `pulumi:"enableResourceNameDnsARecord"` + // Indicates whether to respond to DNS queries for instance hostnames with DNS AAAA records. + EnableResourceNameDnsAaaaRecord pulumi.BoolPtrInput `pulumi:"enableResourceNameDnsAaaaRecord"` + // Type of hostname for Amazon EC2 instances. For IPv4 only subnets, an instance DNS name must be based on the instance IPv4 address. For IPv6 native subnets, an instance DNS name must be based on the instance ID. For dual-stack subnets, you can specify whether DNS names use the instance IPv4 address or the instance ID. Valid values: `ip-name` and `resource-name`. + HostnameType pulumi.StringPtrInput `pulumi:"hostnameType"` } -func (LaunchTemplateCapacityReservationSpecificationArgs) ElementType() reflect.Type { - return reflect.TypeOf((*LaunchTemplateCapacityReservationSpecification)(nil)).Elem() +func (InstancePrivateDnsNameOptionsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*InstancePrivateDnsNameOptions)(nil)).Elem() } -func (i LaunchTemplateCapacityReservationSpecificationArgs) ToLaunchTemplateCapacityReservationSpecificationOutput() LaunchTemplateCapacityReservationSpecificationOutput { - return i.ToLaunchTemplateCapacityReservationSpecificationOutputWithContext(context.Background()) +func (i InstancePrivateDnsNameOptionsArgs) ToInstancePrivateDnsNameOptionsOutput() InstancePrivateDnsNameOptionsOutput { + return i.ToInstancePrivateDnsNameOptionsOutputWithContext(context.Background()) } -func (i LaunchTemplateCapacityReservationSpecificationArgs) ToLaunchTemplateCapacityReservationSpecificationOutputWithContext(ctx context.Context) LaunchTemplateCapacityReservationSpecificationOutput { - return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateCapacityReservationSpecificationOutput) +func (i InstancePrivateDnsNameOptionsArgs) ToInstancePrivateDnsNameOptionsOutputWithContext(ctx context.Context) InstancePrivateDnsNameOptionsOutput { + return pulumi.ToOutputWithContext(ctx, i).(InstancePrivateDnsNameOptionsOutput) } -func (i LaunchTemplateCapacityReservationSpecificationArgs) ToLaunchTemplateCapacityReservationSpecificationPtrOutput() LaunchTemplateCapacityReservationSpecificationPtrOutput { - return i.ToLaunchTemplateCapacityReservationSpecificationPtrOutputWithContext(context.Background()) +func (i InstancePrivateDnsNameOptionsArgs) ToInstancePrivateDnsNameOptionsPtrOutput() InstancePrivateDnsNameOptionsPtrOutput { + return i.ToInstancePrivateDnsNameOptionsPtrOutputWithContext(context.Background()) } -func (i LaunchTemplateCapacityReservationSpecificationArgs) ToLaunchTemplateCapacityReservationSpecificationPtrOutputWithContext(ctx context.Context) LaunchTemplateCapacityReservationSpecificationPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateCapacityReservationSpecificationOutput).ToLaunchTemplateCapacityReservationSpecificationPtrOutputWithContext(ctx) +func (i InstancePrivateDnsNameOptionsArgs) ToInstancePrivateDnsNameOptionsPtrOutputWithContext(ctx context.Context) InstancePrivateDnsNameOptionsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(InstancePrivateDnsNameOptionsOutput).ToInstancePrivateDnsNameOptionsPtrOutputWithContext(ctx) } -// LaunchTemplateCapacityReservationSpecificationPtrInput is an input type that accepts LaunchTemplateCapacityReservationSpecificationArgs, LaunchTemplateCapacityReservationSpecificationPtr and LaunchTemplateCapacityReservationSpecificationPtrOutput values. -// You can construct a concrete instance of `LaunchTemplateCapacityReservationSpecificationPtrInput` via: +// InstancePrivateDnsNameOptionsPtrInput is an input type that accepts InstancePrivateDnsNameOptionsArgs, InstancePrivateDnsNameOptionsPtr and InstancePrivateDnsNameOptionsPtrOutput values. +// You can construct a concrete instance of `InstancePrivateDnsNameOptionsPtrInput` via: // -// LaunchTemplateCapacityReservationSpecificationArgs{...} +// InstancePrivateDnsNameOptionsArgs{...} // // or: // // nil -type LaunchTemplateCapacityReservationSpecificationPtrInput interface { +type InstancePrivateDnsNameOptionsPtrInput interface { pulumi.Input - ToLaunchTemplateCapacityReservationSpecificationPtrOutput() LaunchTemplateCapacityReservationSpecificationPtrOutput - ToLaunchTemplateCapacityReservationSpecificationPtrOutputWithContext(context.Context) LaunchTemplateCapacityReservationSpecificationPtrOutput + ToInstancePrivateDnsNameOptionsPtrOutput() InstancePrivateDnsNameOptionsPtrOutput + ToInstancePrivateDnsNameOptionsPtrOutputWithContext(context.Context) InstancePrivateDnsNameOptionsPtrOutput } -type launchTemplateCapacityReservationSpecificationPtrType LaunchTemplateCapacityReservationSpecificationArgs +type instancePrivateDnsNameOptionsPtrType InstancePrivateDnsNameOptionsArgs -func LaunchTemplateCapacityReservationSpecificationPtr(v *LaunchTemplateCapacityReservationSpecificationArgs) LaunchTemplateCapacityReservationSpecificationPtrInput { - return (*launchTemplateCapacityReservationSpecificationPtrType)(v) +func InstancePrivateDnsNameOptionsPtr(v *InstancePrivateDnsNameOptionsArgs) InstancePrivateDnsNameOptionsPtrInput { + return (*instancePrivateDnsNameOptionsPtrType)(v) } -func (*launchTemplateCapacityReservationSpecificationPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**LaunchTemplateCapacityReservationSpecification)(nil)).Elem() +func (*instancePrivateDnsNameOptionsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**InstancePrivateDnsNameOptions)(nil)).Elem() } -func (i *launchTemplateCapacityReservationSpecificationPtrType) ToLaunchTemplateCapacityReservationSpecificationPtrOutput() LaunchTemplateCapacityReservationSpecificationPtrOutput { - return i.ToLaunchTemplateCapacityReservationSpecificationPtrOutputWithContext(context.Background()) +func (i *instancePrivateDnsNameOptionsPtrType) ToInstancePrivateDnsNameOptionsPtrOutput() InstancePrivateDnsNameOptionsPtrOutput { + return i.ToInstancePrivateDnsNameOptionsPtrOutputWithContext(context.Background()) } -func (i *launchTemplateCapacityReservationSpecificationPtrType) ToLaunchTemplateCapacityReservationSpecificationPtrOutputWithContext(ctx context.Context) LaunchTemplateCapacityReservationSpecificationPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateCapacityReservationSpecificationPtrOutput) +func (i *instancePrivateDnsNameOptionsPtrType) ToInstancePrivateDnsNameOptionsPtrOutputWithContext(ctx context.Context) InstancePrivateDnsNameOptionsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(InstancePrivateDnsNameOptionsPtrOutput) } -type LaunchTemplateCapacityReservationSpecificationOutput struct{ *pulumi.OutputState } +type InstancePrivateDnsNameOptionsOutput struct{ *pulumi.OutputState } -func (LaunchTemplateCapacityReservationSpecificationOutput) ElementType() reflect.Type { - return reflect.TypeOf((*LaunchTemplateCapacityReservationSpecification)(nil)).Elem() +func (InstancePrivateDnsNameOptionsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*InstancePrivateDnsNameOptions)(nil)).Elem() } -func (o LaunchTemplateCapacityReservationSpecificationOutput) ToLaunchTemplateCapacityReservationSpecificationOutput() LaunchTemplateCapacityReservationSpecificationOutput { +func (o InstancePrivateDnsNameOptionsOutput) ToInstancePrivateDnsNameOptionsOutput() InstancePrivateDnsNameOptionsOutput { return o } -func (o LaunchTemplateCapacityReservationSpecificationOutput) ToLaunchTemplateCapacityReservationSpecificationOutputWithContext(ctx context.Context) LaunchTemplateCapacityReservationSpecificationOutput { +func (o InstancePrivateDnsNameOptionsOutput) ToInstancePrivateDnsNameOptionsOutputWithContext(ctx context.Context) InstancePrivateDnsNameOptionsOutput { return o } -func (o LaunchTemplateCapacityReservationSpecificationOutput) ToLaunchTemplateCapacityReservationSpecificationPtrOutput() LaunchTemplateCapacityReservationSpecificationPtrOutput { - return o.ToLaunchTemplateCapacityReservationSpecificationPtrOutputWithContext(context.Background()) +func (o InstancePrivateDnsNameOptionsOutput) ToInstancePrivateDnsNameOptionsPtrOutput() InstancePrivateDnsNameOptionsPtrOutput { + return o.ToInstancePrivateDnsNameOptionsPtrOutputWithContext(context.Background()) } -func (o LaunchTemplateCapacityReservationSpecificationOutput) ToLaunchTemplateCapacityReservationSpecificationPtrOutputWithContext(ctx context.Context) LaunchTemplateCapacityReservationSpecificationPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v LaunchTemplateCapacityReservationSpecification) *LaunchTemplateCapacityReservationSpecification { +func (o InstancePrivateDnsNameOptionsOutput) ToInstancePrivateDnsNameOptionsPtrOutputWithContext(ctx context.Context) InstancePrivateDnsNameOptionsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v InstancePrivateDnsNameOptions) *InstancePrivateDnsNameOptions { return &v - }).(LaunchTemplateCapacityReservationSpecificationPtrOutput) + }).(InstancePrivateDnsNameOptionsPtrOutput) } -// Indicates the instance's Capacity Reservation preferences. Can be `capacity-reservations-only`, `open` or `none`. If `capacityReservationId` or `capacityReservationResourceGroupArn` is specified in `capacityReservationTarget` block, either omit `capacityReservationPreference` or set it to `capacity-reservations-only`. -func (o LaunchTemplateCapacityReservationSpecificationOutput) CapacityReservationPreference() pulumi.StringPtrOutput { - return o.ApplyT(func(v LaunchTemplateCapacityReservationSpecification) *string { return v.CapacityReservationPreference }).(pulumi.StringPtrOutput) +// Indicates whether to respond to DNS queries for instance hostnames with DNS A records. +func (o InstancePrivateDnsNameOptionsOutput) EnableResourceNameDnsARecord() pulumi.BoolPtrOutput { + return o.ApplyT(func(v InstancePrivateDnsNameOptions) *bool { return v.EnableResourceNameDnsARecord }).(pulumi.BoolPtrOutput) } -// Used to target a specific Capacity Reservation: -func (o LaunchTemplateCapacityReservationSpecificationOutput) CapacityReservationTarget() LaunchTemplateCapacityReservationSpecificationCapacityReservationTargetPtrOutput { - return o.ApplyT(func(v LaunchTemplateCapacityReservationSpecification) *LaunchTemplateCapacityReservationSpecificationCapacityReservationTarget { - return v.CapacityReservationTarget - }).(LaunchTemplateCapacityReservationSpecificationCapacityReservationTargetPtrOutput) +// Indicates whether to respond to DNS queries for instance hostnames with DNS AAAA records. +func (o InstancePrivateDnsNameOptionsOutput) EnableResourceNameDnsAaaaRecord() pulumi.BoolPtrOutput { + return o.ApplyT(func(v InstancePrivateDnsNameOptions) *bool { return v.EnableResourceNameDnsAaaaRecord }).(pulumi.BoolPtrOutput) } -type LaunchTemplateCapacityReservationSpecificationPtrOutput struct{ *pulumi.OutputState } +// Type of hostname for Amazon EC2 instances. For IPv4 only subnets, an instance DNS name must be based on the instance IPv4 address. For IPv6 native subnets, an instance DNS name must be based on the instance ID. For dual-stack subnets, you can specify whether DNS names use the instance IPv4 address or the instance ID. Valid values: `ip-name` and `resource-name`. +func (o InstancePrivateDnsNameOptionsOutput) HostnameType() pulumi.StringPtrOutput { + return o.ApplyT(func(v InstancePrivateDnsNameOptions) *string { return v.HostnameType }).(pulumi.StringPtrOutput) +} -func (LaunchTemplateCapacityReservationSpecificationPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**LaunchTemplateCapacityReservationSpecification)(nil)).Elem() +type InstancePrivateDnsNameOptionsPtrOutput struct{ *pulumi.OutputState } + +func (InstancePrivateDnsNameOptionsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**InstancePrivateDnsNameOptions)(nil)).Elem() } -func (o LaunchTemplateCapacityReservationSpecificationPtrOutput) ToLaunchTemplateCapacityReservationSpecificationPtrOutput() LaunchTemplateCapacityReservationSpecificationPtrOutput { +func (o InstancePrivateDnsNameOptionsPtrOutput) ToInstancePrivateDnsNameOptionsPtrOutput() InstancePrivateDnsNameOptionsPtrOutput { return o } -func (o LaunchTemplateCapacityReservationSpecificationPtrOutput) ToLaunchTemplateCapacityReservationSpecificationPtrOutputWithContext(ctx context.Context) LaunchTemplateCapacityReservationSpecificationPtrOutput { +func (o InstancePrivateDnsNameOptionsPtrOutput) ToInstancePrivateDnsNameOptionsPtrOutputWithContext(ctx context.Context) InstancePrivateDnsNameOptionsPtrOutput { return o } -func (o LaunchTemplateCapacityReservationSpecificationPtrOutput) Elem() LaunchTemplateCapacityReservationSpecificationOutput { - return o.ApplyT(func(v *LaunchTemplateCapacityReservationSpecification) LaunchTemplateCapacityReservationSpecification { +func (o InstancePrivateDnsNameOptionsPtrOutput) Elem() InstancePrivateDnsNameOptionsOutput { + return o.ApplyT(func(v *InstancePrivateDnsNameOptions) InstancePrivateDnsNameOptions { if v != nil { return *v } - var ret LaunchTemplateCapacityReservationSpecification + var ret InstancePrivateDnsNameOptions return ret - }).(LaunchTemplateCapacityReservationSpecificationOutput) + }).(InstancePrivateDnsNameOptionsOutput) } -// Indicates the instance's Capacity Reservation preferences. Can be `capacity-reservations-only`, `open` or `none`. If `capacityReservationId` or `capacityReservationResourceGroupArn` is specified in `capacityReservationTarget` block, either omit `capacityReservationPreference` or set it to `capacity-reservations-only`. -func (o LaunchTemplateCapacityReservationSpecificationPtrOutput) CapacityReservationPreference() pulumi.StringPtrOutput { - return o.ApplyT(func(v *LaunchTemplateCapacityReservationSpecification) *string { +// Indicates whether to respond to DNS queries for instance hostnames with DNS A records. +func (o InstancePrivateDnsNameOptionsPtrOutput) EnableResourceNameDnsARecord() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *InstancePrivateDnsNameOptions) *bool { if v == nil { return nil } - return v.CapacityReservationPreference - }).(pulumi.StringPtrOutput) + return v.EnableResourceNameDnsARecord + }).(pulumi.BoolPtrOutput) } -// Used to target a specific Capacity Reservation: -func (o LaunchTemplateCapacityReservationSpecificationPtrOutput) CapacityReservationTarget() LaunchTemplateCapacityReservationSpecificationCapacityReservationTargetPtrOutput { - return o.ApplyT(func(v *LaunchTemplateCapacityReservationSpecification) *LaunchTemplateCapacityReservationSpecificationCapacityReservationTarget { +// Indicates whether to respond to DNS queries for instance hostnames with DNS AAAA records. +func (o InstancePrivateDnsNameOptionsPtrOutput) EnableResourceNameDnsAaaaRecord() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *InstancePrivateDnsNameOptions) *bool { if v == nil { return nil } - return v.CapacityReservationTarget - }).(LaunchTemplateCapacityReservationSpecificationCapacityReservationTargetPtrOutput) + return v.EnableResourceNameDnsAaaaRecord + }).(pulumi.BoolPtrOutput) } -type LaunchTemplateCapacityReservationSpecificationCapacityReservationTarget struct { - // The ID of the Capacity Reservation in which to run the instance. - CapacityReservationId *string `pulumi:"capacityReservationId"` - // The ARN of the Capacity Reservation resource group in which to run the instance. - CapacityReservationResourceGroupArn *string `pulumi:"capacityReservationResourceGroupArn"` +// Type of hostname for Amazon EC2 instances. For IPv4 only subnets, an instance DNS name must be based on the instance IPv4 address. For IPv6 native subnets, an instance DNS name must be based on the instance ID. For dual-stack subnets, you can specify whether DNS names use the instance IPv4 address or the instance ID. Valid values: `ip-name` and `resource-name`. +func (o InstancePrivateDnsNameOptionsPtrOutput) HostnameType() pulumi.StringPtrOutput { + return o.ApplyT(func(v *InstancePrivateDnsNameOptions) *string { + if v == nil { + return nil + } + return v.HostnameType + }).(pulumi.StringPtrOutput) } -// LaunchTemplateCapacityReservationSpecificationCapacityReservationTargetInput is an input type that accepts LaunchTemplateCapacityReservationSpecificationCapacityReservationTargetArgs and LaunchTemplateCapacityReservationSpecificationCapacityReservationTargetOutput values. -// You can construct a concrete instance of `LaunchTemplateCapacityReservationSpecificationCapacityReservationTargetInput` via: +type InstanceRootBlockDevice struct { + // Whether the volume should be destroyed on instance termination. Defaults to `true`. + DeleteOnTermination *bool `pulumi:"deleteOnTermination"` + // Device name, e.g., `/dev/sdh` or `xvdh`. + DeviceName *string `pulumi:"deviceName"` + // Whether to enable volume encryption. Defaults to `false`. Must be configured to perform drift detection. + Encrypted *bool `pulumi:"encrypted"` + // Amount of provisioned [IOPS](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-io-characteristics.html). Only valid for volumeType of `io1`, `io2` or `gp3`. + Iops *int `pulumi:"iops"` + // Amazon Resource Name (ARN) of the KMS Key to use when encrypting the volume. Must be configured to perform drift detection. + KmsKeyId *string `pulumi:"kmsKeyId"` + // Map of tags to assign to the device. + Tags map[string]string `pulumi:"tags"` + // Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + TagsAll map[string]string `pulumi:"tagsAll"` + // Throughput to provision for a volume in mebibytes per second (MiB/s). This is only valid for `volumeType` of `gp3`. + Throughput *int `pulumi:"throughput"` + // ID of the volume. For example, the ID can be accessed like this, `aws_instance.web.root_block_device.0.volume_id`. + 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 the volume type that the AMI uses. + // + // Modifying the `encrypted` or `kmsKeyId` settings of the `rootBlockDevice` requires resource replacement. + VolumeType *string `pulumi:"volumeType"` +} + +// InstanceRootBlockDeviceInput is an input type that accepts InstanceRootBlockDeviceArgs and InstanceRootBlockDeviceOutput values. +// You can construct a concrete instance of `InstanceRootBlockDeviceInput` via: // -// LaunchTemplateCapacityReservationSpecificationCapacityReservationTargetArgs{...} -type LaunchTemplateCapacityReservationSpecificationCapacityReservationTargetInput interface { +// InstanceRootBlockDeviceArgs{...} +type InstanceRootBlockDeviceInput interface { pulumi.Input - ToLaunchTemplateCapacityReservationSpecificationCapacityReservationTargetOutput() LaunchTemplateCapacityReservationSpecificationCapacityReservationTargetOutput - ToLaunchTemplateCapacityReservationSpecificationCapacityReservationTargetOutputWithContext(context.Context) LaunchTemplateCapacityReservationSpecificationCapacityReservationTargetOutput + ToInstanceRootBlockDeviceOutput() InstanceRootBlockDeviceOutput + ToInstanceRootBlockDeviceOutputWithContext(context.Context) InstanceRootBlockDeviceOutput } -type LaunchTemplateCapacityReservationSpecificationCapacityReservationTargetArgs struct { - // The ID of the Capacity Reservation in which to run the instance. - CapacityReservationId pulumi.StringPtrInput `pulumi:"capacityReservationId"` - // The ARN of the Capacity Reservation resource group in which to run the instance. - CapacityReservationResourceGroupArn pulumi.StringPtrInput `pulumi:"capacityReservationResourceGroupArn"` +type InstanceRootBlockDeviceArgs struct { + // Whether the volume should be destroyed on instance termination. Defaults to `true`. + DeleteOnTermination pulumi.BoolPtrInput `pulumi:"deleteOnTermination"` + // Device name, e.g., `/dev/sdh` or `xvdh`. + DeviceName pulumi.StringPtrInput `pulumi:"deviceName"` + // Whether to enable volume encryption. Defaults to `false`. Must be configured to perform drift detection. + Encrypted pulumi.BoolPtrInput `pulumi:"encrypted"` + // Amount of provisioned [IOPS](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-io-characteristics.html). Only valid for volumeType of `io1`, `io2` or `gp3`. + Iops pulumi.IntPtrInput `pulumi:"iops"` + // Amazon Resource Name (ARN) of the KMS Key to use when encrypting the volume. Must be configured to perform drift detection. + KmsKeyId pulumi.StringPtrInput `pulumi:"kmsKeyId"` + // Map of tags to assign to the device. + Tags pulumi.StringMapInput `pulumi:"tags"` + // Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + TagsAll pulumi.StringMapInput `pulumi:"tagsAll"` + // Throughput to provision for a volume in mebibytes per second (MiB/s). This is only valid for `volumeType` of `gp3`. + Throughput pulumi.IntPtrInput `pulumi:"throughput"` + // ID of the volume. For example, the ID can be accessed like this, `aws_instance.web.root_block_device.0.volume_id`. + 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 the volume type that the AMI uses. + // + // Modifying the `encrypted` or `kmsKeyId` settings of the `rootBlockDevice` requires resource replacement. + VolumeType pulumi.StringPtrInput `pulumi:"volumeType"` } -func (LaunchTemplateCapacityReservationSpecificationCapacityReservationTargetArgs) ElementType() reflect.Type { - return reflect.TypeOf((*LaunchTemplateCapacityReservationSpecificationCapacityReservationTarget)(nil)).Elem() +func (InstanceRootBlockDeviceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*InstanceRootBlockDevice)(nil)).Elem() } -func (i LaunchTemplateCapacityReservationSpecificationCapacityReservationTargetArgs) ToLaunchTemplateCapacityReservationSpecificationCapacityReservationTargetOutput() LaunchTemplateCapacityReservationSpecificationCapacityReservationTargetOutput { - return i.ToLaunchTemplateCapacityReservationSpecificationCapacityReservationTargetOutputWithContext(context.Background()) +func (i InstanceRootBlockDeviceArgs) ToInstanceRootBlockDeviceOutput() InstanceRootBlockDeviceOutput { + return i.ToInstanceRootBlockDeviceOutputWithContext(context.Background()) } -func (i LaunchTemplateCapacityReservationSpecificationCapacityReservationTargetArgs) ToLaunchTemplateCapacityReservationSpecificationCapacityReservationTargetOutputWithContext(ctx context.Context) LaunchTemplateCapacityReservationSpecificationCapacityReservationTargetOutput { - return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateCapacityReservationSpecificationCapacityReservationTargetOutput) +func (i InstanceRootBlockDeviceArgs) ToInstanceRootBlockDeviceOutputWithContext(ctx context.Context) InstanceRootBlockDeviceOutput { + return pulumi.ToOutputWithContext(ctx, i).(InstanceRootBlockDeviceOutput) } -func (i LaunchTemplateCapacityReservationSpecificationCapacityReservationTargetArgs) ToLaunchTemplateCapacityReservationSpecificationCapacityReservationTargetPtrOutput() LaunchTemplateCapacityReservationSpecificationCapacityReservationTargetPtrOutput { - return i.ToLaunchTemplateCapacityReservationSpecificationCapacityReservationTargetPtrOutputWithContext(context.Background()) +func (i InstanceRootBlockDeviceArgs) ToInstanceRootBlockDevicePtrOutput() InstanceRootBlockDevicePtrOutput { + return i.ToInstanceRootBlockDevicePtrOutputWithContext(context.Background()) } -func (i LaunchTemplateCapacityReservationSpecificationCapacityReservationTargetArgs) ToLaunchTemplateCapacityReservationSpecificationCapacityReservationTargetPtrOutputWithContext(ctx context.Context) LaunchTemplateCapacityReservationSpecificationCapacityReservationTargetPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateCapacityReservationSpecificationCapacityReservationTargetOutput).ToLaunchTemplateCapacityReservationSpecificationCapacityReservationTargetPtrOutputWithContext(ctx) +func (i InstanceRootBlockDeviceArgs) ToInstanceRootBlockDevicePtrOutputWithContext(ctx context.Context) InstanceRootBlockDevicePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(InstanceRootBlockDeviceOutput).ToInstanceRootBlockDevicePtrOutputWithContext(ctx) } -// LaunchTemplateCapacityReservationSpecificationCapacityReservationTargetPtrInput is an input type that accepts LaunchTemplateCapacityReservationSpecificationCapacityReservationTargetArgs, LaunchTemplateCapacityReservationSpecificationCapacityReservationTargetPtr and LaunchTemplateCapacityReservationSpecificationCapacityReservationTargetPtrOutput values. -// You can construct a concrete instance of `LaunchTemplateCapacityReservationSpecificationCapacityReservationTargetPtrInput` via: +// InstanceRootBlockDevicePtrInput is an input type that accepts InstanceRootBlockDeviceArgs, InstanceRootBlockDevicePtr and InstanceRootBlockDevicePtrOutput values. +// You can construct a concrete instance of `InstanceRootBlockDevicePtrInput` via: // -// LaunchTemplateCapacityReservationSpecificationCapacityReservationTargetArgs{...} +// InstanceRootBlockDeviceArgs{...} // // or: // // nil -type LaunchTemplateCapacityReservationSpecificationCapacityReservationTargetPtrInput interface { +type InstanceRootBlockDevicePtrInput interface { pulumi.Input - ToLaunchTemplateCapacityReservationSpecificationCapacityReservationTargetPtrOutput() LaunchTemplateCapacityReservationSpecificationCapacityReservationTargetPtrOutput - ToLaunchTemplateCapacityReservationSpecificationCapacityReservationTargetPtrOutputWithContext(context.Context) LaunchTemplateCapacityReservationSpecificationCapacityReservationTargetPtrOutput + ToInstanceRootBlockDevicePtrOutput() InstanceRootBlockDevicePtrOutput + ToInstanceRootBlockDevicePtrOutputWithContext(context.Context) InstanceRootBlockDevicePtrOutput } -type launchTemplateCapacityReservationSpecificationCapacityReservationTargetPtrType LaunchTemplateCapacityReservationSpecificationCapacityReservationTargetArgs +type instanceRootBlockDevicePtrType InstanceRootBlockDeviceArgs -func LaunchTemplateCapacityReservationSpecificationCapacityReservationTargetPtr(v *LaunchTemplateCapacityReservationSpecificationCapacityReservationTargetArgs) LaunchTemplateCapacityReservationSpecificationCapacityReservationTargetPtrInput { - return (*launchTemplateCapacityReservationSpecificationCapacityReservationTargetPtrType)(v) +func InstanceRootBlockDevicePtr(v *InstanceRootBlockDeviceArgs) InstanceRootBlockDevicePtrInput { + return (*instanceRootBlockDevicePtrType)(v) } -func (*launchTemplateCapacityReservationSpecificationCapacityReservationTargetPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**LaunchTemplateCapacityReservationSpecificationCapacityReservationTarget)(nil)).Elem() +func (*instanceRootBlockDevicePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**InstanceRootBlockDevice)(nil)).Elem() } -func (i *launchTemplateCapacityReservationSpecificationCapacityReservationTargetPtrType) ToLaunchTemplateCapacityReservationSpecificationCapacityReservationTargetPtrOutput() LaunchTemplateCapacityReservationSpecificationCapacityReservationTargetPtrOutput { - return i.ToLaunchTemplateCapacityReservationSpecificationCapacityReservationTargetPtrOutputWithContext(context.Background()) +func (i *instanceRootBlockDevicePtrType) ToInstanceRootBlockDevicePtrOutput() InstanceRootBlockDevicePtrOutput { + return i.ToInstanceRootBlockDevicePtrOutputWithContext(context.Background()) } -func (i *launchTemplateCapacityReservationSpecificationCapacityReservationTargetPtrType) ToLaunchTemplateCapacityReservationSpecificationCapacityReservationTargetPtrOutputWithContext(ctx context.Context) LaunchTemplateCapacityReservationSpecificationCapacityReservationTargetPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateCapacityReservationSpecificationCapacityReservationTargetPtrOutput) +func (i *instanceRootBlockDevicePtrType) ToInstanceRootBlockDevicePtrOutputWithContext(ctx context.Context) InstanceRootBlockDevicePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(InstanceRootBlockDevicePtrOutput) } -type LaunchTemplateCapacityReservationSpecificationCapacityReservationTargetOutput struct{ *pulumi.OutputState } +type InstanceRootBlockDeviceOutput struct{ *pulumi.OutputState } -func (LaunchTemplateCapacityReservationSpecificationCapacityReservationTargetOutput) ElementType() reflect.Type { - return reflect.TypeOf((*LaunchTemplateCapacityReservationSpecificationCapacityReservationTarget)(nil)).Elem() +func (InstanceRootBlockDeviceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*InstanceRootBlockDevice)(nil)).Elem() } -func (o LaunchTemplateCapacityReservationSpecificationCapacityReservationTargetOutput) ToLaunchTemplateCapacityReservationSpecificationCapacityReservationTargetOutput() LaunchTemplateCapacityReservationSpecificationCapacityReservationTargetOutput { +func (o InstanceRootBlockDeviceOutput) ToInstanceRootBlockDeviceOutput() InstanceRootBlockDeviceOutput { return o } -func (o LaunchTemplateCapacityReservationSpecificationCapacityReservationTargetOutput) ToLaunchTemplateCapacityReservationSpecificationCapacityReservationTargetOutputWithContext(ctx context.Context) LaunchTemplateCapacityReservationSpecificationCapacityReservationTargetOutput { +func (o InstanceRootBlockDeviceOutput) ToInstanceRootBlockDeviceOutputWithContext(ctx context.Context) InstanceRootBlockDeviceOutput { return o } -func (o LaunchTemplateCapacityReservationSpecificationCapacityReservationTargetOutput) ToLaunchTemplateCapacityReservationSpecificationCapacityReservationTargetPtrOutput() LaunchTemplateCapacityReservationSpecificationCapacityReservationTargetPtrOutput { - return o.ToLaunchTemplateCapacityReservationSpecificationCapacityReservationTargetPtrOutputWithContext(context.Background()) +func (o InstanceRootBlockDeviceOutput) ToInstanceRootBlockDevicePtrOutput() InstanceRootBlockDevicePtrOutput { + return o.ToInstanceRootBlockDevicePtrOutputWithContext(context.Background()) } -func (o LaunchTemplateCapacityReservationSpecificationCapacityReservationTargetOutput) ToLaunchTemplateCapacityReservationSpecificationCapacityReservationTargetPtrOutputWithContext(ctx context.Context) LaunchTemplateCapacityReservationSpecificationCapacityReservationTargetPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v LaunchTemplateCapacityReservationSpecificationCapacityReservationTarget) *LaunchTemplateCapacityReservationSpecificationCapacityReservationTarget { +func (o InstanceRootBlockDeviceOutput) ToInstanceRootBlockDevicePtrOutputWithContext(ctx context.Context) InstanceRootBlockDevicePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v InstanceRootBlockDevice) *InstanceRootBlockDevice { return &v - }).(LaunchTemplateCapacityReservationSpecificationCapacityReservationTargetPtrOutput) + }).(InstanceRootBlockDevicePtrOutput) } -// The ID of the Capacity Reservation in which to run the instance. -func (o LaunchTemplateCapacityReservationSpecificationCapacityReservationTargetOutput) CapacityReservationId() pulumi.StringPtrOutput { - return o.ApplyT(func(v LaunchTemplateCapacityReservationSpecificationCapacityReservationTarget) *string { - return v.CapacityReservationId - }).(pulumi.StringPtrOutput) +// Whether the volume should be destroyed on instance termination. Defaults to `true`. +func (o InstanceRootBlockDeviceOutput) DeleteOnTermination() pulumi.BoolPtrOutput { + return o.ApplyT(func(v InstanceRootBlockDevice) *bool { return v.DeleteOnTermination }).(pulumi.BoolPtrOutput) } -// The ARN of the Capacity Reservation resource group in which to run the instance. -func (o LaunchTemplateCapacityReservationSpecificationCapacityReservationTargetOutput) CapacityReservationResourceGroupArn() pulumi.StringPtrOutput { - return o.ApplyT(func(v LaunchTemplateCapacityReservationSpecificationCapacityReservationTarget) *string { - return v.CapacityReservationResourceGroupArn - }).(pulumi.StringPtrOutput) +// Device name, e.g., `/dev/sdh` or `xvdh`. +func (o InstanceRootBlockDeviceOutput) DeviceName() pulumi.StringPtrOutput { + return o.ApplyT(func(v InstanceRootBlockDevice) *string { return v.DeviceName }).(pulumi.StringPtrOutput) } -type LaunchTemplateCapacityReservationSpecificationCapacityReservationTargetPtrOutput struct{ *pulumi.OutputState } +// Whether to enable volume encryption. Defaults to `false`. Must be configured to perform drift detection. +func (o InstanceRootBlockDeviceOutput) Encrypted() pulumi.BoolPtrOutput { + return o.ApplyT(func(v InstanceRootBlockDevice) *bool { return v.Encrypted }).(pulumi.BoolPtrOutput) +} -func (LaunchTemplateCapacityReservationSpecificationCapacityReservationTargetPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**LaunchTemplateCapacityReservationSpecificationCapacityReservationTarget)(nil)).Elem() +// Amount of provisioned [IOPS](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-io-characteristics.html). Only valid for volumeType of `io1`, `io2` or `gp3`. +func (o InstanceRootBlockDeviceOutput) Iops() pulumi.IntPtrOutput { + return o.ApplyT(func(v InstanceRootBlockDevice) *int { return v.Iops }).(pulumi.IntPtrOutput) } -func (o LaunchTemplateCapacityReservationSpecificationCapacityReservationTargetPtrOutput) ToLaunchTemplateCapacityReservationSpecificationCapacityReservationTargetPtrOutput() LaunchTemplateCapacityReservationSpecificationCapacityReservationTargetPtrOutput { +// Amazon Resource Name (ARN) of the KMS Key to use when encrypting the volume. Must be configured to perform drift detection. +func (o InstanceRootBlockDeviceOutput) KmsKeyId() pulumi.StringPtrOutput { + return o.ApplyT(func(v InstanceRootBlockDevice) *string { return v.KmsKeyId }).(pulumi.StringPtrOutput) +} + +// Map of tags to assign to the device. +func (o InstanceRootBlockDeviceOutput) Tags() pulumi.StringMapOutput { + return o.ApplyT(func(v InstanceRootBlockDevice) map[string]string { return v.Tags }).(pulumi.StringMapOutput) +} + +// Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. +func (o InstanceRootBlockDeviceOutput) TagsAll() pulumi.StringMapOutput { + return o.ApplyT(func(v InstanceRootBlockDevice) map[string]string { return v.TagsAll }).(pulumi.StringMapOutput) +} + +// Throughput to provision for a volume in mebibytes per second (MiB/s). This is only valid for `volumeType` of `gp3`. +func (o InstanceRootBlockDeviceOutput) Throughput() pulumi.IntPtrOutput { + return o.ApplyT(func(v InstanceRootBlockDevice) *int { return v.Throughput }).(pulumi.IntPtrOutput) +} + +// ID of the volume. For example, the ID can be accessed like this, `aws_instance.web.root_block_device.0.volume_id`. +func (o InstanceRootBlockDeviceOutput) VolumeId() pulumi.StringPtrOutput { + return o.ApplyT(func(v InstanceRootBlockDevice) *string { return v.VolumeId }).(pulumi.StringPtrOutput) +} + +// Size of the volume in gibibytes (GiB). +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 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 { + return o.ApplyT(func(v InstanceRootBlockDevice) *string { return v.VolumeType }).(pulumi.StringPtrOutput) +} + +type InstanceRootBlockDevicePtrOutput struct{ *pulumi.OutputState } + +func (InstanceRootBlockDevicePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**InstanceRootBlockDevice)(nil)).Elem() +} + +func (o InstanceRootBlockDevicePtrOutput) ToInstanceRootBlockDevicePtrOutput() InstanceRootBlockDevicePtrOutput { return o } -func (o LaunchTemplateCapacityReservationSpecificationCapacityReservationTargetPtrOutput) ToLaunchTemplateCapacityReservationSpecificationCapacityReservationTargetPtrOutputWithContext(ctx context.Context) LaunchTemplateCapacityReservationSpecificationCapacityReservationTargetPtrOutput { +func (o InstanceRootBlockDevicePtrOutput) ToInstanceRootBlockDevicePtrOutputWithContext(ctx context.Context) InstanceRootBlockDevicePtrOutput { return o } -func (o LaunchTemplateCapacityReservationSpecificationCapacityReservationTargetPtrOutput) Elem() LaunchTemplateCapacityReservationSpecificationCapacityReservationTargetOutput { - return o.ApplyT(func(v *LaunchTemplateCapacityReservationSpecificationCapacityReservationTarget) LaunchTemplateCapacityReservationSpecificationCapacityReservationTarget { +func (o InstanceRootBlockDevicePtrOutput) Elem() InstanceRootBlockDeviceOutput { + return o.ApplyT(func(v *InstanceRootBlockDevice) InstanceRootBlockDevice { if v != nil { return *v } - var ret LaunchTemplateCapacityReservationSpecificationCapacityReservationTarget + var ret InstanceRootBlockDevice return ret - }).(LaunchTemplateCapacityReservationSpecificationCapacityReservationTargetOutput) + }).(InstanceRootBlockDeviceOutput) } -// The ID of the Capacity Reservation in which to run the instance. -func (o LaunchTemplateCapacityReservationSpecificationCapacityReservationTargetPtrOutput) CapacityReservationId() pulumi.StringPtrOutput { - return o.ApplyT(func(v *LaunchTemplateCapacityReservationSpecificationCapacityReservationTarget) *string { +// Whether the volume should be destroyed on instance termination. Defaults to `true`. +func (o InstanceRootBlockDevicePtrOutput) DeleteOnTermination() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *InstanceRootBlockDevice) *bool { if v == nil { return nil } - return v.CapacityReservationId - }).(pulumi.StringPtrOutput) + return v.DeleteOnTermination + }).(pulumi.BoolPtrOutput) } -// The ARN of the Capacity Reservation resource group in which to run the instance. -func (o LaunchTemplateCapacityReservationSpecificationCapacityReservationTargetPtrOutput) CapacityReservationResourceGroupArn() pulumi.StringPtrOutput { - return o.ApplyT(func(v *LaunchTemplateCapacityReservationSpecificationCapacityReservationTarget) *string { +// Device name, e.g., `/dev/sdh` or `xvdh`. +func (o InstanceRootBlockDevicePtrOutput) DeviceName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *InstanceRootBlockDevice) *string { if v == nil { return nil } - return v.CapacityReservationResourceGroupArn + return v.DeviceName }).(pulumi.StringPtrOutput) } -type LaunchTemplateCpuOptions struct { - // Indicates whether to enable the instance for AMD SEV-SNP. AMD SEV-SNP is supported with M6a, R6a, and C6a instance types only. Valid values are `enabled` and `disabled`. - AmdSevSnp *string `pulumi:"amdSevSnp"` - // The number of CPU cores for the instance. - CoreCount *int `pulumi:"coreCount"` - // The number of threads per CPU core. - // To disable Intel Hyper-Threading Technology for the instance, specify a value of 1. - // Otherwise, specify the default value of 2. - // - // Both number of CPU cores and threads per core must be specified. Valid number of CPU cores and threads per core for the instance type can be found in the [CPU Options Documentation](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-optimize-cpu.html?shortFooter=true#cpu-options-supported-instances-values) - ThreadsPerCore *int `pulumi:"threadsPerCore"` +// Whether to enable volume encryption. Defaults to `false`. Must be configured to perform drift detection. +func (o InstanceRootBlockDevicePtrOutput) Encrypted() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *InstanceRootBlockDevice) *bool { + if v == nil { + return nil + } + return v.Encrypted + }).(pulumi.BoolPtrOutput) } -// LaunchTemplateCpuOptionsInput is an input type that accepts LaunchTemplateCpuOptionsArgs and LaunchTemplateCpuOptionsOutput values. -// You can construct a concrete instance of `LaunchTemplateCpuOptionsInput` via: -// -// LaunchTemplateCpuOptionsArgs{...} -type LaunchTemplateCpuOptionsInput interface { - pulumi.Input - - ToLaunchTemplateCpuOptionsOutput() LaunchTemplateCpuOptionsOutput - ToLaunchTemplateCpuOptionsOutputWithContext(context.Context) LaunchTemplateCpuOptionsOutput +// Amount of provisioned [IOPS](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-io-characteristics.html). Only valid for volumeType of `io1`, `io2` or `gp3`. +func (o InstanceRootBlockDevicePtrOutput) Iops() pulumi.IntPtrOutput { + return o.ApplyT(func(v *InstanceRootBlockDevice) *int { + if v == nil { + return nil + } + return v.Iops + }).(pulumi.IntPtrOutput) } -type LaunchTemplateCpuOptionsArgs struct { - // Indicates whether to enable the instance for AMD SEV-SNP. AMD SEV-SNP is supported with M6a, R6a, and C6a instance types only. Valid values are `enabled` and `disabled`. - AmdSevSnp pulumi.StringPtrInput `pulumi:"amdSevSnp"` - // The number of CPU cores for the instance. - CoreCount pulumi.IntPtrInput `pulumi:"coreCount"` - // The number of threads per CPU core. - // To disable Intel Hyper-Threading Technology for the instance, specify a value of 1. - // Otherwise, specify the default value of 2. - // - // Both number of CPU cores and threads per core must be specified. Valid number of CPU cores and threads per core for the instance type can be found in the [CPU Options Documentation](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-optimize-cpu.html?shortFooter=true#cpu-options-supported-instances-values) - ThreadsPerCore pulumi.IntPtrInput `pulumi:"threadsPerCore"` +// Amazon Resource Name (ARN) of the KMS Key to use when encrypting the volume. Must be configured to perform drift detection. +func (o InstanceRootBlockDevicePtrOutput) KmsKeyId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *InstanceRootBlockDevice) *string { + if v == nil { + return nil + } + return v.KmsKeyId + }).(pulumi.StringPtrOutput) } -func (LaunchTemplateCpuOptionsArgs) ElementType() reflect.Type { - return reflect.TypeOf((*LaunchTemplateCpuOptions)(nil)).Elem() +// Map of tags to assign to the device. +func (o InstanceRootBlockDevicePtrOutput) Tags() pulumi.StringMapOutput { + return o.ApplyT(func(v *InstanceRootBlockDevice) map[string]string { + if v == nil { + return nil + } + return v.Tags + }).(pulumi.StringMapOutput) } -func (i LaunchTemplateCpuOptionsArgs) ToLaunchTemplateCpuOptionsOutput() LaunchTemplateCpuOptionsOutput { - return i.ToLaunchTemplateCpuOptionsOutputWithContext(context.Background()) +// Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. +func (o InstanceRootBlockDevicePtrOutput) TagsAll() pulumi.StringMapOutput { + return o.ApplyT(func(v *InstanceRootBlockDevice) map[string]string { + if v == nil { + return nil + } + return v.TagsAll + }).(pulumi.StringMapOutput) } -func (i LaunchTemplateCpuOptionsArgs) ToLaunchTemplateCpuOptionsOutputWithContext(ctx context.Context) LaunchTemplateCpuOptionsOutput { - return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateCpuOptionsOutput) +// Throughput to provision for a volume in mebibytes per second (MiB/s). This is only valid for `volumeType` of `gp3`. +func (o InstanceRootBlockDevicePtrOutput) Throughput() pulumi.IntPtrOutput { + return o.ApplyT(func(v *InstanceRootBlockDevice) *int { + if v == nil { + return nil + } + return v.Throughput + }).(pulumi.IntPtrOutput) } -func (i LaunchTemplateCpuOptionsArgs) ToLaunchTemplateCpuOptionsPtrOutput() LaunchTemplateCpuOptionsPtrOutput { - return i.ToLaunchTemplateCpuOptionsPtrOutputWithContext(context.Background()) +// ID of the volume. For example, the ID can be accessed like this, `aws_instance.web.root_block_device.0.volume_id`. +func (o InstanceRootBlockDevicePtrOutput) VolumeId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *InstanceRootBlockDevice) *string { + if v == nil { + return nil + } + return v.VolumeId + }).(pulumi.StringPtrOutput) } -func (i LaunchTemplateCpuOptionsArgs) ToLaunchTemplateCpuOptionsPtrOutputWithContext(ctx context.Context) LaunchTemplateCpuOptionsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateCpuOptionsOutput).ToLaunchTemplateCpuOptionsPtrOutputWithContext(ctx) +// Size of the volume in gibibytes (GiB). +func (o InstanceRootBlockDevicePtrOutput) VolumeSize() pulumi.IntPtrOutput { + return o.ApplyT(func(v *InstanceRootBlockDevice) *int { + if v == nil { + return nil + } + return v.VolumeSize + }).(pulumi.IntPtrOutput) } -// LaunchTemplateCpuOptionsPtrInput is an input type that accepts LaunchTemplateCpuOptionsArgs, LaunchTemplateCpuOptionsPtr and LaunchTemplateCpuOptionsPtrOutput values. -// You can construct a concrete instance of `LaunchTemplateCpuOptionsPtrInput` via: -// -// LaunchTemplateCpuOptionsArgs{...} +// Type of volume. Valid values include `standard`, `gp2`, `gp3`, `io1`, `io2`, `sc1`, or `st1`. Defaults to the volume type that the AMI uses. // -// or: +// Modifying the `encrypted` or `kmsKeyId` settings of the `rootBlockDevice` requires resource replacement. +func (o InstanceRootBlockDevicePtrOutput) VolumeType() pulumi.StringPtrOutput { + return o.ApplyT(func(v *InstanceRootBlockDevice) *string { + if v == nil { + return nil + } + return v.VolumeType + }).(pulumi.StringPtrOutput) +} + +type LaunchConfigurationEbsBlockDevice struct { + DeleteOnTermination *bool `pulumi:"deleteOnTermination"` + DeviceName string `pulumi:"deviceName"` + Encrypted *bool `pulumi:"encrypted"` + Iops *int `pulumi:"iops"` + NoDevice *bool `pulumi:"noDevice"` + SnapshotId *string `pulumi:"snapshotId"` + Throughput *int `pulumi:"throughput"` + VolumeSize *int `pulumi:"volumeSize"` + VolumeType *string `pulumi:"volumeType"` +} + +// LaunchConfigurationEbsBlockDeviceInput is an input type that accepts LaunchConfigurationEbsBlockDeviceArgs and LaunchConfigurationEbsBlockDeviceOutput values. +// You can construct a concrete instance of `LaunchConfigurationEbsBlockDeviceInput` via: // -// nil -type LaunchTemplateCpuOptionsPtrInput interface { +// LaunchConfigurationEbsBlockDeviceArgs{...} +type LaunchConfigurationEbsBlockDeviceInput interface { pulumi.Input - ToLaunchTemplateCpuOptionsPtrOutput() LaunchTemplateCpuOptionsPtrOutput - ToLaunchTemplateCpuOptionsPtrOutputWithContext(context.Context) LaunchTemplateCpuOptionsPtrOutput + ToLaunchConfigurationEbsBlockDeviceOutput() LaunchConfigurationEbsBlockDeviceOutput + ToLaunchConfigurationEbsBlockDeviceOutputWithContext(context.Context) LaunchConfigurationEbsBlockDeviceOutput } -type launchTemplateCpuOptionsPtrType LaunchTemplateCpuOptionsArgs - -func LaunchTemplateCpuOptionsPtr(v *LaunchTemplateCpuOptionsArgs) LaunchTemplateCpuOptionsPtrInput { - return (*launchTemplateCpuOptionsPtrType)(v) +type LaunchConfigurationEbsBlockDeviceArgs struct { + DeleteOnTermination pulumi.BoolPtrInput `pulumi:"deleteOnTermination"` + DeviceName pulumi.StringInput `pulumi:"deviceName"` + Encrypted pulumi.BoolPtrInput `pulumi:"encrypted"` + Iops pulumi.IntPtrInput `pulumi:"iops"` + NoDevice pulumi.BoolPtrInput `pulumi:"noDevice"` + SnapshotId pulumi.StringPtrInput `pulumi:"snapshotId"` + Throughput pulumi.IntPtrInput `pulumi:"throughput"` + VolumeSize pulumi.IntPtrInput `pulumi:"volumeSize"` + VolumeType pulumi.StringPtrInput `pulumi:"volumeType"` } -func (*launchTemplateCpuOptionsPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**LaunchTemplateCpuOptions)(nil)).Elem() +func (LaunchConfigurationEbsBlockDeviceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LaunchConfigurationEbsBlockDevice)(nil)).Elem() } -func (i *launchTemplateCpuOptionsPtrType) ToLaunchTemplateCpuOptionsPtrOutput() LaunchTemplateCpuOptionsPtrOutput { - return i.ToLaunchTemplateCpuOptionsPtrOutputWithContext(context.Background()) +func (i LaunchConfigurationEbsBlockDeviceArgs) ToLaunchConfigurationEbsBlockDeviceOutput() LaunchConfigurationEbsBlockDeviceOutput { + return i.ToLaunchConfigurationEbsBlockDeviceOutputWithContext(context.Background()) } -func (i *launchTemplateCpuOptionsPtrType) ToLaunchTemplateCpuOptionsPtrOutputWithContext(ctx context.Context) LaunchTemplateCpuOptionsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateCpuOptionsPtrOutput) +func (i LaunchConfigurationEbsBlockDeviceArgs) ToLaunchConfigurationEbsBlockDeviceOutputWithContext(ctx context.Context) LaunchConfigurationEbsBlockDeviceOutput { + return pulumi.ToOutputWithContext(ctx, i).(LaunchConfigurationEbsBlockDeviceOutput) } -type LaunchTemplateCpuOptionsOutput struct{ *pulumi.OutputState } +// LaunchConfigurationEbsBlockDeviceArrayInput is an input type that accepts LaunchConfigurationEbsBlockDeviceArray and LaunchConfigurationEbsBlockDeviceArrayOutput values. +// You can construct a concrete instance of `LaunchConfigurationEbsBlockDeviceArrayInput` via: +// +// LaunchConfigurationEbsBlockDeviceArray{ LaunchConfigurationEbsBlockDeviceArgs{...} } +type LaunchConfigurationEbsBlockDeviceArrayInput interface { + pulumi.Input -func (LaunchTemplateCpuOptionsOutput) ElementType() reflect.Type { - return reflect.TypeOf((*LaunchTemplateCpuOptions)(nil)).Elem() + ToLaunchConfigurationEbsBlockDeviceArrayOutput() LaunchConfigurationEbsBlockDeviceArrayOutput + ToLaunchConfigurationEbsBlockDeviceArrayOutputWithContext(context.Context) LaunchConfigurationEbsBlockDeviceArrayOutput } -func (o LaunchTemplateCpuOptionsOutput) ToLaunchTemplateCpuOptionsOutput() LaunchTemplateCpuOptionsOutput { - return o -} +type LaunchConfigurationEbsBlockDeviceArray []LaunchConfigurationEbsBlockDeviceInput -func (o LaunchTemplateCpuOptionsOutput) ToLaunchTemplateCpuOptionsOutputWithContext(ctx context.Context) LaunchTemplateCpuOptionsOutput { - return o +func (LaunchConfigurationEbsBlockDeviceArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]LaunchConfigurationEbsBlockDevice)(nil)).Elem() } -func (o LaunchTemplateCpuOptionsOutput) ToLaunchTemplateCpuOptionsPtrOutput() LaunchTemplateCpuOptionsPtrOutput { - return o.ToLaunchTemplateCpuOptionsPtrOutputWithContext(context.Background()) +func (i LaunchConfigurationEbsBlockDeviceArray) ToLaunchConfigurationEbsBlockDeviceArrayOutput() LaunchConfigurationEbsBlockDeviceArrayOutput { + return i.ToLaunchConfigurationEbsBlockDeviceArrayOutputWithContext(context.Background()) } -func (o LaunchTemplateCpuOptionsOutput) ToLaunchTemplateCpuOptionsPtrOutputWithContext(ctx context.Context) LaunchTemplateCpuOptionsPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v LaunchTemplateCpuOptions) *LaunchTemplateCpuOptions { - return &v - }).(LaunchTemplateCpuOptionsPtrOutput) +func (i LaunchConfigurationEbsBlockDeviceArray) ToLaunchConfigurationEbsBlockDeviceArrayOutputWithContext(ctx context.Context) LaunchConfigurationEbsBlockDeviceArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(LaunchConfigurationEbsBlockDeviceArrayOutput) } -// Indicates whether to enable the instance for AMD SEV-SNP. AMD SEV-SNP is supported with M6a, R6a, and C6a instance types only. Valid values are `enabled` and `disabled`. -func (o LaunchTemplateCpuOptionsOutput) AmdSevSnp() pulumi.StringPtrOutput { - return o.ApplyT(func(v LaunchTemplateCpuOptions) *string { return v.AmdSevSnp }).(pulumi.StringPtrOutput) +type LaunchConfigurationEbsBlockDeviceOutput struct{ *pulumi.OutputState } + +func (LaunchConfigurationEbsBlockDeviceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LaunchConfigurationEbsBlockDevice)(nil)).Elem() } -// The number of CPU cores for the instance. -func (o LaunchTemplateCpuOptionsOutput) CoreCount() pulumi.IntPtrOutput { - return o.ApplyT(func(v LaunchTemplateCpuOptions) *int { return v.CoreCount }).(pulumi.IntPtrOutput) +func (o LaunchConfigurationEbsBlockDeviceOutput) ToLaunchConfigurationEbsBlockDeviceOutput() LaunchConfigurationEbsBlockDeviceOutput { + return o } -// The number of threads per CPU core. -// To disable Intel Hyper-Threading Technology for the instance, specify a value of 1. -// Otherwise, specify the default value of 2. -// -// Both number of CPU cores and threads per core must be specified. Valid number of CPU cores and threads per core for the instance type can be found in the [CPU Options Documentation](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-optimize-cpu.html?shortFooter=true#cpu-options-supported-instances-values) -func (o LaunchTemplateCpuOptionsOutput) ThreadsPerCore() pulumi.IntPtrOutput { - return o.ApplyT(func(v LaunchTemplateCpuOptions) *int { return v.ThreadsPerCore }).(pulumi.IntPtrOutput) +func (o LaunchConfigurationEbsBlockDeviceOutput) ToLaunchConfigurationEbsBlockDeviceOutputWithContext(ctx context.Context) LaunchConfigurationEbsBlockDeviceOutput { + return o } -type LaunchTemplateCpuOptionsPtrOutput struct{ *pulumi.OutputState } +func (o LaunchConfigurationEbsBlockDeviceOutput) DeleteOnTermination() pulumi.BoolPtrOutput { + return o.ApplyT(func(v LaunchConfigurationEbsBlockDevice) *bool { return v.DeleteOnTermination }).(pulumi.BoolPtrOutput) +} -func (LaunchTemplateCpuOptionsPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**LaunchTemplateCpuOptions)(nil)).Elem() +func (o LaunchConfigurationEbsBlockDeviceOutput) DeviceName() pulumi.StringOutput { + return o.ApplyT(func(v LaunchConfigurationEbsBlockDevice) string { return v.DeviceName }).(pulumi.StringOutput) } -func (o LaunchTemplateCpuOptionsPtrOutput) ToLaunchTemplateCpuOptionsPtrOutput() LaunchTemplateCpuOptionsPtrOutput { - return o +func (o LaunchConfigurationEbsBlockDeviceOutput) Encrypted() pulumi.BoolPtrOutput { + return o.ApplyT(func(v LaunchConfigurationEbsBlockDevice) *bool { return v.Encrypted }).(pulumi.BoolPtrOutput) } -func (o LaunchTemplateCpuOptionsPtrOutput) ToLaunchTemplateCpuOptionsPtrOutputWithContext(ctx context.Context) LaunchTemplateCpuOptionsPtrOutput { - return o +func (o LaunchConfigurationEbsBlockDeviceOutput) Iops() pulumi.IntPtrOutput { + return o.ApplyT(func(v LaunchConfigurationEbsBlockDevice) *int { return v.Iops }).(pulumi.IntPtrOutput) } -func (o LaunchTemplateCpuOptionsPtrOutput) Elem() LaunchTemplateCpuOptionsOutput { - return o.ApplyT(func(v *LaunchTemplateCpuOptions) LaunchTemplateCpuOptions { - if v != nil { - return *v - } - var ret LaunchTemplateCpuOptions - return ret - }).(LaunchTemplateCpuOptionsOutput) +func (o LaunchConfigurationEbsBlockDeviceOutput) NoDevice() pulumi.BoolPtrOutput { + return o.ApplyT(func(v LaunchConfigurationEbsBlockDevice) *bool { return v.NoDevice }).(pulumi.BoolPtrOutput) } -// Indicates whether to enable the instance for AMD SEV-SNP. AMD SEV-SNP is supported with M6a, R6a, and C6a instance types only. Valid values are `enabled` and `disabled`. -func (o LaunchTemplateCpuOptionsPtrOutput) AmdSevSnp() pulumi.StringPtrOutput { - return o.ApplyT(func(v *LaunchTemplateCpuOptions) *string { - if v == nil { - return nil - } - return v.AmdSevSnp - }).(pulumi.StringPtrOutput) +func (o LaunchConfigurationEbsBlockDeviceOutput) SnapshotId() pulumi.StringPtrOutput { + return o.ApplyT(func(v LaunchConfigurationEbsBlockDevice) *string { return v.SnapshotId }).(pulumi.StringPtrOutput) } -// The number of CPU cores for the instance. -func (o LaunchTemplateCpuOptionsPtrOutput) CoreCount() pulumi.IntPtrOutput { - return o.ApplyT(func(v *LaunchTemplateCpuOptions) *int { - if v == nil { - return nil - } - return v.CoreCount - }).(pulumi.IntPtrOutput) +func (o LaunchConfigurationEbsBlockDeviceOutput) Throughput() pulumi.IntPtrOutput { + return o.ApplyT(func(v LaunchConfigurationEbsBlockDevice) *int { return v.Throughput }).(pulumi.IntPtrOutput) } -// The number of threads per CPU core. -// To disable Intel Hyper-Threading Technology for the instance, specify a value of 1. -// Otherwise, specify the default value of 2. -// -// Both number of CPU cores and threads per core must be specified. Valid number of CPU cores and threads per core for the instance type can be found in the [CPU Options Documentation](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-optimize-cpu.html?shortFooter=true#cpu-options-supported-instances-values) -func (o LaunchTemplateCpuOptionsPtrOutput) ThreadsPerCore() pulumi.IntPtrOutput { - return o.ApplyT(func(v *LaunchTemplateCpuOptions) *int { - if v == nil { - return nil - } - return v.ThreadsPerCore - }).(pulumi.IntPtrOutput) +func (o LaunchConfigurationEbsBlockDeviceOutput) VolumeSize() pulumi.IntPtrOutput { + return o.ApplyT(func(v LaunchConfigurationEbsBlockDevice) *int { return v.VolumeSize }).(pulumi.IntPtrOutput) } -type LaunchTemplateCreditSpecification struct { - // The credit option for CPU usage. - // Can be `standard` or `unlimited`. - // T3 instances are launched as `unlimited` by default. - // T2 instances are launched as `standard` by default. - CpuCredits *string `pulumi:"cpuCredits"` +func (o LaunchConfigurationEbsBlockDeviceOutput) VolumeType() pulumi.StringPtrOutput { + return o.ApplyT(func(v LaunchConfigurationEbsBlockDevice) *string { return v.VolumeType }).(pulumi.StringPtrOutput) } -// LaunchTemplateCreditSpecificationInput is an input type that accepts LaunchTemplateCreditSpecificationArgs and LaunchTemplateCreditSpecificationOutput values. -// You can construct a concrete instance of `LaunchTemplateCreditSpecificationInput` via: -// -// LaunchTemplateCreditSpecificationArgs{...} -type LaunchTemplateCreditSpecificationInput interface { - pulumi.Input +type LaunchConfigurationEbsBlockDeviceArrayOutput struct{ *pulumi.OutputState } - ToLaunchTemplateCreditSpecificationOutput() LaunchTemplateCreditSpecificationOutput - ToLaunchTemplateCreditSpecificationOutputWithContext(context.Context) LaunchTemplateCreditSpecificationOutput +func (LaunchConfigurationEbsBlockDeviceArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]LaunchConfigurationEbsBlockDevice)(nil)).Elem() } -type LaunchTemplateCreditSpecificationArgs struct { - // The credit option for CPU usage. - // Can be `standard` or `unlimited`. - // T3 instances are launched as `unlimited` by default. - // T2 instances are launched as `standard` by default. - CpuCredits pulumi.StringPtrInput `pulumi:"cpuCredits"` +func (o LaunchConfigurationEbsBlockDeviceArrayOutput) ToLaunchConfigurationEbsBlockDeviceArrayOutput() LaunchConfigurationEbsBlockDeviceArrayOutput { + return o } -func (LaunchTemplateCreditSpecificationArgs) ElementType() reflect.Type { - return reflect.TypeOf((*LaunchTemplateCreditSpecification)(nil)).Elem() +func (o LaunchConfigurationEbsBlockDeviceArrayOutput) ToLaunchConfigurationEbsBlockDeviceArrayOutputWithContext(ctx context.Context) LaunchConfigurationEbsBlockDeviceArrayOutput { + return o } -func (i LaunchTemplateCreditSpecificationArgs) ToLaunchTemplateCreditSpecificationOutput() LaunchTemplateCreditSpecificationOutput { - return i.ToLaunchTemplateCreditSpecificationOutputWithContext(context.Background()) +func (o LaunchConfigurationEbsBlockDeviceArrayOutput) Index(i pulumi.IntInput) LaunchConfigurationEbsBlockDeviceOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) LaunchConfigurationEbsBlockDevice { + return vs[0].([]LaunchConfigurationEbsBlockDevice)[vs[1].(int)] + }).(LaunchConfigurationEbsBlockDeviceOutput) } -func (i LaunchTemplateCreditSpecificationArgs) ToLaunchTemplateCreditSpecificationOutputWithContext(ctx context.Context) LaunchTemplateCreditSpecificationOutput { - return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateCreditSpecificationOutput) +type LaunchConfigurationEphemeralBlockDevice struct { + DeviceName string `pulumi:"deviceName"` + NoDevice *bool `pulumi:"noDevice"` + VirtualName *string `pulumi:"virtualName"` } -func (i LaunchTemplateCreditSpecificationArgs) ToLaunchTemplateCreditSpecificationPtrOutput() LaunchTemplateCreditSpecificationPtrOutput { - return i.ToLaunchTemplateCreditSpecificationPtrOutputWithContext(context.Background()) +// LaunchConfigurationEphemeralBlockDeviceInput is an input type that accepts LaunchConfigurationEphemeralBlockDeviceArgs and LaunchConfigurationEphemeralBlockDeviceOutput values. +// You can construct a concrete instance of `LaunchConfigurationEphemeralBlockDeviceInput` via: +// +// LaunchConfigurationEphemeralBlockDeviceArgs{...} +type LaunchConfigurationEphemeralBlockDeviceInput interface { + pulumi.Input + + ToLaunchConfigurationEphemeralBlockDeviceOutput() LaunchConfigurationEphemeralBlockDeviceOutput + ToLaunchConfigurationEphemeralBlockDeviceOutputWithContext(context.Context) LaunchConfigurationEphemeralBlockDeviceOutput } -func (i LaunchTemplateCreditSpecificationArgs) ToLaunchTemplateCreditSpecificationPtrOutputWithContext(ctx context.Context) LaunchTemplateCreditSpecificationPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateCreditSpecificationOutput).ToLaunchTemplateCreditSpecificationPtrOutputWithContext(ctx) +type LaunchConfigurationEphemeralBlockDeviceArgs struct { + DeviceName pulumi.StringInput `pulumi:"deviceName"` + NoDevice pulumi.BoolPtrInput `pulumi:"noDevice"` + VirtualName pulumi.StringPtrInput `pulumi:"virtualName"` } -// LaunchTemplateCreditSpecificationPtrInput is an input type that accepts LaunchTemplateCreditSpecificationArgs, LaunchTemplateCreditSpecificationPtr and LaunchTemplateCreditSpecificationPtrOutput values. -// You can construct a concrete instance of `LaunchTemplateCreditSpecificationPtrInput` via: -// -// LaunchTemplateCreditSpecificationArgs{...} -// -// or: -// -// nil -type LaunchTemplateCreditSpecificationPtrInput interface { - pulumi.Input +func (LaunchConfigurationEphemeralBlockDeviceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LaunchConfigurationEphemeralBlockDevice)(nil)).Elem() +} - ToLaunchTemplateCreditSpecificationPtrOutput() LaunchTemplateCreditSpecificationPtrOutput - ToLaunchTemplateCreditSpecificationPtrOutputWithContext(context.Context) LaunchTemplateCreditSpecificationPtrOutput +func (i LaunchConfigurationEphemeralBlockDeviceArgs) ToLaunchConfigurationEphemeralBlockDeviceOutput() LaunchConfigurationEphemeralBlockDeviceOutput { + return i.ToLaunchConfigurationEphemeralBlockDeviceOutputWithContext(context.Background()) } -type launchTemplateCreditSpecificationPtrType LaunchTemplateCreditSpecificationArgs +func (i LaunchConfigurationEphemeralBlockDeviceArgs) ToLaunchConfigurationEphemeralBlockDeviceOutputWithContext(ctx context.Context) LaunchConfigurationEphemeralBlockDeviceOutput { + return pulumi.ToOutputWithContext(ctx, i).(LaunchConfigurationEphemeralBlockDeviceOutput) +} -func LaunchTemplateCreditSpecificationPtr(v *LaunchTemplateCreditSpecificationArgs) LaunchTemplateCreditSpecificationPtrInput { - return (*launchTemplateCreditSpecificationPtrType)(v) +// LaunchConfigurationEphemeralBlockDeviceArrayInput is an input type that accepts LaunchConfigurationEphemeralBlockDeviceArray and LaunchConfigurationEphemeralBlockDeviceArrayOutput values. +// You can construct a concrete instance of `LaunchConfigurationEphemeralBlockDeviceArrayInput` via: +// +// LaunchConfigurationEphemeralBlockDeviceArray{ LaunchConfigurationEphemeralBlockDeviceArgs{...} } +type LaunchConfigurationEphemeralBlockDeviceArrayInput interface { + pulumi.Input + + ToLaunchConfigurationEphemeralBlockDeviceArrayOutput() LaunchConfigurationEphemeralBlockDeviceArrayOutput + ToLaunchConfigurationEphemeralBlockDeviceArrayOutputWithContext(context.Context) LaunchConfigurationEphemeralBlockDeviceArrayOutput } -func (*launchTemplateCreditSpecificationPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**LaunchTemplateCreditSpecification)(nil)).Elem() +type LaunchConfigurationEphemeralBlockDeviceArray []LaunchConfigurationEphemeralBlockDeviceInput + +func (LaunchConfigurationEphemeralBlockDeviceArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]LaunchConfigurationEphemeralBlockDevice)(nil)).Elem() } -func (i *launchTemplateCreditSpecificationPtrType) ToLaunchTemplateCreditSpecificationPtrOutput() LaunchTemplateCreditSpecificationPtrOutput { - return i.ToLaunchTemplateCreditSpecificationPtrOutputWithContext(context.Background()) +func (i LaunchConfigurationEphemeralBlockDeviceArray) ToLaunchConfigurationEphemeralBlockDeviceArrayOutput() LaunchConfigurationEphemeralBlockDeviceArrayOutput { + return i.ToLaunchConfigurationEphemeralBlockDeviceArrayOutputWithContext(context.Background()) } -func (i *launchTemplateCreditSpecificationPtrType) ToLaunchTemplateCreditSpecificationPtrOutputWithContext(ctx context.Context) LaunchTemplateCreditSpecificationPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateCreditSpecificationPtrOutput) +func (i LaunchConfigurationEphemeralBlockDeviceArray) ToLaunchConfigurationEphemeralBlockDeviceArrayOutputWithContext(ctx context.Context) LaunchConfigurationEphemeralBlockDeviceArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(LaunchConfigurationEphemeralBlockDeviceArrayOutput) } -type LaunchTemplateCreditSpecificationOutput struct{ *pulumi.OutputState } +type LaunchConfigurationEphemeralBlockDeviceOutput struct{ *pulumi.OutputState } -func (LaunchTemplateCreditSpecificationOutput) ElementType() reflect.Type { - return reflect.TypeOf((*LaunchTemplateCreditSpecification)(nil)).Elem() +func (LaunchConfigurationEphemeralBlockDeviceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LaunchConfigurationEphemeralBlockDevice)(nil)).Elem() } -func (o LaunchTemplateCreditSpecificationOutput) ToLaunchTemplateCreditSpecificationOutput() LaunchTemplateCreditSpecificationOutput { +func (o LaunchConfigurationEphemeralBlockDeviceOutput) ToLaunchConfigurationEphemeralBlockDeviceOutput() LaunchConfigurationEphemeralBlockDeviceOutput { return o } -func (o LaunchTemplateCreditSpecificationOutput) ToLaunchTemplateCreditSpecificationOutputWithContext(ctx context.Context) LaunchTemplateCreditSpecificationOutput { +func (o LaunchConfigurationEphemeralBlockDeviceOutput) ToLaunchConfigurationEphemeralBlockDeviceOutputWithContext(ctx context.Context) LaunchConfigurationEphemeralBlockDeviceOutput { return o } -func (o LaunchTemplateCreditSpecificationOutput) ToLaunchTemplateCreditSpecificationPtrOutput() LaunchTemplateCreditSpecificationPtrOutput { - return o.ToLaunchTemplateCreditSpecificationPtrOutputWithContext(context.Background()) +func (o LaunchConfigurationEphemeralBlockDeviceOutput) DeviceName() pulumi.StringOutput { + return o.ApplyT(func(v LaunchConfigurationEphemeralBlockDevice) string { return v.DeviceName }).(pulumi.StringOutput) } -func (o LaunchTemplateCreditSpecificationOutput) ToLaunchTemplateCreditSpecificationPtrOutputWithContext(ctx context.Context) LaunchTemplateCreditSpecificationPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v LaunchTemplateCreditSpecification) *LaunchTemplateCreditSpecification { - return &v - }).(LaunchTemplateCreditSpecificationPtrOutput) +func (o LaunchConfigurationEphemeralBlockDeviceOutput) NoDevice() pulumi.BoolPtrOutput { + return o.ApplyT(func(v LaunchConfigurationEphemeralBlockDevice) *bool { return v.NoDevice }).(pulumi.BoolPtrOutput) } -// The credit option for CPU usage. -// Can be `standard` or `unlimited`. -// T3 instances are launched as `unlimited` by default. -// T2 instances are launched as `standard` by default. -func (o LaunchTemplateCreditSpecificationOutput) CpuCredits() pulumi.StringPtrOutput { - return o.ApplyT(func(v LaunchTemplateCreditSpecification) *string { return v.CpuCredits }).(pulumi.StringPtrOutput) +func (o LaunchConfigurationEphemeralBlockDeviceOutput) VirtualName() pulumi.StringPtrOutput { + return o.ApplyT(func(v LaunchConfigurationEphemeralBlockDevice) *string { return v.VirtualName }).(pulumi.StringPtrOutput) } -type LaunchTemplateCreditSpecificationPtrOutput struct{ *pulumi.OutputState } +type LaunchConfigurationEphemeralBlockDeviceArrayOutput struct{ *pulumi.OutputState } -func (LaunchTemplateCreditSpecificationPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**LaunchTemplateCreditSpecification)(nil)).Elem() +func (LaunchConfigurationEphemeralBlockDeviceArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]LaunchConfigurationEphemeralBlockDevice)(nil)).Elem() } -func (o LaunchTemplateCreditSpecificationPtrOutput) ToLaunchTemplateCreditSpecificationPtrOutput() LaunchTemplateCreditSpecificationPtrOutput { +func (o LaunchConfigurationEphemeralBlockDeviceArrayOutput) ToLaunchConfigurationEphemeralBlockDeviceArrayOutput() LaunchConfigurationEphemeralBlockDeviceArrayOutput { return o } -func (o LaunchTemplateCreditSpecificationPtrOutput) ToLaunchTemplateCreditSpecificationPtrOutputWithContext(ctx context.Context) LaunchTemplateCreditSpecificationPtrOutput { +func (o LaunchConfigurationEphemeralBlockDeviceArrayOutput) ToLaunchConfigurationEphemeralBlockDeviceArrayOutputWithContext(ctx context.Context) LaunchConfigurationEphemeralBlockDeviceArrayOutput { return o } -func (o LaunchTemplateCreditSpecificationPtrOutput) Elem() LaunchTemplateCreditSpecificationOutput { - return o.ApplyT(func(v *LaunchTemplateCreditSpecification) LaunchTemplateCreditSpecification { - if v != nil { - return *v - } - var ret LaunchTemplateCreditSpecification - return ret - }).(LaunchTemplateCreditSpecificationOutput) -} - -// The credit option for CPU usage. -// Can be `standard` or `unlimited`. -// T3 instances are launched as `unlimited` by default. -// T2 instances are launched as `standard` by default. -func (o LaunchTemplateCreditSpecificationPtrOutput) CpuCredits() pulumi.StringPtrOutput { - return o.ApplyT(func(v *LaunchTemplateCreditSpecification) *string { - if v == nil { - return nil - } - return v.CpuCredits - }).(pulumi.StringPtrOutput) +func (o LaunchConfigurationEphemeralBlockDeviceArrayOutput) Index(i pulumi.IntInput) LaunchConfigurationEphemeralBlockDeviceOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) LaunchConfigurationEphemeralBlockDevice { + return vs[0].([]LaunchConfigurationEphemeralBlockDevice)[vs[1].(int)] + }).(LaunchConfigurationEphemeralBlockDeviceOutput) } -type LaunchTemplateEnclaveOptions struct { - // If set to `true`, Nitro Enclaves will be enabled on the instance. - // - // For more information, see the documentation on [Nitro Enclaves](https://docs.aws.amazon.com/enclaves/latest/user/nitro-enclave.html). - Enabled *bool `pulumi:"enabled"` +type LaunchConfigurationMetadataOptions struct { + // The state of the metadata service: `enabled`, `disabled`. + HttpEndpoint *string `pulumi:"httpEndpoint"` + // The desired HTTP PUT response hop limit for instance metadata requests. + HttpPutResponseHopLimit *int `pulumi:"httpPutResponseHopLimit"` + // If session tokens are required: `optional`, `required`. + HttpTokens *string `pulumi:"httpTokens"` } -// LaunchTemplateEnclaveOptionsInput is an input type that accepts LaunchTemplateEnclaveOptionsArgs and LaunchTemplateEnclaveOptionsOutput values. -// You can construct a concrete instance of `LaunchTemplateEnclaveOptionsInput` via: +// LaunchConfigurationMetadataOptionsInput is an input type that accepts LaunchConfigurationMetadataOptionsArgs and LaunchConfigurationMetadataOptionsOutput values. +// You can construct a concrete instance of `LaunchConfigurationMetadataOptionsInput` via: // -// LaunchTemplateEnclaveOptionsArgs{...} -type LaunchTemplateEnclaveOptionsInput interface { +// LaunchConfigurationMetadataOptionsArgs{...} +type LaunchConfigurationMetadataOptionsInput interface { pulumi.Input - ToLaunchTemplateEnclaveOptionsOutput() LaunchTemplateEnclaveOptionsOutput - ToLaunchTemplateEnclaveOptionsOutputWithContext(context.Context) LaunchTemplateEnclaveOptionsOutput + ToLaunchConfigurationMetadataOptionsOutput() LaunchConfigurationMetadataOptionsOutput + ToLaunchConfigurationMetadataOptionsOutputWithContext(context.Context) LaunchConfigurationMetadataOptionsOutput } -type LaunchTemplateEnclaveOptionsArgs struct { - // If set to `true`, Nitro Enclaves will be enabled on the instance. - // - // For more information, see the documentation on [Nitro Enclaves](https://docs.aws.amazon.com/enclaves/latest/user/nitro-enclave.html). - Enabled pulumi.BoolPtrInput `pulumi:"enabled"` +type LaunchConfigurationMetadataOptionsArgs struct { + // The state of the metadata service: `enabled`, `disabled`. + HttpEndpoint pulumi.StringPtrInput `pulumi:"httpEndpoint"` + // The desired HTTP PUT response hop limit for instance metadata requests. + HttpPutResponseHopLimit pulumi.IntPtrInput `pulumi:"httpPutResponseHopLimit"` + // If session tokens are required: `optional`, `required`. + HttpTokens pulumi.StringPtrInput `pulumi:"httpTokens"` } -func (LaunchTemplateEnclaveOptionsArgs) ElementType() reflect.Type { - return reflect.TypeOf((*LaunchTemplateEnclaveOptions)(nil)).Elem() +func (LaunchConfigurationMetadataOptionsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LaunchConfigurationMetadataOptions)(nil)).Elem() } -func (i LaunchTemplateEnclaveOptionsArgs) ToLaunchTemplateEnclaveOptionsOutput() LaunchTemplateEnclaveOptionsOutput { - return i.ToLaunchTemplateEnclaveOptionsOutputWithContext(context.Background()) +func (i LaunchConfigurationMetadataOptionsArgs) ToLaunchConfigurationMetadataOptionsOutput() LaunchConfigurationMetadataOptionsOutput { + return i.ToLaunchConfigurationMetadataOptionsOutputWithContext(context.Background()) } -func (i LaunchTemplateEnclaveOptionsArgs) ToLaunchTemplateEnclaveOptionsOutputWithContext(ctx context.Context) LaunchTemplateEnclaveOptionsOutput { - return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateEnclaveOptionsOutput) +func (i LaunchConfigurationMetadataOptionsArgs) ToLaunchConfigurationMetadataOptionsOutputWithContext(ctx context.Context) LaunchConfigurationMetadataOptionsOutput { + return pulumi.ToOutputWithContext(ctx, i).(LaunchConfigurationMetadataOptionsOutput) } -func (i LaunchTemplateEnclaveOptionsArgs) ToLaunchTemplateEnclaveOptionsPtrOutput() LaunchTemplateEnclaveOptionsPtrOutput { - return i.ToLaunchTemplateEnclaveOptionsPtrOutputWithContext(context.Background()) +func (i LaunchConfigurationMetadataOptionsArgs) ToLaunchConfigurationMetadataOptionsPtrOutput() LaunchConfigurationMetadataOptionsPtrOutput { + return i.ToLaunchConfigurationMetadataOptionsPtrOutputWithContext(context.Background()) } -func (i LaunchTemplateEnclaveOptionsArgs) ToLaunchTemplateEnclaveOptionsPtrOutputWithContext(ctx context.Context) LaunchTemplateEnclaveOptionsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateEnclaveOptionsOutput).ToLaunchTemplateEnclaveOptionsPtrOutputWithContext(ctx) +func (i LaunchConfigurationMetadataOptionsArgs) ToLaunchConfigurationMetadataOptionsPtrOutputWithContext(ctx context.Context) LaunchConfigurationMetadataOptionsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(LaunchConfigurationMetadataOptionsOutput).ToLaunchConfigurationMetadataOptionsPtrOutputWithContext(ctx) } -// LaunchTemplateEnclaveOptionsPtrInput is an input type that accepts LaunchTemplateEnclaveOptionsArgs, LaunchTemplateEnclaveOptionsPtr and LaunchTemplateEnclaveOptionsPtrOutput values. -// You can construct a concrete instance of `LaunchTemplateEnclaveOptionsPtrInput` via: +// LaunchConfigurationMetadataOptionsPtrInput is an input type that accepts LaunchConfigurationMetadataOptionsArgs, LaunchConfigurationMetadataOptionsPtr and LaunchConfigurationMetadataOptionsPtrOutput values. +// You can construct a concrete instance of `LaunchConfigurationMetadataOptionsPtrInput` via: // -// LaunchTemplateEnclaveOptionsArgs{...} +// LaunchConfigurationMetadataOptionsArgs{...} // // or: // // nil -type LaunchTemplateEnclaveOptionsPtrInput interface { +type LaunchConfigurationMetadataOptionsPtrInput interface { pulumi.Input - ToLaunchTemplateEnclaveOptionsPtrOutput() LaunchTemplateEnclaveOptionsPtrOutput - ToLaunchTemplateEnclaveOptionsPtrOutputWithContext(context.Context) LaunchTemplateEnclaveOptionsPtrOutput + ToLaunchConfigurationMetadataOptionsPtrOutput() LaunchConfigurationMetadataOptionsPtrOutput + ToLaunchConfigurationMetadataOptionsPtrOutputWithContext(context.Context) LaunchConfigurationMetadataOptionsPtrOutput } -type launchTemplateEnclaveOptionsPtrType LaunchTemplateEnclaveOptionsArgs +type launchConfigurationMetadataOptionsPtrType LaunchConfigurationMetadataOptionsArgs -func LaunchTemplateEnclaveOptionsPtr(v *LaunchTemplateEnclaveOptionsArgs) LaunchTemplateEnclaveOptionsPtrInput { - return (*launchTemplateEnclaveOptionsPtrType)(v) +func LaunchConfigurationMetadataOptionsPtr(v *LaunchConfigurationMetadataOptionsArgs) LaunchConfigurationMetadataOptionsPtrInput { + return (*launchConfigurationMetadataOptionsPtrType)(v) } -func (*launchTemplateEnclaveOptionsPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**LaunchTemplateEnclaveOptions)(nil)).Elem() +func (*launchConfigurationMetadataOptionsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**LaunchConfigurationMetadataOptions)(nil)).Elem() } -func (i *launchTemplateEnclaveOptionsPtrType) ToLaunchTemplateEnclaveOptionsPtrOutput() LaunchTemplateEnclaveOptionsPtrOutput { - return i.ToLaunchTemplateEnclaveOptionsPtrOutputWithContext(context.Background()) +func (i *launchConfigurationMetadataOptionsPtrType) ToLaunchConfigurationMetadataOptionsPtrOutput() LaunchConfigurationMetadataOptionsPtrOutput { + return i.ToLaunchConfigurationMetadataOptionsPtrOutputWithContext(context.Background()) } -func (i *launchTemplateEnclaveOptionsPtrType) ToLaunchTemplateEnclaveOptionsPtrOutputWithContext(ctx context.Context) LaunchTemplateEnclaveOptionsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateEnclaveOptionsPtrOutput) +func (i *launchConfigurationMetadataOptionsPtrType) ToLaunchConfigurationMetadataOptionsPtrOutputWithContext(ctx context.Context) LaunchConfigurationMetadataOptionsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(LaunchConfigurationMetadataOptionsPtrOutput) } -type LaunchTemplateEnclaveOptionsOutput struct{ *pulumi.OutputState } +type LaunchConfigurationMetadataOptionsOutput struct{ *pulumi.OutputState } -func (LaunchTemplateEnclaveOptionsOutput) ElementType() reflect.Type { - return reflect.TypeOf((*LaunchTemplateEnclaveOptions)(nil)).Elem() +func (LaunchConfigurationMetadataOptionsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LaunchConfigurationMetadataOptions)(nil)).Elem() } -func (o LaunchTemplateEnclaveOptionsOutput) ToLaunchTemplateEnclaveOptionsOutput() LaunchTemplateEnclaveOptionsOutput { +func (o LaunchConfigurationMetadataOptionsOutput) ToLaunchConfigurationMetadataOptionsOutput() LaunchConfigurationMetadataOptionsOutput { return o } -func (o LaunchTemplateEnclaveOptionsOutput) ToLaunchTemplateEnclaveOptionsOutputWithContext(ctx context.Context) LaunchTemplateEnclaveOptionsOutput { +func (o LaunchConfigurationMetadataOptionsOutput) ToLaunchConfigurationMetadataOptionsOutputWithContext(ctx context.Context) LaunchConfigurationMetadataOptionsOutput { return o } -func (o LaunchTemplateEnclaveOptionsOutput) ToLaunchTemplateEnclaveOptionsPtrOutput() LaunchTemplateEnclaveOptionsPtrOutput { - return o.ToLaunchTemplateEnclaveOptionsPtrOutputWithContext(context.Background()) +func (o LaunchConfigurationMetadataOptionsOutput) ToLaunchConfigurationMetadataOptionsPtrOutput() LaunchConfigurationMetadataOptionsPtrOutput { + return o.ToLaunchConfigurationMetadataOptionsPtrOutputWithContext(context.Background()) } -func (o LaunchTemplateEnclaveOptionsOutput) ToLaunchTemplateEnclaveOptionsPtrOutputWithContext(ctx context.Context) LaunchTemplateEnclaveOptionsPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v LaunchTemplateEnclaveOptions) *LaunchTemplateEnclaveOptions { +func (o LaunchConfigurationMetadataOptionsOutput) ToLaunchConfigurationMetadataOptionsPtrOutputWithContext(ctx context.Context) LaunchConfigurationMetadataOptionsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v LaunchConfigurationMetadataOptions) *LaunchConfigurationMetadataOptions { return &v - }).(LaunchTemplateEnclaveOptionsPtrOutput) + }).(LaunchConfigurationMetadataOptionsPtrOutput) } -// If set to `true`, Nitro Enclaves will be enabled on the instance. -// -// For more information, see the documentation on [Nitro Enclaves](https://docs.aws.amazon.com/enclaves/latest/user/nitro-enclave.html). -func (o LaunchTemplateEnclaveOptionsOutput) Enabled() pulumi.BoolPtrOutput { - return o.ApplyT(func(v LaunchTemplateEnclaveOptions) *bool { return v.Enabled }).(pulumi.BoolPtrOutput) +// The state of the metadata service: `enabled`, `disabled`. +func (o LaunchConfigurationMetadataOptionsOutput) HttpEndpoint() pulumi.StringPtrOutput { + return o.ApplyT(func(v LaunchConfigurationMetadataOptions) *string { return v.HttpEndpoint }).(pulumi.StringPtrOutput) } -type LaunchTemplateEnclaveOptionsPtrOutput struct{ *pulumi.OutputState } +// The desired HTTP PUT response hop limit for instance metadata requests. +func (o LaunchConfigurationMetadataOptionsOutput) HttpPutResponseHopLimit() pulumi.IntPtrOutput { + return o.ApplyT(func(v LaunchConfigurationMetadataOptions) *int { return v.HttpPutResponseHopLimit }).(pulumi.IntPtrOutput) +} -func (LaunchTemplateEnclaveOptionsPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**LaunchTemplateEnclaveOptions)(nil)).Elem() +// If session tokens are required: `optional`, `required`. +func (o LaunchConfigurationMetadataOptionsOutput) HttpTokens() pulumi.StringPtrOutput { + return o.ApplyT(func(v LaunchConfigurationMetadataOptions) *string { return v.HttpTokens }).(pulumi.StringPtrOutput) } -func (o LaunchTemplateEnclaveOptionsPtrOutput) ToLaunchTemplateEnclaveOptionsPtrOutput() LaunchTemplateEnclaveOptionsPtrOutput { +type LaunchConfigurationMetadataOptionsPtrOutput struct{ *pulumi.OutputState } + +func (LaunchConfigurationMetadataOptionsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**LaunchConfigurationMetadataOptions)(nil)).Elem() +} + +func (o LaunchConfigurationMetadataOptionsPtrOutput) ToLaunchConfigurationMetadataOptionsPtrOutput() LaunchConfigurationMetadataOptionsPtrOutput { return o } -func (o LaunchTemplateEnclaveOptionsPtrOutput) ToLaunchTemplateEnclaveOptionsPtrOutputWithContext(ctx context.Context) LaunchTemplateEnclaveOptionsPtrOutput { +func (o LaunchConfigurationMetadataOptionsPtrOutput) ToLaunchConfigurationMetadataOptionsPtrOutputWithContext(ctx context.Context) LaunchConfigurationMetadataOptionsPtrOutput { return o } -func (o LaunchTemplateEnclaveOptionsPtrOutput) Elem() LaunchTemplateEnclaveOptionsOutput { - return o.ApplyT(func(v *LaunchTemplateEnclaveOptions) LaunchTemplateEnclaveOptions { +func (o LaunchConfigurationMetadataOptionsPtrOutput) Elem() LaunchConfigurationMetadataOptionsOutput { + return o.ApplyT(func(v *LaunchConfigurationMetadataOptions) LaunchConfigurationMetadataOptions { if v != nil { return *v } - var ret LaunchTemplateEnclaveOptions + var ret LaunchConfigurationMetadataOptions return ret - }).(LaunchTemplateEnclaveOptionsOutput) + }).(LaunchConfigurationMetadataOptionsOutput) } -// If set to `true`, Nitro Enclaves will be enabled on the instance. -// -// For more information, see the documentation on [Nitro Enclaves](https://docs.aws.amazon.com/enclaves/latest/user/nitro-enclave.html). -func (o LaunchTemplateEnclaveOptionsPtrOutput) Enabled() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *LaunchTemplateEnclaveOptions) *bool { +// The state of the metadata service: `enabled`, `disabled`. +func (o LaunchConfigurationMetadataOptionsPtrOutput) HttpEndpoint() pulumi.StringPtrOutput { + return o.ApplyT(func(v *LaunchConfigurationMetadataOptions) *string { if v == nil { return nil } - return v.Enabled - }).(pulumi.BoolPtrOutput) + return v.HttpEndpoint + }).(pulumi.StringPtrOutput) } -type LaunchTemplateHibernationOptions struct { - // If set to `true`, the launched EC2 instance will hibernation enabled. - Configured bool `pulumi:"configured"` +// The desired HTTP PUT response hop limit for instance metadata requests. +func (o LaunchConfigurationMetadataOptionsPtrOutput) HttpPutResponseHopLimit() pulumi.IntPtrOutput { + return o.ApplyT(func(v *LaunchConfigurationMetadataOptions) *int { + if v == nil { + return nil + } + return v.HttpPutResponseHopLimit + }).(pulumi.IntPtrOutput) } -// LaunchTemplateHibernationOptionsInput is an input type that accepts LaunchTemplateHibernationOptionsArgs and LaunchTemplateHibernationOptionsOutput values. -// You can construct a concrete instance of `LaunchTemplateHibernationOptionsInput` via: +// If session tokens are required: `optional`, `required`. +func (o LaunchConfigurationMetadataOptionsPtrOutput) HttpTokens() pulumi.StringPtrOutput { + return o.ApplyT(func(v *LaunchConfigurationMetadataOptions) *string { + if v == nil { + return nil + } + return v.HttpTokens + }).(pulumi.StringPtrOutput) +} + +type LaunchConfigurationRootBlockDevice struct { + DeleteOnTermination *bool `pulumi:"deleteOnTermination"` + Encrypted *bool `pulumi:"encrypted"` + Iops *int `pulumi:"iops"` + Throughput *int `pulumi:"throughput"` + VolumeSize *int `pulumi:"volumeSize"` + VolumeType *string `pulumi:"volumeType"` +} + +// LaunchConfigurationRootBlockDeviceInput is an input type that accepts LaunchConfigurationRootBlockDeviceArgs and LaunchConfigurationRootBlockDeviceOutput values. +// You can construct a concrete instance of `LaunchConfigurationRootBlockDeviceInput` via: // -// LaunchTemplateHibernationOptionsArgs{...} -type LaunchTemplateHibernationOptionsInput interface { +// LaunchConfigurationRootBlockDeviceArgs{...} +type LaunchConfigurationRootBlockDeviceInput interface { pulumi.Input - ToLaunchTemplateHibernationOptionsOutput() LaunchTemplateHibernationOptionsOutput - ToLaunchTemplateHibernationOptionsOutputWithContext(context.Context) LaunchTemplateHibernationOptionsOutput + ToLaunchConfigurationRootBlockDeviceOutput() LaunchConfigurationRootBlockDeviceOutput + ToLaunchConfigurationRootBlockDeviceOutputWithContext(context.Context) LaunchConfigurationRootBlockDeviceOutput } -type LaunchTemplateHibernationOptionsArgs struct { - // If set to `true`, the launched EC2 instance will hibernation enabled. - Configured pulumi.BoolInput `pulumi:"configured"` +type LaunchConfigurationRootBlockDeviceArgs struct { + DeleteOnTermination pulumi.BoolPtrInput `pulumi:"deleteOnTermination"` + Encrypted pulumi.BoolPtrInput `pulumi:"encrypted"` + Iops pulumi.IntPtrInput `pulumi:"iops"` + Throughput pulumi.IntPtrInput `pulumi:"throughput"` + VolumeSize pulumi.IntPtrInput `pulumi:"volumeSize"` + VolumeType pulumi.StringPtrInput `pulumi:"volumeType"` } -func (LaunchTemplateHibernationOptionsArgs) ElementType() reflect.Type { - return reflect.TypeOf((*LaunchTemplateHibernationOptions)(nil)).Elem() +func (LaunchConfigurationRootBlockDeviceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LaunchConfigurationRootBlockDevice)(nil)).Elem() } -func (i LaunchTemplateHibernationOptionsArgs) ToLaunchTemplateHibernationOptionsOutput() LaunchTemplateHibernationOptionsOutput { - return i.ToLaunchTemplateHibernationOptionsOutputWithContext(context.Background()) +func (i LaunchConfigurationRootBlockDeviceArgs) ToLaunchConfigurationRootBlockDeviceOutput() LaunchConfigurationRootBlockDeviceOutput { + return i.ToLaunchConfigurationRootBlockDeviceOutputWithContext(context.Background()) } -func (i LaunchTemplateHibernationOptionsArgs) ToLaunchTemplateHibernationOptionsOutputWithContext(ctx context.Context) LaunchTemplateHibernationOptionsOutput { - return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateHibernationOptionsOutput) +func (i LaunchConfigurationRootBlockDeviceArgs) ToLaunchConfigurationRootBlockDeviceOutputWithContext(ctx context.Context) LaunchConfigurationRootBlockDeviceOutput { + return pulumi.ToOutputWithContext(ctx, i).(LaunchConfigurationRootBlockDeviceOutput) } -func (i LaunchTemplateHibernationOptionsArgs) ToLaunchTemplateHibernationOptionsPtrOutput() LaunchTemplateHibernationOptionsPtrOutput { - return i.ToLaunchTemplateHibernationOptionsPtrOutputWithContext(context.Background()) +func (i LaunchConfigurationRootBlockDeviceArgs) ToLaunchConfigurationRootBlockDevicePtrOutput() LaunchConfigurationRootBlockDevicePtrOutput { + return i.ToLaunchConfigurationRootBlockDevicePtrOutputWithContext(context.Background()) } -func (i LaunchTemplateHibernationOptionsArgs) ToLaunchTemplateHibernationOptionsPtrOutputWithContext(ctx context.Context) LaunchTemplateHibernationOptionsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateHibernationOptionsOutput).ToLaunchTemplateHibernationOptionsPtrOutputWithContext(ctx) +func (i LaunchConfigurationRootBlockDeviceArgs) ToLaunchConfigurationRootBlockDevicePtrOutputWithContext(ctx context.Context) LaunchConfigurationRootBlockDevicePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(LaunchConfigurationRootBlockDeviceOutput).ToLaunchConfigurationRootBlockDevicePtrOutputWithContext(ctx) } -// LaunchTemplateHibernationOptionsPtrInput is an input type that accepts LaunchTemplateHibernationOptionsArgs, LaunchTemplateHibernationOptionsPtr and LaunchTemplateHibernationOptionsPtrOutput values. -// You can construct a concrete instance of `LaunchTemplateHibernationOptionsPtrInput` via: +// LaunchConfigurationRootBlockDevicePtrInput is an input type that accepts LaunchConfigurationRootBlockDeviceArgs, LaunchConfigurationRootBlockDevicePtr and LaunchConfigurationRootBlockDevicePtrOutput values. +// You can construct a concrete instance of `LaunchConfigurationRootBlockDevicePtrInput` via: // -// LaunchTemplateHibernationOptionsArgs{...} +// LaunchConfigurationRootBlockDeviceArgs{...} // // or: // // nil -type LaunchTemplateHibernationOptionsPtrInput interface { +type LaunchConfigurationRootBlockDevicePtrInput interface { pulumi.Input - ToLaunchTemplateHibernationOptionsPtrOutput() LaunchTemplateHibernationOptionsPtrOutput - ToLaunchTemplateHibernationOptionsPtrOutputWithContext(context.Context) LaunchTemplateHibernationOptionsPtrOutput + ToLaunchConfigurationRootBlockDevicePtrOutput() LaunchConfigurationRootBlockDevicePtrOutput + ToLaunchConfigurationRootBlockDevicePtrOutputWithContext(context.Context) LaunchConfigurationRootBlockDevicePtrOutput } -type launchTemplateHibernationOptionsPtrType LaunchTemplateHibernationOptionsArgs +type launchConfigurationRootBlockDevicePtrType LaunchConfigurationRootBlockDeviceArgs -func LaunchTemplateHibernationOptionsPtr(v *LaunchTemplateHibernationOptionsArgs) LaunchTemplateHibernationOptionsPtrInput { - return (*launchTemplateHibernationOptionsPtrType)(v) +func LaunchConfigurationRootBlockDevicePtr(v *LaunchConfigurationRootBlockDeviceArgs) LaunchConfigurationRootBlockDevicePtrInput { + return (*launchConfigurationRootBlockDevicePtrType)(v) } -func (*launchTemplateHibernationOptionsPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**LaunchTemplateHibernationOptions)(nil)).Elem() +func (*launchConfigurationRootBlockDevicePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**LaunchConfigurationRootBlockDevice)(nil)).Elem() } -func (i *launchTemplateHibernationOptionsPtrType) ToLaunchTemplateHibernationOptionsPtrOutput() LaunchTemplateHibernationOptionsPtrOutput { - return i.ToLaunchTemplateHibernationOptionsPtrOutputWithContext(context.Background()) +func (i *launchConfigurationRootBlockDevicePtrType) ToLaunchConfigurationRootBlockDevicePtrOutput() LaunchConfigurationRootBlockDevicePtrOutput { + return i.ToLaunchConfigurationRootBlockDevicePtrOutputWithContext(context.Background()) } -func (i *launchTemplateHibernationOptionsPtrType) ToLaunchTemplateHibernationOptionsPtrOutputWithContext(ctx context.Context) LaunchTemplateHibernationOptionsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateHibernationOptionsPtrOutput) +func (i *launchConfigurationRootBlockDevicePtrType) ToLaunchConfigurationRootBlockDevicePtrOutputWithContext(ctx context.Context) LaunchConfigurationRootBlockDevicePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(LaunchConfigurationRootBlockDevicePtrOutput) } -type LaunchTemplateHibernationOptionsOutput struct{ *pulumi.OutputState } +type LaunchConfigurationRootBlockDeviceOutput struct{ *pulumi.OutputState } -func (LaunchTemplateHibernationOptionsOutput) ElementType() reflect.Type { - return reflect.TypeOf((*LaunchTemplateHibernationOptions)(nil)).Elem() +func (LaunchConfigurationRootBlockDeviceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LaunchConfigurationRootBlockDevice)(nil)).Elem() } -func (o LaunchTemplateHibernationOptionsOutput) ToLaunchTemplateHibernationOptionsOutput() LaunchTemplateHibernationOptionsOutput { +func (o LaunchConfigurationRootBlockDeviceOutput) ToLaunchConfigurationRootBlockDeviceOutput() LaunchConfigurationRootBlockDeviceOutput { return o } -func (o LaunchTemplateHibernationOptionsOutput) ToLaunchTemplateHibernationOptionsOutputWithContext(ctx context.Context) LaunchTemplateHibernationOptionsOutput { +func (o LaunchConfigurationRootBlockDeviceOutput) ToLaunchConfigurationRootBlockDeviceOutputWithContext(ctx context.Context) LaunchConfigurationRootBlockDeviceOutput { return o } -func (o LaunchTemplateHibernationOptionsOutput) ToLaunchTemplateHibernationOptionsPtrOutput() LaunchTemplateHibernationOptionsPtrOutput { - return o.ToLaunchTemplateHibernationOptionsPtrOutputWithContext(context.Background()) +func (o LaunchConfigurationRootBlockDeviceOutput) ToLaunchConfigurationRootBlockDevicePtrOutput() LaunchConfigurationRootBlockDevicePtrOutput { + return o.ToLaunchConfigurationRootBlockDevicePtrOutputWithContext(context.Background()) } -func (o LaunchTemplateHibernationOptionsOutput) ToLaunchTemplateHibernationOptionsPtrOutputWithContext(ctx context.Context) LaunchTemplateHibernationOptionsPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v LaunchTemplateHibernationOptions) *LaunchTemplateHibernationOptions { +func (o LaunchConfigurationRootBlockDeviceOutput) ToLaunchConfigurationRootBlockDevicePtrOutputWithContext(ctx context.Context) LaunchConfigurationRootBlockDevicePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v LaunchConfigurationRootBlockDevice) *LaunchConfigurationRootBlockDevice { return &v - }).(LaunchTemplateHibernationOptionsPtrOutput) + }).(LaunchConfigurationRootBlockDevicePtrOutput) } -// If set to `true`, the launched EC2 instance will hibernation enabled. -func (o LaunchTemplateHibernationOptionsOutput) Configured() pulumi.BoolOutput { - return o.ApplyT(func(v LaunchTemplateHibernationOptions) bool { return v.Configured }).(pulumi.BoolOutput) +func (o LaunchConfigurationRootBlockDeviceOutput) DeleteOnTermination() pulumi.BoolPtrOutput { + return o.ApplyT(func(v LaunchConfigurationRootBlockDevice) *bool { return v.DeleteOnTermination }).(pulumi.BoolPtrOutput) } -type LaunchTemplateHibernationOptionsPtrOutput struct{ *pulumi.OutputState } +func (o LaunchConfigurationRootBlockDeviceOutput) Encrypted() pulumi.BoolPtrOutput { + return o.ApplyT(func(v LaunchConfigurationRootBlockDevice) *bool { return v.Encrypted }).(pulumi.BoolPtrOutput) +} -func (LaunchTemplateHibernationOptionsPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**LaunchTemplateHibernationOptions)(nil)).Elem() +func (o LaunchConfigurationRootBlockDeviceOutput) Iops() pulumi.IntPtrOutput { + return o.ApplyT(func(v LaunchConfigurationRootBlockDevice) *int { return v.Iops }).(pulumi.IntPtrOutput) } -func (o LaunchTemplateHibernationOptionsPtrOutput) ToLaunchTemplateHibernationOptionsPtrOutput() LaunchTemplateHibernationOptionsPtrOutput { +func (o LaunchConfigurationRootBlockDeviceOutput) Throughput() pulumi.IntPtrOutput { + return o.ApplyT(func(v LaunchConfigurationRootBlockDevice) *int { return v.Throughput }).(pulumi.IntPtrOutput) +} + +func (o LaunchConfigurationRootBlockDeviceOutput) VolumeSize() pulumi.IntPtrOutput { + return o.ApplyT(func(v LaunchConfigurationRootBlockDevice) *int { return v.VolumeSize }).(pulumi.IntPtrOutput) +} + +func (o LaunchConfigurationRootBlockDeviceOutput) VolumeType() pulumi.StringPtrOutput { + return o.ApplyT(func(v LaunchConfigurationRootBlockDevice) *string { return v.VolumeType }).(pulumi.StringPtrOutput) +} + +type LaunchConfigurationRootBlockDevicePtrOutput struct{ *pulumi.OutputState } + +func (LaunchConfigurationRootBlockDevicePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**LaunchConfigurationRootBlockDevice)(nil)).Elem() +} + +func (o LaunchConfigurationRootBlockDevicePtrOutput) ToLaunchConfigurationRootBlockDevicePtrOutput() LaunchConfigurationRootBlockDevicePtrOutput { return o } -func (o LaunchTemplateHibernationOptionsPtrOutput) ToLaunchTemplateHibernationOptionsPtrOutputWithContext(ctx context.Context) LaunchTemplateHibernationOptionsPtrOutput { +func (o LaunchConfigurationRootBlockDevicePtrOutput) ToLaunchConfigurationRootBlockDevicePtrOutputWithContext(ctx context.Context) LaunchConfigurationRootBlockDevicePtrOutput { return o } -func (o LaunchTemplateHibernationOptionsPtrOutput) Elem() LaunchTemplateHibernationOptionsOutput { - return o.ApplyT(func(v *LaunchTemplateHibernationOptions) LaunchTemplateHibernationOptions { +func (o LaunchConfigurationRootBlockDevicePtrOutput) Elem() LaunchConfigurationRootBlockDeviceOutput { + return o.ApplyT(func(v *LaunchConfigurationRootBlockDevice) LaunchConfigurationRootBlockDevice { if v != nil { return *v } - var ret LaunchTemplateHibernationOptions + var ret LaunchConfigurationRootBlockDevice return ret - }).(LaunchTemplateHibernationOptionsOutput) + }).(LaunchConfigurationRootBlockDeviceOutput) } -// If set to `true`, the launched EC2 instance will hibernation enabled. -func (o LaunchTemplateHibernationOptionsPtrOutput) Configured() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *LaunchTemplateHibernationOptions) *bool { +func (o LaunchConfigurationRootBlockDevicePtrOutput) DeleteOnTermination() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *LaunchConfigurationRootBlockDevice) *bool { if v == nil { return nil } - return &v.Configured + return v.DeleteOnTermination }).(pulumi.BoolPtrOutput) } -type LaunchTemplateIamInstanceProfile struct { - // The Amazon Resource Name (ARN) of the instance profile. Conflicts with `name`. - Arn *string `pulumi:"arn"` - // The name of the instance profile. - Name *string `pulumi:"name"` +func (o LaunchConfigurationRootBlockDevicePtrOutput) Encrypted() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *LaunchConfigurationRootBlockDevice) *bool { + if v == nil { + return nil + } + return v.Encrypted + }).(pulumi.BoolPtrOutput) } -// LaunchTemplateIamInstanceProfileInput is an input type that accepts LaunchTemplateIamInstanceProfileArgs and LaunchTemplateIamInstanceProfileOutput values. -// You can construct a concrete instance of `LaunchTemplateIamInstanceProfileInput` via: -// -// LaunchTemplateIamInstanceProfileArgs{...} -type LaunchTemplateIamInstanceProfileInput interface { - pulumi.Input +func (o LaunchConfigurationRootBlockDevicePtrOutput) Iops() pulumi.IntPtrOutput { + return o.ApplyT(func(v *LaunchConfigurationRootBlockDevice) *int { + if v == nil { + return nil + } + return v.Iops + }).(pulumi.IntPtrOutput) +} - ToLaunchTemplateIamInstanceProfileOutput() LaunchTemplateIamInstanceProfileOutput - ToLaunchTemplateIamInstanceProfileOutputWithContext(context.Context) LaunchTemplateIamInstanceProfileOutput +func (o LaunchConfigurationRootBlockDevicePtrOutput) Throughput() pulumi.IntPtrOutput { + return o.ApplyT(func(v *LaunchConfigurationRootBlockDevice) *int { + if v == nil { + return nil + } + return v.Throughput + }).(pulumi.IntPtrOutput) } -type LaunchTemplateIamInstanceProfileArgs struct { - // The Amazon Resource Name (ARN) of the instance profile. Conflicts with `name`. - Arn pulumi.StringPtrInput `pulumi:"arn"` - // The name of the instance profile. - Name pulumi.StringPtrInput `pulumi:"name"` +func (o LaunchConfigurationRootBlockDevicePtrOutput) VolumeSize() pulumi.IntPtrOutput { + return o.ApplyT(func(v *LaunchConfigurationRootBlockDevice) *int { + if v == nil { + return nil + } + return v.VolumeSize + }).(pulumi.IntPtrOutput) } -func (LaunchTemplateIamInstanceProfileArgs) ElementType() reflect.Type { - return reflect.TypeOf((*LaunchTemplateIamInstanceProfile)(nil)).Elem() +func (o LaunchConfigurationRootBlockDevicePtrOutput) VolumeType() pulumi.StringPtrOutput { + return o.ApplyT(func(v *LaunchConfigurationRootBlockDevice) *string { + if v == nil { + return nil + } + return v.VolumeType + }).(pulumi.StringPtrOutput) } -func (i LaunchTemplateIamInstanceProfileArgs) ToLaunchTemplateIamInstanceProfileOutput() LaunchTemplateIamInstanceProfileOutput { - return i.ToLaunchTemplateIamInstanceProfileOutputWithContext(context.Background()) +type LaunchTemplateBlockDeviceMapping struct { + // The name of the device to mount. + DeviceName *string `pulumi:"deviceName"` + // Configure EBS volume properties. + Ebs *LaunchTemplateBlockDeviceMappingEbs `pulumi:"ebs"` + // Suppresses the specified device included in the AMI's block device mapping. + NoDevice *string `pulumi:"noDevice"` + // The [Instance Store Device + // Name](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html#InstanceStoreDeviceNames) + // (e.g., `"ephemeral0"`). + VirtualName *string `pulumi:"virtualName"` } -func (i LaunchTemplateIamInstanceProfileArgs) ToLaunchTemplateIamInstanceProfileOutputWithContext(ctx context.Context) LaunchTemplateIamInstanceProfileOutput { - return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateIamInstanceProfileOutput) +// LaunchTemplateBlockDeviceMappingInput is an input type that accepts LaunchTemplateBlockDeviceMappingArgs and LaunchTemplateBlockDeviceMappingOutput values. +// You can construct a concrete instance of `LaunchTemplateBlockDeviceMappingInput` via: +// +// LaunchTemplateBlockDeviceMappingArgs{...} +type LaunchTemplateBlockDeviceMappingInput interface { + pulumi.Input + + ToLaunchTemplateBlockDeviceMappingOutput() LaunchTemplateBlockDeviceMappingOutput + ToLaunchTemplateBlockDeviceMappingOutputWithContext(context.Context) LaunchTemplateBlockDeviceMappingOutput } -func (i LaunchTemplateIamInstanceProfileArgs) ToLaunchTemplateIamInstanceProfilePtrOutput() LaunchTemplateIamInstanceProfilePtrOutput { - return i.ToLaunchTemplateIamInstanceProfilePtrOutputWithContext(context.Background()) +type LaunchTemplateBlockDeviceMappingArgs struct { + // The name of the device to mount. + DeviceName pulumi.StringPtrInput `pulumi:"deviceName"` + // Configure EBS volume properties. + Ebs LaunchTemplateBlockDeviceMappingEbsPtrInput `pulumi:"ebs"` + // Suppresses the specified device included in the AMI's block device mapping. + NoDevice pulumi.StringPtrInput `pulumi:"noDevice"` + // The [Instance Store Device + // Name](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html#InstanceStoreDeviceNames) + // (e.g., `"ephemeral0"`). + VirtualName pulumi.StringPtrInput `pulumi:"virtualName"` } -func (i LaunchTemplateIamInstanceProfileArgs) ToLaunchTemplateIamInstanceProfilePtrOutputWithContext(ctx context.Context) LaunchTemplateIamInstanceProfilePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateIamInstanceProfileOutput).ToLaunchTemplateIamInstanceProfilePtrOutputWithContext(ctx) +func (LaunchTemplateBlockDeviceMappingArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LaunchTemplateBlockDeviceMapping)(nil)).Elem() } -// LaunchTemplateIamInstanceProfilePtrInput is an input type that accepts LaunchTemplateIamInstanceProfileArgs, LaunchTemplateIamInstanceProfilePtr and LaunchTemplateIamInstanceProfilePtrOutput values. -// You can construct a concrete instance of `LaunchTemplateIamInstanceProfilePtrInput` via: -// -// LaunchTemplateIamInstanceProfileArgs{...} -// -// or: -// -// nil -type LaunchTemplateIamInstanceProfilePtrInput interface { - pulumi.Input +func (i LaunchTemplateBlockDeviceMappingArgs) ToLaunchTemplateBlockDeviceMappingOutput() LaunchTemplateBlockDeviceMappingOutput { + return i.ToLaunchTemplateBlockDeviceMappingOutputWithContext(context.Background()) +} - ToLaunchTemplateIamInstanceProfilePtrOutput() LaunchTemplateIamInstanceProfilePtrOutput - ToLaunchTemplateIamInstanceProfilePtrOutputWithContext(context.Context) LaunchTemplateIamInstanceProfilePtrOutput +func (i LaunchTemplateBlockDeviceMappingArgs) ToLaunchTemplateBlockDeviceMappingOutputWithContext(ctx context.Context) LaunchTemplateBlockDeviceMappingOutput { + return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateBlockDeviceMappingOutput) } -type launchTemplateIamInstanceProfilePtrType LaunchTemplateIamInstanceProfileArgs +// LaunchTemplateBlockDeviceMappingArrayInput is an input type that accepts LaunchTemplateBlockDeviceMappingArray and LaunchTemplateBlockDeviceMappingArrayOutput values. +// You can construct a concrete instance of `LaunchTemplateBlockDeviceMappingArrayInput` via: +// +// LaunchTemplateBlockDeviceMappingArray{ LaunchTemplateBlockDeviceMappingArgs{...} } +type LaunchTemplateBlockDeviceMappingArrayInput interface { + pulumi.Input -func LaunchTemplateIamInstanceProfilePtr(v *LaunchTemplateIamInstanceProfileArgs) LaunchTemplateIamInstanceProfilePtrInput { - return (*launchTemplateIamInstanceProfilePtrType)(v) + ToLaunchTemplateBlockDeviceMappingArrayOutput() LaunchTemplateBlockDeviceMappingArrayOutput + ToLaunchTemplateBlockDeviceMappingArrayOutputWithContext(context.Context) LaunchTemplateBlockDeviceMappingArrayOutput } -func (*launchTemplateIamInstanceProfilePtrType) ElementType() reflect.Type { - return reflect.TypeOf((**LaunchTemplateIamInstanceProfile)(nil)).Elem() +type LaunchTemplateBlockDeviceMappingArray []LaunchTemplateBlockDeviceMappingInput + +func (LaunchTemplateBlockDeviceMappingArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]LaunchTemplateBlockDeviceMapping)(nil)).Elem() } -func (i *launchTemplateIamInstanceProfilePtrType) ToLaunchTemplateIamInstanceProfilePtrOutput() LaunchTemplateIamInstanceProfilePtrOutput { - return i.ToLaunchTemplateIamInstanceProfilePtrOutputWithContext(context.Background()) +func (i LaunchTemplateBlockDeviceMappingArray) ToLaunchTemplateBlockDeviceMappingArrayOutput() LaunchTemplateBlockDeviceMappingArrayOutput { + return i.ToLaunchTemplateBlockDeviceMappingArrayOutputWithContext(context.Background()) } -func (i *launchTemplateIamInstanceProfilePtrType) ToLaunchTemplateIamInstanceProfilePtrOutputWithContext(ctx context.Context) LaunchTemplateIamInstanceProfilePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateIamInstanceProfilePtrOutput) +func (i LaunchTemplateBlockDeviceMappingArray) ToLaunchTemplateBlockDeviceMappingArrayOutputWithContext(ctx context.Context) LaunchTemplateBlockDeviceMappingArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateBlockDeviceMappingArrayOutput) } -type LaunchTemplateIamInstanceProfileOutput struct{ *pulumi.OutputState } +type LaunchTemplateBlockDeviceMappingOutput struct{ *pulumi.OutputState } -func (LaunchTemplateIamInstanceProfileOutput) ElementType() reflect.Type { - return reflect.TypeOf((*LaunchTemplateIamInstanceProfile)(nil)).Elem() +func (LaunchTemplateBlockDeviceMappingOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LaunchTemplateBlockDeviceMapping)(nil)).Elem() } -func (o LaunchTemplateIamInstanceProfileOutput) ToLaunchTemplateIamInstanceProfileOutput() LaunchTemplateIamInstanceProfileOutput { +func (o LaunchTemplateBlockDeviceMappingOutput) ToLaunchTemplateBlockDeviceMappingOutput() LaunchTemplateBlockDeviceMappingOutput { return o } -func (o LaunchTemplateIamInstanceProfileOutput) ToLaunchTemplateIamInstanceProfileOutputWithContext(ctx context.Context) LaunchTemplateIamInstanceProfileOutput { +func (o LaunchTemplateBlockDeviceMappingOutput) ToLaunchTemplateBlockDeviceMappingOutputWithContext(ctx context.Context) LaunchTemplateBlockDeviceMappingOutput { return o } -func (o LaunchTemplateIamInstanceProfileOutput) ToLaunchTemplateIamInstanceProfilePtrOutput() LaunchTemplateIamInstanceProfilePtrOutput { - return o.ToLaunchTemplateIamInstanceProfilePtrOutputWithContext(context.Background()) +// The name of the device to mount. +func (o LaunchTemplateBlockDeviceMappingOutput) DeviceName() pulumi.StringPtrOutput { + return o.ApplyT(func(v LaunchTemplateBlockDeviceMapping) *string { return v.DeviceName }).(pulumi.StringPtrOutput) } -func (o LaunchTemplateIamInstanceProfileOutput) ToLaunchTemplateIamInstanceProfilePtrOutputWithContext(ctx context.Context) LaunchTemplateIamInstanceProfilePtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v LaunchTemplateIamInstanceProfile) *LaunchTemplateIamInstanceProfile { - return &v - }).(LaunchTemplateIamInstanceProfilePtrOutput) +// Configure EBS volume properties. +func (o LaunchTemplateBlockDeviceMappingOutput) Ebs() LaunchTemplateBlockDeviceMappingEbsPtrOutput { + return o.ApplyT(func(v LaunchTemplateBlockDeviceMapping) *LaunchTemplateBlockDeviceMappingEbs { return v.Ebs }).(LaunchTemplateBlockDeviceMappingEbsPtrOutput) } -// The Amazon Resource Name (ARN) of the instance profile. Conflicts with `name`. -func (o LaunchTemplateIamInstanceProfileOutput) Arn() pulumi.StringPtrOutput { - return o.ApplyT(func(v LaunchTemplateIamInstanceProfile) *string { return v.Arn }).(pulumi.StringPtrOutput) +// Suppresses the specified device included in the AMI's block device mapping. +func (o LaunchTemplateBlockDeviceMappingOutput) NoDevice() pulumi.StringPtrOutput { + return o.ApplyT(func(v LaunchTemplateBlockDeviceMapping) *string { return v.NoDevice }).(pulumi.StringPtrOutput) } -// The name of the instance profile. -func (o LaunchTemplateIamInstanceProfileOutput) Name() pulumi.StringPtrOutput { - return o.ApplyT(func(v LaunchTemplateIamInstanceProfile) *string { return v.Name }).(pulumi.StringPtrOutput) +// The [Instance Store Device +// Name](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html#InstanceStoreDeviceNames) +// (e.g., `"ephemeral0"`). +func (o LaunchTemplateBlockDeviceMappingOutput) VirtualName() pulumi.StringPtrOutput { + return o.ApplyT(func(v LaunchTemplateBlockDeviceMapping) *string { return v.VirtualName }).(pulumi.StringPtrOutput) } -type LaunchTemplateIamInstanceProfilePtrOutput struct{ *pulumi.OutputState } +type LaunchTemplateBlockDeviceMappingArrayOutput struct{ *pulumi.OutputState } -func (LaunchTemplateIamInstanceProfilePtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**LaunchTemplateIamInstanceProfile)(nil)).Elem() +func (LaunchTemplateBlockDeviceMappingArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]LaunchTemplateBlockDeviceMapping)(nil)).Elem() } -func (o LaunchTemplateIamInstanceProfilePtrOutput) ToLaunchTemplateIamInstanceProfilePtrOutput() LaunchTemplateIamInstanceProfilePtrOutput { +func (o LaunchTemplateBlockDeviceMappingArrayOutput) ToLaunchTemplateBlockDeviceMappingArrayOutput() LaunchTemplateBlockDeviceMappingArrayOutput { return o } -func (o LaunchTemplateIamInstanceProfilePtrOutput) ToLaunchTemplateIamInstanceProfilePtrOutputWithContext(ctx context.Context) LaunchTemplateIamInstanceProfilePtrOutput { +func (o LaunchTemplateBlockDeviceMappingArrayOutput) ToLaunchTemplateBlockDeviceMappingArrayOutputWithContext(ctx context.Context) LaunchTemplateBlockDeviceMappingArrayOutput { return o } -func (o LaunchTemplateIamInstanceProfilePtrOutput) Elem() LaunchTemplateIamInstanceProfileOutput { - return o.ApplyT(func(v *LaunchTemplateIamInstanceProfile) LaunchTemplateIamInstanceProfile { - if v != nil { - return *v - } - var ret LaunchTemplateIamInstanceProfile - return ret - }).(LaunchTemplateIamInstanceProfileOutput) -} - -// The Amazon Resource Name (ARN) of the instance profile. Conflicts with `name`. -func (o LaunchTemplateIamInstanceProfilePtrOutput) Arn() pulumi.StringPtrOutput { - return o.ApplyT(func(v *LaunchTemplateIamInstanceProfile) *string { - if v == nil { - return nil - } - return v.Arn - }).(pulumi.StringPtrOutput) -} - -// The name of the instance profile. -func (o LaunchTemplateIamInstanceProfilePtrOutput) Name() pulumi.StringPtrOutput { - return o.ApplyT(func(v *LaunchTemplateIamInstanceProfile) *string { - if v == nil { - return nil - } - return v.Name - }).(pulumi.StringPtrOutput) +func (o LaunchTemplateBlockDeviceMappingArrayOutput) Index(i pulumi.IntInput) LaunchTemplateBlockDeviceMappingOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) LaunchTemplateBlockDeviceMapping { + return vs[0].([]LaunchTemplateBlockDeviceMapping)[vs[1].(int)] + }).(LaunchTemplateBlockDeviceMappingOutput) } -type LaunchTemplateInstanceMarketOptions struct { - // The market type. Can be `spot`. - MarketType *string `pulumi:"marketType"` - // The options for [Spot Instance](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-spot-instances.html) - SpotOptions *LaunchTemplateInstanceMarketOptionsSpotOptions `pulumi:"spotOptions"` +type LaunchTemplateBlockDeviceMappingEbs struct { + // Whether the volume should be destroyed on instance termination. + // See [Preserving Amazon EBS Volumes on Instance Termination](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/preserving-volumes-on-termination.html) for more information. + DeleteOnTermination *string `pulumi:"deleteOnTermination"` + // Enables [EBS encryption](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html) on the volume. + // Cannot be used with `snapshotId`. + Encrypted *string `pulumi:"encrypted"` + // The amount of provisioned [IOPS](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-io-characteristics.html). + // This must be set with a `volumeType` of `"io1/io2/gp3"`. + Iops *int `pulumi:"iops"` + // Identifier (key ID, key alias, key ARN, or alias ARN) of the customer managed KMS key to use for EBS encryption. + // `encrypted` must be set to `true` when this is set. + KmsKeyId *string `pulumi:"kmsKeyId"` + // The Snapshot ID to mount. + SnapshotId *string `pulumi:"snapshotId"` + // The throughput to provision for a `gp3` volume in MiB/s (specified as an integer, e.g., 500), with a maximum of 1,000 MiB/s. + Throughput *int `pulumi:"throughput"` + // The volume initialization rate in MiB/s (specified as an integer, e.g. 100), with a minimum of 100 MiB/s and maximum of 300 MiB/s. + VolumeInitializationRate *int `pulumi:"volumeInitializationRate"` + // The size of the volume in gigabytes. + VolumeSize *int `pulumi:"volumeSize"` + // The volume type. + // Can be one of `standard`, `gp2`, `gp3`, `io1`, `io2`, `sc1` or `st1`. + VolumeType *string `pulumi:"volumeType"` } -// LaunchTemplateInstanceMarketOptionsInput is an input type that accepts LaunchTemplateInstanceMarketOptionsArgs and LaunchTemplateInstanceMarketOptionsOutput values. -// You can construct a concrete instance of `LaunchTemplateInstanceMarketOptionsInput` via: +// LaunchTemplateBlockDeviceMappingEbsInput is an input type that accepts LaunchTemplateBlockDeviceMappingEbsArgs and LaunchTemplateBlockDeviceMappingEbsOutput values. +// You can construct a concrete instance of `LaunchTemplateBlockDeviceMappingEbsInput` via: // -// LaunchTemplateInstanceMarketOptionsArgs{...} -type LaunchTemplateInstanceMarketOptionsInput interface { +// LaunchTemplateBlockDeviceMappingEbsArgs{...} +type LaunchTemplateBlockDeviceMappingEbsInput interface { pulumi.Input - ToLaunchTemplateInstanceMarketOptionsOutput() LaunchTemplateInstanceMarketOptionsOutput - ToLaunchTemplateInstanceMarketOptionsOutputWithContext(context.Context) LaunchTemplateInstanceMarketOptionsOutput + ToLaunchTemplateBlockDeviceMappingEbsOutput() LaunchTemplateBlockDeviceMappingEbsOutput + ToLaunchTemplateBlockDeviceMappingEbsOutputWithContext(context.Context) LaunchTemplateBlockDeviceMappingEbsOutput } -type LaunchTemplateInstanceMarketOptionsArgs struct { - // The market type. Can be `spot`. - MarketType pulumi.StringPtrInput `pulumi:"marketType"` - // The options for [Spot Instance](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-spot-instances.html) - SpotOptions LaunchTemplateInstanceMarketOptionsSpotOptionsPtrInput `pulumi:"spotOptions"` +type LaunchTemplateBlockDeviceMappingEbsArgs struct { + // Whether the volume should be destroyed on instance termination. + // See [Preserving Amazon EBS Volumes on Instance Termination](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/preserving-volumes-on-termination.html) for more information. + DeleteOnTermination pulumi.StringPtrInput `pulumi:"deleteOnTermination"` + // Enables [EBS encryption](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html) on the volume. + // Cannot be used with `snapshotId`. + Encrypted pulumi.StringPtrInput `pulumi:"encrypted"` + // The amount of provisioned [IOPS](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-io-characteristics.html). + // This must be set with a `volumeType` of `"io1/io2/gp3"`. + Iops pulumi.IntPtrInput `pulumi:"iops"` + // Identifier (key ID, key alias, key ARN, or alias ARN) of the customer managed KMS key to use for EBS encryption. + // `encrypted` must be set to `true` when this is set. + KmsKeyId pulumi.StringPtrInput `pulumi:"kmsKeyId"` + // The Snapshot ID to mount. + SnapshotId pulumi.StringPtrInput `pulumi:"snapshotId"` + // The throughput to provision for a `gp3` volume in MiB/s (specified as an integer, e.g., 500), with a maximum of 1,000 MiB/s. + Throughput pulumi.IntPtrInput `pulumi:"throughput"` + // The volume initialization rate in MiB/s (specified as an integer, e.g. 100), with a minimum of 100 MiB/s and maximum of 300 MiB/s. + VolumeInitializationRate pulumi.IntPtrInput `pulumi:"volumeInitializationRate"` + // The size of the volume in gigabytes. + VolumeSize pulumi.IntPtrInput `pulumi:"volumeSize"` + // The volume type. + // Can be one of `standard`, `gp2`, `gp3`, `io1`, `io2`, `sc1` or `st1`. + VolumeType pulumi.StringPtrInput `pulumi:"volumeType"` } -func (LaunchTemplateInstanceMarketOptionsArgs) ElementType() reflect.Type { - return reflect.TypeOf((*LaunchTemplateInstanceMarketOptions)(nil)).Elem() +func (LaunchTemplateBlockDeviceMappingEbsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LaunchTemplateBlockDeviceMappingEbs)(nil)).Elem() } -func (i LaunchTemplateInstanceMarketOptionsArgs) ToLaunchTemplateInstanceMarketOptionsOutput() LaunchTemplateInstanceMarketOptionsOutput { - return i.ToLaunchTemplateInstanceMarketOptionsOutputWithContext(context.Background()) +func (i LaunchTemplateBlockDeviceMappingEbsArgs) ToLaunchTemplateBlockDeviceMappingEbsOutput() LaunchTemplateBlockDeviceMappingEbsOutput { + return i.ToLaunchTemplateBlockDeviceMappingEbsOutputWithContext(context.Background()) } -func (i LaunchTemplateInstanceMarketOptionsArgs) ToLaunchTemplateInstanceMarketOptionsOutputWithContext(ctx context.Context) LaunchTemplateInstanceMarketOptionsOutput { - return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateInstanceMarketOptionsOutput) +func (i LaunchTemplateBlockDeviceMappingEbsArgs) ToLaunchTemplateBlockDeviceMappingEbsOutputWithContext(ctx context.Context) LaunchTemplateBlockDeviceMappingEbsOutput { + return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateBlockDeviceMappingEbsOutput) } -func (i LaunchTemplateInstanceMarketOptionsArgs) ToLaunchTemplateInstanceMarketOptionsPtrOutput() LaunchTemplateInstanceMarketOptionsPtrOutput { - return i.ToLaunchTemplateInstanceMarketOptionsPtrOutputWithContext(context.Background()) +func (i LaunchTemplateBlockDeviceMappingEbsArgs) ToLaunchTemplateBlockDeviceMappingEbsPtrOutput() LaunchTemplateBlockDeviceMappingEbsPtrOutput { + return i.ToLaunchTemplateBlockDeviceMappingEbsPtrOutputWithContext(context.Background()) } -func (i LaunchTemplateInstanceMarketOptionsArgs) ToLaunchTemplateInstanceMarketOptionsPtrOutputWithContext(ctx context.Context) LaunchTemplateInstanceMarketOptionsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateInstanceMarketOptionsOutput).ToLaunchTemplateInstanceMarketOptionsPtrOutputWithContext(ctx) +func (i LaunchTemplateBlockDeviceMappingEbsArgs) ToLaunchTemplateBlockDeviceMappingEbsPtrOutputWithContext(ctx context.Context) LaunchTemplateBlockDeviceMappingEbsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateBlockDeviceMappingEbsOutput).ToLaunchTemplateBlockDeviceMappingEbsPtrOutputWithContext(ctx) } -// LaunchTemplateInstanceMarketOptionsPtrInput is an input type that accepts LaunchTemplateInstanceMarketOptionsArgs, LaunchTemplateInstanceMarketOptionsPtr and LaunchTemplateInstanceMarketOptionsPtrOutput values. -// You can construct a concrete instance of `LaunchTemplateInstanceMarketOptionsPtrInput` via: +// LaunchTemplateBlockDeviceMappingEbsPtrInput is an input type that accepts LaunchTemplateBlockDeviceMappingEbsArgs, LaunchTemplateBlockDeviceMappingEbsPtr and LaunchTemplateBlockDeviceMappingEbsPtrOutput values. +// You can construct a concrete instance of `LaunchTemplateBlockDeviceMappingEbsPtrInput` via: // -// LaunchTemplateInstanceMarketOptionsArgs{...} +// LaunchTemplateBlockDeviceMappingEbsArgs{...} // // or: // // nil -type LaunchTemplateInstanceMarketOptionsPtrInput interface { +type LaunchTemplateBlockDeviceMappingEbsPtrInput interface { pulumi.Input - ToLaunchTemplateInstanceMarketOptionsPtrOutput() LaunchTemplateInstanceMarketOptionsPtrOutput - ToLaunchTemplateInstanceMarketOptionsPtrOutputWithContext(context.Context) LaunchTemplateInstanceMarketOptionsPtrOutput + ToLaunchTemplateBlockDeviceMappingEbsPtrOutput() LaunchTemplateBlockDeviceMappingEbsPtrOutput + ToLaunchTemplateBlockDeviceMappingEbsPtrOutputWithContext(context.Context) LaunchTemplateBlockDeviceMappingEbsPtrOutput } -type launchTemplateInstanceMarketOptionsPtrType LaunchTemplateInstanceMarketOptionsArgs +type launchTemplateBlockDeviceMappingEbsPtrType LaunchTemplateBlockDeviceMappingEbsArgs -func LaunchTemplateInstanceMarketOptionsPtr(v *LaunchTemplateInstanceMarketOptionsArgs) LaunchTemplateInstanceMarketOptionsPtrInput { - return (*launchTemplateInstanceMarketOptionsPtrType)(v) +func LaunchTemplateBlockDeviceMappingEbsPtr(v *LaunchTemplateBlockDeviceMappingEbsArgs) LaunchTemplateBlockDeviceMappingEbsPtrInput { + return (*launchTemplateBlockDeviceMappingEbsPtrType)(v) } -func (*launchTemplateInstanceMarketOptionsPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**LaunchTemplateInstanceMarketOptions)(nil)).Elem() +func (*launchTemplateBlockDeviceMappingEbsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**LaunchTemplateBlockDeviceMappingEbs)(nil)).Elem() } -func (i *launchTemplateInstanceMarketOptionsPtrType) ToLaunchTemplateInstanceMarketOptionsPtrOutput() LaunchTemplateInstanceMarketOptionsPtrOutput { - return i.ToLaunchTemplateInstanceMarketOptionsPtrOutputWithContext(context.Background()) +func (i *launchTemplateBlockDeviceMappingEbsPtrType) ToLaunchTemplateBlockDeviceMappingEbsPtrOutput() LaunchTemplateBlockDeviceMappingEbsPtrOutput { + return i.ToLaunchTemplateBlockDeviceMappingEbsPtrOutputWithContext(context.Background()) } -func (i *launchTemplateInstanceMarketOptionsPtrType) ToLaunchTemplateInstanceMarketOptionsPtrOutputWithContext(ctx context.Context) LaunchTemplateInstanceMarketOptionsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateInstanceMarketOptionsPtrOutput) +func (i *launchTemplateBlockDeviceMappingEbsPtrType) ToLaunchTemplateBlockDeviceMappingEbsPtrOutputWithContext(ctx context.Context) LaunchTemplateBlockDeviceMappingEbsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateBlockDeviceMappingEbsPtrOutput) } -type LaunchTemplateInstanceMarketOptionsOutput struct{ *pulumi.OutputState } +type LaunchTemplateBlockDeviceMappingEbsOutput struct{ *pulumi.OutputState } -func (LaunchTemplateInstanceMarketOptionsOutput) ElementType() reflect.Type { - return reflect.TypeOf((*LaunchTemplateInstanceMarketOptions)(nil)).Elem() +func (LaunchTemplateBlockDeviceMappingEbsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LaunchTemplateBlockDeviceMappingEbs)(nil)).Elem() } -func (o LaunchTemplateInstanceMarketOptionsOutput) ToLaunchTemplateInstanceMarketOptionsOutput() LaunchTemplateInstanceMarketOptionsOutput { +func (o LaunchTemplateBlockDeviceMappingEbsOutput) ToLaunchTemplateBlockDeviceMappingEbsOutput() LaunchTemplateBlockDeviceMappingEbsOutput { return o } -func (o LaunchTemplateInstanceMarketOptionsOutput) ToLaunchTemplateInstanceMarketOptionsOutputWithContext(ctx context.Context) LaunchTemplateInstanceMarketOptionsOutput { +func (o LaunchTemplateBlockDeviceMappingEbsOutput) ToLaunchTemplateBlockDeviceMappingEbsOutputWithContext(ctx context.Context) LaunchTemplateBlockDeviceMappingEbsOutput { return o } -func (o LaunchTemplateInstanceMarketOptionsOutput) ToLaunchTemplateInstanceMarketOptionsPtrOutput() LaunchTemplateInstanceMarketOptionsPtrOutput { - return o.ToLaunchTemplateInstanceMarketOptionsPtrOutputWithContext(context.Background()) +func (o LaunchTemplateBlockDeviceMappingEbsOutput) ToLaunchTemplateBlockDeviceMappingEbsPtrOutput() LaunchTemplateBlockDeviceMappingEbsPtrOutput { + return o.ToLaunchTemplateBlockDeviceMappingEbsPtrOutputWithContext(context.Background()) } -func (o LaunchTemplateInstanceMarketOptionsOutput) ToLaunchTemplateInstanceMarketOptionsPtrOutputWithContext(ctx context.Context) LaunchTemplateInstanceMarketOptionsPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v LaunchTemplateInstanceMarketOptions) *LaunchTemplateInstanceMarketOptions { +func (o LaunchTemplateBlockDeviceMappingEbsOutput) ToLaunchTemplateBlockDeviceMappingEbsPtrOutputWithContext(ctx context.Context) LaunchTemplateBlockDeviceMappingEbsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v LaunchTemplateBlockDeviceMappingEbs) *LaunchTemplateBlockDeviceMappingEbs { return &v - }).(LaunchTemplateInstanceMarketOptionsPtrOutput) + }).(LaunchTemplateBlockDeviceMappingEbsPtrOutput) } -// The market type. Can be `spot`. -func (o LaunchTemplateInstanceMarketOptionsOutput) MarketType() pulumi.StringPtrOutput { - return o.ApplyT(func(v LaunchTemplateInstanceMarketOptions) *string { return v.MarketType }).(pulumi.StringPtrOutput) +// Whether the volume should be destroyed on instance termination. +// See [Preserving Amazon EBS Volumes on Instance Termination](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/preserving-volumes-on-termination.html) for more information. +func (o LaunchTemplateBlockDeviceMappingEbsOutput) DeleteOnTermination() pulumi.StringPtrOutput { + return o.ApplyT(func(v LaunchTemplateBlockDeviceMappingEbs) *string { return v.DeleteOnTermination }).(pulumi.StringPtrOutput) } -// The options for [Spot Instance](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-spot-instances.html) -func (o LaunchTemplateInstanceMarketOptionsOutput) SpotOptions() LaunchTemplateInstanceMarketOptionsSpotOptionsPtrOutput { - return o.ApplyT(func(v LaunchTemplateInstanceMarketOptions) *LaunchTemplateInstanceMarketOptionsSpotOptions { - return v.SpotOptions - }).(LaunchTemplateInstanceMarketOptionsSpotOptionsPtrOutput) +// Enables [EBS encryption](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html) on the volume. +// Cannot be used with `snapshotId`. +func (o LaunchTemplateBlockDeviceMappingEbsOutput) Encrypted() pulumi.StringPtrOutput { + return o.ApplyT(func(v LaunchTemplateBlockDeviceMappingEbs) *string { return v.Encrypted }).(pulumi.StringPtrOutput) } -type LaunchTemplateInstanceMarketOptionsPtrOutput struct{ *pulumi.OutputState } +// The amount of provisioned [IOPS](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-io-characteristics.html). +// This must be set with a `volumeType` of `"io1/io2/gp3"`. +func (o LaunchTemplateBlockDeviceMappingEbsOutput) Iops() pulumi.IntPtrOutput { + return o.ApplyT(func(v LaunchTemplateBlockDeviceMappingEbs) *int { return v.Iops }).(pulumi.IntPtrOutput) +} -func (LaunchTemplateInstanceMarketOptionsPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**LaunchTemplateInstanceMarketOptions)(nil)).Elem() +// Identifier (key ID, key alias, key ARN, or alias ARN) of the customer managed KMS key to use for EBS encryption. +// `encrypted` must be set to `true` when this is set. +func (o LaunchTemplateBlockDeviceMappingEbsOutput) KmsKeyId() pulumi.StringPtrOutput { + return o.ApplyT(func(v LaunchTemplateBlockDeviceMappingEbs) *string { return v.KmsKeyId }).(pulumi.StringPtrOutput) } -func (o LaunchTemplateInstanceMarketOptionsPtrOutput) ToLaunchTemplateInstanceMarketOptionsPtrOutput() LaunchTemplateInstanceMarketOptionsPtrOutput { +// The Snapshot ID to mount. +func (o LaunchTemplateBlockDeviceMappingEbsOutput) SnapshotId() pulumi.StringPtrOutput { + return o.ApplyT(func(v LaunchTemplateBlockDeviceMappingEbs) *string { return v.SnapshotId }).(pulumi.StringPtrOutput) +} + +// The throughput to provision for a `gp3` volume in MiB/s (specified as an integer, e.g., 500), with a maximum of 1,000 MiB/s. +func (o LaunchTemplateBlockDeviceMappingEbsOutput) Throughput() pulumi.IntPtrOutput { + return o.ApplyT(func(v LaunchTemplateBlockDeviceMappingEbs) *int { return v.Throughput }).(pulumi.IntPtrOutput) +} + +// The volume initialization rate in MiB/s (specified as an integer, e.g. 100), with a minimum of 100 MiB/s and maximum of 300 MiB/s. +func (o LaunchTemplateBlockDeviceMappingEbsOutput) VolumeInitializationRate() pulumi.IntPtrOutput { + return o.ApplyT(func(v LaunchTemplateBlockDeviceMappingEbs) *int { return v.VolumeInitializationRate }).(pulumi.IntPtrOutput) +} + +// The size of the volume in gigabytes. +func (o LaunchTemplateBlockDeviceMappingEbsOutput) VolumeSize() pulumi.IntPtrOutput { + return o.ApplyT(func(v LaunchTemplateBlockDeviceMappingEbs) *int { return v.VolumeSize }).(pulumi.IntPtrOutput) +} + +// The volume type. +// Can be one of `standard`, `gp2`, `gp3`, `io1`, `io2`, `sc1` or `st1`. +func (o LaunchTemplateBlockDeviceMappingEbsOutput) VolumeType() pulumi.StringPtrOutput { + return o.ApplyT(func(v LaunchTemplateBlockDeviceMappingEbs) *string { return v.VolumeType }).(pulumi.StringPtrOutput) +} + +type LaunchTemplateBlockDeviceMappingEbsPtrOutput struct{ *pulumi.OutputState } + +func (LaunchTemplateBlockDeviceMappingEbsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**LaunchTemplateBlockDeviceMappingEbs)(nil)).Elem() +} + +func (o LaunchTemplateBlockDeviceMappingEbsPtrOutput) ToLaunchTemplateBlockDeviceMappingEbsPtrOutput() LaunchTemplateBlockDeviceMappingEbsPtrOutput { return o } -func (o LaunchTemplateInstanceMarketOptionsPtrOutput) ToLaunchTemplateInstanceMarketOptionsPtrOutputWithContext(ctx context.Context) LaunchTemplateInstanceMarketOptionsPtrOutput { +func (o LaunchTemplateBlockDeviceMappingEbsPtrOutput) ToLaunchTemplateBlockDeviceMappingEbsPtrOutputWithContext(ctx context.Context) LaunchTemplateBlockDeviceMappingEbsPtrOutput { return o } -func (o LaunchTemplateInstanceMarketOptionsPtrOutput) Elem() LaunchTemplateInstanceMarketOptionsOutput { - return o.ApplyT(func(v *LaunchTemplateInstanceMarketOptions) LaunchTemplateInstanceMarketOptions { +func (o LaunchTemplateBlockDeviceMappingEbsPtrOutput) Elem() LaunchTemplateBlockDeviceMappingEbsOutput { + return o.ApplyT(func(v *LaunchTemplateBlockDeviceMappingEbs) LaunchTemplateBlockDeviceMappingEbs { if v != nil { return *v } - var ret LaunchTemplateInstanceMarketOptions + var ret LaunchTemplateBlockDeviceMappingEbs return ret - }).(LaunchTemplateInstanceMarketOptionsOutput) + }).(LaunchTemplateBlockDeviceMappingEbsOutput) } -// The market type. Can be `spot`. -func (o LaunchTemplateInstanceMarketOptionsPtrOutput) MarketType() pulumi.StringPtrOutput { - return o.ApplyT(func(v *LaunchTemplateInstanceMarketOptions) *string { +// Whether the volume should be destroyed on instance termination. +// See [Preserving Amazon EBS Volumes on Instance Termination](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/preserving-volumes-on-termination.html) for more information. +func (o LaunchTemplateBlockDeviceMappingEbsPtrOutput) DeleteOnTermination() pulumi.StringPtrOutput { + return o.ApplyT(func(v *LaunchTemplateBlockDeviceMappingEbs) *string { if v == nil { return nil } - return v.MarketType + return v.DeleteOnTermination }).(pulumi.StringPtrOutput) } -// The options for [Spot Instance](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-spot-instances.html) -func (o LaunchTemplateInstanceMarketOptionsPtrOutput) SpotOptions() LaunchTemplateInstanceMarketOptionsSpotOptionsPtrOutput { - return o.ApplyT(func(v *LaunchTemplateInstanceMarketOptions) *LaunchTemplateInstanceMarketOptionsSpotOptions { +// Enables [EBS encryption](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html) on the volume. +// Cannot be used with `snapshotId`. +func (o LaunchTemplateBlockDeviceMappingEbsPtrOutput) Encrypted() pulumi.StringPtrOutput { + return o.ApplyT(func(v *LaunchTemplateBlockDeviceMappingEbs) *string { if v == nil { return nil } - return v.SpotOptions - }).(LaunchTemplateInstanceMarketOptionsSpotOptionsPtrOutput) + return v.Encrypted + }).(pulumi.StringPtrOutput) } -type LaunchTemplateInstanceMarketOptionsSpotOptions struct { - // The required duration in minutes. This value must be a multiple of 60. - BlockDurationMinutes *int `pulumi:"blockDurationMinutes"` - // The behavior when a Spot Instance is interrupted. Can be `hibernate`, - // `stop`, or `terminate`. (Default: `terminate`). - InstanceInterruptionBehavior *string `pulumi:"instanceInterruptionBehavior"` - // The maximum hourly price you're willing to pay for the Spot Instances. - MaxPrice *string `pulumi:"maxPrice"` - // The Spot Instance request type. Can be `one-time`, or `persistent`. - SpotInstanceType *string `pulumi:"spotInstanceType"` - // The end date of the request. - ValidUntil *string `pulumi:"validUntil"` +// The amount of provisioned [IOPS](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-io-characteristics.html). +// This must be set with a `volumeType` of `"io1/io2/gp3"`. +func (o LaunchTemplateBlockDeviceMappingEbsPtrOutput) Iops() pulumi.IntPtrOutput { + return o.ApplyT(func(v *LaunchTemplateBlockDeviceMappingEbs) *int { + if v == nil { + return nil + } + return v.Iops + }).(pulumi.IntPtrOutput) } -// LaunchTemplateInstanceMarketOptionsSpotOptionsInput is an input type that accepts LaunchTemplateInstanceMarketOptionsSpotOptionsArgs and LaunchTemplateInstanceMarketOptionsSpotOptionsOutput values. -// You can construct a concrete instance of `LaunchTemplateInstanceMarketOptionsSpotOptionsInput` via: +// Identifier (key ID, key alias, key ARN, or alias ARN) of the customer managed KMS key to use for EBS encryption. +// `encrypted` must be set to `true` when this is set. +func (o LaunchTemplateBlockDeviceMappingEbsPtrOutput) KmsKeyId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *LaunchTemplateBlockDeviceMappingEbs) *string { + if v == nil { + return nil + } + return v.KmsKeyId + }).(pulumi.StringPtrOutput) +} + +// The Snapshot ID to mount. +func (o LaunchTemplateBlockDeviceMappingEbsPtrOutput) SnapshotId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *LaunchTemplateBlockDeviceMappingEbs) *string { + if v == nil { + return nil + } + return v.SnapshotId + }).(pulumi.StringPtrOutput) +} + +// The throughput to provision for a `gp3` volume in MiB/s (specified as an integer, e.g., 500), with a maximum of 1,000 MiB/s. +func (o LaunchTemplateBlockDeviceMappingEbsPtrOutput) Throughput() pulumi.IntPtrOutput { + return o.ApplyT(func(v *LaunchTemplateBlockDeviceMappingEbs) *int { + if v == nil { + return nil + } + return v.Throughput + }).(pulumi.IntPtrOutput) +} + +// The volume initialization rate in MiB/s (specified as an integer, e.g. 100), with a minimum of 100 MiB/s and maximum of 300 MiB/s. +func (o LaunchTemplateBlockDeviceMappingEbsPtrOutput) VolumeInitializationRate() pulumi.IntPtrOutput { + return o.ApplyT(func(v *LaunchTemplateBlockDeviceMappingEbs) *int { + if v == nil { + return nil + } + return v.VolumeInitializationRate + }).(pulumi.IntPtrOutput) +} + +// The size of the volume in gigabytes. +func (o LaunchTemplateBlockDeviceMappingEbsPtrOutput) VolumeSize() pulumi.IntPtrOutput { + return o.ApplyT(func(v *LaunchTemplateBlockDeviceMappingEbs) *int { + if v == nil { + return nil + } + return v.VolumeSize + }).(pulumi.IntPtrOutput) +} + +// The volume type. +// Can be one of `standard`, `gp2`, `gp3`, `io1`, `io2`, `sc1` or `st1`. +func (o LaunchTemplateBlockDeviceMappingEbsPtrOutput) VolumeType() pulumi.StringPtrOutput { + return o.ApplyT(func(v *LaunchTemplateBlockDeviceMappingEbs) *string { + if v == nil { + return nil + } + return v.VolumeType + }).(pulumi.StringPtrOutput) +} + +type LaunchTemplateCapacityReservationSpecification struct { + // Indicates the instance's Capacity Reservation preferences. Can be `capacity-reservations-only`, `open` or `none`. If `capacityReservationId` or `capacityReservationResourceGroupArn` is specified in `capacityReservationTarget` block, either omit `capacityReservationPreference` or set it to `capacity-reservations-only`. + CapacityReservationPreference *string `pulumi:"capacityReservationPreference"` + // Used to target a specific Capacity Reservation: + CapacityReservationTarget *LaunchTemplateCapacityReservationSpecificationCapacityReservationTarget `pulumi:"capacityReservationTarget"` +} + +// LaunchTemplateCapacityReservationSpecificationInput is an input type that accepts LaunchTemplateCapacityReservationSpecificationArgs and LaunchTemplateCapacityReservationSpecificationOutput values. +// You can construct a concrete instance of `LaunchTemplateCapacityReservationSpecificationInput` via: // -// LaunchTemplateInstanceMarketOptionsSpotOptionsArgs{...} -type LaunchTemplateInstanceMarketOptionsSpotOptionsInput interface { +// LaunchTemplateCapacityReservationSpecificationArgs{...} +type LaunchTemplateCapacityReservationSpecificationInput interface { pulumi.Input - ToLaunchTemplateInstanceMarketOptionsSpotOptionsOutput() LaunchTemplateInstanceMarketOptionsSpotOptionsOutput - ToLaunchTemplateInstanceMarketOptionsSpotOptionsOutputWithContext(context.Context) LaunchTemplateInstanceMarketOptionsSpotOptionsOutput + ToLaunchTemplateCapacityReservationSpecificationOutput() LaunchTemplateCapacityReservationSpecificationOutput + ToLaunchTemplateCapacityReservationSpecificationOutputWithContext(context.Context) LaunchTemplateCapacityReservationSpecificationOutput } -type LaunchTemplateInstanceMarketOptionsSpotOptionsArgs struct { - // The required duration in minutes. This value must be a multiple of 60. - BlockDurationMinutes pulumi.IntPtrInput `pulumi:"blockDurationMinutes"` - // The behavior when a Spot Instance is interrupted. Can be `hibernate`, - // `stop`, or `terminate`. (Default: `terminate`). - InstanceInterruptionBehavior pulumi.StringPtrInput `pulumi:"instanceInterruptionBehavior"` - // The maximum hourly price you're willing to pay for the Spot Instances. - MaxPrice pulumi.StringPtrInput `pulumi:"maxPrice"` - // The Spot Instance request type. Can be `one-time`, or `persistent`. - SpotInstanceType pulumi.StringPtrInput `pulumi:"spotInstanceType"` - // The end date of the request. - ValidUntil pulumi.StringPtrInput `pulumi:"validUntil"` +type LaunchTemplateCapacityReservationSpecificationArgs struct { + // Indicates the instance's Capacity Reservation preferences. Can be `capacity-reservations-only`, `open` or `none`. If `capacityReservationId` or `capacityReservationResourceGroupArn` is specified in `capacityReservationTarget` block, either omit `capacityReservationPreference` or set it to `capacity-reservations-only`. + CapacityReservationPreference pulumi.StringPtrInput `pulumi:"capacityReservationPreference"` + // Used to target a specific Capacity Reservation: + CapacityReservationTarget LaunchTemplateCapacityReservationSpecificationCapacityReservationTargetPtrInput `pulumi:"capacityReservationTarget"` } -func (LaunchTemplateInstanceMarketOptionsSpotOptionsArgs) ElementType() reflect.Type { - return reflect.TypeOf((*LaunchTemplateInstanceMarketOptionsSpotOptions)(nil)).Elem() +func (LaunchTemplateCapacityReservationSpecificationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LaunchTemplateCapacityReservationSpecification)(nil)).Elem() } -func (i LaunchTemplateInstanceMarketOptionsSpotOptionsArgs) ToLaunchTemplateInstanceMarketOptionsSpotOptionsOutput() LaunchTemplateInstanceMarketOptionsSpotOptionsOutput { - return i.ToLaunchTemplateInstanceMarketOptionsSpotOptionsOutputWithContext(context.Background()) +func (i LaunchTemplateCapacityReservationSpecificationArgs) ToLaunchTemplateCapacityReservationSpecificationOutput() LaunchTemplateCapacityReservationSpecificationOutput { + return i.ToLaunchTemplateCapacityReservationSpecificationOutputWithContext(context.Background()) } -func (i LaunchTemplateInstanceMarketOptionsSpotOptionsArgs) ToLaunchTemplateInstanceMarketOptionsSpotOptionsOutputWithContext(ctx context.Context) LaunchTemplateInstanceMarketOptionsSpotOptionsOutput { - return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateInstanceMarketOptionsSpotOptionsOutput) +func (i LaunchTemplateCapacityReservationSpecificationArgs) ToLaunchTemplateCapacityReservationSpecificationOutputWithContext(ctx context.Context) LaunchTemplateCapacityReservationSpecificationOutput { + return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateCapacityReservationSpecificationOutput) } -func (i LaunchTemplateInstanceMarketOptionsSpotOptionsArgs) ToLaunchTemplateInstanceMarketOptionsSpotOptionsPtrOutput() LaunchTemplateInstanceMarketOptionsSpotOptionsPtrOutput { - return i.ToLaunchTemplateInstanceMarketOptionsSpotOptionsPtrOutputWithContext(context.Background()) +func (i LaunchTemplateCapacityReservationSpecificationArgs) ToLaunchTemplateCapacityReservationSpecificationPtrOutput() LaunchTemplateCapacityReservationSpecificationPtrOutput { + return i.ToLaunchTemplateCapacityReservationSpecificationPtrOutputWithContext(context.Background()) } -func (i LaunchTemplateInstanceMarketOptionsSpotOptionsArgs) ToLaunchTemplateInstanceMarketOptionsSpotOptionsPtrOutputWithContext(ctx context.Context) LaunchTemplateInstanceMarketOptionsSpotOptionsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateInstanceMarketOptionsSpotOptionsOutput).ToLaunchTemplateInstanceMarketOptionsSpotOptionsPtrOutputWithContext(ctx) +func (i LaunchTemplateCapacityReservationSpecificationArgs) ToLaunchTemplateCapacityReservationSpecificationPtrOutputWithContext(ctx context.Context) LaunchTemplateCapacityReservationSpecificationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateCapacityReservationSpecificationOutput).ToLaunchTemplateCapacityReservationSpecificationPtrOutputWithContext(ctx) } -// LaunchTemplateInstanceMarketOptionsSpotOptionsPtrInput is an input type that accepts LaunchTemplateInstanceMarketOptionsSpotOptionsArgs, LaunchTemplateInstanceMarketOptionsSpotOptionsPtr and LaunchTemplateInstanceMarketOptionsSpotOptionsPtrOutput values. -// You can construct a concrete instance of `LaunchTemplateInstanceMarketOptionsSpotOptionsPtrInput` via: +// LaunchTemplateCapacityReservationSpecificationPtrInput is an input type that accepts LaunchTemplateCapacityReservationSpecificationArgs, LaunchTemplateCapacityReservationSpecificationPtr and LaunchTemplateCapacityReservationSpecificationPtrOutput values. +// You can construct a concrete instance of `LaunchTemplateCapacityReservationSpecificationPtrInput` via: // -// LaunchTemplateInstanceMarketOptionsSpotOptionsArgs{...} +// LaunchTemplateCapacityReservationSpecificationArgs{...} // // or: // // nil -type LaunchTemplateInstanceMarketOptionsSpotOptionsPtrInput interface { +type LaunchTemplateCapacityReservationSpecificationPtrInput interface { pulumi.Input - ToLaunchTemplateInstanceMarketOptionsSpotOptionsPtrOutput() LaunchTemplateInstanceMarketOptionsSpotOptionsPtrOutput - ToLaunchTemplateInstanceMarketOptionsSpotOptionsPtrOutputWithContext(context.Context) LaunchTemplateInstanceMarketOptionsSpotOptionsPtrOutput + ToLaunchTemplateCapacityReservationSpecificationPtrOutput() LaunchTemplateCapacityReservationSpecificationPtrOutput + ToLaunchTemplateCapacityReservationSpecificationPtrOutputWithContext(context.Context) LaunchTemplateCapacityReservationSpecificationPtrOutput } -type launchTemplateInstanceMarketOptionsSpotOptionsPtrType LaunchTemplateInstanceMarketOptionsSpotOptionsArgs +type launchTemplateCapacityReservationSpecificationPtrType LaunchTemplateCapacityReservationSpecificationArgs -func LaunchTemplateInstanceMarketOptionsSpotOptionsPtr(v *LaunchTemplateInstanceMarketOptionsSpotOptionsArgs) LaunchTemplateInstanceMarketOptionsSpotOptionsPtrInput { - return (*launchTemplateInstanceMarketOptionsSpotOptionsPtrType)(v) +func LaunchTemplateCapacityReservationSpecificationPtr(v *LaunchTemplateCapacityReservationSpecificationArgs) LaunchTemplateCapacityReservationSpecificationPtrInput { + return (*launchTemplateCapacityReservationSpecificationPtrType)(v) } -func (*launchTemplateInstanceMarketOptionsSpotOptionsPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**LaunchTemplateInstanceMarketOptionsSpotOptions)(nil)).Elem() +func (*launchTemplateCapacityReservationSpecificationPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**LaunchTemplateCapacityReservationSpecification)(nil)).Elem() } -func (i *launchTemplateInstanceMarketOptionsSpotOptionsPtrType) ToLaunchTemplateInstanceMarketOptionsSpotOptionsPtrOutput() LaunchTemplateInstanceMarketOptionsSpotOptionsPtrOutput { - return i.ToLaunchTemplateInstanceMarketOptionsSpotOptionsPtrOutputWithContext(context.Background()) +func (i *launchTemplateCapacityReservationSpecificationPtrType) ToLaunchTemplateCapacityReservationSpecificationPtrOutput() LaunchTemplateCapacityReservationSpecificationPtrOutput { + return i.ToLaunchTemplateCapacityReservationSpecificationPtrOutputWithContext(context.Background()) } -func (i *launchTemplateInstanceMarketOptionsSpotOptionsPtrType) ToLaunchTemplateInstanceMarketOptionsSpotOptionsPtrOutputWithContext(ctx context.Context) LaunchTemplateInstanceMarketOptionsSpotOptionsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateInstanceMarketOptionsSpotOptionsPtrOutput) +func (i *launchTemplateCapacityReservationSpecificationPtrType) ToLaunchTemplateCapacityReservationSpecificationPtrOutputWithContext(ctx context.Context) LaunchTemplateCapacityReservationSpecificationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateCapacityReservationSpecificationPtrOutput) } -type LaunchTemplateInstanceMarketOptionsSpotOptionsOutput struct{ *pulumi.OutputState } +type LaunchTemplateCapacityReservationSpecificationOutput struct{ *pulumi.OutputState } -func (LaunchTemplateInstanceMarketOptionsSpotOptionsOutput) ElementType() reflect.Type { - return reflect.TypeOf((*LaunchTemplateInstanceMarketOptionsSpotOptions)(nil)).Elem() +func (LaunchTemplateCapacityReservationSpecificationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LaunchTemplateCapacityReservationSpecification)(nil)).Elem() } -func (o LaunchTemplateInstanceMarketOptionsSpotOptionsOutput) ToLaunchTemplateInstanceMarketOptionsSpotOptionsOutput() LaunchTemplateInstanceMarketOptionsSpotOptionsOutput { +func (o LaunchTemplateCapacityReservationSpecificationOutput) ToLaunchTemplateCapacityReservationSpecificationOutput() LaunchTemplateCapacityReservationSpecificationOutput { return o } -func (o LaunchTemplateInstanceMarketOptionsSpotOptionsOutput) ToLaunchTemplateInstanceMarketOptionsSpotOptionsOutputWithContext(ctx context.Context) LaunchTemplateInstanceMarketOptionsSpotOptionsOutput { +func (o LaunchTemplateCapacityReservationSpecificationOutput) ToLaunchTemplateCapacityReservationSpecificationOutputWithContext(ctx context.Context) LaunchTemplateCapacityReservationSpecificationOutput { return o } -func (o LaunchTemplateInstanceMarketOptionsSpotOptionsOutput) ToLaunchTemplateInstanceMarketOptionsSpotOptionsPtrOutput() LaunchTemplateInstanceMarketOptionsSpotOptionsPtrOutput { - return o.ToLaunchTemplateInstanceMarketOptionsSpotOptionsPtrOutputWithContext(context.Background()) +func (o LaunchTemplateCapacityReservationSpecificationOutput) ToLaunchTemplateCapacityReservationSpecificationPtrOutput() LaunchTemplateCapacityReservationSpecificationPtrOutput { + return o.ToLaunchTemplateCapacityReservationSpecificationPtrOutputWithContext(context.Background()) } -func (o LaunchTemplateInstanceMarketOptionsSpotOptionsOutput) ToLaunchTemplateInstanceMarketOptionsSpotOptionsPtrOutputWithContext(ctx context.Context) LaunchTemplateInstanceMarketOptionsSpotOptionsPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v LaunchTemplateInstanceMarketOptionsSpotOptions) *LaunchTemplateInstanceMarketOptionsSpotOptions { +func (o LaunchTemplateCapacityReservationSpecificationOutput) ToLaunchTemplateCapacityReservationSpecificationPtrOutputWithContext(ctx context.Context) LaunchTemplateCapacityReservationSpecificationPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v LaunchTemplateCapacityReservationSpecification) *LaunchTemplateCapacityReservationSpecification { return &v - }).(LaunchTemplateInstanceMarketOptionsSpotOptionsPtrOutput) -} - -// The required duration in minutes. This value must be a multiple of 60. -func (o LaunchTemplateInstanceMarketOptionsSpotOptionsOutput) BlockDurationMinutes() pulumi.IntPtrOutput { - return o.ApplyT(func(v LaunchTemplateInstanceMarketOptionsSpotOptions) *int { return v.BlockDurationMinutes }).(pulumi.IntPtrOutput) -} - -// The behavior when a Spot Instance is interrupted. Can be `hibernate`, -// `stop`, or `terminate`. (Default: `terminate`). -func (o LaunchTemplateInstanceMarketOptionsSpotOptionsOutput) InstanceInterruptionBehavior() pulumi.StringPtrOutput { - return o.ApplyT(func(v LaunchTemplateInstanceMarketOptionsSpotOptions) *string { return v.InstanceInterruptionBehavior }).(pulumi.StringPtrOutput) -} - -// The maximum hourly price you're willing to pay for the Spot Instances. -func (o LaunchTemplateInstanceMarketOptionsSpotOptionsOutput) MaxPrice() pulumi.StringPtrOutput { - return o.ApplyT(func(v LaunchTemplateInstanceMarketOptionsSpotOptions) *string { return v.MaxPrice }).(pulumi.StringPtrOutput) + }).(LaunchTemplateCapacityReservationSpecificationPtrOutput) } -// The Spot Instance request type. Can be `one-time`, or `persistent`. -func (o LaunchTemplateInstanceMarketOptionsSpotOptionsOutput) SpotInstanceType() pulumi.StringPtrOutput { - return o.ApplyT(func(v LaunchTemplateInstanceMarketOptionsSpotOptions) *string { return v.SpotInstanceType }).(pulumi.StringPtrOutput) +// Indicates the instance's Capacity Reservation preferences. Can be `capacity-reservations-only`, `open` or `none`. If `capacityReservationId` or `capacityReservationResourceGroupArn` is specified in `capacityReservationTarget` block, either omit `capacityReservationPreference` or set it to `capacity-reservations-only`. +func (o LaunchTemplateCapacityReservationSpecificationOutput) CapacityReservationPreference() pulumi.StringPtrOutput { + return o.ApplyT(func(v LaunchTemplateCapacityReservationSpecification) *string { return v.CapacityReservationPreference }).(pulumi.StringPtrOutput) } -// The end date of the request. -func (o LaunchTemplateInstanceMarketOptionsSpotOptionsOutput) ValidUntil() pulumi.StringPtrOutput { - return o.ApplyT(func(v LaunchTemplateInstanceMarketOptionsSpotOptions) *string { return v.ValidUntil }).(pulumi.StringPtrOutput) +// Used to target a specific Capacity Reservation: +func (o LaunchTemplateCapacityReservationSpecificationOutput) CapacityReservationTarget() LaunchTemplateCapacityReservationSpecificationCapacityReservationTargetPtrOutput { + return o.ApplyT(func(v LaunchTemplateCapacityReservationSpecification) *LaunchTemplateCapacityReservationSpecificationCapacityReservationTarget { + return v.CapacityReservationTarget + }).(LaunchTemplateCapacityReservationSpecificationCapacityReservationTargetPtrOutput) } -type LaunchTemplateInstanceMarketOptionsSpotOptionsPtrOutput struct{ *pulumi.OutputState } +type LaunchTemplateCapacityReservationSpecificationPtrOutput struct{ *pulumi.OutputState } -func (LaunchTemplateInstanceMarketOptionsSpotOptionsPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**LaunchTemplateInstanceMarketOptionsSpotOptions)(nil)).Elem() +func (LaunchTemplateCapacityReservationSpecificationPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**LaunchTemplateCapacityReservationSpecification)(nil)).Elem() } -func (o LaunchTemplateInstanceMarketOptionsSpotOptionsPtrOutput) ToLaunchTemplateInstanceMarketOptionsSpotOptionsPtrOutput() LaunchTemplateInstanceMarketOptionsSpotOptionsPtrOutput { +func (o LaunchTemplateCapacityReservationSpecificationPtrOutput) ToLaunchTemplateCapacityReservationSpecificationPtrOutput() LaunchTemplateCapacityReservationSpecificationPtrOutput { return o } -func (o LaunchTemplateInstanceMarketOptionsSpotOptionsPtrOutput) ToLaunchTemplateInstanceMarketOptionsSpotOptionsPtrOutputWithContext(ctx context.Context) LaunchTemplateInstanceMarketOptionsSpotOptionsPtrOutput { +func (o LaunchTemplateCapacityReservationSpecificationPtrOutput) ToLaunchTemplateCapacityReservationSpecificationPtrOutputWithContext(ctx context.Context) LaunchTemplateCapacityReservationSpecificationPtrOutput { return o } -func (o LaunchTemplateInstanceMarketOptionsSpotOptionsPtrOutput) Elem() LaunchTemplateInstanceMarketOptionsSpotOptionsOutput { - return o.ApplyT(func(v *LaunchTemplateInstanceMarketOptionsSpotOptions) LaunchTemplateInstanceMarketOptionsSpotOptions { +func (o LaunchTemplateCapacityReservationSpecificationPtrOutput) Elem() LaunchTemplateCapacityReservationSpecificationOutput { + return o.ApplyT(func(v *LaunchTemplateCapacityReservationSpecification) LaunchTemplateCapacityReservationSpecification { if v != nil { return *v } - var ret LaunchTemplateInstanceMarketOptionsSpotOptions + var ret LaunchTemplateCapacityReservationSpecification return ret - }).(LaunchTemplateInstanceMarketOptionsSpotOptionsOutput) -} - -// The required duration in minutes. This value must be a multiple of 60. -func (o LaunchTemplateInstanceMarketOptionsSpotOptionsPtrOutput) BlockDurationMinutes() pulumi.IntPtrOutput { - return o.ApplyT(func(v *LaunchTemplateInstanceMarketOptionsSpotOptions) *int { - if v == nil { - return nil - } - return v.BlockDurationMinutes - }).(pulumi.IntPtrOutput) -} - -// The behavior when a Spot Instance is interrupted. Can be `hibernate`, -// `stop`, or `terminate`. (Default: `terminate`). -func (o LaunchTemplateInstanceMarketOptionsSpotOptionsPtrOutput) InstanceInterruptionBehavior() pulumi.StringPtrOutput { - return o.ApplyT(func(v *LaunchTemplateInstanceMarketOptionsSpotOptions) *string { - if v == nil { - return nil - } - return v.InstanceInterruptionBehavior - }).(pulumi.StringPtrOutput) -} - -// The maximum hourly price you're willing to pay for the Spot Instances. -func (o LaunchTemplateInstanceMarketOptionsSpotOptionsPtrOutput) MaxPrice() pulumi.StringPtrOutput { - return o.ApplyT(func(v *LaunchTemplateInstanceMarketOptionsSpotOptions) *string { - if v == nil { - return nil - } - return v.MaxPrice - }).(pulumi.StringPtrOutput) + }).(LaunchTemplateCapacityReservationSpecificationOutput) } -// The Spot Instance request type. Can be `one-time`, or `persistent`. -func (o LaunchTemplateInstanceMarketOptionsSpotOptionsPtrOutput) SpotInstanceType() pulumi.StringPtrOutput { - return o.ApplyT(func(v *LaunchTemplateInstanceMarketOptionsSpotOptions) *string { +// Indicates the instance's Capacity Reservation preferences. Can be `capacity-reservations-only`, `open` or `none`. If `capacityReservationId` or `capacityReservationResourceGroupArn` is specified in `capacityReservationTarget` block, either omit `capacityReservationPreference` or set it to `capacity-reservations-only`. +func (o LaunchTemplateCapacityReservationSpecificationPtrOutput) CapacityReservationPreference() pulumi.StringPtrOutput { + return o.ApplyT(func(v *LaunchTemplateCapacityReservationSpecification) *string { if v == nil { return nil } - return v.SpotInstanceType + return v.CapacityReservationPreference }).(pulumi.StringPtrOutput) } -// The end date of the request. -func (o LaunchTemplateInstanceMarketOptionsSpotOptionsPtrOutput) ValidUntil() pulumi.StringPtrOutput { - return o.ApplyT(func(v *LaunchTemplateInstanceMarketOptionsSpotOptions) *string { +// Used to target a specific Capacity Reservation: +func (o LaunchTemplateCapacityReservationSpecificationPtrOutput) CapacityReservationTarget() LaunchTemplateCapacityReservationSpecificationCapacityReservationTargetPtrOutput { + return o.ApplyT(func(v *LaunchTemplateCapacityReservationSpecification) *LaunchTemplateCapacityReservationSpecificationCapacityReservationTarget { if v == nil { return nil } - return v.ValidUntil - }).(pulumi.StringPtrOutput) + return v.CapacityReservationTarget + }).(LaunchTemplateCapacityReservationSpecificationCapacityReservationTargetPtrOutput) } -type LaunchTemplateInstanceRequirements struct { - // Block describing the minimum and maximum number of accelerators (GPUs, FPGAs, or AWS Inferentia chips). Default is no minimum or maximum. - AcceleratorCount *LaunchTemplateInstanceRequirementsAcceleratorCount `pulumi:"acceleratorCount"` - // List of accelerator manufacturer names. Default is any manufacturer. - AcceleratorManufacturers []string `pulumi:"acceleratorManufacturers"` - // List of accelerator names. Default is any acclerator. - AcceleratorNames []string `pulumi:"acceleratorNames"` - // Block describing the minimum and maximum total memory of the accelerators. Default is no minimum or maximum. - AcceleratorTotalMemoryMib *LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMib `pulumi:"acceleratorTotalMemoryMib"` - // List of accelerator types. Default is any accelerator type. - AcceleratorTypes []string `pulumi:"acceleratorTypes"` - // 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. - // - // > **NOTE:** If you specify `allowedInstanceTypes`, you can't specify `excludedInstanceTypes`. - AllowedInstanceTypes []string `pulumi:"allowedInstanceTypes"` - // Indicate whether bare metal instace types should be `included`, `excluded`, or `required`. Default is `excluded`. - BareMetal *string `pulumi:"bareMetal"` - // Block describing the minimum and maximum baseline EBS bandwidth, in Mbps. Default is no minimum or maximum. - BaselineEbsBandwidthMbps *LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbps `pulumi:"baselineEbsBandwidthMbps"` - // Indicate whether burstable performance instance types should be `included`, `excluded`, or `required`. Default is `excluded`. - BurstablePerformance *string `pulumi:"burstablePerformance"` - // List of CPU manufacturer names. Default is any manufacturer. - // - // > **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. - CpuManufacturers []string `pulumi:"cpuManufacturers"` - // 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. - // - // > **NOTE:** If you specify `excludedInstanceTypes`, you can't specify `allowedInstanceTypes`. - ExcludedInstanceTypes []string `pulumi:"excludedInstanceTypes"` - // List of instance generation names. Default is any generation. - InstanceGenerations []string `pulumi:"instanceGenerations"` - // Indicate whether instance types with local storage volumes are `included`, `excluded`, or `required`. Default is `included`. - LocalStorage *string `pulumi:"localStorage"` - // List of local storage type names. Default any storage type. - LocalStorageTypes []string `pulumi:"localStorageTypes"` - // The 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. Conflicts with `spotMaxPricePercentageOverLowestPrice` - MaxSpotPriceAsPercentageOfOptimalOnDemandPrice *int `pulumi:"maxSpotPriceAsPercentageOfOptimalOnDemandPrice"` - // Block describing the minimum and maximum amount of memory (GiB) per vCPU. Default is no minimum or maximum. - MemoryGibPerVcpu *LaunchTemplateInstanceRequirementsMemoryGibPerVcpu `pulumi:"memoryGibPerVcpu"` - // Block describing the minimum and maximum amount of memory (MiB). Default is no maximum. - MemoryMib LaunchTemplateInstanceRequirementsMemoryMib `pulumi:"memoryMib"` - // Block describing the minimum and maximum amount of network bandwidth, in gigabits per second (Gbps). Default is no minimum or maximum. - NetworkBandwidthGbps *LaunchTemplateInstanceRequirementsNetworkBandwidthGbps `pulumi:"networkBandwidthGbps"` - // Block describing the minimum and maximum number of network interfaces. Default is no minimum or maximum. - NetworkInterfaceCount *LaunchTemplateInstanceRequirementsNetworkInterfaceCount `pulumi:"networkInterfaceCount"` - // The 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. - // - // If 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. - OnDemandMaxPricePercentageOverLowestPrice *int `pulumi:"onDemandMaxPricePercentageOverLowestPrice"` - // Indicate whether instance types must support On-Demand Instance Hibernation, either `true` or `false`. Default is `false`. - RequireHibernateSupport *bool `pulumi:"requireHibernateSupport"` - // The 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. Conflicts with `maxSpotPriceAsPercentageOfOptimalOnDemandPrice` - // - // If 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. - SpotMaxPricePercentageOverLowestPrice *int `pulumi:"spotMaxPricePercentageOverLowestPrice"` - // Block describing the minimum and maximum total local storage (GB). Default is no minimum or maximum. - TotalLocalStorageGb *LaunchTemplateInstanceRequirementsTotalLocalStorageGb `pulumi:"totalLocalStorageGb"` - // Block describing the minimum and maximum number of vCPUs. Default is no maximum. - VcpuCount LaunchTemplateInstanceRequirementsVcpuCount `pulumi:"vcpuCount"` +type LaunchTemplateCapacityReservationSpecificationCapacityReservationTarget struct { + // The ID of the Capacity Reservation in which to run the instance. + CapacityReservationId *string `pulumi:"capacityReservationId"` + // The ARN of the Capacity Reservation resource group in which to run the instance. + CapacityReservationResourceGroupArn *string `pulumi:"capacityReservationResourceGroupArn"` } -// LaunchTemplateInstanceRequirementsInput is an input type that accepts LaunchTemplateInstanceRequirementsArgs and LaunchTemplateInstanceRequirementsOutput values. -// You can construct a concrete instance of `LaunchTemplateInstanceRequirementsInput` via: +// LaunchTemplateCapacityReservationSpecificationCapacityReservationTargetInput is an input type that accepts LaunchTemplateCapacityReservationSpecificationCapacityReservationTargetArgs and LaunchTemplateCapacityReservationSpecificationCapacityReservationTargetOutput values. +// You can construct a concrete instance of `LaunchTemplateCapacityReservationSpecificationCapacityReservationTargetInput` via: // -// LaunchTemplateInstanceRequirementsArgs{...} -type LaunchTemplateInstanceRequirementsInput interface { +// LaunchTemplateCapacityReservationSpecificationCapacityReservationTargetArgs{...} +type LaunchTemplateCapacityReservationSpecificationCapacityReservationTargetInput interface { pulumi.Input - ToLaunchTemplateInstanceRequirementsOutput() LaunchTemplateInstanceRequirementsOutput - ToLaunchTemplateInstanceRequirementsOutputWithContext(context.Context) LaunchTemplateInstanceRequirementsOutput + ToLaunchTemplateCapacityReservationSpecificationCapacityReservationTargetOutput() LaunchTemplateCapacityReservationSpecificationCapacityReservationTargetOutput + ToLaunchTemplateCapacityReservationSpecificationCapacityReservationTargetOutputWithContext(context.Context) LaunchTemplateCapacityReservationSpecificationCapacityReservationTargetOutput } -type LaunchTemplateInstanceRequirementsArgs struct { - // Block describing the minimum and maximum number of accelerators (GPUs, FPGAs, or AWS Inferentia chips). Default is no minimum or maximum. - AcceleratorCount LaunchTemplateInstanceRequirementsAcceleratorCountPtrInput `pulumi:"acceleratorCount"` - // List of accelerator manufacturer names. Default is any manufacturer. - AcceleratorManufacturers pulumi.StringArrayInput `pulumi:"acceleratorManufacturers"` - // List of accelerator names. Default is any acclerator. - AcceleratorNames pulumi.StringArrayInput `pulumi:"acceleratorNames"` - // Block describing the minimum and maximum total memory of the accelerators. Default is no minimum or maximum. - AcceleratorTotalMemoryMib LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibPtrInput `pulumi:"acceleratorTotalMemoryMib"` - // List of accelerator types. Default is any accelerator type. - AcceleratorTypes pulumi.StringArrayInput `pulumi:"acceleratorTypes"` - // 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. - // - // > **NOTE:** If you specify `allowedInstanceTypes`, you can't specify `excludedInstanceTypes`. - AllowedInstanceTypes pulumi.StringArrayInput `pulumi:"allowedInstanceTypes"` - // Indicate whether bare metal instace types should be `included`, `excluded`, or `required`. Default is `excluded`. - BareMetal pulumi.StringPtrInput `pulumi:"bareMetal"` - // Block describing the minimum and maximum baseline EBS bandwidth, in Mbps. Default is no minimum or maximum. - BaselineEbsBandwidthMbps LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsPtrInput `pulumi:"baselineEbsBandwidthMbps"` - // Indicate whether burstable performance instance types should be `included`, `excluded`, or `required`. Default is `excluded`. - BurstablePerformance pulumi.StringPtrInput `pulumi:"burstablePerformance"` - // List of CPU manufacturer names. Default is any manufacturer. - // - // > **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. - CpuManufacturers pulumi.StringArrayInput `pulumi:"cpuManufacturers"` - // 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. - // - // > **NOTE:** If you specify `excludedInstanceTypes`, you can't specify `allowedInstanceTypes`. - ExcludedInstanceTypes pulumi.StringArrayInput `pulumi:"excludedInstanceTypes"` - // List of instance generation names. Default is any generation. - InstanceGenerations pulumi.StringArrayInput `pulumi:"instanceGenerations"` - // Indicate whether instance types with local storage volumes are `included`, `excluded`, or `required`. Default is `included`. - LocalStorage pulumi.StringPtrInput `pulumi:"localStorage"` - // List of local storage type names. Default any storage type. - LocalStorageTypes pulumi.StringArrayInput `pulumi:"localStorageTypes"` - // The 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. Conflicts with `spotMaxPricePercentageOverLowestPrice` - MaxSpotPriceAsPercentageOfOptimalOnDemandPrice pulumi.IntPtrInput `pulumi:"maxSpotPriceAsPercentageOfOptimalOnDemandPrice"` - // Block describing the minimum and maximum amount of memory (GiB) per vCPU. Default is no minimum or maximum. - MemoryGibPerVcpu LaunchTemplateInstanceRequirementsMemoryGibPerVcpuPtrInput `pulumi:"memoryGibPerVcpu"` - // Block describing the minimum and maximum amount of memory (MiB). Default is no maximum. - MemoryMib LaunchTemplateInstanceRequirementsMemoryMibInput `pulumi:"memoryMib"` - // Block describing the minimum and maximum amount of network bandwidth, in gigabits per second (Gbps). Default is no minimum or maximum. - NetworkBandwidthGbps LaunchTemplateInstanceRequirementsNetworkBandwidthGbpsPtrInput `pulumi:"networkBandwidthGbps"` - // Block describing the minimum and maximum number of network interfaces. Default is no minimum or maximum. - NetworkInterfaceCount LaunchTemplateInstanceRequirementsNetworkInterfaceCountPtrInput `pulumi:"networkInterfaceCount"` - // The 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. - // - // If 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. - OnDemandMaxPricePercentageOverLowestPrice pulumi.IntPtrInput `pulumi:"onDemandMaxPricePercentageOverLowestPrice"` - // Indicate whether instance types must support On-Demand Instance Hibernation, either `true` or `false`. Default is `false`. - RequireHibernateSupport pulumi.BoolPtrInput `pulumi:"requireHibernateSupport"` - // The 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. Conflicts with `maxSpotPriceAsPercentageOfOptimalOnDemandPrice` - // - // If 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. - SpotMaxPricePercentageOverLowestPrice pulumi.IntPtrInput `pulumi:"spotMaxPricePercentageOverLowestPrice"` - // Block describing the minimum and maximum total local storage (GB). Default is no minimum or maximum. - TotalLocalStorageGb LaunchTemplateInstanceRequirementsTotalLocalStorageGbPtrInput `pulumi:"totalLocalStorageGb"` - // Block describing the minimum and maximum number of vCPUs. Default is no maximum. - VcpuCount LaunchTemplateInstanceRequirementsVcpuCountInput `pulumi:"vcpuCount"` +type LaunchTemplateCapacityReservationSpecificationCapacityReservationTargetArgs struct { + // The ID of the Capacity Reservation in which to run the instance. + CapacityReservationId pulumi.StringPtrInput `pulumi:"capacityReservationId"` + // The ARN of the Capacity Reservation resource group in which to run the instance. + CapacityReservationResourceGroupArn pulumi.StringPtrInput `pulumi:"capacityReservationResourceGroupArn"` } -func (LaunchTemplateInstanceRequirementsArgs) ElementType() reflect.Type { - return reflect.TypeOf((*LaunchTemplateInstanceRequirements)(nil)).Elem() +func (LaunchTemplateCapacityReservationSpecificationCapacityReservationTargetArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LaunchTemplateCapacityReservationSpecificationCapacityReservationTarget)(nil)).Elem() } -func (i LaunchTemplateInstanceRequirementsArgs) ToLaunchTemplateInstanceRequirementsOutput() LaunchTemplateInstanceRequirementsOutput { - return i.ToLaunchTemplateInstanceRequirementsOutputWithContext(context.Background()) +func (i LaunchTemplateCapacityReservationSpecificationCapacityReservationTargetArgs) ToLaunchTemplateCapacityReservationSpecificationCapacityReservationTargetOutput() LaunchTemplateCapacityReservationSpecificationCapacityReservationTargetOutput { + return i.ToLaunchTemplateCapacityReservationSpecificationCapacityReservationTargetOutputWithContext(context.Background()) } -func (i LaunchTemplateInstanceRequirementsArgs) ToLaunchTemplateInstanceRequirementsOutputWithContext(ctx context.Context) LaunchTemplateInstanceRequirementsOutput { - return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateInstanceRequirementsOutput) +func (i LaunchTemplateCapacityReservationSpecificationCapacityReservationTargetArgs) ToLaunchTemplateCapacityReservationSpecificationCapacityReservationTargetOutputWithContext(ctx context.Context) LaunchTemplateCapacityReservationSpecificationCapacityReservationTargetOutput { + return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateCapacityReservationSpecificationCapacityReservationTargetOutput) } -func (i LaunchTemplateInstanceRequirementsArgs) ToLaunchTemplateInstanceRequirementsPtrOutput() LaunchTemplateInstanceRequirementsPtrOutput { - return i.ToLaunchTemplateInstanceRequirementsPtrOutputWithContext(context.Background()) +func (i LaunchTemplateCapacityReservationSpecificationCapacityReservationTargetArgs) ToLaunchTemplateCapacityReservationSpecificationCapacityReservationTargetPtrOutput() LaunchTemplateCapacityReservationSpecificationCapacityReservationTargetPtrOutput { + return i.ToLaunchTemplateCapacityReservationSpecificationCapacityReservationTargetPtrOutputWithContext(context.Background()) } -func (i LaunchTemplateInstanceRequirementsArgs) ToLaunchTemplateInstanceRequirementsPtrOutputWithContext(ctx context.Context) LaunchTemplateInstanceRequirementsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateInstanceRequirementsOutput).ToLaunchTemplateInstanceRequirementsPtrOutputWithContext(ctx) +func (i LaunchTemplateCapacityReservationSpecificationCapacityReservationTargetArgs) ToLaunchTemplateCapacityReservationSpecificationCapacityReservationTargetPtrOutputWithContext(ctx context.Context) LaunchTemplateCapacityReservationSpecificationCapacityReservationTargetPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateCapacityReservationSpecificationCapacityReservationTargetOutput).ToLaunchTemplateCapacityReservationSpecificationCapacityReservationTargetPtrOutputWithContext(ctx) } -// LaunchTemplateInstanceRequirementsPtrInput is an input type that accepts LaunchTemplateInstanceRequirementsArgs, LaunchTemplateInstanceRequirementsPtr and LaunchTemplateInstanceRequirementsPtrOutput values. -// You can construct a concrete instance of `LaunchTemplateInstanceRequirementsPtrInput` via: +// LaunchTemplateCapacityReservationSpecificationCapacityReservationTargetPtrInput is an input type that accepts LaunchTemplateCapacityReservationSpecificationCapacityReservationTargetArgs, LaunchTemplateCapacityReservationSpecificationCapacityReservationTargetPtr and LaunchTemplateCapacityReservationSpecificationCapacityReservationTargetPtrOutput values. +// You can construct a concrete instance of `LaunchTemplateCapacityReservationSpecificationCapacityReservationTargetPtrInput` via: // -// LaunchTemplateInstanceRequirementsArgs{...} +// LaunchTemplateCapacityReservationSpecificationCapacityReservationTargetArgs{...} // // or: // // nil -type LaunchTemplateInstanceRequirementsPtrInput interface { +type LaunchTemplateCapacityReservationSpecificationCapacityReservationTargetPtrInput interface { pulumi.Input - ToLaunchTemplateInstanceRequirementsPtrOutput() LaunchTemplateInstanceRequirementsPtrOutput - ToLaunchTemplateInstanceRequirementsPtrOutputWithContext(context.Context) LaunchTemplateInstanceRequirementsPtrOutput + ToLaunchTemplateCapacityReservationSpecificationCapacityReservationTargetPtrOutput() LaunchTemplateCapacityReservationSpecificationCapacityReservationTargetPtrOutput + ToLaunchTemplateCapacityReservationSpecificationCapacityReservationTargetPtrOutputWithContext(context.Context) LaunchTemplateCapacityReservationSpecificationCapacityReservationTargetPtrOutput } -type launchTemplateInstanceRequirementsPtrType LaunchTemplateInstanceRequirementsArgs +type launchTemplateCapacityReservationSpecificationCapacityReservationTargetPtrType LaunchTemplateCapacityReservationSpecificationCapacityReservationTargetArgs -func LaunchTemplateInstanceRequirementsPtr(v *LaunchTemplateInstanceRequirementsArgs) LaunchTemplateInstanceRequirementsPtrInput { - return (*launchTemplateInstanceRequirementsPtrType)(v) +func LaunchTemplateCapacityReservationSpecificationCapacityReservationTargetPtr(v *LaunchTemplateCapacityReservationSpecificationCapacityReservationTargetArgs) LaunchTemplateCapacityReservationSpecificationCapacityReservationTargetPtrInput { + return (*launchTemplateCapacityReservationSpecificationCapacityReservationTargetPtrType)(v) } -func (*launchTemplateInstanceRequirementsPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**LaunchTemplateInstanceRequirements)(nil)).Elem() +func (*launchTemplateCapacityReservationSpecificationCapacityReservationTargetPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**LaunchTemplateCapacityReservationSpecificationCapacityReservationTarget)(nil)).Elem() } -func (i *launchTemplateInstanceRequirementsPtrType) ToLaunchTemplateInstanceRequirementsPtrOutput() LaunchTemplateInstanceRequirementsPtrOutput { - return i.ToLaunchTemplateInstanceRequirementsPtrOutputWithContext(context.Background()) +func (i *launchTemplateCapacityReservationSpecificationCapacityReservationTargetPtrType) ToLaunchTemplateCapacityReservationSpecificationCapacityReservationTargetPtrOutput() LaunchTemplateCapacityReservationSpecificationCapacityReservationTargetPtrOutput { + return i.ToLaunchTemplateCapacityReservationSpecificationCapacityReservationTargetPtrOutputWithContext(context.Background()) } -func (i *launchTemplateInstanceRequirementsPtrType) ToLaunchTemplateInstanceRequirementsPtrOutputWithContext(ctx context.Context) LaunchTemplateInstanceRequirementsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateInstanceRequirementsPtrOutput) +func (i *launchTemplateCapacityReservationSpecificationCapacityReservationTargetPtrType) ToLaunchTemplateCapacityReservationSpecificationCapacityReservationTargetPtrOutputWithContext(ctx context.Context) LaunchTemplateCapacityReservationSpecificationCapacityReservationTargetPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateCapacityReservationSpecificationCapacityReservationTargetPtrOutput) } -type LaunchTemplateInstanceRequirementsOutput struct{ *pulumi.OutputState } +type LaunchTemplateCapacityReservationSpecificationCapacityReservationTargetOutput struct{ *pulumi.OutputState } -func (LaunchTemplateInstanceRequirementsOutput) ElementType() reflect.Type { - return reflect.TypeOf((*LaunchTemplateInstanceRequirements)(nil)).Elem() +func (LaunchTemplateCapacityReservationSpecificationCapacityReservationTargetOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LaunchTemplateCapacityReservationSpecificationCapacityReservationTarget)(nil)).Elem() } -func (o LaunchTemplateInstanceRequirementsOutput) ToLaunchTemplateInstanceRequirementsOutput() LaunchTemplateInstanceRequirementsOutput { +func (o LaunchTemplateCapacityReservationSpecificationCapacityReservationTargetOutput) ToLaunchTemplateCapacityReservationSpecificationCapacityReservationTargetOutput() LaunchTemplateCapacityReservationSpecificationCapacityReservationTargetOutput { return o } -func (o LaunchTemplateInstanceRequirementsOutput) ToLaunchTemplateInstanceRequirementsOutputWithContext(ctx context.Context) LaunchTemplateInstanceRequirementsOutput { +func (o LaunchTemplateCapacityReservationSpecificationCapacityReservationTargetOutput) ToLaunchTemplateCapacityReservationSpecificationCapacityReservationTargetOutputWithContext(ctx context.Context) LaunchTemplateCapacityReservationSpecificationCapacityReservationTargetOutput { return o } -func (o LaunchTemplateInstanceRequirementsOutput) ToLaunchTemplateInstanceRequirementsPtrOutput() LaunchTemplateInstanceRequirementsPtrOutput { - return o.ToLaunchTemplateInstanceRequirementsPtrOutputWithContext(context.Background()) +func (o LaunchTemplateCapacityReservationSpecificationCapacityReservationTargetOutput) ToLaunchTemplateCapacityReservationSpecificationCapacityReservationTargetPtrOutput() LaunchTemplateCapacityReservationSpecificationCapacityReservationTargetPtrOutput { + return o.ToLaunchTemplateCapacityReservationSpecificationCapacityReservationTargetPtrOutputWithContext(context.Background()) } -func (o LaunchTemplateInstanceRequirementsOutput) ToLaunchTemplateInstanceRequirementsPtrOutputWithContext(ctx context.Context) LaunchTemplateInstanceRequirementsPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v LaunchTemplateInstanceRequirements) *LaunchTemplateInstanceRequirements { +func (o LaunchTemplateCapacityReservationSpecificationCapacityReservationTargetOutput) ToLaunchTemplateCapacityReservationSpecificationCapacityReservationTargetPtrOutputWithContext(ctx context.Context) LaunchTemplateCapacityReservationSpecificationCapacityReservationTargetPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v LaunchTemplateCapacityReservationSpecificationCapacityReservationTarget) *LaunchTemplateCapacityReservationSpecificationCapacityReservationTarget { return &v - }).(LaunchTemplateInstanceRequirementsPtrOutput) -} - -// Block describing the minimum and maximum number of accelerators (GPUs, FPGAs, or AWS Inferentia chips). Default is no minimum or maximum. -func (o LaunchTemplateInstanceRequirementsOutput) AcceleratorCount() LaunchTemplateInstanceRequirementsAcceleratorCountPtrOutput { - return o.ApplyT(func(v LaunchTemplateInstanceRequirements) *LaunchTemplateInstanceRequirementsAcceleratorCount { - return v.AcceleratorCount - }).(LaunchTemplateInstanceRequirementsAcceleratorCountPtrOutput) + }).(LaunchTemplateCapacityReservationSpecificationCapacityReservationTargetPtrOutput) } -// List of accelerator manufacturer names. Default is any manufacturer. -func (o LaunchTemplateInstanceRequirementsOutput) AcceleratorManufacturers() pulumi.StringArrayOutput { - return o.ApplyT(func(v LaunchTemplateInstanceRequirements) []string { return v.AcceleratorManufacturers }).(pulumi.StringArrayOutput) +// The ID of the Capacity Reservation in which to run the instance. +func (o LaunchTemplateCapacityReservationSpecificationCapacityReservationTargetOutput) CapacityReservationId() pulumi.StringPtrOutput { + return o.ApplyT(func(v LaunchTemplateCapacityReservationSpecificationCapacityReservationTarget) *string { + return v.CapacityReservationId + }).(pulumi.StringPtrOutput) } -// List of accelerator names. Default is any acclerator. -func (o LaunchTemplateInstanceRequirementsOutput) AcceleratorNames() pulumi.StringArrayOutput { - return o.ApplyT(func(v LaunchTemplateInstanceRequirements) []string { return v.AcceleratorNames }).(pulumi.StringArrayOutput) +// The ARN of the Capacity Reservation resource group in which to run the instance. +func (o LaunchTemplateCapacityReservationSpecificationCapacityReservationTargetOutput) CapacityReservationResourceGroupArn() pulumi.StringPtrOutput { + return o.ApplyT(func(v LaunchTemplateCapacityReservationSpecificationCapacityReservationTarget) *string { + return v.CapacityReservationResourceGroupArn + }).(pulumi.StringPtrOutput) } -// Block describing the minimum and maximum total memory of the accelerators. Default is no minimum or maximum. -func (o LaunchTemplateInstanceRequirementsOutput) AcceleratorTotalMemoryMib() LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibPtrOutput { - return o.ApplyT(func(v LaunchTemplateInstanceRequirements) *LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMib { - return v.AcceleratorTotalMemoryMib - }).(LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibPtrOutput) -} +type LaunchTemplateCapacityReservationSpecificationCapacityReservationTargetPtrOutput struct{ *pulumi.OutputState } -// List of accelerator types. Default is any accelerator type. -func (o LaunchTemplateInstanceRequirementsOutput) AcceleratorTypes() pulumi.StringArrayOutput { - return o.ApplyT(func(v LaunchTemplateInstanceRequirements) []string { return v.AcceleratorTypes }).(pulumi.StringArrayOutput) +func (LaunchTemplateCapacityReservationSpecificationCapacityReservationTargetPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**LaunchTemplateCapacityReservationSpecificationCapacityReservationTarget)(nil)).Elem() } -// 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. -// -// > **NOTE:** If you specify `allowedInstanceTypes`, you can't specify `excludedInstanceTypes`. -func (o LaunchTemplateInstanceRequirementsOutput) AllowedInstanceTypes() pulumi.StringArrayOutput { - return o.ApplyT(func(v LaunchTemplateInstanceRequirements) []string { return v.AllowedInstanceTypes }).(pulumi.StringArrayOutput) +func (o LaunchTemplateCapacityReservationSpecificationCapacityReservationTargetPtrOutput) ToLaunchTemplateCapacityReservationSpecificationCapacityReservationTargetPtrOutput() LaunchTemplateCapacityReservationSpecificationCapacityReservationTargetPtrOutput { + return o } -// Indicate whether bare metal instace types should be `included`, `excluded`, or `required`. Default is `excluded`. -func (o LaunchTemplateInstanceRequirementsOutput) BareMetal() pulumi.StringPtrOutput { - return o.ApplyT(func(v LaunchTemplateInstanceRequirements) *string { return v.BareMetal }).(pulumi.StringPtrOutput) +func (o LaunchTemplateCapacityReservationSpecificationCapacityReservationTargetPtrOutput) ToLaunchTemplateCapacityReservationSpecificationCapacityReservationTargetPtrOutputWithContext(ctx context.Context) LaunchTemplateCapacityReservationSpecificationCapacityReservationTargetPtrOutput { + return o } -// Block describing the minimum and maximum baseline EBS bandwidth, in Mbps. Default is no minimum or maximum. -func (o LaunchTemplateInstanceRequirementsOutput) BaselineEbsBandwidthMbps() LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutput { - return o.ApplyT(func(v LaunchTemplateInstanceRequirements) *LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbps { - return v.BaselineEbsBandwidthMbps - }).(LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutput) +func (o LaunchTemplateCapacityReservationSpecificationCapacityReservationTargetPtrOutput) Elem() LaunchTemplateCapacityReservationSpecificationCapacityReservationTargetOutput { + return o.ApplyT(func(v *LaunchTemplateCapacityReservationSpecificationCapacityReservationTarget) LaunchTemplateCapacityReservationSpecificationCapacityReservationTarget { + if v != nil { + return *v + } + var ret LaunchTemplateCapacityReservationSpecificationCapacityReservationTarget + return ret + }).(LaunchTemplateCapacityReservationSpecificationCapacityReservationTargetOutput) } -// Indicate whether burstable performance instance types should be `included`, `excluded`, or `required`. Default is `excluded`. -func (o LaunchTemplateInstanceRequirementsOutput) BurstablePerformance() pulumi.StringPtrOutput { - return o.ApplyT(func(v LaunchTemplateInstanceRequirements) *string { return v.BurstablePerformance }).(pulumi.StringPtrOutput) +// The ID of the Capacity Reservation in which to run the instance. +func (o LaunchTemplateCapacityReservationSpecificationCapacityReservationTargetPtrOutput) CapacityReservationId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *LaunchTemplateCapacityReservationSpecificationCapacityReservationTarget) *string { + if v == nil { + return nil + } + return v.CapacityReservationId + }).(pulumi.StringPtrOutput) } -// List of CPU manufacturer names. Default is any manufacturer. -// -// > **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. -func (o LaunchTemplateInstanceRequirementsOutput) CpuManufacturers() pulumi.StringArrayOutput { - return o.ApplyT(func(v LaunchTemplateInstanceRequirements) []string { return v.CpuManufacturers }).(pulumi.StringArrayOutput) +// The ARN of the Capacity Reservation resource group in which to run the instance. +func (o LaunchTemplateCapacityReservationSpecificationCapacityReservationTargetPtrOutput) CapacityReservationResourceGroupArn() pulumi.StringPtrOutput { + return o.ApplyT(func(v *LaunchTemplateCapacityReservationSpecificationCapacityReservationTarget) *string { + if v == nil { + return nil + } + return v.CapacityReservationResourceGroupArn + }).(pulumi.StringPtrOutput) } -// 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. -// -// > **NOTE:** If you specify `excludedInstanceTypes`, you can't specify `allowedInstanceTypes`. -func (o LaunchTemplateInstanceRequirementsOutput) ExcludedInstanceTypes() pulumi.StringArrayOutput { - return o.ApplyT(func(v LaunchTemplateInstanceRequirements) []string { return v.ExcludedInstanceTypes }).(pulumi.StringArrayOutput) +type LaunchTemplateCpuOptions struct { + // Indicates whether to enable the instance for AMD SEV-SNP. AMD SEV-SNP is supported with M6a, R6a, and C6a instance types only. Valid values are `enabled` and `disabled`. + AmdSevSnp *string `pulumi:"amdSevSnp"` + // The number of CPU cores for the instance. + CoreCount *int `pulumi:"coreCount"` + // The number of threads per CPU core. + // To disable Intel Hyper-Threading Technology for the instance, specify a value of 1. + // Otherwise, specify the default value of 2. + // + // Both number of CPU cores and threads per core must be specified. Valid number of CPU cores and threads per core for the instance type can be found in the [CPU Options Documentation](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-optimize-cpu.html?shortFooter=true#cpu-options-supported-instances-values) + ThreadsPerCore *int `pulumi:"threadsPerCore"` } -// List of instance generation names. Default is any generation. -func (o LaunchTemplateInstanceRequirementsOutput) InstanceGenerations() pulumi.StringArrayOutput { - return o.ApplyT(func(v LaunchTemplateInstanceRequirements) []string { return v.InstanceGenerations }).(pulumi.StringArrayOutput) -} +// LaunchTemplateCpuOptionsInput is an input type that accepts LaunchTemplateCpuOptionsArgs and LaunchTemplateCpuOptionsOutput values. +// You can construct a concrete instance of `LaunchTemplateCpuOptionsInput` via: +// +// LaunchTemplateCpuOptionsArgs{...} +type LaunchTemplateCpuOptionsInput interface { + pulumi.Input -// Indicate whether instance types with local storage volumes are `included`, `excluded`, or `required`. Default is `included`. -func (o LaunchTemplateInstanceRequirementsOutput) LocalStorage() pulumi.StringPtrOutput { - return o.ApplyT(func(v LaunchTemplateInstanceRequirements) *string { return v.LocalStorage }).(pulumi.StringPtrOutput) + ToLaunchTemplateCpuOptionsOutput() LaunchTemplateCpuOptionsOutput + ToLaunchTemplateCpuOptionsOutputWithContext(context.Context) LaunchTemplateCpuOptionsOutput } -// List of local storage type names. Default any storage type. -func (o LaunchTemplateInstanceRequirementsOutput) LocalStorageTypes() pulumi.StringArrayOutput { - return o.ApplyT(func(v LaunchTemplateInstanceRequirements) []string { return v.LocalStorageTypes }).(pulumi.StringArrayOutput) +type LaunchTemplateCpuOptionsArgs struct { + // Indicates whether to enable the instance for AMD SEV-SNP. AMD SEV-SNP is supported with M6a, R6a, and C6a instance types only. Valid values are `enabled` and `disabled`. + AmdSevSnp pulumi.StringPtrInput `pulumi:"amdSevSnp"` + // The number of CPU cores for the instance. + CoreCount pulumi.IntPtrInput `pulumi:"coreCount"` + // The number of threads per CPU core. + // To disable Intel Hyper-Threading Technology for the instance, specify a value of 1. + // Otherwise, specify the default value of 2. + // + // Both number of CPU cores and threads per core must be specified. Valid number of CPU cores and threads per core for the instance type can be found in the [CPU Options Documentation](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-optimize-cpu.html?shortFooter=true#cpu-options-supported-instances-values) + ThreadsPerCore pulumi.IntPtrInput `pulumi:"threadsPerCore"` } -// The 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. Conflicts with `spotMaxPricePercentageOverLowestPrice` -func (o LaunchTemplateInstanceRequirementsOutput) MaxSpotPriceAsPercentageOfOptimalOnDemandPrice() pulumi.IntPtrOutput { - return o.ApplyT(func(v LaunchTemplateInstanceRequirements) *int { - return v.MaxSpotPriceAsPercentageOfOptimalOnDemandPrice - }).(pulumi.IntPtrOutput) +func (LaunchTemplateCpuOptionsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LaunchTemplateCpuOptions)(nil)).Elem() } -// Block describing the minimum and maximum amount of memory (GiB) per vCPU. Default is no minimum or maximum. -func (o LaunchTemplateInstanceRequirementsOutput) MemoryGibPerVcpu() LaunchTemplateInstanceRequirementsMemoryGibPerVcpuPtrOutput { - return o.ApplyT(func(v LaunchTemplateInstanceRequirements) *LaunchTemplateInstanceRequirementsMemoryGibPerVcpu { - return v.MemoryGibPerVcpu - }).(LaunchTemplateInstanceRequirementsMemoryGibPerVcpuPtrOutput) +func (i LaunchTemplateCpuOptionsArgs) ToLaunchTemplateCpuOptionsOutput() LaunchTemplateCpuOptionsOutput { + return i.ToLaunchTemplateCpuOptionsOutputWithContext(context.Background()) } -// Block describing the minimum and maximum amount of memory (MiB). Default is no maximum. -func (o LaunchTemplateInstanceRequirementsOutput) MemoryMib() LaunchTemplateInstanceRequirementsMemoryMibOutput { - return o.ApplyT(func(v LaunchTemplateInstanceRequirements) LaunchTemplateInstanceRequirementsMemoryMib { - return v.MemoryMib - }).(LaunchTemplateInstanceRequirementsMemoryMibOutput) +func (i LaunchTemplateCpuOptionsArgs) ToLaunchTemplateCpuOptionsOutputWithContext(ctx context.Context) LaunchTemplateCpuOptionsOutput { + return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateCpuOptionsOutput) } -// Block describing the minimum and maximum amount of network bandwidth, in gigabits per second (Gbps). Default is no minimum or maximum. -func (o LaunchTemplateInstanceRequirementsOutput) NetworkBandwidthGbps() LaunchTemplateInstanceRequirementsNetworkBandwidthGbpsPtrOutput { - return o.ApplyT(func(v LaunchTemplateInstanceRequirements) *LaunchTemplateInstanceRequirementsNetworkBandwidthGbps { - return v.NetworkBandwidthGbps - }).(LaunchTemplateInstanceRequirementsNetworkBandwidthGbpsPtrOutput) +func (i LaunchTemplateCpuOptionsArgs) ToLaunchTemplateCpuOptionsPtrOutput() LaunchTemplateCpuOptionsPtrOutput { + return i.ToLaunchTemplateCpuOptionsPtrOutputWithContext(context.Background()) } -// Block describing the minimum and maximum number of network interfaces. Default is no minimum or maximum. -func (o LaunchTemplateInstanceRequirementsOutput) NetworkInterfaceCount() LaunchTemplateInstanceRequirementsNetworkInterfaceCountPtrOutput { - return o.ApplyT(func(v LaunchTemplateInstanceRequirements) *LaunchTemplateInstanceRequirementsNetworkInterfaceCount { - return v.NetworkInterfaceCount - }).(LaunchTemplateInstanceRequirementsNetworkInterfaceCountPtrOutput) +func (i LaunchTemplateCpuOptionsArgs) ToLaunchTemplateCpuOptionsPtrOutputWithContext(ctx context.Context) LaunchTemplateCpuOptionsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateCpuOptionsOutput).ToLaunchTemplateCpuOptionsPtrOutputWithContext(ctx) } -// The 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. +// LaunchTemplateCpuOptionsPtrInput is an input type that accepts LaunchTemplateCpuOptionsArgs, LaunchTemplateCpuOptionsPtr and LaunchTemplateCpuOptionsPtrOutput values. +// You can construct a concrete instance of `LaunchTemplateCpuOptionsPtrInput` via: // -// If 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. -func (o LaunchTemplateInstanceRequirementsOutput) OnDemandMaxPricePercentageOverLowestPrice() pulumi.IntPtrOutput { - return o.ApplyT(func(v LaunchTemplateInstanceRequirements) *int { return v.OnDemandMaxPricePercentageOverLowestPrice }).(pulumi.IntPtrOutput) +// LaunchTemplateCpuOptionsArgs{...} +// +// or: +// +// nil +type LaunchTemplateCpuOptionsPtrInput interface { + pulumi.Input + + ToLaunchTemplateCpuOptionsPtrOutput() LaunchTemplateCpuOptionsPtrOutput + ToLaunchTemplateCpuOptionsPtrOutputWithContext(context.Context) LaunchTemplateCpuOptionsPtrOutput } -// Indicate whether instance types must support On-Demand Instance Hibernation, either `true` or `false`. Default is `false`. -func (o LaunchTemplateInstanceRequirementsOutput) RequireHibernateSupport() pulumi.BoolPtrOutput { - return o.ApplyT(func(v LaunchTemplateInstanceRequirements) *bool { return v.RequireHibernateSupport }).(pulumi.BoolPtrOutput) +type launchTemplateCpuOptionsPtrType LaunchTemplateCpuOptionsArgs + +func LaunchTemplateCpuOptionsPtr(v *LaunchTemplateCpuOptionsArgs) LaunchTemplateCpuOptionsPtrInput { + return (*launchTemplateCpuOptionsPtrType)(v) } -// The 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. Conflicts with `maxSpotPriceAsPercentageOfOptimalOnDemandPrice` -// -// If 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. -func (o LaunchTemplateInstanceRequirementsOutput) SpotMaxPricePercentageOverLowestPrice() pulumi.IntPtrOutput { - return o.ApplyT(func(v LaunchTemplateInstanceRequirements) *int { return v.SpotMaxPricePercentageOverLowestPrice }).(pulumi.IntPtrOutput) +func (*launchTemplateCpuOptionsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**LaunchTemplateCpuOptions)(nil)).Elem() } -// Block describing the minimum and maximum total local storage (GB). Default is no minimum or maximum. -func (o LaunchTemplateInstanceRequirementsOutput) TotalLocalStorageGb() LaunchTemplateInstanceRequirementsTotalLocalStorageGbPtrOutput { - return o.ApplyT(func(v LaunchTemplateInstanceRequirements) *LaunchTemplateInstanceRequirementsTotalLocalStorageGb { - return v.TotalLocalStorageGb - }).(LaunchTemplateInstanceRequirementsTotalLocalStorageGbPtrOutput) +func (i *launchTemplateCpuOptionsPtrType) ToLaunchTemplateCpuOptionsPtrOutput() LaunchTemplateCpuOptionsPtrOutput { + return i.ToLaunchTemplateCpuOptionsPtrOutputWithContext(context.Background()) } -// Block describing the minimum and maximum number of vCPUs. Default is no maximum. -func (o LaunchTemplateInstanceRequirementsOutput) VcpuCount() LaunchTemplateInstanceRequirementsVcpuCountOutput { - return o.ApplyT(func(v LaunchTemplateInstanceRequirements) LaunchTemplateInstanceRequirementsVcpuCount { - return v.VcpuCount - }).(LaunchTemplateInstanceRequirementsVcpuCountOutput) +func (i *launchTemplateCpuOptionsPtrType) ToLaunchTemplateCpuOptionsPtrOutputWithContext(ctx context.Context) LaunchTemplateCpuOptionsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateCpuOptionsPtrOutput) } -type LaunchTemplateInstanceRequirementsPtrOutput struct{ *pulumi.OutputState } +type LaunchTemplateCpuOptionsOutput struct{ *pulumi.OutputState } -func (LaunchTemplateInstanceRequirementsPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**LaunchTemplateInstanceRequirements)(nil)).Elem() +func (LaunchTemplateCpuOptionsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LaunchTemplateCpuOptions)(nil)).Elem() } -func (o LaunchTemplateInstanceRequirementsPtrOutput) ToLaunchTemplateInstanceRequirementsPtrOutput() LaunchTemplateInstanceRequirementsPtrOutput { +func (o LaunchTemplateCpuOptionsOutput) ToLaunchTemplateCpuOptionsOutput() LaunchTemplateCpuOptionsOutput { return o } -func (o LaunchTemplateInstanceRequirementsPtrOutput) ToLaunchTemplateInstanceRequirementsPtrOutputWithContext(ctx context.Context) LaunchTemplateInstanceRequirementsPtrOutput { +func (o LaunchTemplateCpuOptionsOutput) ToLaunchTemplateCpuOptionsOutputWithContext(ctx context.Context) LaunchTemplateCpuOptionsOutput { return o } -func (o LaunchTemplateInstanceRequirementsPtrOutput) Elem() LaunchTemplateInstanceRequirementsOutput { - return o.ApplyT(func(v *LaunchTemplateInstanceRequirements) LaunchTemplateInstanceRequirements { - if v != nil { - return *v - } - var ret LaunchTemplateInstanceRequirements - return ret - }).(LaunchTemplateInstanceRequirementsOutput) +func (o LaunchTemplateCpuOptionsOutput) ToLaunchTemplateCpuOptionsPtrOutput() LaunchTemplateCpuOptionsPtrOutput { + return o.ToLaunchTemplateCpuOptionsPtrOutputWithContext(context.Background()) } -// Block describing the minimum and maximum number of accelerators (GPUs, FPGAs, or AWS Inferentia chips). Default is no minimum or maximum. -func (o LaunchTemplateInstanceRequirementsPtrOutput) AcceleratorCount() LaunchTemplateInstanceRequirementsAcceleratorCountPtrOutput { - return o.ApplyT(func(v *LaunchTemplateInstanceRequirements) *LaunchTemplateInstanceRequirementsAcceleratorCount { - if v == nil { - return nil - } - return v.AcceleratorCount - }).(LaunchTemplateInstanceRequirementsAcceleratorCountPtrOutput) +func (o LaunchTemplateCpuOptionsOutput) ToLaunchTemplateCpuOptionsPtrOutputWithContext(ctx context.Context) LaunchTemplateCpuOptionsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v LaunchTemplateCpuOptions) *LaunchTemplateCpuOptions { + return &v + }).(LaunchTemplateCpuOptionsPtrOutput) } -// List of accelerator manufacturer names. Default is any manufacturer. -func (o LaunchTemplateInstanceRequirementsPtrOutput) AcceleratorManufacturers() pulumi.StringArrayOutput { - return o.ApplyT(func(v *LaunchTemplateInstanceRequirements) []string { - if v == nil { - return nil - } - return v.AcceleratorManufacturers - }).(pulumi.StringArrayOutput) +// Indicates whether to enable the instance for AMD SEV-SNP. AMD SEV-SNP is supported with M6a, R6a, and C6a instance types only. Valid values are `enabled` and `disabled`. +func (o LaunchTemplateCpuOptionsOutput) AmdSevSnp() pulumi.StringPtrOutput { + return o.ApplyT(func(v LaunchTemplateCpuOptions) *string { return v.AmdSevSnp }).(pulumi.StringPtrOutput) } -// List of accelerator names. Default is any acclerator. -func (o LaunchTemplateInstanceRequirementsPtrOutput) AcceleratorNames() pulumi.StringArrayOutput { - return o.ApplyT(func(v *LaunchTemplateInstanceRequirements) []string { - if v == nil { - return nil - } - return v.AcceleratorNames - }).(pulumi.StringArrayOutput) +// The number of CPU cores for the instance. +func (o LaunchTemplateCpuOptionsOutput) CoreCount() pulumi.IntPtrOutput { + return o.ApplyT(func(v LaunchTemplateCpuOptions) *int { return v.CoreCount }).(pulumi.IntPtrOutput) } -// Block describing the minimum and maximum total memory of the accelerators. Default is no minimum or maximum. -func (o LaunchTemplateInstanceRequirementsPtrOutput) AcceleratorTotalMemoryMib() LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibPtrOutput { - return o.ApplyT(func(v *LaunchTemplateInstanceRequirements) *LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMib { - if v == nil { - return nil - } - return v.AcceleratorTotalMemoryMib - }).(LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibPtrOutput) +// The number of threads per CPU core. +// To disable Intel Hyper-Threading Technology for the instance, specify a value of 1. +// Otherwise, specify the default value of 2. +// +// Both number of CPU cores and threads per core must be specified. Valid number of CPU cores and threads per core for the instance type can be found in the [CPU Options Documentation](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-optimize-cpu.html?shortFooter=true#cpu-options-supported-instances-values) +func (o LaunchTemplateCpuOptionsOutput) ThreadsPerCore() pulumi.IntPtrOutput { + return o.ApplyT(func(v LaunchTemplateCpuOptions) *int { return v.ThreadsPerCore }).(pulumi.IntPtrOutput) } -// List of accelerator types. Default is any accelerator type. -func (o LaunchTemplateInstanceRequirementsPtrOutput) AcceleratorTypes() pulumi.StringArrayOutput { - return o.ApplyT(func(v *LaunchTemplateInstanceRequirements) []string { - if v == nil { - return nil - } - return v.AcceleratorTypes - }).(pulumi.StringArrayOutput) +type LaunchTemplateCpuOptionsPtrOutput struct{ *pulumi.OutputState } + +func (LaunchTemplateCpuOptionsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**LaunchTemplateCpuOptions)(nil)).Elem() } -// 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. -// -// > **NOTE:** If you specify `allowedInstanceTypes`, you can't specify `excludedInstanceTypes`. -func (o LaunchTemplateInstanceRequirementsPtrOutput) AllowedInstanceTypes() pulumi.StringArrayOutput { - return o.ApplyT(func(v *LaunchTemplateInstanceRequirements) []string { - if v == nil { - return nil - } - return v.AllowedInstanceTypes - }).(pulumi.StringArrayOutput) +func (o LaunchTemplateCpuOptionsPtrOutput) ToLaunchTemplateCpuOptionsPtrOutput() LaunchTemplateCpuOptionsPtrOutput { + return o } -// Indicate whether bare metal instace types should be `included`, `excluded`, or `required`. Default is `excluded`. -func (o LaunchTemplateInstanceRequirementsPtrOutput) BareMetal() pulumi.StringPtrOutput { - return o.ApplyT(func(v *LaunchTemplateInstanceRequirements) *string { - if v == nil { - return nil - } - return v.BareMetal - }).(pulumi.StringPtrOutput) +func (o LaunchTemplateCpuOptionsPtrOutput) ToLaunchTemplateCpuOptionsPtrOutputWithContext(ctx context.Context) LaunchTemplateCpuOptionsPtrOutput { + return o } -// Block describing the minimum and maximum baseline EBS bandwidth, in Mbps. Default is no minimum or maximum. -func (o LaunchTemplateInstanceRequirementsPtrOutput) BaselineEbsBandwidthMbps() LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutput { - return o.ApplyT(func(v *LaunchTemplateInstanceRequirements) *LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbps { - if v == nil { - return nil +func (o LaunchTemplateCpuOptionsPtrOutput) Elem() LaunchTemplateCpuOptionsOutput { + return o.ApplyT(func(v *LaunchTemplateCpuOptions) LaunchTemplateCpuOptions { + if v != nil { + return *v } - return v.BaselineEbsBandwidthMbps - }).(LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutput) + var ret LaunchTemplateCpuOptions + return ret + }).(LaunchTemplateCpuOptionsOutput) } -// Indicate whether burstable performance instance types should be `included`, `excluded`, or `required`. Default is `excluded`. -func (o LaunchTemplateInstanceRequirementsPtrOutput) BurstablePerformance() pulumi.StringPtrOutput { - return o.ApplyT(func(v *LaunchTemplateInstanceRequirements) *string { +// Indicates whether to enable the instance for AMD SEV-SNP. AMD SEV-SNP is supported with M6a, R6a, and C6a instance types only. Valid values are `enabled` and `disabled`. +func (o LaunchTemplateCpuOptionsPtrOutput) AmdSevSnp() pulumi.StringPtrOutput { + return o.ApplyT(func(v *LaunchTemplateCpuOptions) *string { if v == nil { return nil } - return v.BurstablePerformance + return v.AmdSevSnp }).(pulumi.StringPtrOutput) } -// List of CPU manufacturer names. Default is any manufacturer. -// -// > **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. -func (o LaunchTemplateInstanceRequirementsPtrOutput) CpuManufacturers() pulumi.StringArrayOutput { - return o.ApplyT(func(v *LaunchTemplateInstanceRequirements) []string { +// The number of CPU cores for the instance. +func (o LaunchTemplateCpuOptionsPtrOutput) CoreCount() pulumi.IntPtrOutput { + return o.ApplyT(func(v *LaunchTemplateCpuOptions) *int { if v == nil { return nil } - return v.CpuManufacturers - }).(pulumi.StringArrayOutput) + return v.CoreCount + }).(pulumi.IntPtrOutput) } -// 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. +// The number of threads per CPU core. +// To disable Intel Hyper-Threading Technology for the instance, specify a value of 1. +// Otherwise, specify the default value of 2. // -// > **NOTE:** If you specify `excludedInstanceTypes`, you can't specify `allowedInstanceTypes`. -func (o LaunchTemplateInstanceRequirementsPtrOutput) ExcludedInstanceTypes() pulumi.StringArrayOutput { - return o.ApplyT(func(v *LaunchTemplateInstanceRequirements) []string { +// Both number of CPU cores and threads per core must be specified. Valid number of CPU cores and threads per core for the instance type can be found in the [CPU Options Documentation](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-optimize-cpu.html?shortFooter=true#cpu-options-supported-instances-values) +func (o LaunchTemplateCpuOptionsPtrOutput) ThreadsPerCore() pulumi.IntPtrOutput { + return o.ApplyT(func(v *LaunchTemplateCpuOptions) *int { if v == nil { return nil } - return v.ExcludedInstanceTypes - }).(pulumi.StringArrayOutput) + return v.ThreadsPerCore + }).(pulumi.IntPtrOutput) } -// List of instance generation names. Default is any generation. -func (o LaunchTemplateInstanceRequirementsPtrOutput) InstanceGenerations() pulumi.StringArrayOutput { - return o.ApplyT(func(v *LaunchTemplateInstanceRequirements) []string { - if v == nil { - return nil - } - return v.InstanceGenerations - }).(pulumi.StringArrayOutput) +type LaunchTemplateCreditSpecification struct { + // The credit option for CPU usage. + // Can be `standard` or `unlimited`. + // T3 instances are launched as `unlimited` by default. + // T2 instances are launched as `standard` by default. + CpuCredits *string `pulumi:"cpuCredits"` } -// Indicate whether instance types with local storage volumes are `included`, `excluded`, or `required`. Default is `included`. -func (o LaunchTemplateInstanceRequirementsPtrOutput) LocalStorage() pulumi.StringPtrOutput { - return o.ApplyT(func(v *LaunchTemplateInstanceRequirements) *string { - if v == nil { - return nil - } - return v.LocalStorage - }).(pulumi.StringPtrOutput) +// LaunchTemplateCreditSpecificationInput is an input type that accepts LaunchTemplateCreditSpecificationArgs and LaunchTemplateCreditSpecificationOutput values. +// You can construct a concrete instance of `LaunchTemplateCreditSpecificationInput` via: +// +// LaunchTemplateCreditSpecificationArgs{...} +type LaunchTemplateCreditSpecificationInput interface { + pulumi.Input + + ToLaunchTemplateCreditSpecificationOutput() LaunchTemplateCreditSpecificationOutput + ToLaunchTemplateCreditSpecificationOutputWithContext(context.Context) LaunchTemplateCreditSpecificationOutput } -// List of local storage type names. Default any storage type. -func (o LaunchTemplateInstanceRequirementsPtrOutput) LocalStorageTypes() pulumi.StringArrayOutput { - return o.ApplyT(func(v *LaunchTemplateInstanceRequirements) []string { - if v == nil { - return nil - } - return v.LocalStorageTypes - }).(pulumi.StringArrayOutput) +type LaunchTemplateCreditSpecificationArgs struct { + // The credit option for CPU usage. + // Can be `standard` or `unlimited`. + // T3 instances are launched as `unlimited` by default. + // T2 instances are launched as `standard` by default. + CpuCredits pulumi.StringPtrInput `pulumi:"cpuCredits"` } -// The 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. Conflicts with `spotMaxPricePercentageOverLowestPrice` -func (o LaunchTemplateInstanceRequirementsPtrOutput) MaxSpotPriceAsPercentageOfOptimalOnDemandPrice() pulumi.IntPtrOutput { - return o.ApplyT(func(v *LaunchTemplateInstanceRequirements) *int { - if v == nil { - return nil - } - return v.MaxSpotPriceAsPercentageOfOptimalOnDemandPrice - }).(pulumi.IntPtrOutput) +func (LaunchTemplateCreditSpecificationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LaunchTemplateCreditSpecification)(nil)).Elem() } -// Block describing the minimum and maximum amount of memory (GiB) per vCPU. Default is no minimum or maximum. -func (o LaunchTemplateInstanceRequirementsPtrOutput) MemoryGibPerVcpu() LaunchTemplateInstanceRequirementsMemoryGibPerVcpuPtrOutput { - return o.ApplyT(func(v *LaunchTemplateInstanceRequirements) *LaunchTemplateInstanceRequirementsMemoryGibPerVcpu { - if v == nil { - return nil - } - return v.MemoryGibPerVcpu - }).(LaunchTemplateInstanceRequirementsMemoryGibPerVcpuPtrOutput) +func (i LaunchTemplateCreditSpecificationArgs) ToLaunchTemplateCreditSpecificationOutput() LaunchTemplateCreditSpecificationOutput { + return i.ToLaunchTemplateCreditSpecificationOutputWithContext(context.Background()) } -// Block describing the minimum and maximum amount of memory (MiB). Default is no maximum. -func (o LaunchTemplateInstanceRequirementsPtrOutput) MemoryMib() LaunchTemplateInstanceRequirementsMemoryMibPtrOutput { - return o.ApplyT(func(v *LaunchTemplateInstanceRequirements) *LaunchTemplateInstanceRequirementsMemoryMib { - if v == nil { - return nil - } - return &v.MemoryMib - }).(LaunchTemplateInstanceRequirementsMemoryMibPtrOutput) +func (i LaunchTemplateCreditSpecificationArgs) ToLaunchTemplateCreditSpecificationOutputWithContext(ctx context.Context) LaunchTemplateCreditSpecificationOutput { + return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateCreditSpecificationOutput) } -// Block describing the minimum and maximum amount of network bandwidth, in gigabits per second (Gbps). Default is no minimum or maximum. -func (o LaunchTemplateInstanceRequirementsPtrOutput) NetworkBandwidthGbps() LaunchTemplateInstanceRequirementsNetworkBandwidthGbpsPtrOutput { - return o.ApplyT(func(v *LaunchTemplateInstanceRequirements) *LaunchTemplateInstanceRequirementsNetworkBandwidthGbps { - if v == nil { - return nil - } - return v.NetworkBandwidthGbps - }).(LaunchTemplateInstanceRequirementsNetworkBandwidthGbpsPtrOutput) +func (i LaunchTemplateCreditSpecificationArgs) ToLaunchTemplateCreditSpecificationPtrOutput() LaunchTemplateCreditSpecificationPtrOutput { + return i.ToLaunchTemplateCreditSpecificationPtrOutputWithContext(context.Background()) } -// Block describing the minimum and maximum number of network interfaces. Default is no minimum or maximum. -func (o LaunchTemplateInstanceRequirementsPtrOutput) NetworkInterfaceCount() LaunchTemplateInstanceRequirementsNetworkInterfaceCountPtrOutput { - return o.ApplyT(func(v *LaunchTemplateInstanceRequirements) *LaunchTemplateInstanceRequirementsNetworkInterfaceCount { - if v == nil { - return nil - } - return v.NetworkInterfaceCount - }).(LaunchTemplateInstanceRequirementsNetworkInterfaceCountPtrOutput) +func (i LaunchTemplateCreditSpecificationArgs) ToLaunchTemplateCreditSpecificationPtrOutputWithContext(ctx context.Context) LaunchTemplateCreditSpecificationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateCreditSpecificationOutput).ToLaunchTemplateCreditSpecificationPtrOutputWithContext(ctx) } -// The 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. +// LaunchTemplateCreditSpecificationPtrInput is an input type that accepts LaunchTemplateCreditSpecificationArgs, LaunchTemplateCreditSpecificationPtr and LaunchTemplateCreditSpecificationPtrOutput values. +// You can construct a concrete instance of `LaunchTemplateCreditSpecificationPtrInput` via: // -// If 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. -func (o LaunchTemplateInstanceRequirementsPtrOutput) OnDemandMaxPricePercentageOverLowestPrice() pulumi.IntPtrOutput { - return o.ApplyT(func(v *LaunchTemplateInstanceRequirements) *int { - if v == nil { - return nil - } - return v.OnDemandMaxPricePercentageOverLowestPrice - }).(pulumi.IntPtrOutput) +// LaunchTemplateCreditSpecificationArgs{...} +// +// or: +// +// nil +type LaunchTemplateCreditSpecificationPtrInput interface { + pulumi.Input + + ToLaunchTemplateCreditSpecificationPtrOutput() LaunchTemplateCreditSpecificationPtrOutput + ToLaunchTemplateCreditSpecificationPtrOutputWithContext(context.Context) LaunchTemplateCreditSpecificationPtrOutput } -// Indicate whether instance types must support On-Demand Instance Hibernation, either `true` or `false`. Default is `false`. -func (o LaunchTemplateInstanceRequirementsPtrOutput) RequireHibernateSupport() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *LaunchTemplateInstanceRequirements) *bool { - if v == nil { - return nil - } - return v.RequireHibernateSupport - }).(pulumi.BoolPtrOutput) +type launchTemplateCreditSpecificationPtrType LaunchTemplateCreditSpecificationArgs + +func LaunchTemplateCreditSpecificationPtr(v *LaunchTemplateCreditSpecificationArgs) LaunchTemplateCreditSpecificationPtrInput { + return (*launchTemplateCreditSpecificationPtrType)(v) } -// The 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. Conflicts with `maxSpotPriceAsPercentageOfOptimalOnDemandPrice` -// -// If 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. -func (o LaunchTemplateInstanceRequirementsPtrOutput) SpotMaxPricePercentageOverLowestPrice() pulumi.IntPtrOutput { - return o.ApplyT(func(v *LaunchTemplateInstanceRequirements) *int { - if v == nil { - return nil - } - return v.SpotMaxPricePercentageOverLowestPrice - }).(pulumi.IntPtrOutput) +func (*launchTemplateCreditSpecificationPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**LaunchTemplateCreditSpecification)(nil)).Elem() } -// Block describing the minimum and maximum total local storage (GB). Default is no minimum or maximum. -func (o LaunchTemplateInstanceRequirementsPtrOutput) TotalLocalStorageGb() LaunchTemplateInstanceRequirementsTotalLocalStorageGbPtrOutput { - return o.ApplyT(func(v *LaunchTemplateInstanceRequirements) *LaunchTemplateInstanceRequirementsTotalLocalStorageGb { - if v == nil { - return nil - } - return v.TotalLocalStorageGb - }).(LaunchTemplateInstanceRequirementsTotalLocalStorageGbPtrOutput) +func (i *launchTemplateCreditSpecificationPtrType) ToLaunchTemplateCreditSpecificationPtrOutput() LaunchTemplateCreditSpecificationPtrOutput { + return i.ToLaunchTemplateCreditSpecificationPtrOutputWithContext(context.Background()) } -// Block describing the minimum and maximum number of vCPUs. Default is no maximum. -func (o LaunchTemplateInstanceRequirementsPtrOutput) VcpuCount() LaunchTemplateInstanceRequirementsVcpuCountPtrOutput { - return o.ApplyT(func(v *LaunchTemplateInstanceRequirements) *LaunchTemplateInstanceRequirementsVcpuCount { - if v == nil { - return nil - } - return &v.VcpuCount - }).(LaunchTemplateInstanceRequirementsVcpuCountPtrOutput) +func (i *launchTemplateCreditSpecificationPtrType) ToLaunchTemplateCreditSpecificationPtrOutputWithContext(ctx context.Context) LaunchTemplateCreditSpecificationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateCreditSpecificationPtrOutput) } -type LaunchTemplateInstanceRequirementsAcceleratorCount struct { - // Maximum. Set to `0` to exclude instance types with accelerators. - Max *int `pulumi:"max"` - // Minimum. - Min *int `pulumi:"min"` +type LaunchTemplateCreditSpecificationOutput struct{ *pulumi.OutputState } + +func (LaunchTemplateCreditSpecificationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LaunchTemplateCreditSpecification)(nil)).Elem() } -// LaunchTemplateInstanceRequirementsAcceleratorCountInput is an input type that accepts LaunchTemplateInstanceRequirementsAcceleratorCountArgs and LaunchTemplateInstanceRequirementsAcceleratorCountOutput values. -// You can construct a concrete instance of `LaunchTemplateInstanceRequirementsAcceleratorCountInput` via: +func (o LaunchTemplateCreditSpecificationOutput) ToLaunchTemplateCreditSpecificationOutput() LaunchTemplateCreditSpecificationOutput { + return o +} + +func (o LaunchTemplateCreditSpecificationOutput) ToLaunchTemplateCreditSpecificationOutputWithContext(ctx context.Context) LaunchTemplateCreditSpecificationOutput { + return o +} + +func (o LaunchTemplateCreditSpecificationOutput) ToLaunchTemplateCreditSpecificationPtrOutput() LaunchTemplateCreditSpecificationPtrOutput { + return o.ToLaunchTemplateCreditSpecificationPtrOutputWithContext(context.Background()) +} + +func (o LaunchTemplateCreditSpecificationOutput) ToLaunchTemplateCreditSpecificationPtrOutputWithContext(ctx context.Context) LaunchTemplateCreditSpecificationPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v LaunchTemplateCreditSpecification) *LaunchTemplateCreditSpecification { + return &v + }).(LaunchTemplateCreditSpecificationPtrOutput) +} + +// The credit option for CPU usage. +// Can be `standard` or `unlimited`. +// T3 instances are launched as `unlimited` by default. +// T2 instances are launched as `standard` by default. +func (o LaunchTemplateCreditSpecificationOutput) CpuCredits() pulumi.StringPtrOutput { + return o.ApplyT(func(v LaunchTemplateCreditSpecification) *string { return v.CpuCredits }).(pulumi.StringPtrOutput) +} + +type LaunchTemplateCreditSpecificationPtrOutput struct{ *pulumi.OutputState } + +func (LaunchTemplateCreditSpecificationPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**LaunchTemplateCreditSpecification)(nil)).Elem() +} + +func (o LaunchTemplateCreditSpecificationPtrOutput) ToLaunchTemplateCreditSpecificationPtrOutput() LaunchTemplateCreditSpecificationPtrOutput { + return o +} + +func (o LaunchTemplateCreditSpecificationPtrOutput) ToLaunchTemplateCreditSpecificationPtrOutputWithContext(ctx context.Context) LaunchTemplateCreditSpecificationPtrOutput { + return o +} + +func (o LaunchTemplateCreditSpecificationPtrOutput) Elem() LaunchTemplateCreditSpecificationOutput { + return o.ApplyT(func(v *LaunchTemplateCreditSpecification) LaunchTemplateCreditSpecification { + if v != nil { + return *v + } + var ret LaunchTemplateCreditSpecification + return ret + }).(LaunchTemplateCreditSpecificationOutput) +} + +// The credit option for CPU usage. +// Can be `standard` or `unlimited`. +// T3 instances are launched as `unlimited` by default. +// T2 instances are launched as `standard` by default. +func (o LaunchTemplateCreditSpecificationPtrOutput) CpuCredits() pulumi.StringPtrOutput { + return o.ApplyT(func(v *LaunchTemplateCreditSpecification) *string { + if v == nil { + return nil + } + return v.CpuCredits + }).(pulumi.StringPtrOutput) +} + +type LaunchTemplateEnclaveOptions struct { + // If set to `true`, Nitro Enclaves will be enabled on the instance. + // + // For more information, see the documentation on [Nitro Enclaves](https://docs.aws.amazon.com/enclaves/latest/user/nitro-enclave.html). + Enabled *bool `pulumi:"enabled"` +} + +// LaunchTemplateEnclaveOptionsInput is an input type that accepts LaunchTemplateEnclaveOptionsArgs and LaunchTemplateEnclaveOptionsOutput values. +// You can construct a concrete instance of `LaunchTemplateEnclaveOptionsInput` via: // -// LaunchTemplateInstanceRequirementsAcceleratorCountArgs{...} -type LaunchTemplateInstanceRequirementsAcceleratorCountInput interface { +// LaunchTemplateEnclaveOptionsArgs{...} +type LaunchTemplateEnclaveOptionsInput interface { pulumi.Input - ToLaunchTemplateInstanceRequirementsAcceleratorCountOutput() LaunchTemplateInstanceRequirementsAcceleratorCountOutput - ToLaunchTemplateInstanceRequirementsAcceleratorCountOutputWithContext(context.Context) LaunchTemplateInstanceRequirementsAcceleratorCountOutput + ToLaunchTemplateEnclaveOptionsOutput() LaunchTemplateEnclaveOptionsOutput + ToLaunchTemplateEnclaveOptionsOutputWithContext(context.Context) LaunchTemplateEnclaveOptionsOutput } -type LaunchTemplateInstanceRequirementsAcceleratorCountArgs struct { - // Maximum. Set to `0` to exclude instance types with accelerators. - Max pulumi.IntPtrInput `pulumi:"max"` - // Minimum. - Min pulumi.IntPtrInput `pulumi:"min"` +type LaunchTemplateEnclaveOptionsArgs struct { + // If set to `true`, Nitro Enclaves will be enabled on the instance. + // + // For more information, see the documentation on [Nitro Enclaves](https://docs.aws.amazon.com/enclaves/latest/user/nitro-enclave.html). + Enabled pulumi.BoolPtrInput `pulumi:"enabled"` } -func (LaunchTemplateInstanceRequirementsAcceleratorCountArgs) ElementType() reflect.Type { - return reflect.TypeOf((*LaunchTemplateInstanceRequirementsAcceleratorCount)(nil)).Elem() +func (LaunchTemplateEnclaveOptionsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LaunchTemplateEnclaveOptions)(nil)).Elem() } -func (i LaunchTemplateInstanceRequirementsAcceleratorCountArgs) ToLaunchTemplateInstanceRequirementsAcceleratorCountOutput() LaunchTemplateInstanceRequirementsAcceleratorCountOutput { - return i.ToLaunchTemplateInstanceRequirementsAcceleratorCountOutputWithContext(context.Background()) +func (i LaunchTemplateEnclaveOptionsArgs) ToLaunchTemplateEnclaveOptionsOutput() LaunchTemplateEnclaveOptionsOutput { + return i.ToLaunchTemplateEnclaveOptionsOutputWithContext(context.Background()) } -func (i LaunchTemplateInstanceRequirementsAcceleratorCountArgs) ToLaunchTemplateInstanceRequirementsAcceleratorCountOutputWithContext(ctx context.Context) LaunchTemplateInstanceRequirementsAcceleratorCountOutput { - return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateInstanceRequirementsAcceleratorCountOutput) +func (i LaunchTemplateEnclaveOptionsArgs) ToLaunchTemplateEnclaveOptionsOutputWithContext(ctx context.Context) LaunchTemplateEnclaveOptionsOutput { + return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateEnclaveOptionsOutput) } -func (i LaunchTemplateInstanceRequirementsAcceleratorCountArgs) ToLaunchTemplateInstanceRequirementsAcceleratorCountPtrOutput() LaunchTemplateInstanceRequirementsAcceleratorCountPtrOutput { - return i.ToLaunchTemplateInstanceRequirementsAcceleratorCountPtrOutputWithContext(context.Background()) +func (i LaunchTemplateEnclaveOptionsArgs) ToLaunchTemplateEnclaveOptionsPtrOutput() LaunchTemplateEnclaveOptionsPtrOutput { + return i.ToLaunchTemplateEnclaveOptionsPtrOutputWithContext(context.Background()) } -func (i LaunchTemplateInstanceRequirementsAcceleratorCountArgs) ToLaunchTemplateInstanceRequirementsAcceleratorCountPtrOutputWithContext(ctx context.Context) LaunchTemplateInstanceRequirementsAcceleratorCountPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateInstanceRequirementsAcceleratorCountOutput).ToLaunchTemplateInstanceRequirementsAcceleratorCountPtrOutputWithContext(ctx) +func (i LaunchTemplateEnclaveOptionsArgs) ToLaunchTemplateEnclaveOptionsPtrOutputWithContext(ctx context.Context) LaunchTemplateEnclaveOptionsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateEnclaveOptionsOutput).ToLaunchTemplateEnclaveOptionsPtrOutputWithContext(ctx) } -// LaunchTemplateInstanceRequirementsAcceleratorCountPtrInput is an input type that accepts LaunchTemplateInstanceRequirementsAcceleratorCountArgs, LaunchTemplateInstanceRequirementsAcceleratorCountPtr and LaunchTemplateInstanceRequirementsAcceleratorCountPtrOutput values. -// You can construct a concrete instance of `LaunchTemplateInstanceRequirementsAcceleratorCountPtrInput` via: +// LaunchTemplateEnclaveOptionsPtrInput is an input type that accepts LaunchTemplateEnclaveOptionsArgs, LaunchTemplateEnclaveOptionsPtr and LaunchTemplateEnclaveOptionsPtrOutput values. +// You can construct a concrete instance of `LaunchTemplateEnclaveOptionsPtrInput` via: // -// LaunchTemplateInstanceRequirementsAcceleratorCountArgs{...} +// LaunchTemplateEnclaveOptionsArgs{...} // // or: // // nil -type LaunchTemplateInstanceRequirementsAcceleratorCountPtrInput interface { +type LaunchTemplateEnclaveOptionsPtrInput interface { pulumi.Input - ToLaunchTemplateInstanceRequirementsAcceleratorCountPtrOutput() LaunchTemplateInstanceRequirementsAcceleratorCountPtrOutput - ToLaunchTemplateInstanceRequirementsAcceleratorCountPtrOutputWithContext(context.Context) LaunchTemplateInstanceRequirementsAcceleratorCountPtrOutput + ToLaunchTemplateEnclaveOptionsPtrOutput() LaunchTemplateEnclaveOptionsPtrOutput + ToLaunchTemplateEnclaveOptionsPtrOutputWithContext(context.Context) LaunchTemplateEnclaveOptionsPtrOutput } -type launchTemplateInstanceRequirementsAcceleratorCountPtrType LaunchTemplateInstanceRequirementsAcceleratorCountArgs +type launchTemplateEnclaveOptionsPtrType LaunchTemplateEnclaveOptionsArgs -func LaunchTemplateInstanceRequirementsAcceleratorCountPtr(v *LaunchTemplateInstanceRequirementsAcceleratorCountArgs) LaunchTemplateInstanceRequirementsAcceleratorCountPtrInput { - return (*launchTemplateInstanceRequirementsAcceleratorCountPtrType)(v) +func LaunchTemplateEnclaveOptionsPtr(v *LaunchTemplateEnclaveOptionsArgs) LaunchTemplateEnclaveOptionsPtrInput { + return (*launchTemplateEnclaveOptionsPtrType)(v) } -func (*launchTemplateInstanceRequirementsAcceleratorCountPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**LaunchTemplateInstanceRequirementsAcceleratorCount)(nil)).Elem() +func (*launchTemplateEnclaveOptionsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**LaunchTemplateEnclaveOptions)(nil)).Elem() } -func (i *launchTemplateInstanceRequirementsAcceleratorCountPtrType) ToLaunchTemplateInstanceRequirementsAcceleratorCountPtrOutput() LaunchTemplateInstanceRequirementsAcceleratorCountPtrOutput { - return i.ToLaunchTemplateInstanceRequirementsAcceleratorCountPtrOutputWithContext(context.Background()) +func (i *launchTemplateEnclaveOptionsPtrType) ToLaunchTemplateEnclaveOptionsPtrOutput() LaunchTemplateEnclaveOptionsPtrOutput { + return i.ToLaunchTemplateEnclaveOptionsPtrOutputWithContext(context.Background()) } -func (i *launchTemplateInstanceRequirementsAcceleratorCountPtrType) ToLaunchTemplateInstanceRequirementsAcceleratorCountPtrOutputWithContext(ctx context.Context) LaunchTemplateInstanceRequirementsAcceleratorCountPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateInstanceRequirementsAcceleratorCountPtrOutput) +func (i *launchTemplateEnclaveOptionsPtrType) ToLaunchTemplateEnclaveOptionsPtrOutputWithContext(ctx context.Context) LaunchTemplateEnclaveOptionsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateEnclaveOptionsPtrOutput) } -type LaunchTemplateInstanceRequirementsAcceleratorCountOutput struct{ *pulumi.OutputState } +type LaunchTemplateEnclaveOptionsOutput struct{ *pulumi.OutputState } -func (LaunchTemplateInstanceRequirementsAcceleratorCountOutput) ElementType() reflect.Type { - return reflect.TypeOf((*LaunchTemplateInstanceRequirementsAcceleratorCount)(nil)).Elem() +func (LaunchTemplateEnclaveOptionsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LaunchTemplateEnclaveOptions)(nil)).Elem() } -func (o LaunchTemplateInstanceRequirementsAcceleratorCountOutput) ToLaunchTemplateInstanceRequirementsAcceleratorCountOutput() LaunchTemplateInstanceRequirementsAcceleratorCountOutput { +func (o LaunchTemplateEnclaveOptionsOutput) ToLaunchTemplateEnclaveOptionsOutput() LaunchTemplateEnclaveOptionsOutput { return o } -func (o LaunchTemplateInstanceRequirementsAcceleratorCountOutput) ToLaunchTemplateInstanceRequirementsAcceleratorCountOutputWithContext(ctx context.Context) LaunchTemplateInstanceRequirementsAcceleratorCountOutput { +func (o LaunchTemplateEnclaveOptionsOutput) ToLaunchTemplateEnclaveOptionsOutputWithContext(ctx context.Context) LaunchTemplateEnclaveOptionsOutput { return o } -func (o LaunchTemplateInstanceRequirementsAcceleratorCountOutput) ToLaunchTemplateInstanceRequirementsAcceleratorCountPtrOutput() LaunchTemplateInstanceRequirementsAcceleratorCountPtrOutput { - return o.ToLaunchTemplateInstanceRequirementsAcceleratorCountPtrOutputWithContext(context.Background()) +func (o LaunchTemplateEnclaveOptionsOutput) ToLaunchTemplateEnclaveOptionsPtrOutput() LaunchTemplateEnclaveOptionsPtrOutput { + return o.ToLaunchTemplateEnclaveOptionsPtrOutputWithContext(context.Background()) } -func (o LaunchTemplateInstanceRequirementsAcceleratorCountOutput) ToLaunchTemplateInstanceRequirementsAcceleratorCountPtrOutputWithContext(ctx context.Context) LaunchTemplateInstanceRequirementsAcceleratorCountPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v LaunchTemplateInstanceRequirementsAcceleratorCount) *LaunchTemplateInstanceRequirementsAcceleratorCount { +func (o LaunchTemplateEnclaveOptionsOutput) ToLaunchTemplateEnclaveOptionsPtrOutputWithContext(ctx context.Context) LaunchTemplateEnclaveOptionsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v LaunchTemplateEnclaveOptions) *LaunchTemplateEnclaveOptions { return &v - }).(LaunchTemplateInstanceRequirementsAcceleratorCountPtrOutput) -} - -// Maximum. Set to `0` to exclude instance types with accelerators. -func (o LaunchTemplateInstanceRequirementsAcceleratorCountOutput) Max() pulumi.IntPtrOutput { - return o.ApplyT(func(v LaunchTemplateInstanceRequirementsAcceleratorCount) *int { return v.Max }).(pulumi.IntPtrOutput) + }).(LaunchTemplateEnclaveOptionsPtrOutput) } -// Minimum. -func (o LaunchTemplateInstanceRequirementsAcceleratorCountOutput) Min() pulumi.IntPtrOutput { - return o.ApplyT(func(v LaunchTemplateInstanceRequirementsAcceleratorCount) *int { return v.Min }).(pulumi.IntPtrOutput) +// If set to `true`, Nitro Enclaves will be enabled on the instance. +// +// For more information, see the documentation on [Nitro Enclaves](https://docs.aws.amazon.com/enclaves/latest/user/nitro-enclave.html). +func (o LaunchTemplateEnclaveOptionsOutput) Enabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v LaunchTemplateEnclaveOptions) *bool { return v.Enabled }).(pulumi.BoolPtrOutput) } -type LaunchTemplateInstanceRequirementsAcceleratorCountPtrOutput struct{ *pulumi.OutputState } +type LaunchTemplateEnclaveOptionsPtrOutput struct{ *pulumi.OutputState } -func (LaunchTemplateInstanceRequirementsAcceleratorCountPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**LaunchTemplateInstanceRequirementsAcceleratorCount)(nil)).Elem() +func (LaunchTemplateEnclaveOptionsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**LaunchTemplateEnclaveOptions)(nil)).Elem() } -func (o LaunchTemplateInstanceRequirementsAcceleratorCountPtrOutput) ToLaunchTemplateInstanceRequirementsAcceleratorCountPtrOutput() LaunchTemplateInstanceRequirementsAcceleratorCountPtrOutput { +func (o LaunchTemplateEnclaveOptionsPtrOutput) ToLaunchTemplateEnclaveOptionsPtrOutput() LaunchTemplateEnclaveOptionsPtrOutput { return o } -func (o LaunchTemplateInstanceRequirementsAcceleratorCountPtrOutput) ToLaunchTemplateInstanceRequirementsAcceleratorCountPtrOutputWithContext(ctx context.Context) LaunchTemplateInstanceRequirementsAcceleratorCountPtrOutput { +func (o LaunchTemplateEnclaveOptionsPtrOutput) ToLaunchTemplateEnclaveOptionsPtrOutputWithContext(ctx context.Context) LaunchTemplateEnclaveOptionsPtrOutput { return o } -func (o LaunchTemplateInstanceRequirementsAcceleratorCountPtrOutput) Elem() LaunchTemplateInstanceRequirementsAcceleratorCountOutput { - return o.ApplyT(func(v *LaunchTemplateInstanceRequirementsAcceleratorCount) LaunchTemplateInstanceRequirementsAcceleratorCount { +func (o LaunchTemplateEnclaveOptionsPtrOutput) Elem() LaunchTemplateEnclaveOptionsOutput { + return o.ApplyT(func(v *LaunchTemplateEnclaveOptions) LaunchTemplateEnclaveOptions { if v != nil { return *v } - var ret LaunchTemplateInstanceRequirementsAcceleratorCount + var ret LaunchTemplateEnclaveOptions return ret - }).(LaunchTemplateInstanceRequirementsAcceleratorCountOutput) -} - -// Maximum. Set to `0` to exclude instance types with accelerators. -func (o LaunchTemplateInstanceRequirementsAcceleratorCountPtrOutput) Max() pulumi.IntPtrOutput { - return o.ApplyT(func(v *LaunchTemplateInstanceRequirementsAcceleratorCount) *int { - if v == nil { - return nil - } - return v.Max - }).(pulumi.IntPtrOutput) + }).(LaunchTemplateEnclaveOptionsOutput) } -// Minimum. -func (o LaunchTemplateInstanceRequirementsAcceleratorCountPtrOutput) Min() pulumi.IntPtrOutput { - return o.ApplyT(func(v *LaunchTemplateInstanceRequirementsAcceleratorCount) *int { +// If set to `true`, Nitro Enclaves will be enabled on the instance. +// +// For more information, see the documentation on [Nitro Enclaves](https://docs.aws.amazon.com/enclaves/latest/user/nitro-enclave.html). +func (o LaunchTemplateEnclaveOptionsPtrOutput) Enabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *LaunchTemplateEnclaveOptions) *bool { if v == nil { return nil } - return v.Min - }).(pulumi.IntPtrOutput) + return v.Enabled + }).(pulumi.BoolPtrOutput) } -type LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMib struct { - // Maximum. - Max *int `pulumi:"max"` - // Minimum. - Min *int `pulumi:"min"` +type LaunchTemplateHibernationOptions struct { + // If set to `true`, the launched EC2 instance will hibernation enabled. + Configured bool `pulumi:"configured"` } -// LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibInput is an input type that accepts LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibArgs and LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibOutput values. -// You can construct a concrete instance of `LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibInput` via: +// LaunchTemplateHibernationOptionsInput is an input type that accepts LaunchTemplateHibernationOptionsArgs and LaunchTemplateHibernationOptionsOutput values. +// You can construct a concrete instance of `LaunchTemplateHibernationOptionsInput` via: // -// LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibArgs{...} -type LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibInput interface { +// LaunchTemplateHibernationOptionsArgs{...} +type LaunchTemplateHibernationOptionsInput interface { pulumi.Input - ToLaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibOutput() LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibOutput - ToLaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibOutputWithContext(context.Context) LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibOutput + ToLaunchTemplateHibernationOptionsOutput() LaunchTemplateHibernationOptionsOutput + ToLaunchTemplateHibernationOptionsOutputWithContext(context.Context) LaunchTemplateHibernationOptionsOutput } -type LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibArgs struct { - // Maximum. - Max pulumi.IntPtrInput `pulumi:"max"` - // Minimum. - Min pulumi.IntPtrInput `pulumi:"min"` +type LaunchTemplateHibernationOptionsArgs struct { + // If set to `true`, the launched EC2 instance will hibernation enabled. + Configured pulumi.BoolInput `pulumi:"configured"` } -func (LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibArgs) ElementType() reflect.Type { - return reflect.TypeOf((*LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMib)(nil)).Elem() +func (LaunchTemplateHibernationOptionsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LaunchTemplateHibernationOptions)(nil)).Elem() } -func (i LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibArgs) ToLaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibOutput() LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibOutput { - return i.ToLaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibOutputWithContext(context.Background()) +func (i LaunchTemplateHibernationOptionsArgs) ToLaunchTemplateHibernationOptionsOutput() LaunchTemplateHibernationOptionsOutput { + return i.ToLaunchTemplateHibernationOptionsOutputWithContext(context.Background()) } -func (i LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibArgs) ToLaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibOutputWithContext(ctx context.Context) LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibOutput { - return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibOutput) +func (i LaunchTemplateHibernationOptionsArgs) ToLaunchTemplateHibernationOptionsOutputWithContext(ctx context.Context) LaunchTemplateHibernationOptionsOutput { + return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateHibernationOptionsOutput) } -func (i LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibArgs) ToLaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibPtrOutput() LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibPtrOutput { - return i.ToLaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibPtrOutputWithContext(context.Background()) +func (i LaunchTemplateHibernationOptionsArgs) ToLaunchTemplateHibernationOptionsPtrOutput() LaunchTemplateHibernationOptionsPtrOutput { + return i.ToLaunchTemplateHibernationOptionsPtrOutputWithContext(context.Background()) } -func (i LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibArgs) ToLaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibPtrOutputWithContext(ctx context.Context) LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibOutput).ToLaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibPtrOutputWithContext(ctx) +func (i LaunchTemplateHibernationOptionsArgs) ToLaunchTemplateHibernationOptionsPtrOutputWithContext(ctx context.Context) LaunchTemplateHibernationOptionsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateHibernationOptionsOutput).ToLaunchTemplateHibernationOptionsPtrOutputWithContext(ctx) } -// LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibPtrInput is an input type that accepts LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibArgs, LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibPtr and LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibPtrOutput values. -// You can construct a concrete instance of `LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibPtrInput` via: +// LaunchTemplateHibernationOptionsPtrInput is an input type that accepts LaunchTemplateHibernationOptionsArgs, LaunchTemplateHibernationOptionsPtr and LaunchTemplateHibernationOptionsPtrOutput values. +// You can construct a concrete instance of `LaunchTemplateHibernationOptionsPtrInput` via: // -// LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibArgs{...} +// LaunchTemplateHibernationOptionsArgs{...} // // or: // // nil -type LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibPtrInput interface { +type LaunchTemplateHibernationOptionsPtrInput interface { pulumi.Input - ToLaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibPtrOutput() LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibPtrOutput - ToLaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibPtrOutputWithContext(context.Context) LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibPtrOutput + ToLaunchTemplateHibernationOptionsPtrOutput() LaunchTemplateHibernationOptionsPtrOutput + ToLaunchTemplateHibernationOptionsPtrOutputWithContext(context.Context) LaunchTemplateHibernationOptionsPtrOutput } -type launchTemplateInstanceRequirementsAcceleratorTotalMemoryMibPtrType LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibArgs +type launchTemplateHibernationOptionsPtrType LaunchTemplateHibernationOptionsArgs -func LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibPtr(v *LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibArgs) LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibPtrInput { - return (*launchTemplateInstanceRequirementsAcceleratorTotalMemoryMibPtrType)(v) +func LaunchTemplateHibernationOptionsPtr(v *LaunchTemplateHibernationOptionsArgs) LaunchTemplateHibernationOptionsPtrInput { + return (*launchTemplateHibernationOptionsPtrType)(v) } -func (*launchTemplateInstanceRequirementsAcceleratorTotalMemoryMibPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMib)(nil)).Elem() +func (*launchTemplateHibernationOptionsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**LaunchTemplateHibernationOptions)(nil)).Elem() } -func (i *launchTemplateInstanceRequirementsAcceleratorTotalMemoryMibPtrType) ToLaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibPtrOutput() LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibPtrOutput { - return i.ToLaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibPtrOutputWithContext(context.Background()) +func (i *launchTemplateHibernationOptionsPtrType) ToLaunchTemplateHibernationOptionsPtrOutput() LaunchTemplateHibernationOptionsPtrOutput { + return i.ToLaunchTemplateHibernationOptionsPtrOutputWithContext(context.Background()) } -func (i *launchTemplateInstanceRequirementsAcceleratorTotalMemoryMibPtrType) ToLaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibPtrOutputWithContext(ctx context.Context) LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibPtrOutput) +func (i *launchTemplateHibernationOptionsPtrType) ToLaunchTemplateHibernationOptionsPtrOutputWithContext(ctx context.Context) LaunchTemplateHibernationOptionsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateHibernationOptionsPtrOutput) } -type LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibOutput struct{ *pulumi.OutputState } +type LaunchTemplateHibernationOptionsOutput struct{ *pulumi.OutputState } -func (LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibOutput) ElementType() reflect.Type { - return reflect.TypeOf((*LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMib)(nil)).Elem() +func (LaunchTemplateHibernationOptionsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LaunchTemplateHibernationOptions)(nil)).Elem() } -func (o LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibOutput) ToLaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibOutput() LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibOutput { +func (o LaunchTemplateHibernationOptionsOutput) ToLaunchTemplateHibernationOptionsOutput() LaunchTemplateHibernationOptionsOutput { return o } -func (o LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibOutput) ToLaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibOutputWithContext(ctx context.Context) LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibOutput { +func (o LaunchTemplateHibernationOptionsOutput) ToLaunchTemplateHibernationOptionsOutputWithContext(ctx context.Context) LaunchTemplateHibernationOptionsOutput { return o } -func (o LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibOutput) ToLaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibPtrOutput() LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibPtrOutput { - return o.ToLaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibPtrOutputWithContext(context.Background()) +func (o LaunchTemplateHibernationOptionsOutput) ToLaunchTemplateHibernationOptionsPtrOutput() LaunchTemplateHibernationOptionsPtrOutput { + return o.ToLaunchTemplateHibernationOptionsPtrOutputWithContext(context.Background()) } -func (o LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibOutput) ToLaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibPtrOutputWithContext(ctx context.Context) LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMib) *LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMib { +func (o LaunchTemplateHibernationOptionsOutput) ToLaunchTemplateHibernationOptionsPtrOutputWithContext(ctx context.Context) LaunchTemplateHibernationOptionsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v LaunchTemplateHibernationOptions) *LaunchTemplateHibernationOptions { return &v - }).(LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibPtrOutput) -} - -// Maximum. -func (o LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibOutput) Max() pulumi.IntPtrOutput { - return o.ApplyT(func(v LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMib) *int { return v.Max }).(pulumi.IntPtrOutput) + }).(LaunchTemplateHibernationOptionsPtrOutput) } -// Minimum. -func (o LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibOutput) Min() pulumi.IntPtrOutput { - return o.ApplyT(func(v LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMib) *int { return v.Min }).(pulumi.IntPtrOutput) +// If set to `true`, the launched EC2 instance will hibernation enabled. +func (o LaunchTemplateHibernationOptionsOutput) Configured() pulumi.BoolOutput { + return o.ApplyT(func(v LaunchTemplateHibernationOptions) bool { return v.Configured }).(pulumi.BoolOutput) } -type LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibPtrOutput struct{ *pulumi.OutputState } +type LaunchTemplateHibernationOptionsPtrOutput struct{ *pulumi.OutputState } -func (LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMib)(nil)).Elem() +func (LaunchTemplateHibernationOptionsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**LaunchTemplateHibernationOptions)(nil)).Elem() } -func (o LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibPtrOutput) ToLaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibPtrOutput() LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibPtrOutput { +func (o LaunchTemplateHibernationOptionsPtrOutput) ToLaunchTemplateHibernationOptionsPtrOutput() LaunchTemplateHibernationOptionsPtrOutput { return o } -func (o LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibPtrOutput) ToLaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibPtrOutputWithContext(ctx context.Context) LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibPtrOutput { +func (o LaunchTemplateHibernationOptionsPtrOutput) ToLaunchTemplateHibernationOptionsPtrOutputWithContext(ctx context.Context) LaunchTemplateHibernationOptionsPtrOutput { return o } -func (o LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibPtrOutput) Elem() LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibOutput { - return o.ApplyT(func(v *LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMib) LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMib { +func (o LaunchTemplateHibernationOptionsPtrOutput) Elem() LaunchTemplateHibernationOptionsOutput { + return o.ApplyT(func(v *LaunchTemplateHibernationOptions) LaunchTemplateHibernationOptions { if v != nil { return *v } - var ret LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMib + var ret LaunchTemplateHibernationOptions return ret - }).(LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibOutput) -} - -// Maximum. -func (o LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibPtrOutput) Max() pulumi.IntPtrOutput { - return o.ApplyT(func(v *LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMib) *int { - if v == nil { - return nil - } - return v.Max - }).(pulumi.IntPtrOutput) + }).(LaunchTemplateHibernationOptionsOutput) } -// Minimum. -func (o LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibPtrOutput) Min() pulumi.IntPtrOutput { - return o.ApplyT(func(v *LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMib) *int { +// If set to `true`, the launched EC2 instance will hibernation enabled. +func (o LaunchTemplateHibernationOptionsPtrOutput) Configured() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *LaunchTemplateHibernationOptions) *bool { if v == nil { return nil } - return v.Min - }).(pulumi.IntPtrOutput) + return &v.Configured + }).(pulumi.BoolPtrOutput) } -type LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbps struct { - // Maximum. - Max *int `pulumi:"max"` - // Minimum. - Min *int `pulumi:"min"` +type LaunchTemplateIamInstanceProfile struct { + // The Amazon Resource Name (ARN) of the instance profile. Conflicts with `name`. + Arn *string `pulumi:"arn"` + // The name of the instance profile. + Name *string `pulumi:"name"` } -// LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsInput is an input type that accepts LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsArgs and LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsOutput values. -// You can construct a concrete instance of `LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsInput` via: +// LaunchTemplateIamInstanceProfileInput is an input type that accepts LaunchTemplateIamInstanceProfileArgs and LaunchTemplateIamInstanceProfileOutput values. +// You can construct a concrete instance of `LaunchTemplateIamInstanceProfileInput` via: // -// LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsArgs{...} -type LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsInput interface { +// LaunchTemplateIamInstanceProfileArgs{...} +type LaunchTemplateIamInstanceProfileInput interface { pulumi.Input - ToLaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsOutput() LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsOutput - ToLaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsOutputWithContext(context.Context) LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsOutput + ToLaunchTemplateIamInstanceProfileOutput() LaunchTemplateIamInstanceProfileOutput + ToLaunchTemplateIamInstanceProfileOutputWithContext(context.Context) LaunchTemplateIamInstanceProfileOutput } -type LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsArgs struct { - // Maximum. - Max pulumi.IntPtrInput `pulumi:"max"` - // Minimum. - Min pulumi.IntPtrInput `pulumi:"min"` +type LaunchTemplateIamInstanceProfileArgs struct { + // The Amazon Resource Name (ARN) of the instance profile. Conflicts with `name`. + Arn pulumi.StringPtrInput `pulumi:"arn"` + // The name of the instance profile. + Name pulumi.StringPtrInput `pulumi:"name"` } -func (LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsArgs) ElementType() reflect.Type { - return reflect.TypeOf((*LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbps)(nil)).Elem() +func (LaunchTemplateIamInstanceProfileArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LaunchTemplateIamInstanceProfile)(nil)).Elem() } -func (i LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsArgs) ToLaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsOutput() LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsOutput { - return i.ToLaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsOutputWithContext(context.Background()) +func (i LaunchTemplateIamInstanceProfileArgs) ToLaunchTemplateIamInstanceProfileOutput() LaunchTemplateIamInstanceProfileOutput { + return i.ToLaunchTemplateIamInstanceProfileOutputWithContext(context.Background()) } -func (i LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsArgs) ToLaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsOutputWithContext(ctx context.Context) LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsOutput { - return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsOutput) +func (i LaunchTemplateIamInstanceProfileArgs) ToLaunchTemplateIamInstanceProfileOutputWithContext(ctx context.Context) LaunchTemplateIamInstanceProfileOutput { + return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateIamInstanceProfileOutput) } -func (i LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsArgs) ToLaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutput() LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutput { - return i.ToLaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutputWithContext(context.Background()) +func (i LaunchTemplateIamInstanceProfileArgs) ToLaunchTemplateIamInstanceProfilePtrOutput() LaunchTemplateIamInstanceProfilePtrOutput { + return i.ToLaunchTemplateIamInstanceProfilePtrOutputWithContext(context.Background()) } -func (i LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsArgs) ToLaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutputWithContext(ctx context.Context) LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsOutput).ToLaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutputWithContext(ctx) +func (i LaunchTemplateIamInstanceProfileArgs) ToLaunchTemplateIamInstanceProfilePtrOutputWithContext(ctx context.Context) LaunchTemplateIamInstanceProfilePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateIamInstanceProfileOutput).ToLaunchTemplateIamInstanceProfilePtrOutputWithContext(ctx) } -// LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsPtrInput is an input type that accepts LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsArgs, LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsPtr and LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutput values. -// You can construct a concrete instance of `LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsPtrInput` via: +// LaunchTemplateIamInstanceProfilePtrInput is an input type that accepts LaunchTemplateIamInstanceProfileArgs, LaunchTemplateIamInstanceProfilePtr and LaunchTemplateIamInstanceProfilePtrOutput values. +// You can construct a concrete instance of `LaunchTemplateIamInstanceProfilePtrInput` via: // -// LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsArgs{...} +// LaunchTemplateIamInstanceProfileArgs{...} // // or: // // nil -type LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsPtrInput interface { +type LaunchTemplateIamInstanceProfilePtrInput interface { pulumi.Input - ToLaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutput() LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutput - ToLaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutputWithContext(context.Context) LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutput + ToLaunchTemplateIamInstanceProfilePtrOutput() LaunchTemplateIamInstanceProfilePtrOutput + ToLaunchTemplateIamInstanceProfilePtrOutputWithContext(context.Context) LaunchTemplateIamInstanceProfilePtrOutput } -type launchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsPtrType LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsArgs +type launchTemplateIamInstanceProfilePtrType LaunchTemplateIamInstanceProfileArgs -func LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsPtr(v *LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsArgs) LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsPtrInput { - return (*launchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsPtrType)(v) +func LaunchTemplateIamInstanceProfilePtr(v *LaunchTemplateIamInstanceProfileArgs) LaunchTemplateIamInstanceProfilePtrInput { + return (*launchTemplateIamInstanceProfilePtrType)(v) } -func (*launchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbps)(nil)).Elem() +func (*launchTemplateIamInstanceProfilePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**LaunchTemplateIamInstanceProfile)(nil)).Elem() } -func (i *launchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsPtrType) ToLaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutput() LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutput { - return i.ToLaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutputWithContext(context.Background()) +func (i *launchTemplateIamInstanceProfilePtrType) ToLaunchTemplateIamInstanceProfilePtrOutput() LaunchTemplateIamInstanceProfilePtrOutput { + return i.ToLaunchTemplateIamInstanceProfilePtrOutputWithContext(context.Background()) } -func (i *launchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsPtrType) ToLaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutputWithContext(ctx context.Context) LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutput) +func (i *launchTemplateIamInstanceProfilePtrType) ToLaunchTemplateIamInstanceProfilePtrOutputWithContext(ctx context.Context) LaunchTemplateIamInstanceProfilePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateIamInstanceProfilePtrOutput) } -type LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsOutput struct{ *pulumi.OutputState } +type LaunchTemplateIamInstanceProfileOutput struct{ *pulumi.OutputState } -func (LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsOutput) ElementType() reflect.Type { - return reflect.TypeOf((*LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbps)(nil)).Elem() +func (LaunchTemplateIamInstanceProfileOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LaunchTemplateIamInstanceProfile)(nil)).Elem() } -func (o LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsOutput) ToLaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsOutput() LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsOutput { +func (o LaunchTemplateIamInstanceProfileOutput) ToLaunchTemplateIamInstanceProfileOutput() LaunchTemplateIamInstanceProfileOutput { return o } -func (o LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsOutput) ToLaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsOutputWithContext(ctx context.Context) LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsOutput { +func (o LaunchTemplateIamInstanceProfileOutput) ToLaunchTemplateIamInstanceProfileOutputWithContext(ctx context.Context) LaunchTemplateIamInstanceProfileOutput { return o } -func (o LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsOutput) ToLaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutput() LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutput { - return o.ToLaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutputWithContext(context.Background()) +func (o LaunchTemplateIamInstanceProfileOutput) ToLaunchTemplateIamInstanceProfilePtrOutput() LaunchTemplateIamInstanceProfilePtrOutput { + return o.ToLaunchTemplateIamInstanceProfilePtrOutputWithContext(context.Background()) } -func (o LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsOutput) ToLaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutputWithContext(ctx context.Context) LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbps) *LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbps { +func (o LaunchTemplateIamInstanceProfileOutput) ToLaunchTemplateIamInstanceProfilePtrOutputWithContext(ctx context.Context) LaunchTemplateIamInstanceProfilePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v LaunchTemplateIamInstanceProfile) *LaunchTemplateIamInstanceProfile { return &v - }).(LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutput) + }).(LaunchTemplateIamInstanceProfilePtrOutput) } -// Maximum. -func (o LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsOutput) Max() pulumi.IntPtrOutput { - return o.ApplyT(func(v LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbps) *int { return v.Max }).(pulumi.IntPtrOutput) +// The Amazon Resource Name (ARN) of the instance profile. Conflicts with `name`. +func (o LaunchTemplateIamInstanceProfileOutput) Arn() pulumi.StringPtrOutput { + return o.ApplyT(func(v LaunchTemplateIamInstanceProfile) *string { return v.Arn }).(pulumi.StringPtrOutput) } -// Minimum. -func (o LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsOutput) Min() pulumi.IntPtrOutput { - return o.ApplyT(func(v LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbps) *int { return v.Min }).(pulumi.IntPtrOutput) +// The name of the instance profile. +func (o LaunchTemplateIamInstanceProfileOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v LaunchTemplateIamInstanceProfile) *string { return v.Name }).(pulumi.StringPtrOutput) } -type LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutput struct{ *pulumi.OutputState } +type LaunchTemplateIamInstanceProfilePtrOutput struct{ *pulumi.OutputState } -func (LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbps)(nil)).Elem() +func (LaunchTemplateIamInstanceProfilePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**LaunchTemplateIamInstanceProfile)(nil)).Elem() } -func (o LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutput) ToLaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutput() LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutput { +func (o LaunchTemplateIamInstanceProfilePtrOutput) ToLaunchTemplateIamInstanceProfilePtrOutput() LaunchTemplateIamInstanceProfilePtrOutput { return o } -func (o LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutput) ToLaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutputWithContext(ctx context.Context) LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutput { +func (o LaunchTemplateIamInstanceProfilePtrOutput) ToLaunchTemplateIamInstanceProfilePtrOutputWithContext(ctx context.Context) LaunchTemplateIamInstanceProfilePtrOutput { return o } -func (o LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutput) Elem() LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsOutput { - return o.ApplyT(func(v *LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbps) LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbps { +func (o LaunchTemplateIamInstanceProfilePtrOutput) Elem() LaunchTemplateIamInstanceProfileOutput { + return o.ApplyT(func(v *LaunchTemplateIamInstanceProfile) LaunchTemplateIamInstanceProfile { if v != nil { return *v } - var ret LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbps + var ret LaunchTemplateIamInstanceProfile return ret - }).(LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsOutput) + }).(LaunchTemplateIamInstanceProfileOutput) } -// Maximum. -func (o LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutput) Max() pulumi.IntPtrOutput { - return o.ApplyT(func(v *LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbps) *int { +// The Amazon Resource Name (ARN) of the instance profile. Conflicts with `name`. +func (o LaunchTemplateIamInstanceProfilePtrOutput) Arn() pulumi.StringPtrOutput { + return o.ApplyT(func(v *LaunchTemplateIamInstanceProfile) *string { if v == nil { return nil } - return v.Max - }).(pulumi.IntPtrOutput) + return v.Arn + }).(pulumi.StringPtrOutput) } -// Minimum. -func (o LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutput) Min() pulumi.IntPtrOutput { - return o.ApplyT(func(v *LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbps) *int { +// The name of the instance profile. +func (o LaunchTemplateIamInstanceProfilePtrOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v *LaunchTemplateIamInstanceProfile) *string { if v == nil { return nil } - return v.Min - }).(pulumi.IntPtrOutput) + return v.Name + }).(pulumi.StringPtrOutput) } -type LaunchTemplateInstanceRequirementsMemoryGibPerVcpu struct { - // Maximum. May be a decimal number, e.g. `0.5`. - Max *float64 `pulumi:"max"` - // Minimum. May be a decimal number, e.g. `0.5`. - Min *float64 `pulumi:"min"` +type LaunchTemplateInstanceMarketOptions struct { + // The market type. Can be `spot`. + MarketType *string `pulumi:"marketType"` + // The options for [Spot Instance](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-spot-instances.html) + SpotOptions *LaunchTemplateInstanceMarketOptionsSpotOptions `pulumi:"spotOptions"` } -// LaunchTemplateInstanceRequirementsMemoryGibPerVcpuInput is an input type that accepts LaunchTemplateInstanceRequirementsMemoryGibPerVcpuArgs and LaunchTemplateInstanceRequirementsMemoryGibPerVcpuOutput values. -// You can construct a concrete instance of `LaunchTemplateInstanceRequirementsMemoryGibPerVcpuInput` via: +// LaunchTemplateInstanceMarketOptionsInput is an input type that accepts LaunchTemplateInstanceMarketOptionsArgs and LaunchTemplateInstanceMarketOptionsOutput values. +// You can construct a concrete instance of `LaunchTemplateInstanceMarketOptionsInput` via: // -// LaunchTemplateInstanceRequirementsMemoryGibPerVcpuArgs{...} -type LaunchTemplateInstanceRequirementsMemoryGibPerVcpuInput interface { +// LaunchTemplateInstanceMarketOptionsArgs{...} +type LaunchTemplateInstanceMarketOptionsInput interface { pulumi.Input - ToLaunchTemplateInstanceRequirementsMemoryGibPerVcpuOutput() LaunchTemplateInstanceRequirementsMemoryGibPerVcpuOutput - ToLaunchTemplateInstanceRequirementsMemoryGibPerVcpuOutputWithContext(context.Context) LaunchTemplateInstanceRequirementsMemoryGibPerVcpuOutput + ToLaunchTemplateInstanceMarketOptionsOutput() LaunchTemplateInstanceMarketOptionsOutput + ToLaunchTemplateInstanceMarketOptionsOutputWithContext(context.Context) LaunchTemplateInstanceMarketOptionsOutput } -type LaunchTemplateInstanceRequirementsMemoryGibPerVcpuArgs struct { - // Maximum. May be a decimal number, e.g. `0.5`. - Max pulumi.Float64PtrInput `pulumi:"max"` - // Minimum. May be a decimal number, e.g. `0.5`. - Min pulumi.Float64PtrInput `pulumi:"min"` +type LaunchTemplateInstanceMarketOptionsArgs struct { + // The market type. Can be `spot`. + MarketType pulumi.StringPtrInput `pulumi:"marketType"` + // The options for [Spot Instance](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-spot-instances.html) + SpotOptions LaunchTemplateInstanceMarketOptionsSpotOptionsPtrInput `pulumi:"spotOptions"` } -func (LaunchTemplateInstanceRequirementsMemoryGibPerVcpuArgs) ElementType() reflect.Type { - return reflect.TypeOf((*LaunchTemplateInstanceRequirementsMemoryGibPerVcpu)(nil)).Elem() +func (LaunchTemplateInstanceMarketOptionsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LaunchTemplateInstanceMarketOptions)(nil)).Elem() } -func (i LaunchTemplateInstanceRequirementsMemoryGibPerVcpuArgs) ToLaunchTemplateInstanceRequirementsMemoryGibPerVcpuOutput() LaunchTemplateInstanceRequirementsMemoryGibPerVcpuOutput { - return i.ToLaunchTemplateInstanceRequirementsMemoryGibPerVcpuOutputWithContext(context.Background()) +func (i LaunchTemplateInstanceMarketOptionsArgs) ToLaunchTemplateInstanceMarketOptionsOutput() LaunchTemplateInstanceMarketOptionsOutput { + return i.ToLaunchTemplateInstanceMarketOptionsOutputWithContext(context.Background()) } -func (i LaunchTemplateInstanceRequirementsMemoryGibPerVcpuArgs) ToLaunchTemplateInstanceRequirementsMemoryGibPerVcpuOutputWithContext(ctx context.Context) LaunchTemplateInstanceRequirementsMemoryGibPerVcpuOutput { - return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateInstanceRequirementsMemoryGibPerVcpuOutput) +func (i LaunchTemplateInstanceMarketOptionsArgs) ToLaunchTemplateInstanceMarketOptionsOutputWithContext(ctx context.Context) LaunchTemplateInstanceMarketOptionsOutput { + return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateInstanceMarketOptionsOutput) } -func (i LaunchTemplateInstanceRequirementsMemoryGibPerVcpuArgs) ToLaunchTemplateInstanceRequirementsMemoryGibPerVcpuPtrOutput() LaunchTemplateInstanceRequirementsMemoryGibPerVcpuPtrOutput { - return i.ToLaunchTemplateInstanceRequirementsMemoryGibPerVcpuPtrOutputWithContext(context.Background()) +func (i LaunchTemplateInstanceMarketOptionsArgs) ToLaunchTemplateInstanceMarketOptionsPtrOutput() LaunchTemplateInstanceMarketOptionsPtrOutput { + return i.ToLaunchTemplateInstanceMarketOptionsPtrOutputWithContext(context.Background()) } -func (i LaunchTemplateInstanceRequirementsMemoryGibPerVcpuArgs) ToLaunchTemplateInstanceRequirementsMemoryGibPerVcpuPtrOutputWithContext(ctx context.Context) LaunchTemplateInstanceRequirementsMemoryGibPerVcpuPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateInstanceRequirementsMemoryGibPerVcpuOutput).ToLaunchTemplateInstanceRequirementsMemoryGibPerVcpuPtrOutputWithContext(ctx) +func (i LaunchTemplateInstanceMarketOptionsArgs) ToLaunchTemplateInstanceMarketOptionsPtrOutputWithContext(ctx context.Context) LaunchTemplateInstanceMarketOptionsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateInstanceMarketOptionsOutput).ToLaunchTemplateInstanceMarketOptionsPtrOutputWithContext(ctx) } -// LaunchTemplateInstanceRequirementsMemoryGibPerVcpuPtrInput is an input type that accepts LaunchTemplateInstanceRequirementsMemoryGibPerVcpuArgs, LaunchTemplateInstanceRequirementsMemoryGibPerVcpuPtr and LaunchTemplateInstanceRequirementsMemoryGibPerVcpuPtrOutput values. -// You can construct a concrete instance of `LaunchTemplateInstanceRequirementsMemoryGibPerVcpuPtrInput` via: +// LaunchTemplateInstanceMarketOptionsPtrInput is an input type that accepts LaunchTemplateInstanceMarketOptionsArgs, LaunchTemplateInstanceMarketOptionsPtr and LaunchTemplateInstanceMarketOptionsPtrOutput values. +// You can construct a concrete instance of `LaunchTemplateInstanceMarketOptionsPtrInput` via: // -// LaunchTemplateInstanceRequirementsMemoryGibPerVcpuArgs{...} +// LaunchTemplateInstanceMarketOptionsArgs{...} // // or: // // nil -type LaunchTemplateInstanceRequirementsMemoryGibPerVcpuPtrInput interface { +type LaunchTemplateInstanceMarketOptionsPtrInput interface { pulumi.Input - ToLaunchTemplateInstanceRequirementsMemoryGibPerVcpuPtrOutput() LaunchTemplateInstanceRequirementsMemoryGibPerVcpuPtrOutput - ToLaunchTemplateInstanceRequirementsMemoryGibPerVcpuPtrOutputWithContext(context.Context) LaunchTemplateInstanceRequirementsMemoryGibPerVcpuPtrOutput + ToLaunchTemplateInstanceMarketOptionsPtrOutput() LaunchTemplateInstanceMarketOptionsPtrOutput + ToLaunchTemplateInstanceMarketOptionsPtrOutputWithContext(context.Context) LaunchTemplateInstanceMarketOptionsPtrOutput } -type launchTemplateInstanceRequirementsMemoryGibPerVcpuPtrType LaunchTemplateInstanceRequirementsMemoryGibPerVcpuArgs +type launchTemplateInstanceMarketOptionsPtrType LaunchTemplateInstanceMarketOptionsArgs -func LaunchTemplateInstanceRequirementsMemoryGibPerVcpuPtr(v *LaunchTemplateInstanceRequirementsMemoryGibPerVcpuArgs) LaunchTemplateInstanceRequirementsMemoryGibPerVcpuPtrInput { - return (*launchTemplateInstanceRequirementsMemoryGibPerVcpuPtrType)(v) +func LaunchTemplateInstanceMarketOptionsPtr(v *LaunchTemplateInstanceMarketOptionsArgs) LaunchTemplateInstanceMarketOptionsPtrInput { + return (*launchTemplateInstanceMarketOptionsPtrType)(v) } -func (*launchTemplateInstanceRequirementsMemoryGibPerVcpuPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**LaunchTemplateInstanceRequirementsMemoryGibPerVcpu)(nil)).Elem() +func (*launchTemplateInstanceMarketOptionsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**LaunchTemplateInstanceMarketOptions)(nil)).Elem() } -func (i *launchTemplateInstanceRequirementsMemoryGibPerVcpuPtrType) ToLaunchTemplateInstanceRequirementsMemoryGibPerVcpuPtrOutput() LaunchTemplateInstanceRequirementsMemoryGibPerVcpuPtrOutput { - return i.ToLaunchTemplateInstanceRequirementsMemoryGibPerVcpuPtrOutputWithContext(context.Background()) +func (i *launchTemplateInstanceMarketOptionsPtrType) ToLaunchTemplateInstanceMarketOptionsPtrOutput() LaunchTemplateInstanceMarketOptionsPtrOutput { + return i.ToLaunchTemplateInstanceMarketOptionsPtrOutputWithContext(context.Background()) } -func (i *launchTemplateInstanceRequirementsMemoryGibPerVcpuPtrType) ToLaunchTemplateInstanceRequirementsMemoryGibPerVcpuPtrOutputWithContext(ctx context.Context) LaunchTemplateInstanceRequirementsMemoryGibPerVcpuPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateInstanceRequirementsMemoryGibPerVcpuPtrOutput) +func (i *launchTemplateInstanceMarketOptionsPtrType) ToLaunchTemplateInstanceMarketOptionsPtrOutputWithContext(ctx context.Context) LaunchTemplateInstanceMarketOptionsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateInstanceMarketOptionsPtrOutput) } -type LaunchTemplateInstanceRequirementsMemoryGibPerVcpuOutput struct{ *pulumi.OutputState } +type LaunchTemplateInstanceMarketOptionsOutput struct{ *pulumi.OutputState } -func (LaunchTemplateInstanceRequirementsMemoryGibPerVcpuOutput) ElementType() reflect.Type { - return reflect.TypeOf((*LaunchTemplateInstanceRequirementsMemoryGibPerVcpu)(nil)).Elem() +func (LaunchTemplateInstanceMarketOptionsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LaunchTemplateInstanceMarketOptions)(nil)).Elem() } -func (o LaunchTemplateInstanceRequirementsMemoryGibPerVcpuOutput) ToLaunchTemplateInstanceRequirementsMemoryGibPerVcpuOutput() LaunchTemplateInstanceRequirementsMemoryGibPerVcpuOutput { +func (o LaunchTemplateInstanceMarketOptionsOutput) ToLaunchTemplateInstanceMarketOptionsOutput() LaunchTemplateInstanceMarketOptionsOutput { return o } -func (o LaunchTemplateInstanceRequirementsMemoryGibPerVcpuOutput) ToLaunchTemplateInstanceRequirementsMemoryGibPerVcpuOutputWithContext(ctx context.Context) LaunchTemplateInstanceRequirementsMemoryGibPerVcpuOutput { +func (o LaunchTemplateInstanceMarketOptionsOutput) ToLaunchTemplateInstanceMarketOptionsOutputWithContext(ctx context.Context) LaunchTemplateInstanceMarketOptionsOutput { return o } -func (o LaunchTemplateInstanceRequirementsMemoryGibPerVcpuOutput) ToLaunchTemplateInstanceRequirementsMemoryGibPerVcpuPtrOutput() LaunchTemplateInstanceRequirementsMemoryGibPerVcpuPtrOutput { - return o.ToLaunchTemplateInstanceRequirementsMemoryGibPerVcpuPtrOutputWithContext(context.Background()) +func (o LaunchTemplateInstanceMarketOptionsOutput) ToLaunchTemplateInstanceMarketOptionsPtrOutput() LaunchTemplateInstanceMarketOptionsPtrOutput { + return o.ToLaunchTemplateInstanceMarketOptionsPtrOutputWithContext(context.Background()) } -func (o LaunchTemplateInstanceRequirementsMemoryGibPerVcpuOutput) ToLaunchTemplateInstanceRequirementsMemoryGibPerVcpuPtrOutputWithContext(ctx context.Context) LaunchTemplateInstanceRequirementsMemoryGibPerVcpuPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v LaunchTemplateInstanceRequirementsMemoryGibPerVcpu) *LaunchTemplateInstanceRequirementsMemoryGibPerVcpu { +func (o LaunchTemplateInstanceMarketOptionsOutput) ToLaunchTemplateInstanceMarketOptionsPtrOutputWithContext(ctx context.Context) LaunchTemplateInstanceMarketOptionsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v LaunchTemplateInstanceMarketOptions) *LaunchTemplateInstanceMarketOptions { return &v - }).(LaunchTemplateInstanceRequirementsMemoryGibPerVcpuPtrOutput) + }).(LaunchTemplateInstanceMarketOptionsPtrOutput) } -// Maximum. May be a decimal number, e.g. `0.5`. -func (o LaunchTemplateInstanceRequirementsMemoryGibPerVcpuOutput) Max() pulumi.Float64PtrOutput { - return o.ApplyT(func(v LaunchTemplateInstanceRequirementsMemoryGibPerVcpu) *float64 { return v.Max }).(pulumi.Float64PtrOutput) +// The market type. Can be `spot`. +func (o LaunchTemplateInstanceMarketOptionsOutput) MarketType() pulumi.StringPtrOutput { + return o.ApplyT(func(v LaunchTemplateInstanceMarketOptions) *string { return v.MarketType }).(pulumi.StringPtrOutput) } -// Minimum. May be a decimal number, e.g. `0.5`. -func (o LaunchTemplateInstanceRequirementsMemoryGibPerVcpuOutput) Min() pulumi.Float64PtrOutput { - return o.ApplyT(func(v LaunchTemplateInstanceRequirementsMemoryGibPerVcpu) *float64 { return v.Min }).(pulumi.Float64PtrOutput) +// The options for [Spot Instance](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-spot-instances.html) +func (o LaunchTemplateInstanceMarketOptionsOutput) SpotOptions() LaunchTemplateInstanceMarketOptionsSpotOptionsPtrOutput { + return o.ApplyT(func(v LaunchTemplateInstanceMarketOptions) *LaunchTemplateInstanceMarketOptionsSpotOptions { + return v.SpotOptions + }).(LaunchTemplateInstanceMarketOptionsSpotOptionsPtrOutput) } -type LaunchTemplateInstanceRequirementsMemoryGibPerVcpuPtrOutput struct{ *pulumi.OutputState } +type LaunchTemplateInstanceMarketOptionsPtrOutput struct{ *pulumi.OutputState } -func (LaunchTemplateInstanceRequirementsMemoryGibPerVcpuPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**LaunchTemplateInstanceRequirementsMemoryGibPerVcpu)(nil)).Elem() +func (LaunchTemplateInstanceMarketOptionsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**LaunchTemplateInstanceMarketOptions)(nil)).Elem() } -func (o LaunchTemplateInstanceRequirementsMemoryGibPerVcpuPtrOutput) ToLaunchTemplateInstanceRequirementsMemoryGibPerVcpuPtrOutput() LaunchTemplateInstanceRequirementsMemoryGibPerVcpuPtrOutput { +func (o LaunchTemplateInstanceMarketOptionsPtrOutput) ToLaunchTemplateInstanceMarketOptionsPtrOutput() LaunchTemplateInstanceMarketOptionsPtrOutput { return o } -func (o LaunchTemplateInstanceRequirementsMemoryGibPerVcpuPtrOutput) ToLaunchTemplateInstanceRequirementsMemoryGibPerVcpuPtrOutputWithContext(ctx context.Context) LaunchTemplateInstanceRequirementsMemoryGibPerVcpuPtrOutput { +func (o LaunchTemplateInstanceMarketOptionsPtrOutput) ToLaunchTemplateInstanceMarketOptionsPtrOutputWithContext(ctx context.Context) LaunchTemplateInstanceMarketOptionsPtrOutput { return o } -func (o LaunchTemplateInstanceRequirementsMemoryGibPerVcpuPtrOutput) Elem() LaunchTemplateInstanceRequirementsMemoryGibPerVcpuOutput { - return o.ApplyT(func(v *LaunchTemplateInstanceRequirementsMemoryGibPerVcpu) LaunchTemplateInstanceRequirementsMemoryGibPerVcpu { +func (o LaunchTemplateInstanceMarketOptionsPtrOutput) Elem() LaunchTemplateInstanceMarketOptionsOutput { + return o.ApplyT(func(v *LaunchTemplateInstanceMarketOptions) LaunchTemplateInstanceMarketOptions { if v != nil { return *v } - var ret LaunchTemplateInstanceRequirementsMemoryGibPerVcpu + var ret LaunchTemplateInstanceMarketOptions return ret - }).(LaunchTemplateInstanceRequirementsMemoryGibPerVcpuOutput) + }).(LaunchTemplateInstanceMarketOptionsOutput) } -// Maximum. May be a decimal number, e.g. `0.5`. -func (o LaunchTemplateInstanceRequirementsMemoryGibPerVcpuPtrOutput) Max() pulumi.Float64PtrOutput { - return o.ApplyT(func(v *LaunchTemplateInstanceRequirementsMemoryGibPerVcpu) *float64 { +// The market type. Can be `spot`. +func (o LaunchTemplateInstanceMarketOptionsPtrOutput) MarketType() pulumi.StringPtrOutput { + return o.ApplyT(func(v *LaunchTemplateInstanceMarketOptions) *string { if v == nil { return nil } - return v.Max - }).(pulumi.Float64PtrOutput) + return v.MarketType + }).(pulumi.StringPtrOutput) } -// Minimum. May be a decimal number, e.g. `0.5`. -func (o LaunchTemplateInstanceRequirementsMemoryGibPerVcpuPtrOutput) Min() pulumi.Float64PtrOutput { - return o.ApplyT(func(v *LaunchTemplateInstanceRequirementsMemoryGibPerVcpu) *float64 { +// The options for [Spot Instance](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-spot-instances.html) +func (o LaunchTemplateInstanceMarketOptionsPtrOutput) SpotOptions() LaunchTemplateInstanceMarketOptionsSpotOptionsPtrOutput { + return o.ApplyT(func(v *LaunchTemplateInstanceMarketOptions) *LaunchTemplateInstanceMarketOptionsSpotOptions { if v == nil { return nil } - return v.Min - }).(pulumi.Float64PtrOutput) + return v.SpotOptions + }).(LaunchTemplateInstanceMarketOptionsSpotOptionsPtrOutput) } -type LaunchTemplateInstanceRequirementsMemoryMib struct { - // Maximum. - Max *int `pulumi:"max"` - // Minimum. - Min int `pulumi:"min"` +type LaunchTemplateInstanceMarketOptionsSpotOptions struct { + // The required duration in minutes. This value must be a multiple of 60. + BlockDurationMinutes *int `pulumi:"blockDurationMinutes"` + // The behavior when a Spot Instance is interrupted. Can be `hibernate`, + // `stop`, or `terminate`. (Default: `terminate`). + InstanceInterruptionBehavior *string `pulumi:"instanceInterruptionBehavior"` + // The maximum hourly price you're willing to pay for the Spot Instances. + MaxPrice *string `pulumi:"maxPrice"` + // The Spot Instance request type. Can be `one-time`, or `persistent`. + SpotInstanceType *string `pulumi:"spotInstanceType"` + // The end date of the request. + ValidUntil *string `pulumi:"validUntil"` } -// LaunchTemplateInstanceRequirementsMemoryMibInput is an input type that accepts LaunchTemplateInstanceRequirementsMemoryMibArgs and LaunchTemplateInstanceRequirementsMemoryMibOutput values. -// You can construct a concrete instance of `LaunchTemplateInstanceRequirementsMemoryMibInput` via: +// LaunchTemplateInstanceMarketOptionsSpotOptionsInput is an input type that accepts LaunchTemplateInstanceMarketOptionsSpotOptionsArgs and LaunchTemplateInstanceMarketOptionsSpotOptionsOutput values. +// You can construct a concrete instance of `LaunchTemplateInstanceMarketOptionsSpotOptionsInput` via: // -// LaunchTemplateInstanceRequirementsMemoryMibArgs{...} -type LaunchTemplateInstanceRequirementsMemoryMibInput interface { +// LaunchTemplateInstanceMarketOptionsSpotOptionsArgs{...} +type LaunchTemplateInstanceMarketOptionsSpotOptionsInput interface { pulumi.Input - ToLaunchTemplateInstanceRequirementsMemoryMibOutput() LaunchTemplateInstanceRequirementsMemoryMibOutput - ToLaunchTemplateInstanceRequirementsMemoryMibOutputWithContext(context.Context) LaunchTemplateInstanceRequirementsMemoryMibOutput + ToLaunchTemplateInstanceMarketOptionsSpotOptionsOutput() LaunchTemplateInstanceMarketOptionsSpotOptionsOutput + ToLaunchTemplateInstanceMarketOptionsSpotOptionsOutputWithContext(context.Context) LaunchTemplateInstanceMarketOptionsSpotOptionsOutput } -type LaunchTemplateInstanceRequirementsMemoryMibArgs struct { - // Maximum. - Max pulumi.IntPtrInput `pulumi:"max"` - // Minimum. - Min pulumi.IntInput `pulumi:"min"` +type LaunchTemplateInstanceMarketOptionsSpotOptionsArgs struct { + // The required duration in minutes. This value must be a multiple of 60. + BlockDurationMinutes pulumi.IntPtrInput `pulumi:"blockDurationMinutes"` + // The behavior when a Spot Instance is interrupted. Can be `hibernate`, + // `stop`, or `terminate`. (Default: `terminate`). + InstanceInterruptionBehavior pulumi.StringPtrInput `pulumi:"instanceInterruptionBehavior"` + // The maximum hourly price you're willing to pay for the Spot Instances. + MaxPrice pulumi.StringPtrInput `pulumi:"maxPrice"` + // The Spot Instance request type. Can be `one-time`, or `persistent`. + SpotInstanceType pulumi.StringPtrInput `pulumi:"spotInstanceType"` + // The end date of the request. + ValidUntil pulumi.StringPtrInput `pulumi:"validUntil"` } -func (LaunchTemplateInstanceRequirementsMemoryMibArgs) ElementType() reflect.Type { - return reflect.TypeOf((*LaunchTemplateInstanceRequirementsMemoryMib)(nil)).Elem() +func (LaunchTemplateInstanceMarketOptionsSpotOptionsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LaunchTemplateInstanceMarketOptionsSpotOptions)(nil)).Elem() } -func (i LaunchTemplateInstanceRequirementsMemoryMibArgs) ToLaunchTemplateInstanceRequirementsMemoryMibOutput() LaunchTemplateInstanceRequirementsMemoryMibOutput { - return i.ToLaunchTemplateInstanceRequirementsMemoryMibOutputWithContext(context.Background()) +func (i LaunchTemplateInstanceMarketOptionsSpotOptionsArgs) ToLaunchTemplateInstanceMarketOptionsSpotOptionsOutput() LaunchTemplateInstanceMarketOptionsSpotOptionsOutput { + return i.ToLaunchTemplateInstanceMarketOptionsSpotOptionsOutputWithContext(context.Background()) } -func (i LaunchTemplateInstanceRequirementsMemoryMibArgs) ToLaunchTemplateInstanceRequirementsMemoryMibOutputWithContext(ctx context.Context) LaunchTemplateInstanceRequirementsMemoryMibOutput { - return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateInstanceRequirementsMemoryMibOutput) +func (i LaunchTemplateInstanceMarketOptionsSpotOptionsArgs) ToLaunchTemplateInstanceMarketOptionsSpotOptionsOutputWithContext(ctx context.Context) LaunchTemplateInstanceMarketOptionsSpotOptionsOutput { + return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateInstanceMarketOptionsSpotOptionsOutput) } -func (i LaunchTemplateInstanceRequirementsMemoryMibArgs) ToLaunchTemplateInstanceRequirementsMemoryMibPtrOutput() LaunchTemplateInstanceRequirementsMemoryMibPtrOutput { - return i.ToLaunchTemplateInstanceRequirementsMemoryMibPtrOutputWithContext(context.Background()) +func (i LaunchTemplateInstanceMarketOptionsSpotOptionsArgs) ToLaunchTemplateInstanceMarketOptionsSpotOptionsPtrOutput() LaunchTemplateInstanceMarketOptionsSpotOptionsPtrOutput { + return i.ToLaunchTemplateInstanceMarketOptionsSpotOptionsPtrOutputWithContext(context.Background()) } -func (i LaunchTemplateInstanceRequirementsMemoryMibArgs) ToLaunchTemplateInstanceRequirementsMemoryMibPtrOutputWithContext(ctx context.Context) LaunchTemplateInstanceRequirementsMemoryMibPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateInstanceRequirementsMemoryMibOutput).ToLaunchTemplateInstanceRequirementsMemoryMibPtrOutputWithContext(ctx) +func (i LaunchTemplateInstanceMarketOptionsSpotOptionsArgs) ToLaunchTemplateInstanceMarketOptionsSpotOptionsPtrOutputWithContext(ctx context.Context) LaunchTemplateInstanceMarketOptionsSpotOptionsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateInstanceMarketOptionsSpotOptionsOutput).ToLaunchTemplateInstanceMarketOptionsSpotOptionsPtrOutputWithContext(ctx) } -// LaunchTemplateInstanceRequirementsMemoryMibPtrInput is an input type that accepts LaunchTemplateInstanceRequirementsMemoryMibArgs, LaunchTemplateInstanceRequirementsMemoryMibPtr and LaunchTemplateInstanceRequirementsMemoryMibPtrOutput values. -// You can construct a concrete instance of `LaunchTemplateInstanceRequirementsMemoryMibPtrInput` via: +// LaunchTemplateInstanceMarketOptionsSpotOptionsPtrInput is an input type that accepts LaunchTemplateInstanceMarketOptionsSpotOptionsArgs, LaunchTemplateInstanceMarketOptionsSpotOptionsPtr and LaunchTemplateInstanceMarketOptionsSpotOptionsPtrOutput values. +// You can construct a concrete instance of `LaunchTemplateInstanceMarketOptionsSpotOptionsPtrInput` via: // -// LaunchTemplateInstanceRequirementsMemoryMibArgs{...} +// LaunchTemplateInstanceMarketOptionsSpotOptionsArgs{...} // // or: // // nil -type LaunchTemplateInstanceRequirementsMemoryMibPtrInput interface { +type LaunchTemplateInstanceMarketOptionsSpotOptionsPtrInput interface { pulumi.Input - ToLaunchTemplateInstanceRequirementsMemoryMibPtrOutput() LaunchTemplateInstanceRequirementsMemoryMibPtrOutput - ToLaunchTemplateInstanceRequirementsMemoryMibPtrOutputWithContext(context.Context) LaunchTemplateInstanceRequirementsMemoryMibPtrOutput + ToLaunchTemplateInstanceMarketOptionsSpotOptionsPtrOutput() LaunchTemplateInstanceMarketOptionsSpotOptionsPtrOutput + ToLaunchTemplateInstanceMarketOptionsSpotOptionsPtrOutputWithContext(context.Context) LaunchTemplateInstanceMarketOptionsSpotOptionsPtrOutput } -type launchTemplateInstanceRequirementsMemoryMibPtrType LaunchTemplateInstanceRequirementsMemoryMibArgs +type launchTemplateInstanceMarketOptionsSpotOptionsPtrType LaunchTemplateInstanceMarketOptionsSpotOptionsArgs -func LaunchTemplateInstanceRequirementsMemoryMibPtr(v *LaunchTemplateInstanceRequirementsMemoryMibArgs) LaunchTemplateInstanceRequirementsMemoryMibPtrInput { - return (*launchTemplateInstanceRequirementsMemoryMibPtrType)(v) +func LaunchTemplateInstanceMarketOptionsSpotOptionsPtr(v *LaunchTemplateInstanceMarketOptionsSpotOptionsArgs) LaunchTemplateInstanceMarketOptionsSpotOptionsPtrInput { + return (*launchTemplateInstanceMarketOptionsSpotOptionsPtrType)(v) } -func (*launchTemplateInstanceRequirementsMemoryMibPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**LaunchTemplateInstanceRequirementsMemoryMib)(nil)).Elem() +func (*launchTemplateInstanceMarketOptionsSpotOptionsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**LaunchTemplateInstanceMarketOptionsSpotOptions)(nil)).Elem() } -func (i *launchTemplateInstanceRequirementsMemoryMibPtrType) ToLaunchTemplateInstanceRequirementsMemoryMibPtrOutput() LaunchTemplateInstanceRequirementsMemoryMibPtrOutput { - return i.ToLaunchTemplateInstanceRequirementsMemoryMibPtrOutputWithContext(context.Background()) +func (i *launchTemplateInstanceMarketOptionsSpotOptionsPtrType) ToLaunchTemplateInstanceMarketOptionsSpotOptionsPtrOutput() LaunchTemplateInstanceMarketOptionsSpotOptionsPtrOutput { + return i.ToLaunchTemplateInstanceMarketOptionsSpotOptionsPtrOutputWithContext(context.Background()) } -func (i *launchTemplateInstanceRequirementsMemoryMibPtrType) ToLaunchTemplateInstanceRequirementsMemoryMibPtrOutputWithContext(ctx context.Context) LaunchTemplateInstanceRequirementsMemoryMibPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateInstanceRequirementsMemoryMibPtrOutput) +func (i *launchTemplateInstanceMarketOptionsSpotOptionsPtrType) ToLaunchTemplateInstanceMarketOptionsSpotOptionsPtrOutputWithContext(ctx context.Context) LaunchTemplateInstanceMarketOptionsSpotOptionsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateInstanceMarketOptionsSpotOptionsPtrOutput) } -type LaunchTemplateInstanceRequirementsMemoryMibOutput struct{ *pulumi.OutputState } +type LaunchTemplateInstanceMarketOptionsSpotOptionsOutput struct{ *pulumi.OutputState } -func (LaunchTemplateInstanceRequirementsMemoryMibOutput) ElementType() reflect.Type { - return reflect.TypeOf((*LaunchTemplateInstanceRequirementsMemoryMib)(nil)).Elem() +func (LaunchTemplateInstanceMarketOptionsSpotOptionsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LaunchTemplateInstanceMarketOptionsSpotOptions)(nil)).Elem() } -func (o LaunchTemplateInstanceRequirementsMemoryMibOutput) ToLaunchTemplateInstanceRequirementsMemoryMibOutput() LaunchTemplateInstanceRequirementsMemoryMibOutput { +func (o LaunchTemplateInstanceMarketOptionsSpotOptionsOutput) ToLaunchTemplateInstanceMarketOptionsSpotOptionsOutput() LaunchTemplateInstanceMarketOptionsSpotOptionsOutput { return o } -func (o LaunchTemplateInstanceRequirementsMemoryMibOutput) ToLaunchTemplateInstanceRequirementsMemoryMibOutputWithContext(ctx context.Context) LaunchTemplateInstanceRequirementsMemoryMibOutput { +func (o LaunchTemplateInstanceMarketOptionsSpotOptionsOutput) ToLaunchTemplateInstanceMarketOptionsSpotOptionsOutputWithContext(ctx context.Context) LaunchTemplateInstanceMarketOptionsSpotOptionsOutput { return o } -func (o LaunchTemplateInstanceRequirementsMemoryMibOutput) ToLaunchTemplateInstanceRequirementsMemoryMibPtrOutput() LaunchTemplateInstanceRequirementsMemoryMibPtrOutput { - return o.ToLaunchTemplateInstanceRequirementsMemoryMibPtrOutputWithContext(context.Background()) +func (o LaunchTemplateInstanceMarketOptionsSpotOptionsOutput) ToLaunchTemplateInstanceMarketOptionsSpotOptionsPtrOutput() LaunchTemplateInstanceMarketOptionsSpotOptionsPtrOutput { + return o.ToLaunchTemplateInstanceMarketOptionsSpotOptionsPtrOutputWithContext(context.Background()) } -func (o LaunchTemplateInstanceRequirementsMemoryMibOutput) ToLaunchTemplateInstanceRequirementsMemoryMibPtrOutputWithContext(ctx context.Context) LaunchTemplateInstanceRequirementsMemoryMibPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v LaunchTemplateInstanceRequirementsMemoryMib) *LaunchTemplateInstanceRequirementsMemoryMib { +func (o LaunchTemplateInstanceMarketOptionsSpotOptionsOutput) ToLaunchTemplateInstanceMarketOptionsSpotOptionsPtrOutputWithContext(ctx context.Context) LaunchTemplateInstanceMarketOptionsSpotOptionsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v LaunchTemplateInstanceMarketOptionsSpotOptions) *LaunchTemplateInstanceMarketOptionsSpotOptions { return &v - }).(LaunchTemplateInstanceRequirementsMemoryMibPtrOutput) + }).(LaunchTemplateInstanceMarketOptionsSpotOptionsPtrOutput) } -// Maximum. -func (o LaunchTemplateInstanceRequirementsMemoryMibOutput) Max() pulumi.IntPtrOutput { - return o.ApplyT(func(v LaunchTemplateInstanceRequirementsMemoryMib) *int { return v.Max }).(pulumi.IntPtrOutput) +// The required duration in minutes. This value must be a multiple of 60. +func (o LaunchTemplateInstanceMarketOptionsSpotOptionsOutput) BlockDurationMinutes() pulumi.IntPtrOutput { + return o.ApplyT(func(v LaunchTemplateInstanceMarketOptionsSpotOptions) *int { return v.BlockDurationMinutes }).(pulumi.IntPtrOutput) } -// Minimum. -func (o LaunchTemplateInstanceRequirementsMemoryMibOutput) Min() pulumi.IntOutput { - return o.ApplyT(func(v LaunchTemplateInstanceRequirementsMemoryMib) int { return v.Min }).(pulumi.IntOutput) +// The behavior when a Spot Instance is interrupted. Can be `hibernate`, +// `stop`, or `terminate`. (Default: `terminate`). +func (o LaunchTemplateInstanceMarketOptionsSpotOptionsOutput) InstanceInterruptionBehavior() pulumi.StringPtrOutput { + return o.ApplyT(func(v LaunchTemplateInstanceMarketOptionsSpotOptions) *string { return v.InstanceInterruptionBehavior }).(pulumi.StringPtrOutput) } -type LaunchTemplateInstanceRequirementsMemoryMibPtrOutput struct{ *pulumi.OutputState } +// The maximum hourly price you're willing to pay for the Spot Instances. +func (o LaunchTemplateInstanceMarketOptionsSpotOptionsOutput) MaxPrice() pulumi.StringPtrOutput { + return o.ApplyT(func(v LaunchTemplateInstanceMarketOptionsSpotOptions) *string { return v.MaxPrice }).(pulumi.StringPtrOutput) +} -func (LaunchTemplateInstanceRequirementsMemoryMibPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**LaunchTemplateInstanceRequirementsMemoryMib)(nil)).Elem() +// The Spot Instance request type. Can be `one-time`, or `persistent`. +func (o LaunchTemplateInstanceMarketOptionsSpotOptionsOutput) SpotInstanceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v LaunchTemplateInstanceMarketOptionsSpotOptions) *string { return v.SpotInstanceType }).(pulumi.StringPtrOutput) } -func (o LaunchTemplateInstanceRequirementsMemoryMibPtrOutput) ToLaunchTemplateInstanceRequirementsMemoryMibPtrOutput() LaunchTemplateInstanceRequirementsMemoryMibPtrOutput { +// The end date of the request. +func (o LaunchTemplateInstanceMarketOptionsSpotOptionsOutput) ValidUntil() pulumi.StringPtrOutput { + return o.ApplyT(func(v LaunchTemplateInstanceMarketOptionsSpotOptions) *string { return v.ValidUntil }).(pulumi.StringPtrOutput) +} + +type LaunchTemplateInstanceMarketOptionsSpotOptionsPtrOutput struct{ *pulumi.OutputState } + +func (LaunchTemplateInstanceMarketOptionsSpotOptionsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**LaunchTemplateInstanceMarketOptionsSpotOptions)(nil)).Elem() +} + +func (o LaunchTemplateInstanceMarketOptionsSpotOptionsPtrOutput) ToLaunchTemplateInstanceMarketOptionsSpotOptionsPtrOutput() LaunchTemplateInstanceMarketOptionsSpotOptionsPtrOutput { return o } -func (o LaunchTemplateInstanceRequirementsMemoryMibPtrOutput) ToLaunchTemplateInstanceRequirementsMemoryMibPtrOutputWithContext(ctx context.Context) LaunchTemplateInstanceRequirementsMemoryMibPtrOutput { +func (o LaunchTemplateInstanceMarketOptionsSpotOptionsPtrOutput) ToLaunchTemplateInstanceMarketOptionsSpotOptionsPtrOutputWithContext(ctx context.Context) LaunchTemplateInstanceMarketOptionsSpotOptionsPtrOutput { return o } -func (o LaunchTemplateInstanceRequirementsMemoryMibPtrOutput) Elem() LaunchTemplateInstanceRequirementsMemoryMibOutput { - return o.ApplyT(func(v *LaunchTemplateInstanceRequirementsMemoryMib) LaunchTemplateInstanceRequirementsMemoryMib { +func (o LaunchTemplateInstanceMarketOptionsSpotOptionsPtrOutput) Elem() LaunchTemplateInstanceMarketOptionsSpotOptionsOutput { + return o.ApplyT(func(v *LaunchTemplateInstanceMarketOptionsSpotOptions) LaunchTemplateInstanceMarketOptionsSpotOptions { if v != nil { return *v } - var ret LaunchTemplateInstanceRequirementsMemoryMib + var ret LaunchTemplateInstanceMarketOptionsSpotOptions return ret - }).(LaunchTemplateInstanceRequirementsMemoryMibOutput) + }).(LaunchTemplateInstanceMarketOptionsSpotOptionsOutput) } -// Maximum. -func (o LaunchTemplateInstanceRequirementsMemoryMibPtrOutput) Max() pulumi.IntPtrOutput { - return o.ApplyT(func(v *LaunchTemplateInstanceRequirementsMemoryMib) *int { +// The required duration in minutes. This value must be a multiple of 60. +func (o LaunchTemplateInstanceMarketOptionsSpotOptionsPtrOutput) BlockDurationMinutes() pulumi.IntPtrOutput { + return o.ApplyT(func(v *LaunchTemplateInstanceMarketOptionsSpotOptions) *int { if v == nil { return nil } - return v.Max + return v.BlockDurationMinutes }).(pulumi.IntPtrOutput) } -// Minimum. -func (o LaunchTemplateInstanceRequirementsMemoryMibPtrOutput) Min() pulumi.IntPtrOutput { - return o.ApplyT(func(v *LaunchTemplateInstanceRequirementsMemoryMib) *int { +// The behavior when a Spot Instance is interrupted. Can be `hibernate`, +// `stop`, or `terminate`. (Default: `terminate`). +func (o LaunchTemplateInstanceMarketOptionsSpotOptionsPtrOutput) InstanceInterruptionBehavior() pulumi.StringPtrOutput { + return o.ApplyT(func(v *LaunchTemplateInstanceMarketOptionsSpotOptions) *string { if v == nil { return nil } - return &v.Min - }).(pulumi.IntPtrOutput) -} - -type LaunchTemplateInstanceRequirementsNetworkBandwidthGbps struct { - // Maximum. - Max *float64 `pulumi:"max"` - // Minimum. - Min *float64 `pulumi:"min"` -} - -// LaunchTemplateInstanceRequirementsNetworkBandwidthGbpsInput is an input type that accepts LaunchTemplateInstanceRequirementsNetworkBandwidthGbpsArgs and LaunchTemplateInstanceRequirementsNetworkBandwidthGbpsOutput values. -// You can construct a concrete instance of `LaunchTemplateInstanceRequirementsNetworkBandwidthGbpsInput` via: -// -// LaunchTemplateInstanceRequirementsNetworkBandwidthGbpsArgs{...} -type LaunchTemplateInstanceRequirementsNetworkBandwidthGbpsInput interface { - pulumi.Input - - ToLaunchTemplateInstanceRequirementsNetworkBandwidthGbpsOutput() LaunchTemplateInstanceRequirementsNetworkBandwidthGbpsOutput - ToLaunchTemplateInstanceRequirementsNetworkBandwidthGbpsOutputWithContext(context.Context) LaunchTemplateInstanceRequirementsNetworkBandwidthGbpsOutput -} - -type LaunchTemplateInstanceRequirementsNetworkBandwidthGbpsArgs struct { - // Maximum. - Max pulumi.Float64PtrInput `pulumi:"max"` - // Minimum. - Min pulumi.Float64PtrInput `pulumi:"min"` -} - -func (LaunchTemplateInstanceRequirementsNetworkBandwidthGbpsArgs) ElementType() reflect.Type { - return reflect.TypeOf((*LaunchTemplateInstanceRequirementsNetworkBandwidthGbps)(nil)).Elem() -} - -func (i LaunchTemplateInstanceRequirementsNetworkBandwidthGbpsArgs) ToLaunchTemplateInstanceRequirementsNetworkBandwidthGbpsOutput() LaunchTemplateInstanceRequirementsNetworkBandwidthGbpsOutput { - return i.ToLaunchTemplateInstanceRequirementsNetworkBandwidthGbpsOutputWithContext(context.Background()) -} - -func (i LaunchTemplateInstanceRequirementsNetworkBandwidthGbpsArgs) ToLaunchTemplateInstanceRequirementsNetworkBandwidthGbpsOutputWithContext(ctx context.Context) LaunchTemplateInstanceRequirementsNetworkBandwidthGbpsOutput { - return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateInstanceRequirementsNetworkBandwidthGbpsOutput) -} - -func (i LaunchTemplateInstanceRequirementsNetworkBandwidthGbpsArgs) ToLaunchTemplateInstanceRequirementsNetworkBandwidthGbpsPtrOutput() LaunchTemplateInstanceRequirementsNetworkBandwidthGbpsPtrOutput { - return i.ToLaunchTemplateInstanceRequirementsNetworkBandwidthGbpsPtrOutputWithContext(context.Background()) -} - -func (i LaunchTemplateInstanceRequirementsNetworkBandwidthGbpsArgs) ToLaunchTemplateInstanceRequirementsNetworkBandwidthGbpsPtrOutputWithContext(ctx context.Context) LaunchTemplateInstanceRequirementsNetworkBandwidthGbpsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateInstanceRequirementsNetworkBandwidthGbpsOutput).ToLaunchTemplateInstanceRequirementsNetworkBandwidthGbpsPtrOutputWithContext(ctx) -} - -// LaunchTemplateInstanceRequirementsNetworkBandwidthGbpsPtrInput is an input type that accepts LaunchTemplateInstanceRequirementsNetworkBandwidthGbpsArgs, LaunchTemplateInstanceRequirementsNetworkBandwidthGbpsPtr and LaunchTemplateInstanceRequirementsNetworkBandwidthGbpsPtrOutput values. -// You can construct a concrete instance of `LaunchTemplateInstanceRequirementsNetworkBandwidthGbpsPtrInput` via: -// -// LaunchTemplateInstanceRequirementsNetworkBandwidthGbpsArgs{...} -// -// or: -// -// nil -type LaunchTemplateInstanceRequirementsNetworkBandwidthGbpsPtrInput interface { - pulumi.Input - - ToLaunchTemplateInstanceRequirementsNetworkBandwidthGbpsPtrOutput() LaunchTemplateInstanceRequirementsNetworkBandwidthGbpsPtrOutput - ToLaunchTemplateInstanceRequirementsNetworkBandwidthGbpsPtrOutputWithContext(context.Context) LaunchTemplateInstanceRequirementsNetworkBandwidthGbpsPtrOutput -} - -type launchTemplateInstanceRequirementsNetworkBandwidthGbpsPtrType LaunchTemplateInstanceRequirementsNetworkBandwidthGbpsArgs - -func LaunchTemplateInstanceRequirementsNetworkBandwidthGbpsPtr(v *LaunchTemplateInstanceRequirementsNetworkBandwidthGbpsArgs) LaunchTemplateInstanceRequirementsNetworkBandwidthGbpsPtrInput { - return (*launchTemplateInstanceRequirementsNetworkBandwidthGbpsPtrType)(v) -} - -func (*launchTemplateInstanceRequirementsNetworkBandwidthGbpsPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**LaunchTemplateInstanceRequirementsNetworkBandwidthGbps)(nil)).Elem() -} - -func (i *launchTemplateInstanceRequirementsNetworkBandwidthGbpsPtrType) ToLaunchTemplateInstanceRequirementsNetworkBandwidthGbpsPtrOutput() LaunchTemplateInstanceRequirementsNetworkBandwidthGbpsPtrOutput { - return i.ToLaunchTemplateInstanceRequirementsNetworkBandwidthGbpsPtrOutputWithContext(context.Background()) -} - -func (i *launchTemplateInstanceRequirementsNetworkBandwidthGbpsPtrType) ToLaunchTemplateInstanceRequirementsNetworkBandwidthGbpsPtrOutputWithContext(ctx context.Context) LaunchTemplateInstanceRequirementsNetworkBandwidthGbpsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateInstanceRequirementsNetworkBandwidthGbpsPtrOutput) -} - -type LaunchTemplateInstanceRequirementsNetworkBandwidthGbpsOutput struct{ *pulumi.OutputState } - -func (LaunchTemplateInstanceRequirementsNetworkBandwidthGbpsOutput) ElementType() reflect.Type { - return reflect.TypeOf((*LaunchTemplateInstanceRequirementsNetworkBandwidthGbps)(nil)).Elem() -} - -func (o LaunchTemplateInstanceRequirementsNetworkBandwidthGbpsOutput) ToLaunchTemplateInstanceRequirementsNetworkBandwidthGbpsOutput() LaunchTemplateInstanceRequirementsNetworkBandwidthGbpsOutput { - return o -} - -func (o LaunchTemplateInstanceRequirementsNetworkBandwidthGbpsOutput) ToLaunchTemplateInstanceRequirementsNetworkBandwidthGbpsOutputWithContext(ctx context.Context) LaunchTemplateInstanceRequirementsNetworkBandwidthGbpsOutput { - return o -} - -func (o LaunchTemplateInstanceRequirementsNetworkBandwidthGbpsOutput) ToLaunchTemplateInstanceRequirementsNetworkBandwidthGbpsPtrOutput() LaunchTemplateInstanceRequirementsNetworkBandwidthGbpsPtrOutput { - return o.ToLaunchTemplateInstanceRequirementsNetworkBandwidthGbpsPtrOutputWithContext(context.Background()) -} - -func (o LaunchTemplateInstanceRequirementsNetworkBandwidthGbpsOutput) ToLaunchTemplateInstanceRequirementsNetworkBandwidthGbpsPtrOutputWithContext(ctx context.Context) LaunchTemplateInstanceRequirementsNetworkBandwidthGbpsPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v LaunchTemplateInstanceRequirementsNetworkBandwidthGbps) *LaunchTemplateInstanceRequirementsNetworkBandwidthGbps { - return &v - }).(LaunchTemplateInstanceRequirementsNetworkBandwidthGbpsPtrOutput) -} - -// Maximum. -func (o LaunchTemplateInstanceRequirementsNetworkBandwidthGbpsOutput) Max() pulumi.Float64PtrOutput { - return o.ApplyT(func(v LaunchTemplateInstanceRequirementsNetworkBandwidthGbps) *float64 { return v.Max }).(pulumi.Float64PtrOutput) -} - -// Minimum. -func (o LaunchTemplateInstanceRequirementsNetworkBandwidthGbpsOutput) Min() pulumi.Float64PtrOutput { - return o.ApplyT(func(v LaunchTemplateInstanceRequirementsNetworkBandwidthGbps) *float64 { return v.Min }).(pulumi.Float64PtrOutput) -} - -type LaunchTemplateInstanceRequirementsNetworkBandwidthGbpsPtrOutput struct{ *pulumi.OutputState } - -func (LaunchTemplateInstanceRequirementsNetworkBandwidthGbpsPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**LaunchTemplateInstanceRequirementsNetworkBandwidthGbps)(nil)).Elem() -} - -func (o LaunchTemplateInstanceRequirementsNetworkBandwidthGbpsPtrOutput) ToLaunchTemplateInstanceRequirementsNetworkBandwidthGbpsPtrOutput() LaunchTemplateInstanceRequirementsNetworkBandwidthGbpsPtrOutput { - return o -} - -func (o LaunchTemplateInstanceRequirementsNetworkBandwidthGbpsPtrOutput) ToLaunchTemplateInstanceRequirementsNetworkBandwidthGbpsPtrOutputWithContext(ctx context.Context) LaunchTemplateInstanceRequirementsNetworkBandwidthGbpsPtrOutput { - return o + return v.InstanceInterruptionBehavior + }).(pulumi.StringPtrOutput) } -func (o LaunchTemplateInstanceRequirementsNetworkBandwidthGbpsPtrOutput) Elem() LaunchTemplateInstanceRequirementsNetworkBandwidthGbpsOutput { - return o.ApplyT(func(v *LaunchTemplateInstanceRequirementsNetworkBandwidthGbps) LaunchTemplateInstanceRequirementsNetworkBandwidthGbps { - if v != nil { - return *v +// The maximum hourly price you're willing to pay for the Spot Instances. +func (o LaunchTemplateInstanceMarketOptionsSpotOptionsPtrOutput) MaxPrice() pulumi.StringPtrOutput { + return o.ApplyT(func(v *LaunchTemplateInstanceMarketOptionsSpotOptions) *string { + if v == nil { + return nil } - var ret LaunchTemplateInstanceRequirementsNetworkBandwidthGbps - return ret - }).(LaunchTemplateInstanceRequirementsNetworkBandwidthGbpsOutput) + return v.MaxPrice + }).(pulumi.StringPtrOutput) } -// Maximum. -func (o LaunchTemplateInstanceRequirementsNetworkBandwidthGbpsPtrOutput) Max() pulumi.Float64PtrOutput { - return o.ApplyT(func(v *LaunchTemplateInstanceRequirementsNetworkBandwidthGbps) *float64 { +// The Spot Instance request type. Can be `one-time`, or `persistent`. +func (o LaunchTemplateInstanceMarketOptionsSpotOptionsPtrOutput) SpotInstanceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v *LaunchTemplateInstanceMarketOptionsSpotOptions) *string { if v == nil { return nil } - return v.Max - }).(pulumi.Float64PtrOutput) + return v.SpotInstanceType + }).(pulumi.StringPtrOutput) } -// Minimum. -func (o LaunchTemplateInstanceRequirementsNetworkBandwidthGbpsPtrOutput) Min() pulumi.Float64PtrOutput { - return o.ApplyT(func(v *LaunchTemplateInstanceRequirementsNetworkBandwidthGbps) *float64 { +// The end date of the request. +func (o LaunchTemplateInstanceMarketOptionsSpotOptionsPtrOutput) ValidUntil() pulumi.StringPtrOutput { + return o.ApplyT(func(v *LaunchTemplateInstanceMarketOptionsSpotOptions) *string { if v == nil { return nil } - return v.Min - }).(pulumi.Float64PtrOutput) -} - -type LaunchTemplateInstanceRequirementsNetworkInterfaceCount struct { - // Maximum. - Max *int `pulumi:"max"` - // Minimum. - Min *int `pulumi:"min"` + return v.ValidUntil + }).(pulumi.StringPtrOutput) } -// LaunchTemplateInstanceRequirementsNetworkInterfaceCountInput is an input type that accepts LaunchTemplateInstanceRequirementsNetworkInterfaceCountArgs and LaunchTemplateInstanceRequirementsNetworkInterfaceCountOutput values. -// You can construct a concrete instance of `LaunchTemplateInstanceRequirementsNetworkInterfaceCountInput` via: -// -// LaunchTemplateInstanceRequirementsNetworkInterfaceCountArgs{...} -type LaunchTemplateInstanceRequirementsNetworkInterfaceCountInput interface { - pulumi.Input - - ToLaunchTemplateInstanceRequirementsNetworkInterfaceCountOutput() LaunchTemplateInstanceRequirementsNetworkInterfaceCountOutput - ToLaunchTemplateInstanceRequirementsNetworkInterfaceCountOutputWithContext(context.Context) LaunchTemplateInstanceRequirementsNetworkInterfaceCountOutput +type LaunchTemplateInstanceRequirements struct { + // Block describing the minimum and maximum number of accelerators (GPUs, FPGAs, or AWS Inferentia chips). Default is no minimum or maximum. + AcceleratorCount *LaunchTemplateInstanceRequirementsAcceleratorCount `pulumi:"acceleratorCount"` + // List of accelerator manufacturer names. Default is any manufacturer. + AcceleratorManufacturers []string `pulumi:"acceleratorManufacturers"` + // List of accelerator names. Default is any acclerator. + AcceleratorNames []string `pulumi:"acceleratorNames"` + // Block describing the minimum and maximum total memory of the accelerators. Default is no minimum or maximum. + AcceleratorTotalMemoryMib *LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMib `pulumi:"acceleratorTotalMemoryMib"` + // List of accelerator types. Default is any accelerator type. + AcceleratorTypes []string `pulumi:"acceleratorTypes"` + // 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. + // + // > **NOTE:** If you specify `allowedInstanceTypes`, you can't specify `excludedInstanceTypes`. + AllowedInstanceTypes []string `pulumi:"allowedInstanceTypes"` + // Indicate whether bare metal instace types should be `included`, `excluded`, or `required`. Default is `excluded`. + BareMetal *string `pulumi:"bareMetal"` + // Block describing the minimum and maximum baseline EBS bandwidth, in Mbps. Default is no minimum or maximum. + BaselineEbsBandwidthMbps *LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbps `pulumi:"baselineEbsBandwidthMbps"` + // Indicate whether burstable performance instance types should be `included`, `excluded`, or `required`. Default is `excluded`. + BurstablePerformance *string `pulumi:"burstablePerformance"` + // List of CPU manufacturer names. Default is any manufacturer. + // + // > **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. + CpuManufacturers []string `pulumi:"cpuManufacturers"` + // 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. + // + // > **NOTE:** If you specify `excludedInstanceTypes`, you can't specify `allowedInstanceTypes`. + ExcludedInstanceTypes []string `pulumi:"excludedInstanceTypes"` + // List of instance generation names. Default is any generation. + InstanceGenerations []string `pulumi:"instanceGenerations"` + // Indicate whether instance types with local storage volumes are `included`, `excluded`, or `required`. Default is `included`. + LocalStorage *string `pulumi:"localStorage"` + // List of local storage type names. Default any storage type. + LocalStorageTypes []string `pulumi:"localStorageTypes"` + // The 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. Conflicts with `spotMaxPricePercentageOverLowestPrice` + MaxSpotPriceAsPercentageOfOptimalOnDemandPrice *int `pulumi:"maxSpotPriceAsPercentageOfOptimalOnDemandPrice"` + // Block describing the minimum and maximum amount of memory (GiB) per vCPU. Default is no minimum or maximum. + MemoryGibPerVcpu *LaunchTemplateInstanceRequirementsMemoryGibPerVcpu `pulumi:"memoryGibPerVcpu"` + // Block describing the minimum and maximum amount of memory (MiB). Default is no maximum. + MemoryMib LaunchTemplateInstanceRequirementsMemoryMib `pulumi:"memoryMib"` + // Block describing the minimum and maximum amount of network bandwidth, in gigabits per second (Gbps). Default is no minimum or maximum. + NetworkBandwidthGbps *LaunchTemplateInstanceRequirementsNetworkBandwidthGbps `pulumi:"networkBandwidthGbps"` + // Block describing the minimum and maximum number of network interfaces. Default is no minimum or maximum. + NetworkInterfaceCount *LaunchTemplateInstanceRequirementsNetworkInterfaceCount `pulumi:"networkInterfaceCount"` + // The 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. + // + // If 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. + OnDemandMaxPricePercentageOverLowestPrice *int `pulumi:"onDemandMaxPricePercentageOverLowestPrice"` + // Indicate whether instance types must support On-Demand Instance Hibernation, either `true` or `false`. Default is `false`. + RequireHibernateSupport *bool `pulumi:"requireHibernateSupport"` + // The 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. Conflicts with `maxSpotPriceAsPercentageOfOptimalOnDemandPrice` + // + // If 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. + SpotMaxPricePercentageOverLowestPrice *int `pulumi:"spotMaxPricePercentageOverLowestPrice"` + // Block describing the minimum and maximum total local storage (GB). Default is no minimum or maximum. + TotalLocalStorageGb *LaunchTemplateInstanceRequirementsTotalLocalStorageGb `pulumi:"totalLocalStorageGb"` + // Block describing the minimum and maximum number of vCPUs. Default is no maximum. + VcpuCount LaunchTemplateInstanceRequirementsVcpuCount `pulumi:"vcpuCount"` } -type LaunchTemplateInstanceRequirementsNetworkInterfaceCountArgs struct { - // Maximum. - Max pulumi.IntPtrInput `pulumi:"max"` - // Minimum. - Min pulumi.IntPtrInput `pulumi:"min"` +// LaunchTemplateInstanceRequirementsInput is an input type that accepts LaunchTemplateInstanceRequirementsArgs and LaunchTemplateInstanceRequirementsOutput values. +// You can construct a concrete instance of `LaunchTemplateInstanceRequirementsInput` via: +// +// LaunchTemplateInstanceRequirementsArgs{...} +type LaunchTemplateInstanceRequirementsInput interface { + pulumi.Input + + ToLaunchTemplateInstanceRequirementsOutput() LaunchTemplateInstanceRequirementsOutput + ToLaunchTemplateInstanceRequirementsOutputWithContext(context.Context) LaunchTemplateInstanceRequirementsOutput } -func (LaunchTemplateInstanceRequirementsNetworkInterfaceCountArgs) ElementType() reflect.Type { - return reflect.TypeOf((*LaunchTemplateInstanceRequirementsNetworkInterfaceCount)(nil)).Elem() +type LaunchTemplateInstanceRequirementsArgs struct { + // Block describing the minimum and maximum number of accelerators (GPUs, FPGAs, or AWS Inferentia chips). Default is no minimum or maximum. + AcceleratorCount LaunchTemplateInstanceRequirementsAcceleratorCountPtrInput `pulumi:"acceleratorCount"` + // List of accelerator manufacturer names. Default is any manufacturer. + AcceleratorManufacturers pulumi.StringArrayInput `pulumi:"acceleratorManufacturers"` + // List of accelerator names. Default is any acclerator. + AcceleratorNames pulumi.StringArrayInput `pulumi:"acceleratorNames"` + // Block describing the minimum and maximum total memory of the accelerators. Default is no minimum or maximum. + AcceleratorTotalMemoryMib LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibPtrInput `pulumi:"acceleratorTotalMemoryMib"` + // List of accelerator types. Default is any accelerator type. + AcceleratorTypes pulumi.StringArrayInput `pulumi:"acceleratorTypes"` + // 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. + // + // > **NOTE:** If you specify `allowedInstanceTypes`, you can't specify `excludedInstanceTypes`. + AllowedInstanceTypes pulumi.StringArrayInput `pulumi:"allowedInstanceTypes"` + // Indicate whether bare metal instace types should be `included`, `excluded`, or `required`. Default is `excluded`. + BareMetal pulumi.StringPtrInput `pulumi:"bareMetal"` + // Block describing the minimum and maximum baseline EBS bandwidth, in Mbps. Default is no minimum or maximum. + BaselineEbsBandwidthMbps LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsPtrInput `pulumi:"baselineEbsBandwidthMbps"` + // Indicate whether burstable performance instance types should be `included`, `excluded`, or `required`. Default is `excluded`. + BurstablePerformance pulumi.StringPtrInput `pulumi:"burstablePerformance"` + // List of CPU manufacturer names. Default is any manufacturer. + // + // > **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. + CpuManufacturers pulumi.StringArrayInput `pulumi:"cpuManufacturers"` + // 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. + // + // > **NOTE:** If you specify `excludedInstanceTypes`, you can't specify `allowedInstanceTypes`. + ExcludedInstanceTypes pulumi.StringArrayInput `pulumi:"excludedInstanceTypes"` + // List of instance generation names. Default is any generation. + InstanceGenerations pulumi.StringArrayInput `pulumi:"instanceGenerations"` + // Indicate whether instance types with local storage volumes are `included`, `excluded`, or `required`. Default is `included`. + LocalStorage pulumi.StringPtrInput `pulumi:"localStorage"` + // List of local storage type names. Default any storage type. + LocalStorageTypes pulumi.StringArrayInput `pulumi:"localStorageTypes"` + // The 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. Conflicts with `spotMaxPricePercentageOverLowestPrice` + MaxSpotPriceAsPercentageOfOptimalOnDemandPrice pulumi.IntPtrInput `pulumi:"maxSpotPriceAsPercentageOfOptimalOnDemandPrice"` + // Block describing the minimum and maximum amount of memory (GiB) per vCPU. Default is no minimum or maximum. + MemoryGibPerVcpu LaunchTemplateInstanceRequirementsMemoryGibPerVcpuPtrInput `pulumi:"memoryGibPerVcpu"` + // Block describing the minimum and maximum amount of memory (MiB). Default is no maximum. + MemoryMib LaunchTemplateInstanceRequirementsMemoryMibInput `pulumi:"memoryMib"` + // Block describing the minimum and maximum amount of network bandwidth, in gigabits per second (Gbps). Default is no minimum or maximum. + NetworkBandwidthGbps LaunchTemplateInstanceRequirementsNetworkBandwidthGbpsPtrInput `pulumi:"networkBandwidthGbps"` + // Block describing the minimum and maximum number of network interfaces. Default is no minimum or maximum. + NetworkInterfaceCount LaunchTemplateInstanceRequirementsNetworkInterfaceCountPtrInput `pulumi:"networkInterfaceCount"` + // The 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. + // + // If 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. + OnDemandMaxPricePercentageOverLowestPrice pulumi.IntPtrInput `pulumi:"onDemandMaxPricePercentageOverLowestPrice"` + // Indicate whether instance types must support On-Demand Instance Hibernation, either `true` or `false`. Default is `false`. + RequireHibernateSupport pulumi.BoolPtrInput `pulumi:"requireHibernateSupport"` + // The 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. Conflicts with `maxSpotPriceAsPercentageOfOptimalOnDemandPrice` + // + // If 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. + SpotMaxPricePercentageOverLowestPrice pulumi.IntPtrInput `pulumi:"spotMaxPricePercentageOverLowestPrice"` + // Block describing the minimum and maximum total local storage (GB). Default is no minimum or maximum. + TotalLocalStorageGb LaunchTemplateInstanceRequirementsTotalLocalStorageGbPtrInput `pulumi:"totalLocalStorageGb"` + // Block describing the minimum and maximum number of vCPUs. Default is no maximum. + VcpuCount LaunchTemplateInstanceRequirementsVcpuCountInput `pulumi:"vcpuCount"` } -func (i LaunchTemplateInstanceRequirementsNetworkInterfaceCountArgs) ToLaunchTemplateInstanceRequirementsNetworkInterfaceCountOutput() LaunchTemplateInstanceRequirementsNetworkInterfaceCountOutput { - return i.ToLaunchTemplateInstanceRequirementsNetworkInterfaceCountOutputWithContext(context.Background()) +func (LaunchTemplateInstanceRequirementsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LaunchTemplateInstanceRequirements)(nil)).Elem() } -func (i LaunchTemplateInstanceRequirementsNetworkInterfaceCountArgs) ToLaunchTemplateInstanceRequirementsNetworkInterfaceCountOutputWithContext(ctx context.Context) LaunchTemplateInstanceRequirementsNetworkInterfaceCountOutput { - return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateInstanceRequirementsNetworkInterfaceCountOutput) +func (i LaunchTemplateInstanceRequirementsArgs) ToLaunchTemplateInstanceRequirementsOutput() LaunchTemplateInstanceRequirementsOutput { + return i.ToLaunchTemplateInstanceRequirementsOutputWithContext(context.Background()) } -func (i LaunchTemplateInstanceRequirementsNetworkInterfaceCountArgs) ToLaunchTemplateInstanceRequirementsNetworkInterfaceCountPtrOutput() LaunchTemplateInstanceRequirementsNetworkInterfaceCountPtrOutput { - return i.ToLaunchTemplateInstanceRequirementsNetworkInterfaceCountPtrOutputWithContext(context.Background()) +func (i LaunchTemplateInstanceRequirementsArgs) ToLaunchTemplateInstanceRequirementsOutputWithContext(ctx context.Context) LaunchTemplateInstanceRequirementsOutput { + return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateInstanceRequirementsOutput) } -func (i LaunchTemplateInstanceRequirementsNetworkInterfaceCountArgs) ToLaunchTemplateInstanceRequirementsNetworkInterfaceCountPtrOutputWithContext(ctx context.Context) LaunchTemplateInstanceRequirementsNetworkInterfaceCountPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateInstanceRequirementsNetworkInterfaceCountOutput).ToLaunchTemplateInstanceRequirementsNetworkInterfaceCountPtrOutputWithContext(ctx) +func (i LaunchTemplateInstanceRequirementsArgs) ToLaunchTemplateInstanceRequirementsPtrOutput() LaunchTemplateInstanceRequirementsPtrOutput { + return i.ToLaunchTemplateInstanceRequirementsPtrOutputWithContext(context.Background()) } -// LaunchTemplateInstanceRequirementsNetworkInterfaceCountPtrInput is an input type that accepts LaunchTemplateInstanceRequirementsNetworkInterfaceCountArgs, LaunchTemplateInstanceRequirementsNetworkInterfaceCountPtr and LaunchTemplateInstanceRequirementsNetworkInterfaceCountPtrOutput values. -// You can construct a concrete instance of `LaunchTemplateInstanceRequirementsNetworkInterfaceCountPtrInput` via: +func (i LaunchTemplateInstanceRequirementsArgs) ToLaunchTemplateInstanceRequirementsPtrOutputWithContext(ctx context.Context) LaunchTemplateInstanceRequirementsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateInstanceRequirementsOutput).ToLaunchTemplateInstanceRequirementsPtrOutputWithContext(ctx) +} + +// LaunchTemplateInstanceRequirementsPtrInput is an input type that accepts LaunchTemplateInstanceRequirementsArgs, LaunchTemplateInstanceRequirementsPtr and LaunchTemplateInstanceRequirementsPtrOutput values. +// You can construct a concrete instance of `LaunchTemplateInstanceRequirementsPtrInput` via: // -// LaunchTemplateInstanceRequirementsNetworkInterfaceCountArgs{...} +// LaunchTemplateInstanceRequirementsArgs{...} // // or: // // nil -type LaunchTemplateInstanceRequirementsNetworkInterfaceCountPtrInput interface { +type LaunchTemplateInstanceRequirementsPtrInput interface { pulumi.Input - ToLaunchTemplateInstanceRequirementsNetworkInterfaceCountPtrOutput() LaunchTemplateInstanceRequirementsNetworkInterfaceCountPtrOutput - ToLaunchTemplateInstanceRequirementsNetworkInterfaceCountPtrOutputWithContext(context.Context) LaunchTemplateInstanceRequirementsNetworkInterfaceCountPtrOutput + ToLaunchTemplateInstanceRequirementsPtrOutput() LaunchTemplateInstanceRequirementsPtrOutput + ToLaunchTemplateInstanceRequirementsPtrOutputWithContext(context.Context) LaunchTemplateInstanceRequirementsPtrOutput } -type launchTemplateInstanceRequirementsNetworkInterfaceCountPtrType LaunchTemplateInstanceRequirementsNetworkInterfaceCountArgs +type launchTemplateInstanceRequirementsPtrType LaunchTemplateInstanceRequirementsArgs -func LaunchTemplateInstanceRequirementsNetworkInterfaceCountPtr(v *LaunchTemplateInstanceRequirementsNetworkInterfaceCountArgs) LaunchTemplateInstanceRequirementsNetworkInterfaceCountPtrInput { - return (*launchTemplateInstanceRequirementsNetworkInterfaceCountPtrType)(v) +func LaunchTemplateInstanceRequirementsPtr(v *LaunchTemplateInstanceRequirementsArgs) LaunchTemplateInstanceRequirementsPtrInput { + return (*launchTemplateInstanceRequirementsPtrType)(v) } -func (*launchTemplateInstanceRequirementsNetworkInterfaceCountPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**LaunchTemplateInstanceRequirementsNetworkInterfaceCount)(nil)).Elem() +func (*launchTemplateInstanceRequirementsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**LaunchTemplateInstanceRequirements)(nil)).Elem() } -func (i *launchTemplateInstanceRequirementsNetworkInterfaceCountPtrType) ToLaunchTemplateInstanceRequirementsNetworkInterfaceCountPtrOutput() LaunchTemplateInstanceRequirementsNetworkInterfaceCountPtrOutput { - return i.ToLaunchTemplateInstanceRequirementsNetworkInterfaceCountPtrOutputWithContext(context.Background()) +func (i *launchTemplateInstanceRequirementsPtrType) ToLaunchTemplateInstanceRequirementsPtrOutput() LaunchTemplateInstanceRequirementsPtrOutput { + return i.ToLaunchTemplateInstanceRequirementsPtrOutputWithContext(context.Background()) } -func (i *launchTemplateInstanceRequirementsNetworkInterfaceCountPtrType) ToLaunchTemplateInstanceRequirementsNetworkInterfaceCountPtrOutputWithContext(ctx context.Context) LaunchTemplateInstanceRequirementsNetworkInterfaceCountPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateInstanceRequirementsNetworkInterfaceCountPtrOutput) +func (i *launchTemplateInstanceRequirementsPtrType) ToLaunchTemplateInstanceRequirementsPtrOutputWithContext(ctx context.Context) LaunchTemplateInstanceRequirementsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateInstanceRequirementsPtrOutput) } -type LaunchTemplateInstanceRequirementsNetworkInterfaceCountOutput struct{ *pulumi.OutputState } +type LaunchTemplateInstanceRequirementsOutput struct{ *pulumi.OutputState } -func (LaunchTemplateInstanceRequirementsNetworkInterfaceCountOutput) ElementType() reflect.Type { - return reflect.TypeOf((*LaunchTemplateInstanceRequirementsNetworkInterfaceCount)(nil)).Elem() +func (LaunchTemplateInstanceRequirementsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LaunchTemplateInstanceRequirements)(nil)).Elem() } -func (o LaunchTemplateInstanceRequirementsNetworkInterfaceCountOutput) ToLaunchTemplateInstanceRequirementsNetworkInterfaceCountOutput() LaunchTemplateInstanceRequirementsNetworkInterfaceCountOutput { +func (o LaunchTemplateInstanceRequirementsOutput) ToLaunchTemplateInstanceRequirementsOutput() LaunchTemplateInstanceRequirementsOutput { return o } -func (o LaunchTemplateInstanceRequirementsNetworkInterfaceCountOutput) ToLaunchTemplateInstanceRequirementsNetworkInterfaceCountOutputWithContext(ctx context.Context) LaunchTemplateInstanceRequirementsNetworkInterfaceCountOutput { +func (o LaunchTemplateInstanceRequirementsOutput) ToLaunchTemplateInstanceRequirementsOutputWithContext(ctx context.Context) LaunchTemplateInstanceRequirementsOutput { return o } -func (o LaunchTemplateInstanceRequirementsNetworkInterfaceCountOutput) ToLaunchTemplateInstanceRequirementsNetworkInterfaceCountPtrOutput() LaunchTemplateInstanceRequirementsNetworkInterfaceCountPtrOutput { - return o.ToLaunchTemplateInstanceRequirementsNetworkInterfaceCountPtrOutputWithContext(context.Background()) +func (o LaunchTemplateInstanceRequirementsOutput) ToLaunchTemplateInstanceRequirementsPtrOutput() LaunchTemplateInstanceRequirementsPtrOutput { + return o.ToLaunchTemplateInstanceRequirementsPtrOutputWithContext(context.Background()) } -func (o LaunchTemplateInstanceRequirementsNetworkInterfaceCountOutput) ToLaunchTemplateInstanceRequirementsNetworkInterfaceCountPtrOutputWithContext(ctx context.Context) LaunchTemplateInstanceRequirementsNetworkInterfaceCountPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v LaunchTemplateInstanceRequirementsNetworkInterfaceCount) *LaunchTemplateInstanceRequirementsNetworkInterfaceCount { +func (o LaunchTemplateInstanceRequirementsOutput) ToLaunchTemplateInstanceRequirementsPtrOutputWithContext(ctx context.Context) LaunchTemplateInstanceRequirementsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v LaunchTemplateInstanceRequirements) *LaunchTemplateInstanceRequirements { return &v - }).(LaunchTemplateInstanceRequirementsNetworkInterfaceCountPtrOutput) + }).(LaunchTemplateInstanceRequirementsPtrOutput) } -// Maximum. -func (o LaunchTemplateInstanceRequirementsNetworkInterfaceCountOutput) Max() pulumi.IntPtrOutput { - return o.ApplyT(func(v LaunchTemplateInstanceRequirementsNetworkInterfaceCount) *int { return v.Max }).(pulumi.IntPtrOutput) +// Block describing the minimum and maximum number of accelerators (GPUs, FPGAs, or AWS Inferentia chips). Default is no minimum or maximum. +func (o LaunchTemplateInstanceRequirementsOutput) AcceleratorCount() LaunchTemplateInstanceRequirementsAcceleratorCountPtrOutput { + return o.ApplyT(func(v LaunchTemplateInstanceRequirements) *LaunchTemplateInstanceRequirementsAcceleratorCount { + return v.AcceleratorCount + }).(LaunchTemplateInstanceRequirementsAcceleratorCountPtrOutput) } -// Minimum. -func (o LaunchTemplateInstanceRequirementsNetworkInterfaceCountOutput) Min() pulumi.IntPtrOutput { - return o.ApplyT(func(v LaunchTemplateInstanceRequirementsNetworkInterfaceCount) *int { return v.Min }).(pulumi.IntPtrOutput) +// List of accelerator manufacturer names. Default is any manufacturer. +func (o LaunchTemplateInstanceRequirementsOutput) AcceleratorManufacturers() pulumi.StringArrayOutput { + return o.ApplyT(func(v LaunchTemplateInstanceRequirements) []string { return v.AcceleratorManufacturers }).(pulumi.StringArrayOutput) } -type LaunchTemplateInstanceRequirementsNetworkInterfaceCountPtrOutput struct{ *pulumi.OutputState } - -func (LaunchTemplateInstanceRequirementsNetworkInterfaceCountPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**LaunchTemplateInstanceRequirementsNetworkInterfaceCount)(nil)).Elem() +// List of accelerator names. Default is any acclerator. +func (o LaunchTemplateInstanceRequirementsOutput) AcceleratorNames() pulumi.StringArrayOutput { + return o.ApplyT(func(v LaunchTemplateInstanceRequirements) []string { return v.AcceleratorNames }).(pulumi.StringArrayOutput) } -func (o LaunchTemplateInstanceRequirementsNetworkInterfaceCountPtrOutput) ToLaunchTemplateInstanceRequirementsNetworkInterfaceCountPtrOutput() LaunchTemplateInstanceRequirementsNetworkInterfaceCountPtrOutput { - return o +// Block describing the minimum and maximum total memory of the accelerators. Default is no minimum or maximum. +func (o LaunchTemplateInstanceRequirementsOutput) AcceleratorTotalMemoryMib() LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibPtrOutput { + return o.ApplyT(func(v LaunchTemplateInstanceRequirements) *LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMib { + return v.AcceleratorTotalMemoryMib + }).(LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibPtrOutput) } -func (o LaunchTemplateInstanceRequirementsNetworkInterfaceCountPtrOutput) ToLaunchTemplateInstanceRequirementsNetworkInterfaceCountPtrOutputWithContext(ctx context.Context) LaunchTemplateInstanceRequirementsNetworkInterfaceCountPtrOutput { - return o +// List of accelerator types. Default is any accelerator type. +func (o LaunchTemplateInstanceRequirementsOutput) AcceleratorTypes() pulumi.StringArrayOutput { + return o.ApplyT(func(v LaunchTemplateInstanceRequirements) []string { return v.AcceleratorTypes }).(pulumi.StringArrayOutput) } -func (o LaunchTemplateInstanceRequirementsNetworkInterfaceCountPtrOutput) Elem() LaunchTemplateInstanceRequirementsNetworkInterfaceCountOutput { - return o.ApplyT(func(v *LaunchTemplateInstanceRequirementsNetworkInterfaceCount) LaunchTemplateInstanceRequirementsNetworkInterfaceCount { - if v != nil { - return *v - } - var ret LaunchTemplateInstanceRequirementsNetworkInterfaceCount - return ret - }).(LaunchTemplateInstanceRequirementsNetworkInterfaceCountOutput) +// 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. +// +// > **NOTE:** If you specify `allowedInstanceTypes`, you can't specify `excludedInstanceTypes`. +func (o LaunchTemplateInstanceRequirementsOutput) AllowedInstanceTypes() pulumi.StringArrayOutput { + return o.ApplyT(func(v LaunchTemplateInstanceRequirements) []string { return v.AllowedInstanceTypes }).(pulumi.StringArrayOutput) } -// Maximum. -func (o LaunchTemplateInstanceRequirementsNetworkInterfaceCountPtrOutput) Max() pulumi.IntPtrOutput { - return o.ApplyT(func(v *LaunchTemplateInstanceRequirementsNetworkInterfaceCount) *int { - if v == nil { - return nil - } - return v.Max - }).(pulumi.IntPtrOutput) +// Indicate whether bare metal instace types should be `included`, `excluded`, or `required`. Default is `excluded`. +func (o LaunchTemplateInstanceRequirementsOutput) BareMetal() pulumi.StringPtrOutput { + return o.ApplyT(func(v LaunchTemplateInstanceRequirements) *string { return v.BareMetal }).(pulumi.StringPtrOutput) } -// Minimum. -func (o LaunchTemplateInstanceRequirementsNetworkInterfaceCountPtrOutput) Min() pulumi.IntPtrOutput { - return o.ApplyT(func(v *LaunchTemplateInstanceRequirementsNetworkInterfaceCount) *int { - if v == nil { - return nil - } - return v.Min - }).(pulumi.IntPtrOutput) +// Block describing the minimum and maximum baseline EBS bandwidth, in Mbps. Default is no minimum or maximum. +func (o LaunchTemplateInstanceRequirementsOutput) BaselineEbsBandwidthMbps() LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutput { + return o.ApplyT(func(v LaunchTemplateInstanceRequirements) *LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbps { + return v.BaselineEbsBandwidthMbps + }).(LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutput) } -type LaunchTemplateInstanceRequirementsTotalLocalStorageGb struct { - // Maximum. May be a decimal number, e.g. `0.5`. - Max *float64 `pulumi:"max"` - // Minimum. May be a decimal number, e.g. `0.5`. - Min *float64 `pulumi:"min"` +// Indicate whether burstable performance instance types should be `included`, `excluded`, or `required`. Default is `excluded`. +func (o LaunchTemplateInstanceRequirementsOutput) BurstablePerformance() pulumi.StringPtrOutput { + return o.ApplyT(func(v LaunchTemplateInstanceRequirements) *string { return v.BurstablePerformance }).(pulumi.StringPtrOutput) } -// LaunchTemplateInstanceRequirementsTotalLocalStorageGbInput is an input type that accepts LaunchTemplateInstanceRequirementsTotalLocalStorageGbArgs and LaunchTemplateInstanceRequirementsTotalLocalStorageGbOutput values. -// You can construct a concrete instance of `LaunchTemplateInstanceRequirementsTotalLocalStorageGbInput` via: +// List of CPU manufacturer names. Default is any manufacturer. // -// LaunchTemplateInstanceRequirementsTotalLocalStorageGbArgs{...} -type LaunchTemplateInstanceRequirementsTotalLocalStorageGbInput interface { - pulumi.Input - - ToLaunchTemplateInstanceRequirementsTotalLocalStorageGbOutput() LaunchTemplateInstanceRequirementsTotalLocalStorageGbOutput - ToLaunchTemplateInstanceRequirementsTotalLocalStorageGbOutputWithContext(context.Context) LaunchTemplateInstanceRequirementsTotalLocalStorageGbOutput -} - -type LaunchTemplateInstanceRequirementsTotalLocalStorageGbArgs struct { - // Maximum. May be a decimal number, e.g. `0.5`. - Max pulumi.Float64PtrInput `pulumi:"max"` - // Minimum. May be a decimal number, e.g. `0.5`. - Min pulumi.Float64PtrInput `pulumi:"min"` -} - -func (LaunchTemplateInstanceRequirementsTotalLocalStorageGbArgs) ElementType() reflect.Type { - return reflect.TypeOf((*LaunchTemplateInstanceRequirementsTotalLocalStorageGb)(nil)).Elem() -} - -func (i LaunchTemplateInstanceRequirementsTotalLocalStorageGbArgs) ToLaunchTemplateInstanceRequirementsTotalLocalStorageGbOutput() LaunchTemplateInstanceRequirementsTotalLocalStorageGbOutput { - return i.ToLaunchTemplateInstanceRequirementsTotalLocalStorageGbOutputWithContext(context.Background()) +// > **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. +func (o LaunchTemplateInstanceRequirementsOutput) CpuManufacturers() pulumi.StringArrayOutput { + return o.ApplyT(func(v LaunchTemplateInstanceRequirements) []string { return v.CpuManufacturers }).(pulumi.StringArrayOutput) } -func (i LaunchTemplateInstanceRequirementsTotalLocalStorageGbArgs) ToLaunchTemplateInstanceRequirementsTotalLocalStorageGbOutputWithContext(ctx context.Context) LaunchTemplateInstanceRequirementsTotalLocalStorageGbOutput { - return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateInstanceRequirementsTotalLocalStorageGbOutput) +// 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. +// +// > **NOTE:** If you specify `excludedInstanceTypes`, you can't specify `allowedInstanceTypes`. +func (o LaunchTemplateInstanceRequirementsOutput) ExcludedInstanceTypes() pulumi.StringArrayOutput { + return o.ApplyT(func(v LaunchTemplateInstanceRequirements) []string { return v.ExcludedInstanceTypes }).(pulumi.StringArrayOutput) } -func (i LaunchTemplateInstanceRequirementsTotalLocalStorageGbArgs) ToLaunchTemplateInstanceRequirementsTotalLocalStorageGbPtrOutput() LaunchTemplateInstanceRequirementsTotalLocalStorageGbPtrOutput { - return i.ToLaunchTemplateInstanceRequirementsTotalLocalStorageGbPtrOutputWithContext(context.Background()) +// List of instance generation names. Default is any generation. +func (o LaunchTemplateInstanceRequirementsOutput) InstanceGenerations() pulumi.StringArrayOutput { + return o.ApplyT(func(v LaunchTemplateInstanceRequirements) []string { return v.InstanceGenerations }).(pulumi.StringArrayOutput) } -func (i LaunchTemplateInstanceRequirementsTotalLocalStorageGbArgs) ToLaunchTemplateInstanceRequirementsTotalLocalStorageGbPtrOutputWithContext(ctx context.Context) LaunchTemplateInstanceRequirementsTotalLocalStorageGbPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateInstanceRequirementsTotalLocalStorageGbOutput).ToLaunchTemplateInstanceRequirementsTotalLocalStorageGbPtrOutputWithContext(ctx) +// Indicate whether instance types with local storage volumes are `included`, `excluded`, or `required`. Default is `included`. +func (o LaunchTemplateInstanceRequirementsOutput) LocalStorage() pulumi.StringPtrOutput { + return o.ApplyT(func(v LaunchTemplateInstanceRequirements) *string { return v.LocalStorage }).(pulumi.StringPtrOutput) } -// LaunchTemplateInstanceRequirementsTotalLocalStorageGbPtrInput is an input type that accepts LaunchTemplateInstanceRequirementsTotalLocalStorageGbArgs, LaunchTemplateInstanceRequirementsTotalLocalStorageGbPtr and LaunchTemplateInstanceRequirementsTotalLocalStorageGbPtrOutput values. -// You can construct a concrete instance of `LaunchTemplateInstanceRequirementsTotalLocalStorageGbPtrInput` via: -// -// LaunchTemplateInstanceRequirementsTotalLocalStorageGbArgs{...} -// -// or: -// -// nil -type LaunchTemplateInstanceRequirementsTotalLocalStorageGbPtrInput interface { - pulumi.Input - - ToLaunchTemplateInstanceRequirementsTotalLocalStorageGbPtrOutput() LaunchTemplateInstanceRequirementsTotalLocalStorageGbPtrOutput - ToLaunchTemplateInstanceRequirementsTotalLocalStorageGbPtrOutputWithContext(context.Context) LaunchTemplateInstanceRequirementsTotalLocalStorageGbPtrOutput +// List of local storage type names. Default any storage type. +func (o LaunchTemplateInstanceRequirementsOutput) LocalStorageTypes() pulumi.StringArrayOutput { + return o.ApplyT(func(v LaunchTemplateInstanceRequirements) []string { return v.LocalStorageTypes }).(pulumi.StringArrayOutput) } -type launchTemplateInstanceRequirementsTotalLocalStorageGbPtrType LaunchTemplateInstanceRequirementsTotalLocalStorageGbArgs - -func LaunchTemplateInstanceRequirementsTotalLocalStorageGbPtr(v *LaunchTemplateInstanceRequirementsTotalLocalStorageGbArgs) LaunchTemplateInstanceRequirementsTotalLocalStorageGbPtrInput { - return (*launchTemplateInstanceRequirementsTotalLocalStorageGbPtrType)(v) +// The 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. Conflicts with `spotMaxPricePercentageOverLowestPrice` +func (o LaunchTemplateInstanceRequirementsOutput) MaxSpotPriceAsPercentageOfOptimalOnDemandPrice() pulumi.IntPtrOutput { + return o.ApplyT(func(v LaunchTemplateInstanceRequirements) *int { + return v.MaxSpotPriceAsPercentageOfOptimalOnDemandPrice + }).(pulumi.IntPtrOutput) } -func (*launchTemplateInstanceRequirementsTotalLocalStorageGbPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**LaunchTemplateInstanceRequirementsTotalLocalStorageGb)(nil)).Elem() +// Block describing the minimum and maximum amount of memory (GiB) per vCPU. Default is no minimum or maximum. +func (o LaunchTemplateInstanceRequirementsOutput) MemoryGibPerVcpu() LaunchTemplateInstanceRequirementsMemoryGibPerVcpuPtrOutput { + return o.ApplyT(func(v LaunchTemplateInstanceRequirements) *LaunchTemplateInstanceRequirementsMemoryGibPerVcpu { + return v.MemoryGibPerVcpu + }).(LaunchTemplateInstanceRequirementsMemoryGibPerVcpuPtrOutput) } -func (i *launchTemplateInstanceRequirementsTotalLocalStorageGbPtrType) ToLaunchTemplateInstanceRequirementsTotalLocalStorageGbPtrOutput() LaunchTemplateInstanceRequirementsTotalLocalStorageGbPtrOutput { - return i.ToLaunchTemplateInstanceRequirementsTotalLocalStorageGbPtrOutputWithContext(context.Background()) +// Block describing the minimum and maximum amount of memory (MiB). Default is no maximum. +func (o LaunchTemplateInstanceRequirementsOutput) MemoryMib() LaunchTemplateInstanceRequirementsMemoryMibOutput { + return o.ApplyT(func(v LaunchTemplateInstanceRequirements) LaunchTemplateInstanceRequirementsMemoryMib { + return v.MemoryMib + }).(LaunchTemplateInstanceRequirementsMemoryMibOutput) } -func (i *launchTemplateInstanceRequirementsTotalLocalStorageGbPtrType) ToLaunchTemplateInstanceRequirementsTotalLocalStorageGbPtrOutputWithContext(ctx context.Context) LaunchTemplateInstanceRequirementsTotalLocalStorageGbPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateInstanceRequirementsTotalLocalStorageGbPtrOutput) +// Block describing the minimum and maximum amount of network bandwidth, in gigabits per second (Gbps). Default is no minimum or maximum. +func (o LaunchTemplateInstanceRequirementsOutput) NetworkBandwidthGbps() LaunchTemplateInstanceRequirementsNetworkBandwidthGbpsPtrOutput { + return o.ApplyT(func(v LaunchTemplateInstanceRequirements) *LaunchTemplateInstanceRequirementsNetworkBandwidthGbps { + return v.NetworkBandwidthGbps + }).(LaunchTemplateInstanceRequirementsNetworkBandwidthGbpsPtrOutput) } -type LaunchTemplateInstanceRequirementsTotalLocalStorageGbOutput struct{ *pulumi.OutputState } - -func (LaunchTemplateInstanceRequirementsTotalLocalStorageGbOutput) ElementType() reflect.Type { - return reflect.TypeOf((*LaunchTemplateInstanceRequirementsTotalLocalStorageGb)(nil)).Elem() +// Block describing the minimum and maximum number of network interfaces. Default is no minimum or maximum. +func (o LaunchTemplateInstanceRequirementsOutput) NetworkInterfaceCount() LaunchTemplateInstanceRequirementsNetworkInterfaceCountPtrOutput { + return o.ApplyT(func(v LaunchTemplateInstanceRequirements) *LaunchTemplateInstanceRequirementsNetworkInterfaceCount { + return v.NetworkInterfaceCount + }).(LaunchTemplateInstanceRequirementsNetworkInterfaceCountPtrOutput) } -func (o LaunchTemplateInstanceRequirementsTotalLocalStorageGbOutput) ToLaunchTemplateInstanceRequirementsTotalLocalStorageGbOutput() LaunchTemplateInstanceRequirementsTotalLocalStorageGbOutput { - return o +// The 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. +// +// If 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. +func (o LaunchTemplateInstanceRequirementsOutput) OnDemandMaxPricePercentageOverLowestPrice() pulumi.IntPtrOutput { + return o.ApplyT(func(v LaunchTemplateInstanceRequirements) *int { return v.OnDemandMaxPricePercentageOverLowestPrice }).(pulumi.IntPtrOutput) } -func (o LaunchTemplateInstanceRequirementsTotalLocalStorageGbOutput) ToLaunchTemplateInstanceRequirementsTotalLocalStorageGbOutputWithContext(ctx context.Context) LaunchTemplateInstanceRequirementsTotalLocalStorageGbOutput { - return o +// Indicate whether instance types must support On-Demand Instance Hibernation, either `true` or `false`. Default is `false`. +func (o LaunchTemplateInstanceRequirementsOutput) RequireHibernateSupport() pulumi.BoolPtrOutput { + return o.ApplyT(func(v LaunchTemplateInstanceRequirements) *bool { return v.RequireHibernateSupport }).(pulumi.BoolPtrOutput) } -func (o LaunchTemplateInstanceRequirementsTotalLocalStorageGbOutput) ToLaunchTemplateInstanceRequirementsTotalLocalStorageGbPtrOutput() LaunchTemplateInstanceRequirementsTotalLocalStorageGbPtrOutput { - return o.ToLaunchTemplateInstanceRequirementsTotalLocalStorageGbPtrOutputWithContext(context.Background()) +// The 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. Conflicts with `maxSpotPriceAsPercentageOfOptimalOnDemandPrice` +// +// If 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. +func (o LaunchTemplateInstanceRequirementsOutput) SpotMaxPricePercentageOverLowestPrice() pulumi.IntPtrOutput { + return o.ApplyT(func(v LaunchTemplateInstanceRequirements) *int { return v.SpotMaxPricePercentageOverLowestPrice }).(pulumi.IntPtrOutput) } -func (o LaunchTemplateInstanceRequirementsTotalLocalStorageGbOutput) ToLaunchTemplateInstanceRequirementsTotalLocalStorageGbPtrOutputWithContext(ctx context.Context) LaunchTemplateInstanceRequirementsTotalLocalStorageGbPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v LaunchTemplateInstanceRequirementsTotalLocalStorageGb) *LaunchTemplateInstanceRequirementsTotalLocalStorageGb { - return &v +// Block describing the minimum and maximum total local storage (GB). Default is no minimum or maximum. +func (o LaunchTemplateInstanceRequirementsOutput) TotalLocalStorageGb() LaunchTemplateInstanceRequirementsTotalLocalStorageGbPtrOutput { + return o.ApplyT(func(v LaunchTemplateInstanceRequirements) *LaunchTemplateInstanceRequirementsTotalLocalStorageGb { + return v.TotalLocalStorageGb }).(LaunchTemplateInstanceRequirementsTotalLocalStorageGbPtrOutput) } -// Maximum. May be a decimal number, e.g. `0.5`. -func (o LaunchTemplateInstanceRequirementsTotalLocalStorageGbOutput) Max() pulumi.Float64PtrOutput { - return o.ApplyT(func(v LaunchTemplateInstanceRequirementsTotalLocalStorageGb) *float64 { return v.Max }).(pulumi.Float64PtrOutput) -} - -// Minimum. May be a decimal number, e.g. `0.5`. -func (o LaunchTemplateInstanceRequirementsTotalLocalStorageGbOutput) Min() pulumi.Float64PtrOutput { - return o.ApplyT(func(v LaunchTemplateInstanceRequirementsTotalLocalStorageGb) *float64 { return v.Min }).(pulumi.Float64PtrOutput) +// Block describing the minimum and maximum number of vCPUs. Default is no maximum. +func (o LaunchTemplateInstanceRequirementsOutput) VcpuCount() LaunchTemplateInstanceRequirementsVcpuCountOutput { + return o.ApplyT(func(v LaunchTemplateInstanceRequirements) LaunchTemplateInstanceRequirementsVcpuCount { + return v.VcpuCount + }).(LaunchTemplateInstanceRequirementsVcpuCountOutput) } -type LaunchTemplateInstanceRequirementsTotalLocalStorageGbPtrOutput struct{ *pulumi.OutputState } +type LaunchTemplateInstanceRequirementsPtrOutput struct{ *pulumi.OutputState } -func (LaunchTemplateInstanceRequirementsTotalLocalStorageGbPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**LaunchTemplateInstanceRequirementsTotalLocalStorageGb)(nil)).Elem() +func (LaunchTemplateInstanceRequirementsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**LaunchTemplateInstanceRequirements)(nil)).Elem() } -func (o LaunchTemplateInstanceRequirementsTotalLocalStorageGbPtrOutput) ToLaunchTemplateInstanceRequirementsTotalLocalStorageGbPtrOutput() LaunchTemplateInstanceRequirementsTotalLocalStorageGbPtrOutput { +func (o LaunchTemplateInstanceRequirementsPtrOutput) ToLaunchTemplateInstanceRequirementsPtrOutput() LaunchTemplateInstanceRequirementsPtrOutput { return o } -func (o LaunchTemplateInstanceRequirementsTotalLocalStorageGbPtrOutput) ToLaunchTemplateInstanceRequirementsTotalLocalStorageGbPtrOutputWithContext(ctx context.Context) LaunchTemplateInstanceRequirementsTotalLocalStorageGbPtrOutput { +func (o LaunchTemplateInstanceRequirementsPtrOutput) ToLaunchTemplateInstanceRequirementsPtrOutputWithContext(ctx context.Context) LaunchTemplateInstanceRequirementsPtrOutput { return o } -func (o LaunchTemplateInstanceRequirementsTotalLocalStorageGbPtrOutput) Elem() LaunchTemplateInstanceRequirementsTotalLocalStorageGbOutput { - return o.ApplyT(func(v *LaunchTemplateInstanceRequirementsTotalLocalStorageGb) LaunchTemplateInstanceRequirementsTotalLocalStorageGb { +func (o LaunchTemplateInstanceRequirementsPtrOutput) Elem() LaunchTemplateInstanceRequirementsOutput { + return o.ApplyT(func(v *LaunchTemplateInstanceRequirements) LaunchTemplateInstanceRequirements { if v != nil { return *v } - var ret LaunchTemplateInstanceRequirementsTotalLocalStorageGb + var ret LaunchTemplateInstanceRequirements return ret - }).(LaunchTemplateInstanceRequirementsTotalLocalStorageGbOutput) + }).(LaunchTemplateInstanceRequirementsOutput) } -// Maximum. May be a decimal number, e.g. `0.5`. -func (o LaunchTemplateInstanceRequirementsTotalLocalStorageGbPtrOutput) Max() pulumi.Float64PtrOutput { - return o.ApplyT(func(v *LaunchTemplateInstanceRequirementsTotalLocalStorageGb) *float64 { +// Block describing the minimum and maximum number of accelerators (GPUs, FPGAs, or AWS Inferentia chips). Default is no minimum or maximum. +func (o LaunchTemplateInstanceRequirementsPtrOutput) AcceleratorCount() LaunchTemplateInstanceRequirementsAcceleratorCountPtrOutput { + return o.ApplyT(func(v *LaunchTemplateInstanceRequirements) *LaunchTemplateInstanceRequirementsAcceleratorCount { if v == nil { return nil } - return v.Max - }).(pulumi.Float64PtrOutput) + return v.AcceleratorCount + }).(LaunchTemplateInstanceRequirementsAcceleratorCountPtrOutput) } -// Minimum. May be a decimal number, e.g. `0.5`. -func (o LaunchTemplateInstanceRequirementsTotalLocalStorageGbPtrOutput) Min() pulumi.Float64PtrOutput { - return o.ApplyT(func(v *LaunchTemplateInstanceRequirementsTotalLocalStorageGb) *float64 { +// List of accelerator manufacturer names. Default is any manufacturer. +func (o LaunchTemplateInstanceRequirementsPtrOutput) AcceleratorManufacturers() pulumi.StringArrayOutput { + return o.ApplyT(func(v *LaunchTemplateInstanceRequirements) []string { if v == nil { return nil } - return v.Min - }).(pulumi.Float64PtrOutput) + return v.AcceleratorManufacturers + }).(pulumi.StringArrayOutput) } -type LaunchTemplateInstanceRequirementsVcpuCount struct { - // Maximum. - Max *int `pulumi:"max"` - // Minimum. - Min int `pulumi:"min"` +// List of accelerator names. Default is any acclerator. +func (o LaunchTemplateInstanceRequirementsPtrOutput) AcceleratorNames() pulumi.StringArrayOutput { + return o.ApplyT(func(v *LaunchTemplateInstanceRequirements) []string { + if v == nil { + return nil + } + return v.AcceleratorNames + }).(pulumi.StringArrayOutput) } -// LaunchTemplateInstanceRequirementsVcpuCountInput is an input type that accepts LaunchTemplateInstanceRequirementsVcpuCountArgs and LaunchTemplateInstanceRequirementsVcpuCountOutput values. -// You can construct a concrete instance of `LaunchTemplateInstanceRequirementsVcpuCountInput` via: -// -// LaunchTemplateInstanceRequirementsVcpuCountArgs{...} -type LaunchTemplateInstanceRequirementsVcpuCountInput interface { - pulumi.Input +// Block describing the minimum and maximum total memory of the accelerators. Default is no minimum or maximum. +func (o LaunchTemplateInstanceRequirementsPtrOutput) AcceleratorTotalMemoryMib() LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibPtrOutput { + return o.ApplyT(func(v *LaunchTemplateInstanceRequirements) *LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMib { + if v == nil { + return nil + } + return v.AcceleratorTotalMemoryMib + }).(LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibPtrOutput) +} - ToLaunchTemplateInstanceRequirementsVcpuCountOutput() LaunchTemplateInstanceRequirementsVcpuCountOutput - ToLaunchTemplateInstanceRequirementsVcpuCountOutputWithContext(context.Context) LaunchTemplateInstanceRequirementsVcpuCountOutput +// List of accelerator types. Default is any accelerator type. +func (o LaunchTemplateInstanceRequirementsPtrOutput) AcceleratorTypes() pulumi.StringArrayOutput { + return o.ApplyT(func(v *LaunchTemplateInstanceRequirements) []string { + if v == nil { + return nil + } + return v.AcceleratorTypes + }).(pulumi.StringArrayOutput) } -type LaunchTemplateInstanceRequirementsVcpuCountArgs struct { - // Maximum. - Max pulumi.IntPtrInput `pulumi:"max"` - // Minimum. - Min pulumi.IntInput `pulumi:"min"` +// 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. +// +// > **NOTE:** If you specify `allowedInstanceTypes`, you can't specify `excludedInstanceTypes`. +func (o LaunchTemplateInstanceRequirementsPtrOutput) AllowedInstanceTypes() pulumi.StringArrayOutput { + return o.ApplyT(func(v *LaunchTemplateInstanceRequirements) []string { + if v == nil { + return nil + } + return v.AllowedInstanceTypes + }).(pulumi.StringArrayOutput) } -func (LaunchTemplateInstanceRequirementsVcpuCountArgs) ElementType() reflect.Type { - return reflect.TypeOf((*LaunchTemplateInstanceRequirementsVcpuCount)(nil)).Elem() -} - -func (i LaunchTemplateInstanceRequirementsVcpuCountArgs) ToLaunchTemplateInstanceRequirementsVcpuCountOutput() LaunchTemplateInstanceRequirementsVcpuCountOutput { - return i.ToLaunchTemplateInstanceRequirementsVcpuCountOutputWithContext(context.Background()) -} - -func (i LaunchTemplateInstanceRequirementsVcpuCountArgs) ToLaunchTemplateInstanceRequirementsVcpuCountOutputWithContext(ctx context.Context) LaunchTemplateInstanceRequirementsVcpuCountOutput { - return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateInstanceRequirementsVcpuCountOutput) +// Indicate whether bare metal instace types should be `included`, `excluded`, or `required`. Default is `excluded`. +func (o LaunchTemplateInstanceRequirementsPtrOutput) BareMetal() pulumi.StringPtrOutput { + return o.ApplyT(func(v *LaunchTemplateInstanceRequirements) *string { + if v == nil { + return nil + } + return v.BareMetal + }).(pulumi.StringPtrOutput) } -func (i LaunchTemplateInstanceRequirementsVcpuCountArgs) ToLaunchTemplateInstanceRequirementsVcpuCountPtrOutput() LaunchTemplateInstanceRequirementsVcpuCountPtrOutput { - return i.ToLaunchTemplateInstanceRequirementsVcpuCountPtrOutputWithContext(context.Background()) +// Block describing the minimum and maximum baseline EBS bandwidth, in Mbps. Default is no minimum or maximum. +func (o LaunchTemplateInstanceRequirementsPtrOutput) BaselineEbsBandwidthMbps() LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutput { + return o.ApplyT(func(v *LaunchTemplateInstanceRequirements) *LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbps { + if v == nil { + return nil + } + return v.BaselineEbsBandwidthMbps + }).(LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutput) } -func (i LaunchTemplateInstanceRequirementsVcpuCountArgs) ToLaunchTemplateInstanceRequirementsVcpuCountPtrOutputWithContext(ctx context.Context) LaunchTemplateInstanceRequirementsVcpuCountPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateInstanceRequirementsVcpuCountOutput).ToLaunchTemplateInstanceRequirementsVcpuCountPtrOutputWithContext(ctx) +// Indicate whether burstable performance instance types should be `included`, `excluded`, or `required`. Default is `excluded`. +func (o LaunchTemplateInstanceRequirementsPtrOutput) BurstablePerformance() pulumi.StringPtrOutput { + return o.ApplyT(func(v *LaunchTemplateInstanceRequirements) *string { + if v == nil { + return nil + } + return v.BurstablePerformance + }).(pulumi.StringPtrOutput) } -// LaunchTemplateInstanceRequirementsVcpuCountPtrInput is an input type that accepts LaunchTemplateInstanceRequirementsVcpuCountArgs, LaunchTemplateInstanceRequirementsVcpuCountPtr and LaunchTemplateInstanceRequirementsVcpuCountPtrOutput values. -// You can construct a concrete instance of `LaunchTemplateInstanceRequirementsVcpuCountPtrInput` via: -// -// LaunchTemplateInstanceRequirementsVcpuCountArgs{...} -// -// or: +// List of CPU manufacturer names. Default is any manufacturer. // -// nil -type LaunchTemplateInstanceRequirementsVcpuCountPtrInput interface { - pulumi.Input - - ToLaunchTemplateInstanceRequirementsVcpuCountPtrOutput() LaunchTemplateInstanceRequirementsVcpuCountPtrOutput - ToLaunchTemplateInstanceRequirementsVcpuCountPtrOutputWithContext(context.Context) LaunchTemplateInstanceRequirementsVcpuCountPtrOutput -} - -type launchTemplateInstanceRequirementsVcpuCountPtrType LaunchTemplateInstanceRequirementsVcpuCountArgs - -func LaunchTemplateInstanceRequirementsVcpuCountPtr(v *LaunchTemplateInstanceRequirementsVcpuCountArgs) LaunchTemplateInstanceRequirementsVcpuCountPtrInput { - return (*launchTemplateInstanceRequirementsVcpuCountPtrType)(v) -} - -func (*launchTemplateInstanceRequirementsVcpuCountPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**LaunchTemplateInstanceRequirementsVcpuCount)(nil)).Elem() -} - -func (i *launchTemplateInstanceRequirementsVcpuCountPtrType) ToLaunchTemplateInstanceRequirementsVcpuCountPtrOutput() LaunchTemplateInstanceRequirementsVcpuCountPtrOutput { - return i.ToLaunchTemplateInstanceRequirementsVcpuCountPtrOutputWithContext(context.Background()) +// > **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. +func (o LaunchTemplateInstanceRequirementsPtrOutput) CpuManufacturers() pulumi.StringArrayOutput { + return o.ApplyT(func(v *LaunchTemplateInstanceRequirements) []string { + if v == nil { + return nil + } + return v.CpuManufacturers + }).(pulumi.StringArrayOutput) } -func (i *launchTemplateInstanceRequirementsVcpuCountPtrType) ToLaunchTemplateInstanceRequirementsVcpuCountPtrOutputWithContext(ctx context.Context) LaunchTemplateInstanceRequirementsVcpuCountPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateInstanceRequirementsVcpuCountPtrOutput) +// 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. +// +// > **NOTE:** If you specify `excludedInstanceTypes`, you can't specify `allowedInstanceTypes`. +func (o LaunchTemplateInstanceRequirementsPtrOutput) ExcludedInstanceTypes() pulumi.StringArrayOutput { + return o.ApplyT(func(v *LaunchTemplateInstanceRequirements) []string { + if v == nil { + return nil + } + return v.ExcludedInstanceTypes + }).(pulumi.StringArrayOutput) } -type LaunchTemplateInstanceRequirementsVcpuCountOutput struct{ *pulumi.OutputState } - -func (LaunchTemplateInstanceRequirementsVcpuCountOutput) ElementType() reflect.Type { - return reflect.TypeOf((*LaunchTemplateInstanceRequirementsVcpuCount)(nil)).Elem() +// List of instance generation names. Default is any generation. +func (o LaunchTemplateInstanceRequirementsPtrOutput) InstanceGenerations() pulumi.StringArrayOutput { + return o.ApplyT(func(v *LaunchTemplateInstanceRequirements) []string { + if v == nil { + return nil + } + return v.InstanceGenerations + }).(pulumi.StringArrayOutput) } -func (o LaunchTemplateInstanceRequirementsVcpuCountOutput) ToLaunchTemplateInstanceRequirementsVcpuCountOutput() LaunchTemplateInstanceRequirementsVcpuCountOutput { - return o +// Indicate whether instance types with local storage volumes are `included`, `excluded`, or `required`. Default is `included`. +func (o LaunchTemplateInstanceRequirementsPtrOutput) LocalStorage() pulumi.StringPtrOutput { + return o.ApplyT(func(v *LaunchTemplateInstanceRequirements) *string { + if v == nil { + return nil + } + return v.LocalStorage + }).(pulumi.StringPtrOutput) } -func (o LaunchTemplateInstanceRequirementsVcpuCountOutput) ToLaunchTemplateInstanceRequirementsVcpuCountOutputWithContext(ctx context.Context) LaunchTemplateInstanceRequirementsVcpuCountOutput { - return o +// List of local storage type names. Default any storage type. +func (o LaunchTemplateInstanceRequirementsPtrOutput) LocalStorageTypes() pulumi.StringArrayOutput { + return o.ApplyT(func(v *LaunchTemplateInstanceRequirements) []string { + if v == nil { + return nil + } + return v.LocalStorageTypes + }).(pulumi.StringArrayOutput) } -func (o LaunchTemplateInstanceRequirementsVcpuCountOutput) ToLaunchTemplateInstanceRequirementsVcpuCountPtrOutput() LaunchTemplateInstanceRequirementsVcpuCountPtrOutput { - return o.ToLaunchTemplateInstanceRequirementsVcpuCountPtrOutputWithContext(context.Background()) +// The 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. Conflicts with `spotMaxPricePercentageOverLowestPrice` +func (o LaunchTemplateInstanceRequirementsPtrOutput) MaxSpotPriceAsPercentageOfOptimalOnDemandPrice() pulumi.IntPtrOutput { + return o.ApplyT(func(v *LaunchTemplateInstanceRequirements) *int { + if v == nil { + return nil + } + return v.MaxSpotPriceAsPercentageOfOptimalOnDemandPrice + }).(pulumi.IntPtrOutput) } -func (o LaunchTemplateInstanceRequirementsVcpuCountOutput) ToLaunchTemplateInstanceRequirementsVcpuCountPtrOutputWithContext(ctx context.Context) LaunchTemplateInstanceRequirementsVcpuCountPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v LaunchTemplateInstanceRequirementsVcpuCount) *LaunchTemplateInstanceRequirementsVcpuCount { - return &v - }).(LaunchTemplateInstanceRequirementsVcpuCountPtrOutput) +// Block describing the minimum and maximum amount of memory (GiB) per vCPU. Default is no minimum or maximum. +func (o LaunchTemplateInstanceRequirementsPtrOutput) MemoryGibPerVcpu() LaunchTemplateInstanceRequirementsMemoryGibPerVcpuPtrOutput { + return o.ApplyT(func(v *LaunchTemplateInstanceRequirements) *LaunchTemplateInstanceRequirementsMemoryGibPerVcpu { + if v == nil { + return nil + } + return v.MemoryGibPerVcpu + }).(LaunchTemplateInstanceRequirementsMemoryGibPerVcpuPtrOutput) } -// Maximum. -func (o LaunchTemplateInstanceRequirementsVcpuCountOutput) Max() pulumi.IntPtrOutput { - return o.ApplyT(func(v LaunchTemplateInstanceRequirementsVcpuCount) *int { return v.Max }).(pulumi.IntPtrOutput) +// Block describing the minimum and maximum amount of memory (MiB). Default is no maximum. +func (o LaunchTemplateInstanceRequirementsPtrOutput) MemoryMib() LaunchTemplateInstanceRequirementsMemoryMibPtrOutput { + return o.ApplyT(func(v *LaunchTemplateInstanceRequirements) *LaunchTemplateInstanceRequirementsMemoryMib { + if v == nil { + return nil + } + return &v.MemoryMib + }).(LaunchTemplateInstanceRequirementsMemoryMibPtrOutput) } -// Minimum. -func (o LaunchTemplateInstanceRequirementsVcpuCountOutput) Min() pulumi.IntOutput { - return o.ApplyT(func(v LaunchTemplateInstanceRequirementsVcpuCount) int { return v.Min }).(pulumi.IntOutput) +// Block describing the minimum and maximum amount of network bandwidth, in gigabits per second (Gbps). Default is no minimum or maximum. +func (o LaunchTemplateInstanceRequirementsPtrOutput) NetworkBandwidthGbps() LaunchTemplateInstanceRequirementsNetworkBandwidthGbpsPtrOutput { + return o.ApplyT(func(v *LaunchTemplateInstanceRequirements) *LaunchTemplateInstanceRequirementsNetworkBandwidthGbps { + if v == nil { + return nil + } + return v.NetworkBandwidthGbps + }).(LaunchTemplateInstanceRequirementsNetworkBandwidthGbpsPtrOutput) } -type LaunchTemplateInstanceRequirementsVcpuCountPtrOutput struct{ *pulumi.OutputState } - -func (LaunchTemplateInstanceRequirementsVcpuCountPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**LaunchTemplateInstanceRequirementsVcpuCount)(nil)).Elem() +// Block describing the minimum and maximum number of network interfaces. Default is no minimum or maximum. +func (o LaunchTemplateInstanceRequirementsPtrOutput) NetworkInterfaceCount() LaunchTemplateInstanceRequirementsNetworkInterfaceCountPtrOutput { + return o.ApplyT(func(v *LaunchTemplateInstanceRequirements) *LaunchTemplateInstanceRequirementsNetworkInterfaceCount { + if v == nil { + return nil + } + return v.NetworkInterfaceCount + }).(LaunchTemplateInstanceRequirementsNetworkInterfaceCountPtrOutput) } -func (o LaunchTemplateInstanceRequirementsVcpuCountPtrOutput) ToLaunchTemplateInstanceRequirementsVcpuCountPtrOutput() LaunchTemplateInstanceRequirementsVcpuCountPtrOutput { - return o +// The 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. +// +// If 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. +func (o LaunchTemplateInstanceRequirementsPtrOutput) OnDemandMaxPricePercentageOverLowestPrice() pulumi.IntPtrOutput { + return o.ApplyT(func(v *LaunchTemplateInstanceRequirements) *int { + if v == nil { + return nil + } + return v.OnDemandMaxPricePercentageOverLowestPrice + }).(pulumi.IntPtrOutput) } -func (o LaunchTemplateInstanceRequirementsVcpuCountPtrOutput) ToLaunchTemplateInstanceRequirementsVcpuCountPtrOutputWithContext(ctx context.Context) LaunchTemplateInstanceRequirementsVcpuCountPtrOutput { - return o +// Indicate whether instance types must support On-Demand Instance Hibernation, either `true` or `false`. Default is `false`. +func (o LaunchTemplateInstanceRequirementsPtrOutput) RequireHibernateSupport() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *LaunchTemplateInstanceRequirements) *bool { + if v == nil { + return nil + } + return v.RequireHibernateSupport + }).(pulumi.BoolPtrOutput) } -func (o LaunchTemplateInstanceRequirementsVcpuCountPtrOutput) Elem() LaunchTemplateInstanceRequirementsVcpuCountOutput { - return o.ApplyT(func(v *LaunchTemplateInstanceRequirementsVcpuCount) LaunchTemplateInstanceRequirementsVcpuCount { - if v != nil { - return *v +// The 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. Conflicts with `maxSpotPriceAsPercentageOfOptimalOnDemandPrice` +// +// If 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. +func (o LaunchTemplateInstanceRequirementsPtrOutput) SpotMaxPricePercentageOverLowestPrice() pulumi.IntPtrOutput { + return o.ApplyT(func(v *LaunchTemplateInstanceRequirements) *int { + if v == nil { + return nil } - var ret LaunchTemplateInstanceRequirementsVcpuCount - return ret - }).(LaunchTemplateInstanceRequirementsVcpuCountOutput) + return v.SpotMaxPricePercentageOverLowestPrice + }).(pulumi.IntPtrOutput) } -// Maximum. -func (o LaunchTemplateInstanceRequirementsVcpuCountPtrOutput) Max() pulumi.IntPtrOutput { - return o.ApplyT(func(v *LaunchTemplateInstanceRequirementsVcpuCount) *int { +// Block describing the minimum and maximum total local storage (GB). Default is no minimum or maximum. +func (o LaunchTemplateInstanceRequirementsPtrOutput) TotalLocalStorageGb() LaunchTemplateInstanceRequirementsTotalLocalStorageGbPtrOutput { + return o.ApplyT(func(v *LaunchTemplateInstanceRequirements) *LaunchTemplateInstanceRequirementsTotalLocalStorageGb { if v == nil { return nil } - return v.Max - }).(pulumi.IntPtrOutput) + return v.TotalLocalStorageGb + }).(LaunchTemplateInstanceRequirementsTotalLocalStorageGbPtrOutput) } -// Minimum. -func (o LaunchTemplateInstanceRequirementsVcpuCountPtrOutput) Min() pulumi.IntPtrOutput { - return o.ApplyT(func(v *LaunchTemplateInstanceRequirementsVcpuCount) *int { +// Block describing the minimum and maximum number of vCPUs. Default is no maximum. +func (o LaunchTemplateInstanceRequirementsPtrOutput) VcpuCount() LaunchTemplateInstanceRequirementsVcpuCountPtrOutput { + return o.ApplyT(func(v *LaunchTemplateInstanceRequirements) *LaunchTemplateInstanceRequirementsVcpuCount { if v == nil { return nil } - return &v.Min - }).(pulumi.IntPtrOutput) + return &v.VcpuCount + }).(LaunchTemplateInstanceRequirementsVcpuCountPtrOutput) } -type LaunchTemplateLicenseSpecification struct { - // ARN of the license configuration. - LicenseConfigurationArn string `pulumi:"licenseConfigurationArn"` +type LaunchTemplateInstanceRequirementsAcceleratorCount struct { + // Maximum. Set to `0` to exclude instance types with accelerators. + Max *int `pulumi:"max"` + // Minimum. + Min *int `pulumi:"min"` } -// LaunchTemplateLicenseSpecificationInput is an input type that accepts LaunchTemplateLicenseSpecificationArgs and LaunchTemplateLicenseSpecificationOutput values. -// You can construct a concrete instance of `LaunchTemplateLicenseSpecificationInput` via: +// LaunchTemplateInstanceRequirementsAcceleratorCountInput is an input type that accepts LaunchTemplateInstanceRequirementsAcceleratorCountArgs and LaunchTemplateInstanceRequirementsAcceleratorCountOutput values. +// You can construct a concrete instance of `LaunchTemplateInstanceRequirementsAcceleratorCountInput` via: // -// LaunchTemplateLicenseSpecificationArgs{...} -type LaunchTemplateLicenseSpecificationInput interface { +// LaunchTemplateInstanceRequirementsAcceleratorCountArgs{...} +type LaunchTemplateInstanceRequirementsAcceleratorCountInput interface { pulumi.Input - ToLaunchTemplateLicenseSpecificationOutput() LaunchTemplateLicenseSpecificationOutput - ToLaunchTemplateLicenseSpecificationOutputWithContext(context.Context) LaunchTemplateLicenseSpecificationOutput + ToLaunchTemplateInstanceRequirementsAcceleratorCountOutput() LaunchTemplateInstanceRequirementsAcceleratorCountOutput + ToLaunchTemplateInstanceRequirementsAcceleratorCountOutputWithContext(context.Context) LaunchTemplateInstanceRequirementsAcceleratorCountOutput } -type LaunchTemplateLicenseSpecificationArgs struct { - // ARN of the license configuration. - LicenseConfigurationArn pulumi.StringInput `pulumi:"licenseConfigurationArn"` +type LaunchTemplateInstanceRequirementsAcceleratorCountArgs struct { + // Maximum. Set to `0` to exclude instance types with accelerators. + Max pulumi.IntPtrInput `pulumi:"max"` + // Minimum. + Min pulumi.IntPtrInput `pulumi:"min"` } -func (LaunchTemplateLicenseSpecificationArgs) ElementType() reflect.Type { - return reflect.TypeOf((*LaunchTemplateLicenseSpecification)(nil)).Elem() +func (LaunchTemplateInstanceRequirementsAcceleratorCountArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LaunchTemplateInstanceRequirementsAcceleratorCount)(nil)).Elem() } -func (i LaunchTemplateLicenseSpecificationArgs) ToLaunchTemplateLicenseSpecificationOutput() LaunchTemplateLicenseSpecificationOutput { - return i.ToLaunchTemplateLicenseSpecificationOutputWithContext(context.Background()) +func (i LaunchTemplateInstanceRequirementsAcceleratorCountArgs) ToLaunchTemplateInstanceRequirementsAcceleratorCountOutput() LaunchTemplateInstanceRequirementsAcceleratorCountOutput { + return i.ToLaunchTemplateInstanceRequirementsAcceleratorCountOutputWithContext(context.Background()) } -func (i LaunchTemplateLicenseSpecificationArgs) ToLaunchTemplateLicenseSpecificationOutputWithContext(ctx context.Context) LaunchTemplateLicenseSpecificationOutput { - return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateLicenseSpecificationOutput) +func (i LaunchTemplateInstanceRequirementsAcceleratorCountArgs) ToLaunchTemplateInstanceRequirementsAcceleratorCountOutputWithContext(ctx context.Context) LaunchTemplateInstanceRequirementsAcceleratorCountOutput { + return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateInstanceRequirementsAcceleratorCountOutput) } -// LaunchTemplateLicenseSpecificationArrayInput is an input type that accepts LaunchTemplateLicenseSpecificationArray and LaunchTemplateLicenseSpecificationArrayOutput values. -// You can construct a concrete instance of `LaunchTemplateLicenseSpecificationArrayInput` via: +func (i LaunchTemplateInstanceRequirementsAcceleratorCountArgs) ToLaunchTemplateInstanceRequirementsAcceleratorCountPtrOutput() LaunchTemplateInstanceRequirementsAcceleratorCountPtrOutput { + return i.ToLaunchTemplateInstanceRequirementsAcceleratorCountPtrOutputWithContext(context.Background()) +} + +func (i LaunchTemplateInstanceRequirementsAcceleratorCountArgs) ToLaunchTemplateInstanceRequirementsAcceleratorCountPtrOutputWithContext(ctx context.Context) LaunchTemplateInstanceRequirementsAcceleratorCountPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateInstanceRequirementsAcceleratorCountOutput).ToLaunchTemplateInstanceRequirementsAcceleratorCountPtrOutputWithContext(ctx) +} + +// LaunchTemplateInstanceRequirementsAcceleratorCountPtrInput is an input type that accepts LaunchTemplateInstanceRequirementsAcceleratorCountArgs, LaunchTemplateInstanceRequirementsAcceleratorCountPtr and LaunchTemplateInstanceRequirementsAcceleratorCountPtrOutput values. +// You can construct a concrete instance of `LaunchTemplateInstanceRequirementsAcceleratorCountPtrInput` via: // -// LaunchTemplateLicenseSpecificationArray{ LaunchTemplateLicenseSpecificationArgs{...} } -type LaunchTemplateLicenseSpecificationArrayInput interface { +// LaunchTemplateInstanceRequirementsAcceleratorCountArgs{...} +// +// or: +// +// nil +type LaunchTemplateInstanceRequirementsAcceleratorCountPtrInput interface { pulumi.Input - ToLaunchTemplateLicenseSpecificationArrayOutput() LaunchTemplateLicenseSpecificationArrayOutput - ToLaunchTemplateLicenseSpecificationArrayOutputWithContext(context.Context) LaunchTemplateLicenseSpecificationArrayOutput + ToLaunchTemplateInstanceRequirementsAcceleratorCountPtrOutput() LaunchTemplateInstanceRequirementsAcceleratorCountPtrOutput + ToLaunchTemplateInstanceRequirementsAcceleratorCountPtrOutputWithContext(context.Context) LaunchTemplateInstanceRequirementsAcceleratorCountPtrOutput } -type LaunchTemplateLicenseSpecificationArray []LaunchTemplateLicenseSpecificationInput +type launchTemplateInstanceRequirementsAcceleratorCountPtrType LaunchTemplateInstanceRequirementsAcceleratorCountArgs -func (LaunchTemplateLicenseSpecificationArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]LaunchTemplateLicenseSpecification)(nil)).Elem() +func LaunchTemplateInstanceRequirementsAcceleratorCountPtr(v *LaunchTemplateInstanceRequirementsAcceleratorCountArgs) LaunchTemplateInstanceRequirementsAcceleratorCountPtrInput { + return (*launchTemplateInstanceRequirementsAcceleratorCountPtrType)(v) } -func (i LaunchTemplateLicenseSpecificationArray) ToLaunchTemplateLicenseSpecificationArrayOutput() LaunchTemplateLicenseSpecificationArrayOutput { - return i.ToLaunchTemplateLicenseSpecificationArrayOutputWithContext(context.Background()) +func (*launchTemplateInstanceRequirementsAcceleratorCountPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**LaunchTemplateInstanceRequirementsAcceleratorCount)(nil)).Elem() } -func (i LaunchTemplateLicenseSpecificationArray) ToLaunchTemplateLicenseSpecificationArrayOutputWithContext(ctx context.Context) LaunchTemplateLicenseSpecificationArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateLicenseSpecificationArrayOutput) +func (i *launchTemplateInstanceRequirementsAcceleratorCountPtrType) ToLaunchTemplateInstanceRequirementsAcceleratorCountPtrOutput() LaunchTemplateInstanceRequirementsAcceleratorCountPtrOutput { + return i.ToLaunchTemplateInstanceRequirementsAcceleratorCountPtrOutputWithContext(context.Background()) } -type LaunchTemplateLicenseSpecificationOutput struct{ *pulumi.OutputState } +func (i *launchTemplateInstanceRequirementsAcceleratorCountPtrType) ToLaunchTemplateInstanceRequirementsAcceleratorCountPtrOutputWithContext(ctx context.Context) LaunchTemplateInstanceRequirementsAcceleratorCountPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateInstanceRequirementsAcceleratorCountPtrOutput) +} -func (LaunchTemplateLicenseSpecificationOutput) ElementType() reflect.Type { - return reflect.TypeOf((*LaunchTemplateLicenseSpecification)(nil)).Elem() +type LaunchTemplateInstanceRequirementsAcceleratorCountOutput struct{ *pulumi.OutputState } + +func (LaunchTemplateInstanceRequirementsAcceleratorCountOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LaunchTemplateInstanceRequirementsAcceleratorCount)(nil)).Elem() } -func (o LaunchTemplateLicenseSpecificationOutput) ToLaunchTemplateLicenseSpecificationOutput() LaunchTemplateLicenseSpecificationOutput { +func (o LaunchTemplateInstanceRequirementsAcceleratorCountOutput) ToLaunchTemplateInstanceRequirementsAcceleratorCountOutput() LaunchTemplateInstanceRequirementsAcceleratorCountOutput { return o } -func (o LaunchTemplateLicenseSpecificationOutput) ToLaunchTemplateLicenseSpecificationOutputWithContext(ctx context.Context) LaunchTemplateLicenseSpecificationOutput { +func (o LaunchTemplateInstanceRequirementsAcceleratorCountOutput) ToLaunchTemplateInstanceRequirementsAcceleratorCountOutputWithContext(ctx context.Context) LaunchTemplateInstanceRequirementsAcceleratorCountOutput { return o } -// ARN of the license configuration. -func (o LaunchTemplateLicenseSpecificationOutput) LicenseConfigurationArn() pulumi.StringOutput { - return o.ApplyT(func(v LaunchTemplateLicenseSpecification) string { return v.LicenseConfigurationArn }).(pulumi.StringOutput) +func (o LaunchTemplateInstanceRequirementsAcceleratorCountOutput) ToLaunchTemplateInstanceRequirementsAcceleratorCountPtrOutput() LaunchTemplateInstanceRequirementsAcceleratorCountPtrOutput { + return o.ToLaunchTemplateInstanceRequirementsAcceleratorCountPtrOutputWithContext(context.Background()) } -type LaunchTemplateLicenseSpecificationArrayOutput struct{ *pulumi.OutputState } +func (o LaunchTemplateInstanceRequirementsAcceleratorCountOutput) ToLaunchTemplateInstanceRequirementsAcceleratorCountPtrOutputWithContext(ctx context.Context) LaunchTemplateInstanceRequirementsAcceleratorCountPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v LaunchTemplateInstanceRequirementsAcceleratorCount) *LaunchTemplateInstanceRequirementsAcceleratorCount { + return &v + }).(LaunchTemplateInstanceRequirementsAcceleratorCountPtrOutput) +} -func (LaunchTemplateLicenseSpecificationArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]LaunchTemplateLicenseSpecification)(nil)).Elem() +// Maximum. Set to `0` to exclude instance types with accelerators. +func (o LaunchTemplateInstanceRequirementsAcceleratorCountOutput) Max() pulumi.IntPtrOutput { + return o.ApplyT(func(v LaunchTemplateInstanceRequirementsAcceleratorCount) *int { return v.Max }).(pulumi.IntPtrOutput) } -func (o LaunchTemplateLicenseSpecificationArrayOutput) ToLaunchTemplateLicenseSpecificationArrayOutput() LaunchTemplateLicenseSpecificationArrayOutput { +// Minimum. +func (o LaunchTemplateInstanceRequirementsAcceleratorCountOutput) Min() pulumi.IntPtrOutput { + return o.ApplyT(func(v LaunchTemplateInstanceRequirementsAcceleratorCount) *int { return v.Min }).(pulumi.IntPtrOutput) +} + +type LaunchTemplateInstanceRequirementsAcceleratorCountPtrOutput struct{ *pulumi.OutputState } + +func (LaunchTemplateInstanceRequirementsAcceleratorCountPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**LaunchTemplateInstanceRequirementsAcceleratorCount)(nil)).Elem() +} + +func (o LaunchTemplateInstanceRequirementsAcceleratorCountPtrOutput) ToLaunchTemplateInstanceRequirementsAcceleratorCountPtrOutput() LaunchTemplateInstanceRequirementsAcceleratorCountPtrOutput { return o } -func (o LaunchTemplateLicenseSpecificationArrayOutput) ToLaunchTemplateLicenseSpecificationArrayOutputWithContext(ctx context.Context) LaunchTemplateLicenseSpecificationArrayOutput { +func (o LaunchTemplateInstanceRequirementsAcceleratorCountPtrOutput) ToLaunchTemplateInstanceRequirementsAcceleratorCountPtrOutputWithContext(ctx context.Context) LaunchTemplateInstanceRequirementsAcceleratorCountPtrOutput { return o } -func (o LaunchTemplateLicenseSpecificationArrayOutput) Index(i pulumi.IntInput) LaunchTemplateLicenseSpecificationOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) LaunchTemplateLicenseSpecification { - return vs[0].([]LaunchTemplateLicenseSpecification)[vs[1].(int)] - }).(LaunchTemplateLicenseSpecificationOutput) +func (o LaunchTemplateInstanceRequirementsAcceleratorCountPtrOutput) Elem() LaunchTemplateInstanceRequirementsAcceleratorCountOutput { + return o.ApplyT(func(v *LaunchTemplateInstanceRequirementsAcceleratorCount) LaunchTemplateInstanceRequirementsAcceleratorCount { + if v != nil { + return *v + } + var ret LaunchTemplateInstanceRequirementsAcceleratorCount + return ret + }).(LaunchTemplateInstanceRequirementsAcceleratorCountOutput) } -type LaunchTemplateMaintenanceOptions struct { - // Disables the automatic recovery behavior of your instance or sets it to default. Can be `"default"` or `"disabled"`. See [Recover your instance](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-recover.html) for more details. - AutoRecovery *string `pulumi:"autoRecovery"` +// Maximum. Set to `0` to exclude instance types with accelerators. +func (o LaunchTemplateInstanceRequirementsAcceleratorCountPtrOutput) Max() pulumi.IntPtrOutput { + return o.ApplyT(func(v *LaunchTemplateInstanceRequirementsAcceleratorCount) *int { + if v == nil { + return nil + } + return v.Max + }).(pulumi.IntPtrOutput) } -// LaunchTemplateMaintenanceOptionsInput is an input type that accepts LaunchTemplateMaintenanceOptionsArgs and LaunchTemplateMaintenanceOptionsOutput values. -// You can construct a concrete instance of `LaunchTemplateMaintenanceOptionsInput` via: +// Minimum. +func (o LaunchTemplateInstanceRequirementsAcceleratorCountPtrOutput) Min() pulumi.IntPtrOutput { + return o.ApplyT(func(v *LaunchTemplateInstanceRequirementsAcceleratorCount) *int { + if v == nil { + return nil + } + return v.Min + }).(pulumi.IntPtrOutput) +} + +type LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMib struct { + // Maximum. + Max *int `pulumi:"max"` + // Minimum. + Min *int `pulumi:"min"` +} + +// LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibInput is an input type that accepts LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibArgs and LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibOutput values. +// You can construct a concrete instance of `LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibInput` via: // -// LaunchTemplateMaintenanceOptionsArgs{...} -type LaunchTemplateMaintenanceOptionsInput interface { +// LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibArgs{...} +type LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibInput interface { pulumi.Input - ToLaunchTemplateMaintenanceOptionsOutput() LaunchTemplateMaintenanceOptionsOutput - ToLaunchTemplateMaintenanceOptionsOutputWithContext(context.Context) LaunchTemplateMaintenanceOptionsOutput + ToLaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibOutput() LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibOutput + ToLaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibOutputWithContext(context.Context) LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibOutput } -type LaunchTemplateMaintenanceOptionsArgs struct { - // Disables the automatic recovery behavior of your instance or sets it to default. Can be `"default"` or `"disabled"`. See [Recover your instance](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-recover.html) for more details. - AutoRecovery pulumi.StringPtrInput `pulumi:"autoRecovery"` +type LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibArgs struct { + // Maximum. + Max pulumi.IntPtrInput `pulumi:"max"` + // Minimum. + Min pulumi.IntPtrInput `pulumi:"min"` } -func (LaunchTemplateMaintenanceOptionsArgs) ElementType() reflect.Type { - return reflect.TypeOf((*LaunchTemplateMaintenanceOptions)(nil)).Elem() +func (LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMib)(nil)).Elem() } -func (i LaunchTemplateMaintenanceOptionsArgs) ToLaunchTemplateMaintenanceOptionsOutput() LaunchTemplateMaintenanceOptionsOutput { - return i.ToLaunchTemplateMaintenanceOptionsOutputWithContext(context.Background()) +func (i LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibArgs) ToLaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibOutput() LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibOutput { + return i.ToLaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibOutputWithContext(context.Background()) } -func (i LaunchTemplateMaintenanceOptionsArgs) ToLaunchTemplateMaintenanceOptionsOutputWithContext(ctx context.Context) LaunchTemplateMaintenanceOptionsOutput { - return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateMaintenanceOptionsOutput) +func (i LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibArgs) ToLaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibOutputWithContext(ctx context.Context) LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibOutput { + return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibOutput) } -func (i LaunchTemplateMaintenanceOptionsArgs) ToLaunchTemplateMaintenanceOptionsPtrOutput() LaunchTemplateMaintenanceOptionsPtrOutput { - return i.ToLaunchTemplateMaintenanceOptionsPtrOutputWithContext(context.Background()) +func (i LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibArgs) ToLaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibPtrOutput() LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibPtrOutput { + return i.ToLaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibPtrOutputWithContext(context.Background()) } -func (i LaunchTemplateMaintenanceOptionsArgs) ToLaunchTemplateMaintenanceOptionsPtrOutputWithContext(ctx context.Context) LaunchTemplateMaintenanceOptionsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateMaintenanceOptionsOutput).ToLaunchTemplateMaintenanceOptionsPtrOutputWithContext(ctx) +func (i LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibArgs) ToLaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibPtrOutputWithContext(ctx context.Context) LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibOutput).ToLaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibPtrOutputWithContext(ctx) } -// LaunchTemplateMaintenanceOptionsPtrInput is an input type that accepts LaunchTemplateMaintenanceOptionsArgs, LaunchTemplateMaintenanceOptionsPtr and LaunchTemplateMaintenanceOptionsPtrOutput values. -// You can construct a concrete instance of `LaunchTemplateMaintenanceOptionsPtrInput` via: +// LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibPtrInput is an input type that accepts LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibArgs, LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibPtr and LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibPtrOutput values. +// You can construct a concrete instance of `LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibPtrInput` via: // -// LaunchTemplateMaintenanceOptionsArgs{...} +// LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibArgs{...} // // or: // // nil -type LaunchTemplateMaintenanceOptionsPtrInput interface { +type LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibPtrInput interface { pulumi.Input - ToLaunchTemplateMaintenanceOptionsPtrOutput() LaunchTemplateMaintenanceOptionsPtrOutput - ToLaunchTemplateMaintenanceOptionsPtrOutputWithContext(context.Context) LaunchTemplateMaintenanceOptionsPtrOutput + ToLaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibPtrOutput() LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibPtrOutput + ToLaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibPtrOutputWithContext(context.Context) LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibPtrOutput } -type launchTemplateMaintenanceOptionsPtrType LaunchTemplateMaintenanceOptionsArgs +type launchTemplateInstanceRequirementsAcceleratorTotalMemoryMibPtrType LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibArgs -func LaunchTemplateMaintenanceOptionsPtr(v *LaunchTemplateMaintenanceOptionsArgs) LaunchTemplateMaintenanceOptionsPtrInput { - return (*launchTemplateMaintenanceOptionsPtrType)(v) +func LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibPtr(v *LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibArgs) LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibPtrInput { + return (*launchTemplateInstanceRequirementsAcceleratorTotalMemoryMibPtrType)(v) } -func (*launchTemplateMaintenanceOptionsPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**LaunchTemplateMaintenanceOptions)(nil)).Elem() +func (*launchTemplateInstanceRequirementsAcceleratorTotalMemoryMibPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMib)(nil)).Elem() } -func (i *launchTemplateMaintenanceOptionsPtrType) ToLaunchTemplateMaintenanceOptionsPtrOutput() LaunchTemplateMaintenanceOptionsPtrOutput { - return i.ToLaunchTemplateMaintenanceOptionsPtrOutputWithContext(context.Background()) +func (i *launchTemplateInstanceRequirementsAcceleratorTotalMemoryMibPtrType) ToLaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibPtrOutput() LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibPtrOutput { + return i.ToLaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibPtrOutputWithContext(context.Background()) } -func (i *launchTemplateMaintenanceOptionsPtrType) ToLaunchTemplateMaintenanceOptionsPtrOutputWithContext(ctx context.Context) LaunchTemplateMaintenanceOptionsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateMaintenanceOptionsPtrOutput) +func (i *launchTemplateInstanceRequirementsAcceleratorTotalMemoryMibPtrType) ToLaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibPtrOutputWithContext(ctx context.Context) LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibPtrOutput) } -type LaunchTemplateMaintenanceOptionsOutput struct{ *pulumi.OutputState } +type LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibOutput struct{ *pulumi.OutputState } -func (LaunchTemplateMaintenanceOptionsOutput) ElementType() reflect.Type { - return reflect.TypeOf((*LaunchTemplateMaintenanceOptions)(nil)).Elem() +func (LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMib)(nil)).Elem() } -func (o LaunchTemplateMaintenanceOptionsOutput) ToLaunchTemplateMaintenanceOptionsOutput() LaunchTemplateMaintenanceOptionsOutput { +func (o LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibOutput) ToLaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibOutput() LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibOutput { return o } -func (o LaunchTemplateMaintenanceOptionsOutput) ToLaunchTemplateMaintenanceOptionsOutputWithContext(ctx context.Context) LaunchTemplateMaintenanceOptionsOutput { +func (o LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibOutput) ToLaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibOutputWithContext(ctx context.Context) LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibOutput { return o } -func (o LaunchTemplateMaintenanceOptionsOutput) ToLaunchTemplateMaintenanceOptionsPtrOutput() LaunchTemplateMaintenanceOptionsPtrOutput { - return o.ToLaunchTemplateMaintenanceOptionsPtrOutputWithContext(context.Background()) +func (o LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibOutput) ToLaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibPtrOutput() LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibPtrOutput { + return o.ToLaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibPtrOutputWithContext(context.Background()) } -func (o LaunchTemplateMaintenanceOptionsOutput) ToLaunchTemplateMaintenanceOptionsPtrOutputWithContext(ctx context.Context) LaunchTemplateMaintenanceOptionsPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v LaunchTemplateMaintenanceOptions) *LaunchTemplateMaintenanceOptions { +func (o LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibOutput) ToLaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibPtrOutputWithContext(ctx context.Context) LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMib) *LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMib { return &v - }).(LaunchTemplateMaintenanceOptionsPtrOutput) + }).(LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibPtrOutput) } -// Disables the automatic recovery behavior of your instance or sets it to default. Can be `"default"` or `"disabled"`. See [Recover your instance](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-recover.html) for more details. -func (o LaunchTemplateMaintenanceOptionsOutput) AutoRecovery() pulumi.StringPtrOutput { - return o.ApplyT(func(v LaunchTemplateMaintenanceOptions) *string { return v.AutoRecovery }).(pulumi.StringPtrOutput) +// Maximum. +func (o LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibOutput) Max() pulumi.IntPtrOutput { + return o.ApplyT(func(v LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMib) *int { return v.Max }).(pulumi.IntPtrOutput) } -type LaunchTemplateMaintenanceOptionsPtrOutput struct{ *pulumi.OutputState } +// Minimum. +func (o LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibOutput) Min() pulumi.IntPtrOutput { + return o.ApplyT(func(v LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMib) *int { return v.Min }).(pulumi.IntPtrOutput) +} -func (LaunchTemplateMaintenanceOptionsPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**LaunchTemplateMaintenanceOptions)(nil)).Elem() +type LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibPtrOutput struct{ *pulumi.OutputState } + +func (LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMib)(nil)).Elem() } -func (o LaunchTemplateMaintenanceOptionsPtrOutput) ToLaunchTemplateMaintenanceOptionsPtrOutput() LaunchTemplateMaintenanceOptionsPtrOutput { +func (o LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibPtrOutput) ToLaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibPtrOutput() LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibPtrOutput { return o } -func (o LaunchTemplateMaintenanceOptionsPtrOutput) ToLaunchTemplateMaintenanceOptionsPtrOutputWithContext(ctx context.Context) LaunchTemplateMaintenanceOptionsPtrOutput { +func (o LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibPtrOutput) ToLaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibPtrOutputWithContext(ctx context.Context) LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibPtrOutput { return o } -func (o LaunchTemplateMaintenanceOptionsPtrOutput) Elem() LaunchTemplateMaintenanceOptionsOutput { - return o.ApplyT(func(v *LaunchTemplateMaintenanceOptions) LaunchTemplateMaintenanceOptions { +func (o LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibPtrOutput) Elem() LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibOutput { + return o.ApplyT(func(v *LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMib) LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMib { if v != nil { return *v } - var ret LaunchTemplateMaintenanceOptions + var ret LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMib return ret - }).(LaunchTemplateMaintenanceOptionsOutput) + }).(LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibOutput) } -// Disables the automatic recovery behavior of your instance or sets it to default. Can be `"default"` or `"disabled"`. See [Recover your instance](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-recover.html) for more details. -func (o LaunchTemplateMaintenanceOptionsPtrOutput) AutoRecovery() pulumi.StringPtrOutput { - return o.ApplyT(func(v *LaunchTemplateMaintenanceOptions) *string { +// Maximum. +func (o LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibPtrOutput) Max() pulumi.IntPtrOutput { + return o.ApplyT(func(v *LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMib) *int { if v == nil { return nil } - return v.AutoRecovery - }).(pulumi.StringPtrOutput) + return v.Max + }).(pulumi.IntPtrOutput) } -type LaunchTemplateMetadataOptions struct { - // Whether the metadata service is available. Can be `"enabled"` or `"disabled"`. (Default: `"enabled"`). - HttpEndpoint *string `pulumi:"httpEndpoint"` - // Enables or disables the IPv6 endpoint for the instance metadata service. Can be `"enabled"` or `"disabled"`. - HttpProtocolIpv6 *string `pulumi:"httpProtocolIpv6"` - // The desired HTTP PUT response hop limit for instance metadata requests. The larger the number, the further instance metadata requests can travel. Can be an integer from `1` to `64`. (Default: `1`). - HttpPutResponseHopLimit *int `pulumi:"httpPutResponseHopLimit"` - // Whether or not the metadata service requires session tokens, also referred to as _Instance Metadata Service Version 2 (IMDSv2)_. Can be `"optional"` or `"required"`. (Default: `"optional"`). - HttpTokens *string `pulumi:"httpTokens"` - // Enables or disables access to instance tags from the instance metadata service. Can be `"enabled"` or `"disabled"`. - // - // For more information, see the documentation on the [Instance Metadata Service](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html). - InstanceMetadataTags *string `pulumi:"instanceMetadataTags"` +// Minimum. +func (o LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibPtrOutput) Min() pulumi.IntPtrOutput { + return o.ApplyT(func(v *LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMib) *int { + if v == nil { + return nil + } + return v.Min + }).(pulumi.IntPtrOutput) } -// LaunchTemplateMetadataOptionsInput is an input type that accepts LaunchTemplateMetadataOptionsArgs and LaunchTemplateMetadataOptionsOutput values. -// You can construct a concrete instance of `LaunchTemplateMetadataOptionsInput` via: +type LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbps struct { + // Maximum. + Max *int `pulumi:"max"` + // Minimum. + Min *int `pulumi:"min"` +} + +// LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsInput is an input type that accepts LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsArgs and LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsOutput values. +// You can construct a concrete instance of `LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsInput` via: // -// LaunchTemplateMetadataOptionsArgs{...} -type LaunchTemplateMetadataOptionsInput interface { +// LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsArgs{...} +type LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsInput interface { pulumi.Input - ToLaunchTemplateMetadataOptionsOutput() LaunchTemplateMetadataOptionsOutput - ToLaunchTemplateMetadataOptionsOutputWithContext(context.Context) LaunchTemplateMetadataOptionsOutput + ToLaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsOutput() LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsOutput + ToLaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsOutputWithContext(context.Context) LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsOutput } -type LaunchTemplateMetadataOptionsArgs struct { - // Whether the metadata service is available. Can be `"enabled"` or `"disabled"`. (Default: `"enabled"`). - HttpEndpoint pulumi.StringPtrInput `pulumi:"httpEndpoint"` - // Enables or disables the IPv6 endpoint for the instance metadata service. Can be `"enabled"` or `"disabled"`. - HttpProtocolIpv6 pulumi.StringPtrInput `pulumi:"httpProtocolIpv6"` - // The desired HTTP PUT response hop limit for instance metadata requests. The larger the number, the further instance metadata requests can travel. Can be an integer from `1` to `64`. (Default: `1`). - HttpPutResponseHopLimit pulumi.IntPtrInput `pulumi:"httpPutResponseHopLimit"` - // Whether or not the metadata service requires session tokens, also referred to as _Instance Metadata Service Version 2 (IMDSv2)_. Can be `"optional"` or `"required"`. (Default: `"optional"`). - HttpTokens pulumi.StringPtrInput `pulumi:"httpTokens"` - // Enables or disables access to instance tags from the instance metadata service. Can be `"enabled"` or `"disabled"`. - // - // For more information, see the documentation on the [Instance Metadata Service](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html). - InstanceMetadataTags pulumi.StringPtrInput `pulumi:"instanceMetadataTags"` +type LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsArgs struct { + // Maximum. + Max pulumi.IntPtrInput `pulumi:"max"` + // Minimum. + Min pulumi.IntPtrInput `pulumi:"min"` } -func (LaunchTemplateMetadataOptionsArgs) ElementType() reflect.Type { - return reflect.TypeOf((*LaunchTemplateMetadataOptions)(nil)).Elem() +func (LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbps)(nil)).Elem() } -func (i LaunchTemplateMetadataOptionsArgs) ToLaunchTemplateMetadataOptionsOutput() LaunchTemplateMetadataOptionsOutput { - return i.ToLaunchTemplateMetadataOptionsOutputWithContext(context.Background()) +func (i LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsArgs) ToLaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsOutput() LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsOutput { + return i.ToLaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsOutputWithContext(context.Background()) } -func (i LaunchTemplateMetadataOptionsArgs) ToLaunchTemplateMetadataOptionsOutputWithContext(ctx context.Context) LaunchTemplateMetadataOptionsOutput { - return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateMetadataOptionsOutput) +func (i LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsArgs) ToLaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsOutputWithContext(ctx context.Context) LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsOutput { + return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsOutput) } -func (i LaunchTemplateMetadataOptionsArgs) ToLaunchTemplateMetadataOptionsPtrOutput() LaunchTemplateMetadataOptionsPtrOutput { - return i.ToLaunchTemplateMetadataOptionsPtrOutputWithContext(context.Background()) +func (i LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsArgs) ToLaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutput() LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutput { + return i.ToLaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutputWithContext(context.Background()) } -func (i LaunchTemplateMetadataOptionsArgs) ToLaunchTemplateMetadataOptionsPtrOutputWithContext(ctx context.Context) LaunchTemplateMetadataOptionsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateMetadataOptionsOutput).ToLaunchTemplateMetadataOptionsPtrOutputWithContext(ctx) +func (i LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsArgs) ToLaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutputWithContext(ctx context.Context) LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsOutput).ToLaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutputWithContext(ctx) } -// LaunchTemplateMetadataOptionsPtrInput is an input type that accepts LaunchTemplateMetadataOptionsArgs, LaunchTemplateMetadataOptionsPtr and LaunchTemplateMetadataOptionsPtrOutput values. -// You can construct a concrete instance of `LaunchTemplateMetadataOptionsPtrInput` via: +// LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsPtrInput is an input type that accepts LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsArgs, LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsPtr and LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutput values. +// You can construct a concrete instance of `LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsPtrInput` via: // -// LaunchTemplateMetadataOptionsArgs{...} +// LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsArgs{...} // // or: // // nil -type LaunchTemplateMetadataOptionsPtrInput interface { +type LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsPtrInput interface { pulumi.Input - ToLaunchTemplateMetadataOptionsPtrOutput() LaunchTemplateMetadataOptionsPtrOutput - ToLaunchTemplateMetadataOptionsPtrOutputWithContext(context.Context) LaunchTemplateMetadataOptionsPtrOutput + ToLaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutput() LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutput + ToLaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutputWithContext(context.Context) LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutput } -type launchTemplateMetadataOptionsPtrType LaunchTemplateMetadataOptionsArgs +type launchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsPtrType LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsArgs -func LaunchTemplateMetadataOptionsPtr(v *LaunchTemplateMetadataOptionsArgs) LaunchTemplateMetadataOptionsPtrInput { - return (*launchTemplateMetadataOptionsPtrType)(v) +func LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsPtr(v *LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsArgs) LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsPtrInput { + return (*launchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsPtrType)(v) } -func (*launchTemplateMetadataOptionsPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**LaunchTemplateMetadataOptions)(nil)).Elem() +func (*launchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbps)(nil)).Elem() } -func (i *launchTemplateMetadataOptionsPtrType) ToLaunchTemplateMetadataOptionsPtrOutput() LaunchTemplateMetadataOptionsPtrOutput { - return i.ToLaunchTemplateMetadataOptionsPtrOutputWithContext(context.Background()) +func (i *launchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsPtrType) ToLaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutput() LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutput { + return i.ToLaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutputWithContext(context.Background()) } -func (i *launchTemplateMetadataOptionsPtrType) ToLaunchTemplateMetadataOptionsPtrOutputWithContext(ctx context.Context) LaunchTemplateMetadataOptionsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateMetadataOptionsPtrOutput) +func (i *launchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsPtrType) ToLaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutputWithContext(ctx context.Context) LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutput) } -type LaunchTemplateMetadataOptionsOutput struct{ *pulumi.OutputState } +type LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsOutput struct{ *pulumi.OutputState } -func (LaunchTemplateMetadataOptionsOutput) ElementType() reflect.Type { - return reflect.TypeOf((*LaunchTemplateMetadataOptions)(nil)).Elem() +func (LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbps)(nil)).Elem() } -func (o LaunchTemplateMetadataOptionsOutput) ToLaunchTemplateMetadataOptionsOutput() LaunchTemplateMetadataOptionsOutput { +func (o LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsOutput) ToLaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsOutput() LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsOutput { return o } -func (o LaunchTemplateMetadataOptionsOutput) ToLaunchTemplateMetadataOptionsOutputWithContext(ctx context.Context) LaunchTemplateMetadataOptionsOutput { +func (o LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsOutput) ToLaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsOutputWithContext(ctx context.Context) LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsOutput { return o } -func (o LaunchTemplateMetadataOptionsOutput) ToLaunchTemplateMetadataOptionsPtrOutput() LaunchTemplateMetadataOptionsPtrOutput { - return o.ToLaunchTemplateMetadataOptionsPtrOutputWithContext(context.Background()) +func (o LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsOutput) ToLaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutput() LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutput { + return o.ToLaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutputWithContext(context.Background()) } -func (o LaunchTemplateMetadataOptionsOutput) ToLaunchTemplateMetadataOptionsPtrOutputWithContext(ctx context.Context) LaunchTemplateMetadataOptionsPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v LaunchTemplateMetadataOptions) *LaunchTemplateMetadataOptions { +func (o LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsOutput) ToLaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutputWithContext(ctx context.Context) LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbps) *LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbps { return &v - }).(LaunchTemplateMetadataOptionsPtrOutput) -} - -// Whether the metadata service is available. Can be `"enabled"` or `"disabled"`. (Default: `"enabled"`). -func (o LaunchTemplateMetadataOptionsOutput) HttpEndpoint() pulumi.StringPtrOutput { - return o.ApplyT(func(v LaunchTemplateMetadataOptions) *string { return v.HttpEndpoint }).(pulumi.StringPtrOutput) -} - -// Enables or disables the IPv6 endpoint for the instance metadata service. Can be `"enabled"` or `"disabled"`. -func (o LaunchTemplateMetadataOptionsOutput) HttpProtocolIpv6() pulumi.StringPtrOutput { - return o.ApplyT(func(v LaunchTemplateMetadataOptions) *string { return v.HttpProtocolIpv6 }).(pulumi.StringPtrOutput) -} - -// The desired HTTP PUT response hop limit for instance metadata requests. The larger the number, the further instance metadata requests can travel. Can be an integer from `1` to `64`. (Default: `1`). -func (o LaunchTemplateMetadataOptionsOutput) HttpPutResponseHopLimit() pulumi.IntPtrOutput { - return o.ApplyT(func(v LaunchTemplateMetadataOptions) *int { return v.HttpPutResponseHopLimit }).(pulumi.IntPtrOutput) + }).(LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutput) } -// Whether or not the metadata service requires session tokens, also referred to as _Instance Metadata Service Version 2 (IMDSv2)_. Can be `"optional"` or `"required"`. (Default: `"optional"`). -func (o LaunchTemplateMetadataOptionsOutput) HttpTokens() pulumi.StringPtrOutput { - return o.ApplyT(func(v LaunchTemplateMetadataOptions) *string { return v.HttpTokens }).(pulumi.StringPtrOutput) +// Maximum. +func (o LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsOutput) Max() pulumi.IntPtrOutput { + return o.ApplyT(func(v LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbps) *int { return v.Max }).(pulumi.IntPtrOutput) } -// Enables or disables access to instance tags from the instance metadata service. Can be `"enabled"` or `"disabled"`. -// -// For more information, see the documentation on the [Instance Metadata Service](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html). -func (o LaunchTemplateMetadataOptionsOutput) InstanceMetadataTags() pulumi.StringPtrOutput { - return o.ApplyT(func(v LaunchTemplateMetadataOptions) *string { return v.InstanceMetadataTags }).(pulumi.StringPtrOutput) +// Minimum. +func (o LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsOutput) Min() pulumi.IntPtrOutput { + return o.ApplyT(func(v LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbps) *int { return v.Min }).(pulumi.IntPtrOutput) } -type LaunchTemplateMetadataOptionsPtrOutput struct{ *pulumi.OutputState } +type LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutput struct{ *pulumi.OutputState } -func (LaunchTemplateMetadataOptionsPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**LaunchTemplateMetadataOptions)(nil)).Elem() +func (LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbps)(nil)).Elem() } -func (o LaunchTemplateMetadataOptionsPtrOutput) ToLaunchTemplateMetadataOptionsPtrOutput() LaunchTemplateMetadataOptionsPtrOutput { +func (o LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutput) ToLaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutput() LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutput { return o } -func (o LaunchTemplateMetadataOptionsPtrOutput) ToLaunchTemplateMetadataOptionsPtrOutputWithContext(ctx context.Context) LaunchTemplateMetadataOptionsPtrOutput { +func (o LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutput) ToLaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutputWithContext(ctx context.Context) LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutput { return o } -func (o LaunchTemplateMetadataOptionsPtrOutput) Elem() LaunchTemplateMetadataOptionsOutput { - return o.ApplyT(func(v *LaunchTemplateMetadataOptions) LaunchTemplateMetadataOptions { +func (o LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutput) Elem() LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsOutput { + return o.ApplyT(func(v *LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbps) LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbps { if v != nil { return *v } - var ret LaunchTemplateMetadataOptions + var ret LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbps return ret - }).(LaunchTemplateMetadataOptionsOutput) -} - -// Whether the metadata service is available. Can be `"enabled"` or `"disabled"`. (Default: `"enabled"`). -func (o LaunchTemplateMetadataOptionsPtrOutput) HttpEndpoint() pulumi.StringPtrOutput { - return o.ApplyT(func(v *LaunchTemplateMetadataOptions) *string { - if v == nil { - return nil - } - return v.HttpEndpoint - }).(pulumi.StringPtrOutput) -} - -// Enables or disables the IPv6 endpoint for the instance metadata service. Can be `"enabled"` or `"disabled"`. -func (o LaunchTemplateMetadataOptionsPtrOutput) HttpProtocolIpv6() pulumi.StringPtrOutput { - return o.ApplyT(func(v *LaunchTemplateMetadataOptions) *string { - if v == nil { - return nil - } - return v.HttpProtocolIpv6 - }).(pulumi.StringPtrOutput) + }).(LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsOutput) } -// The desired HTTP PUT response hop limit for instance metadata requests. The larger the number, the further instance metadata requests can travel. Can be an integer from `1` to `64`. (Default: `1`). -func (o LaunchTemplateMetadataOptionsPtrOutput) HttpPutResponseHopLimit() pulumi.IntPtrOutput { - return o.ApplyT(func(v *LaunchTemplateMetadataOptions) *int { +// Maximum. +func (o LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutput) Max() pulumi.IntPtrOutput { + return o.ApplyT(func(v *LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbps) *int { if v == nil { return nil } - return v.HttpPutResponseHopLimit + return v.Max }).(pulumi.IntPtrOutput) } -// Whether or not the metadata service requires session tokens, also referred to as _Instance Metadata Service Version 2 (IMDSv2)_. Can be `"optional"` or `"required"`. (Default: `"optional"`). -func (o LaunchTemplateMetadataOptionsPtrOutput) HttpTokens() pulumi.StringPtrOutput { - return o.ApplyT(func(v *LaunchTemplateMetadataOptions) *string { - if v == nil { - return nil - } - return v.HttpTokens - }).(pulumi.StringPtrOutput) -} - -// Enables or disables access to instance tags from the instance metadata service. Can be `"enabled"` or `"disabled"`. -// -// For more information, see the documentation on the [Instance Metadata Service](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html). -func (o LaunchTemplateMetadataOptionsPtrOutput) InstanceMetadataTags() pulumi.StringPtrOutput { - return o.ApplyT(func(v *LaunchTemplateMetadataOptions) *string { +// Minimum. +func (o LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutput) Min() pulumi.IntPtrOutput { + return o.ApplyT(func(v *LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbps) *int { if v == nil { return nil } - return v.InstanceMetadataTags - }).(pulumi.StringPtrOutput) + return v.Min + }).(pulumi.IntPtrOutput) } -type LaunchTemplateMonitoring struct { - // If `true`, the launched EC2 instance will have detailed monitoring enabled. - Enabled *bool `pulumi:"enabled"` +type LaunchTemplateInstanceRequirementsMemoryGibPerVcpu struct { + // Maximum. May be a decimal number, e.g. `0.5`. + Max *float64 `pulumi:"max"` + // Minimum. May be a decimal number, e.g. `0.5`. + Min *float64 `pulumi:"min"` } -// LaunchTemplateMonitoringInput is an input type that accepts LaunchTemplateMonitoringArgs and LaunchTemplateMonitoringOutput values. -// You can construct a concrete instance of `LaunchTemplateMonitoringInput` via: +// LaunchTemplateInstanceRequirementsMemoryGibPerVcpuInput is an input type that accepts LaunchTemplateInstanceRequirementsMemoryGibPerVcpuArgs and LaunchTemplateInstanceRequirementsMemoryGibPerVcpuOutput values. +// You can construct a concrete instance of `LaunchTemplateInstanceRequirementsMemoryGibPerVcpuInput` via: // -// LaunchTemplateMonitoringArgs{...} -type LaunchTemplateMonitoringInput interface { +// LaunchTemplateInstanceRequirementsMemoryGibPerVcpuArgs{...} +type LaunchTemplateInstanceRequirementsMemoryGibPerVcpuInput interface { pulumi.Input - ToLaunchTemplateMonitoringOutput() LaunchTemplateMonitoringOutput - ToLaunchTemplateMonitoringOutputWithContext(context.Context) LaunchTemplateMonitoringOutput + ToLaunchTemplateInstanceRequirementsMemoryGibPerVcpuOutput() LaunchTemplateInstanceRequirementsMemoryGibPerVcpuOutput + ToLaunchTemplateInstanceRequirementsMemoryGibPerVcpuOutputWithContext(context.Context) LaunchTemplateInstanceRequirementsMemoryGibPerVcpuOutput } -type LaunchTemplateMonitoringArgs struct { - // If `true`, the launched EC2 instance will have detailed monitoring enabled. - Enabled pulumi.BoolPtrInput `pulumi:"enabled"` +type LaunchTemplateInstanceRequirementsMemoryGibPerVcpuArgs struct { + // Maximum. May be a decimal number, e.g. `0.5`. + Max pulumi.Float64PtrInput `pulumi:"max"` + // Minimum. May be a decimal number, e.g. `0.5`. + Min pulumi.Float64PtrInput `pulumi:"min"` } -func (LaunchTemplateMonitoringArgs) ElementType() reflect.Type { - return reflect.TypeOf((*LaunchTemplateMonitoring)(nil)).Elem() +func (LaunchTemplateInstanceRequirementsMemoryGibPerVcpuArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LaunchTemplateInstanceRequirementsMemoryGibPerVcpu)(nil)).Elem() } -func (i LaunchTemplateMonitoringArgs) ToLaunchTemplateMonitoringOutput() LaunchTemplateMonitoringOutput { - return i.ToLaunchTemplateMonitoringOutputWithContext(context.Background()) +func (i LaunchTemplateInstanceRequirementsMemoryGibPerVcpuArgs) ToLaunchTemplateInstanceRequirementsMemoryGibPerVcpuOutput() LaunchTemplateInstanceRequirementsMemoryGibPerVcpuOutput { + return i.ToLaunchTemplateInstanceRequirementsMemoryGibPerVcpuOutputWithContext(context.Background()) } -func (i LaunchTemplateMonitoringArgs) ToLaunchTemplateMonitoringOutputWithContext(ctx context.Context) LaunchTemplateMonitoringOutput { - return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateMonitoringOutput) +func (i LaunchTemplateInstanceRequirementsMemoryGibPerVcpuArgs) ToLaunchTemplateInstanceRequirementsMemoryGibPerVcpuOutputWithContext(ctx context.Context) LaunchTemplateInstanceRequirementsMemoryGibPerVcpuOutput { + return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateInstanceRequirementsMemoryGibPerVcpuOutput) } -func (i LaunchTemplateMonitoringArgs) ToLaunchTemplateMonitoringPtrOutput() LaunchTemplateMonitoringPtrOutput { - return i.ToLaunchTemplateMonitoringPtrOutputWithContext(context.Background()) +func (i LaunchTemplateInstanceRequirementsMemoryGibPerVcpuArgs) ToLaunchTemplateInstanceRequirementsMemoryGibPerVcpuPtrOutput() LaunchTemplateInstanceRequirementsMemoryGibPerVcpuPtrOutput { + return i.ToLaunchTemplateInstanceRequirementsMemoryGibPerVcpuPtrOutputWithContext(context.Background()) } -func (i LaunchTemplateMonitoringArgs) ToLaunchTemplateMonitoringPtrOutputWithContext(ctx context.Context) LaunchTemplateMonitoringPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateMonitoringOutput).ToLaunchTemplateMonitoringPtrOutputWithContext(ctx) +func (i LaunchTemplateInstanceRequirementsMemoryGibPerVcpuArgs) ToLaunchTemplateInstanceRequirementsMemoryGibPerVcpuPtrOutputWithContext(ctx context.Context) LaunchTemplateInstanceRequirementsMemoryGibPerVcpuPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateInstanceRequirementsMemoryGibPerVcpuOutput).ToLaunchTemplateInstanceRequirementsMemoryGibPerVcpuPtrOutputWithContext(ctx) } -// LaunchTemplateMonitoringPtrInput is an input type that accepts LaunchTemplateMonitoringArgs, LaunchTemplateMonitoringPtr and LaunchTemplateMonitoringPtrOutput values. -// You can construct a concrete instance of `LaunchTemplateMonitoringPtrInput` via: +// LaunchTemplateInstanceRequirementsMemoryGibPerVcpuPtrInput is an input type that accepts LaunchTemplateInstanceRequirementsMemoryGibPerVcpuArgs, LaunchTemplateInstanceRequirementsMemoryGibPerVcpuPtr and LaunchTemplateInstanceRequirementsMemoryGibPerVcpuPtrOutput values. +// You can construct a concrete instance of `LaunchTemplateInstanceRequirementsMemoryGibPerVcpuPtrInput` via: // -// LaunchTemplateMonitoringArgs{...} +// LaunchTemplateInstanceRequirementsMemoryGibPerVcpuArgs{...} // // or: // // nil -type LaunchTemplateMonitoringPtrInput interface { +type LaunchTemplateInstanceRequirementsMemoryGibPerVcpuPtrInput interface { pulumi.Input - ToLaunchTemplateMonitoringPtrOutput() LaunchTemplateMonitoringPtrOutput - ToLaunchTemplateMonitoringPtrOutputWithContext(context.Context) LaunchTemplateMonitoringPtrOutput + ToLaunchTemplateInstanceRequirementsMemoryGibPerVcpuPtrOutput() LaunchTemplateInstanceRequirementsMemoryGibPerVcpuPtrOutput + ToLaunchTemplateInstanceRequirementsMemoryGibPerVcpuPtrOutputWithContext(context.Context) LaunchTemplateInstanceRequirementsMemoryGibPerVcpuPtrOutput } -type launchTemplateMonitoringPtrType LaunchTemplateMonitoringArgs +type launchTemplateInstanceRequirementsMemoryGibPerVcpuPtrType LaunchTemplateInstanceRequirementsMemoryGibPerVcpuArgs -func LaunchTemplateMonitoringPtr(v *LaunchTemplateMonitoringArgs) LaunchTemplateMonitoringPtrInput { - return (*launchTemplateMonitoringPtrType)(v) +func LaunchTemplateInstanceRequirementsMemoryGibPerVcpuPtr(v *LaunchTemplateInstanceRequirementsMemoryGibPerVcpuArgs) LaunchTemplateInstanceRequirementsMemoryGibPerVcpuPtrInput { + return (*launchTemplateInstanceRequirementsMemoryGibPerVcpuPtrType)(v) } -func (*launchTemplateMonitoringPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**LaunchTemplateMonitoring)(nil)).Elem() +func (*launchTemplateInstanceRequirementsMemoryGibPerVcpuPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**LaunchTemplateInstanceRequirementsMemoryGibPerVcpu)(nil)).Elem() } -func (i *launchTemplateMonitoringPtrType) ToLaunchTemplateMonitoringPtrOutput() LaunchTemplateMonitoringPtrOutput { - return i.ToLaunchTemplateMonitoringPtrOutputWithContext(context.Background()) +func (i *launchTemplateInstanceRequirementsMemoryGibPerVcpuPtrType) ToLaunchTemplateInstanceRequirementsMemoryGibPerVcpuPtrOutput() LaunchTemplateInstanceRequirementsMemoryGibPerVcpuPtrOutput { + return i.ToLaunchTemplateInstanceRequirementsMemoryGibPerVcpuPtrOutputWithContext(context.Background()) } -func (i *launchTemplateMonitoringPtrType) ToLaunchTemplateMonitoringPtrOutputWithContext(ctx context.Context) LaunchTemplateMonitoringPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateMonitoringPtrOutput) +func (i *launchTemplateInstanceRequirementsMemoryGibPerVcpuPtrType) ToLaunchTemplateInstanceRequirementsMemoryGibPerVcpuPtrOutputWithContext(ctx context.Context) LaunchTemplateInstanceRequirementsMemoryGibPerVcpuPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateInstanceRequirementsMemoryGibPerVcpuPtrOutput) } -type LaunchTemplateMonitoringOutput struct{ *pulumi.OutputState } +type LaunchTemplateInstanceRequirementsMemoryGibPerVcpuOutput struct{ *pulumi.OutputState } -func (LaunchTemplateMonitoringOutput) ElementType() reflect.Type { - return reflect.TypeOf((*LaunchTemplateMonitoring)(nil)).Elem() +func (LaunchTemplateInstanceRequirementsMemoryGibPerVcpuOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LaunchTemplateInstanceRequirementsMemoryGibPerVcpu)(nil)).Elem() } -func (o LaunchTemplateMonitoringOutput) ToLaunchTemplateMonitoringOutput() LaunchTemplateMonitoringOutput { +func (o LaunchTemplateInstanceRequirementsMemoryGibPerVcpuOutput) ToLaunchTemplateInstanceRequirementsMemoryGibPerVcpuOutput() LaunchTemplateInstanceRequirementsMemoryGibPerVcpuOutput { return o } -func (o LaunchTemplateMonitoringOutput) ToLaunchTemplateMonitoringOutputWithContext(ctx context.Context) LaunchTemplateMonitoringOutput { +func (o LaunchTemplateInstanceRequirementsMemoryGibPerVcpuOutput) ToLaunchTemplateInstanceRequirementsMemoryGibPerVcpuOutputWithContext(ctx context.Context) LaunchTemplateInstanceRequirementsMemoryGibPerVcpuOutput { return o } -func (o LaunchTemplateMonitoringOutput) ToLaunchTemplateMonitoringPtrOutput() LaunchTemplateMonitoringPtrOutput { - return o.ToLaunchTemplateMonitoringPtrOutputWithContext(context.Background()) +func (o LaunchTemplateInstanceRequirementsMemoryGibPerVcpuOutput) ToLaunchTemplateInstanceRequirementsMemoryGibPerVcpuPtrOutput() LaunchTemplateInstanceRequirementsMemoryGibPerVcpuPtrOutput { + return o.ToLaunchTemplateInstanceRequirementsMemoryGibPerVcpuPtrOutputWithContext(context.Background()) } -func (o LaunchTemplateMonitoringOutput) ToLaunchTemplateMonitoringPtrOutputWithContext(ctx context.Context) LaunchTemplateMonitoringPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v LaunchTemplateMonitoring) *LaunchTemplateMonitoring { +func (o LaunchTemplateInstanceRequirementsMemoryGibPerVcpuOutput) ToLaunchTemplateInstanceRequirementsMemoryGibPerVcpuPtrOutputWithContext(ctx context.Context) LaunchTemplateInstanceRequirementsMemoryGibPerVcpuPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v LaunchTemplateInstanceRequirementsMemoryGibPerVcpu) *LaunchTemplateInstanceRequirementsMemoryGibPerVcpu { return &v - }).(LaunchTemplateMonitoringPtrOutput) + }).(LaunchTemplateInstanceRequirementsMemoryGibPerVcpuPtrOutput) } -// If `true`, the launched EC2 instance will have detailed monitoring enabled. -func (o LaunchTemplateMonitoringOutput) Enabled() pulumi.BoolPtrOutput { - return o.ApplyT(func(v LaunchTemplateMonitoring) *bool { return v.Enabled }).(pulumi.BoolPtrOutput) +// Maximum. May be a decimal number, e.g. `0.5`. +func (o LaunchTemplateInstanceRequirementsMemoryGibPerVcpuOutput) Max() pulumi.Float64PtrOutput { + return o.ApplyT(func(v LaunchTemplateInstanceRequirementsMemoryGibPerVcpu) *float64 { return v.Max }).(pulumi.Float64PtrOutput) } -type LaunchTemplateMonitoringPtrOutput struct{ *pulumi.OutputState } +// Minimum. May be a decimal number, e.g. `0.5`. +func (o LaunchTemplateInstanceRequirementsMemoryGibPerVcpuOutput) Min() pulumi.Float64PtrOutput { + return o.ApplyT(func(v LaunchTemplateInstanceRequirementsMemoryGibPerVcpu) *float64 { return v.Min }).(pulumi.Float64PtrOutput) +} -func (LaunchTemplateMonitoringPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**LaunchTemplateMonitoring)(nil)).Elem() +type LaunchTemplateInstanceRequirementsMemoryGibPerVcpuPtrOutput struct{ *pulumi.OutputState } + +func (LaunchTemplateInstanceRequirementsMemoryGibPerVcpuPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**LaunchTemplateInstanceRequirementsMemoryGibPerVcpu)(nil)).Elem() } -func (o LaunchTemplateMonitoringPtrOutput) ToLaunchTemplateMonitoringPtrOutput() LaunchTemplateMonitoringPtrOutput { +func (o LaunchTemplateInstanceRequirementsMemoryGibPerVcpuPtrOutput) ToLaunchTemplateInstanceRequirementsMemoryGibPerVcpuPtrOutput() LaunchTemplateInstanceRequirementsMemoryGibPerVcpuPtrOutput { return o } -func (o LaunchTemplateMonitoringPtrOutput) ToLaunchTemplateMonitoringPtrOutputWithContext(ctx context.Context) LaunchTemplateMonitoringPtrOutput { +func (o LaunchTemplateInstanceRequirementsMemoryGibPerVcpuPtrOutput) ToLaunchTemplateInstanceRequirementsMemoryGibPerVcpuPtrOutputWithContext(ctx context.Context) LaunchTemplateInstanceRequirementsMemoryGibPerVcpuPtrOutput { return o } -func (o LaunchTemplateMonitoringPtrOutput) Elem() LaunchTemplateMonitoringOutput { - return o.ApplyT(func(v *LaunchTemplateMonitoring) LaunchTemplateMonitoring { +func (o LaunchTemplateInstanceRequirementsMemoryGibPerVcpuPtrOutput) Elem() LaunchTemplateInstanceRequirementsMemoryGibPerVcpuOutput { + return o.ApplyT(func(v *LaunchTemplateInstanceRequirementsMemoryGibPerVcpu) LaunchTemplateInstanceRequirementsMemoryGibPerVcpu { if v != nil { return *v } - var ret LaunchTemplateMonitoring + var ret LaunchTemplateInstanceRequirementsMemoryGibPerVcpu return ret - }).(LaunchTemplateMonitoringOutput) + }).(LaunchTemplateInstanceRequirementsMemoryGibPerVcpuOutput) } -// If `true`, the launched EC2 instance will have detailed monitoring enabled. -func (o LaunchTemplateMonitoringPtrOutput) Enabled() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *LaunchTemplateMonitoring) *bool { +// Maximum. May be a decimal number, e.g. `0.5`. +func (o LaunchTemplateInstanceRequirementsMemoryGibPerVcpuPtrOutput) Max() pulumi.Float64PtrOutput { + return o.ApplyT(func(v *LaunchTemplateInstanceRequirementsMemoryGibPerVcpu) *float64 { if v == nil { return nil } - return v.Enabled - }).(pulumi.BoolPtrOutput) + return v.Max + }).(pulumi.Float64PtrOutput) } -type LaunchTemplateNetworkInterface struct { - // Associate a Carrier IP address with `eth0` for a new network interface. Use this option when you launch an instance in a Wavelength Zone and want to associate a Carrier IP address with the network interface. Boolean value, can be left unset. - AssociateCarrierIpAddress *string `pulumi:"associateCarrierIpAddress"` - // Associate a public ip address with the network interface. Boolean value, can be left unset. - AssociatePublicIpAddress *string `pulumi:"associatePublicIpAddress"` - // The Connection Tracking Configuration for the network interface. See [Amazon EC2 security group connection tracking](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/security-group-connection-tracking.html#connection-tracking-timeouts) - ConnectionTrackingSpecification *LaunchTemplateNetworkInterfaceConnectionTrackingSpecification `pulumi:"connectionTrackingSpecification"` - // Whether the network interface should be destroyed on instance termination. - DeleteOnTermination *string `pulumi:"deleteOnTermination"` - // Description of the network interface. - Description *string `pulumi:"description"` - // The integer index of the network interface attachment. - DeviceIndex *int `pulumi:"deviceIndex"` - // Configuration for Elastic Network Adapter (ENA) Express settings. Applies to network interfaces that use the [ena Express](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/enhanced-networking-ena-express.html) feature. See details below. - EnaSrdSpecification *LaunchTemplateNetworkInterfaceEnaSrdSpecification `pulumi:"enaSrdSpecification"` - // The type of network interface. To create an Elastic Fabric Adapter (EFA), specify `efa`. - InterfaceType *string `pulumi:"interfaceType"` - // The number of secondary private IPv4 addresses to assign to a network interface. Conflicts with `ipv4Addresses` - Ipv4AddressCount *int `pulumi:"ipv4AddressCount"` - // One or more private IPv4 addresses to associate. Conflicts with `ipv4AddressCount` - Ipv4Addresses []string `pulumi:"ipv4Addresses"` - // The number of IPv4 prefixes to be automatically assigned to the network interface. Conflicts with `ipv4Prefixes` - Ipv4PrefixCount *int `pulumi:"ipv4PrefixCount"` - // One or more IPv4 prefixes to be assigned to the network interface. Conflicts with `ipv4PrefixCount` - Ipv4Prefixes []string `pulumi:"ipv4Prefixes"` - // The number of IPv6 addresses to assign to a network interface. Conflicts with `ipv6Addresses` - Ipv6AddressCount *int `pulumi:"ipv6AddressCount"` - // One or more specific IPv6 addresses from the IPv6 CIDR block range of your subnet. Conflicts with `ipv6AddressCount` - Ipv6Addresses []string `pulumi:"ipv6Addresses"` - // The number of IPv6 prefixes to be automatically assigned to the network interface. Conflicts with `ipv6Prefixes` - Ipv6PrefixCount *int `pulumi:"ipv6PrefixCount"` - // One or more IPv6 prefixes to be assigned to the network interface. Conflicts with `ipv6PrefixCount` - Ipv6Prefixes []string `pulumi:"ipv6Prefixes"` - // The index of the network card. Some instance types support multiple network cards. The primary network interface must be assigned to network card index 0. The default is network card index 0. - NetworkCardIndex *int `pulumi:"networkCardIndex"` - // The ID of the network interface to attach. - NetworkInterfaceId *string `pulumi:"networkInterfaceId"` - // Whether the first IPv6 GUA will be made the primary IPv6 address. - PrimaryIpv6 *string `pulumi:"primaryIpv6"` - // The primary private IPv4 address. - PrivateIpAddress *string `pulumi:"privateIpAddress"` - // A list of security group IDs to associate. - SecurityGroups []string `pulumi:"securityGroups"` - // The VPC Subnet ID to associate. - SubnetId *string `pulumi:"subnetId"` +// Minimum. May be a decimal number, e.g. `0.5`. +func (o LaunchTemplateInstanceRequirementsMemoryGibPerVcpuPtrOutput) Min() pulumi.Float64PtrOutput { + return o.ApplyT(func(v *LaunchTemplateInstanceRequirementsMemoryGibPerVcpu) *float64 { + if v == nil { + return nil + } + return v.Min + }).(pulumi.Float64PtrOutput) } -// LaunchTemplateNetworkInterfaceInput is an input type that accepts LaunchTemplateNetworkInterfaceArgs and LaunchTemplateNetworkInterfaceOutput values. -// You can construct a concrete instance of `LaunchTemplateNetworkInterfaceInput` via: +type LaunchTemplateInstanceRequirementsMemoryMib struct { + // Maximum. + Max *int `pulumi:"max"` + // Minimum. + Min int `pulumi:"min"` +} + +// LaunchTemplateInstanceRequirementsMemoryMibInput is an input type that accepts LaunchTemplateInstanceRequirementsMemoryMibArgs and LaunchTemplateInstanceRequirementsMemoryMibOutput values. +// You can construct a concrete instance of `LaunchTemplateInstanceRequirementsMemoryMibInput` via: // -// LaunchTemplateNetworkInterfaceArgs{...} -type LaunchTemplateNetworkInterfaceInput interface { +// LaunchTemplateInstanceRequirementsMemoryMibArgs{...} +type LaunchTemplateInstanceRequirementsMemoryMibInput interface { pulumi.Input - ToLaunchTemplateNetworkInterfaceOutput() LaunchTemplateNetworkInterfaceOutput - ToLaunchTemplateNetworkInterfaceOutputWithContext(context.Context) LaunchTemplateNetworkInterfaceOutput + ToLaunchTemplateInstanceRequirementsMemoryMibOutput() LaunchTemplateInstanceRequirementsMemoryMibOutput + ToLaunchTemplateInstanceRequirementsMemoryMibOutputWithContext(context.Context) LaunchTemplateInstanceRequirementsMemoryMibOutput } -type LaunchTemplateNetworkInterfaceArgs struct { - // Associate a Carrier IP address with `eth0` for a new network interface. Use this option when you launch an instance in a Wavelength Zone and want to associate a Carrier IP address with the network interface. Boolean value, can be left unset. - AssociateCarrierIpAddress pulumi.StringPtrInput `pulumi:"associateCarrierIpAddress"` - // Associate a public ip address with the network interface. Boolean value, can be left unset. - AssociatePublicIpAddress pulumi.StringPtrInput `pulumi:"associatePublicIpAddress"` - // The Connection Tracking Configuration for the network interface. See [Amazon EC2 security group connection tracking](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/security-group-connection-tracking.html#connection-tracking-timeouts) - ConnectionTrackingSpecification LaunchTemplateNetworkInterfaceConnectionTrackingSpecificationPtrInput `pulumi:"connectionTrackingSpecification"` - // Whether the network interface should be destroyed on instance termination. - DeleteOnTermination pulumi.StringPtrInput `pulumi:"deleteOnTermination"` - // Description of the network interface. - Description pulumi.StringPtrInput `pulumi:"description"` - // The integer index of the network interface attachment. - DeviceIndex pulumi.IntPtrInput `pulumi:"deviceIndex"` - // Configuration for Elastic Network Adapter (ENA) Express settings. Applies to network interfaces that use the [ena Express](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/enhanced-networking-ena-express.html) feature. See details below. - EnaSrdSpecification LaunchTemplateNetworkInterfaceEnaSrdSpecificationPtrInput `pulumi:"enaSrdSpecification"` - // The type of network interface. To create an Elastic Fabric Adapter (EFA), specify `efa`. - InterfaceType pulumi.StringPtrInput `pulumi:"interfaceType"` - // The number of secondary private IPv4 addresses to assign to a network interface. Conflicts with `ipv4Addresses` - Ipv4AddressCount pulumi.IntPtrInput `pulumi:"ipv4AddressCount"` - // One or more private IPv4 addresses to associate. Conflicts with `ipv4AddressCount` - Ipv4Addresses pulumi.StringArrayInput `pulumi:"ipv4Addresses"` - // The number of IPv4 prefixes to be automatically assigned to the network interface. Conflicts with `ipv4Prefixes` - Ipv4PrefixCount pulumi.IntPtrInput `pulumi:"ipv4PrefixCount"` - // One or more IPv4 prefixes to be assigned to the network interface. Conflicts with `ipv4PrefixCount` - Ipv4Prefixes pulumi.StringArrayInput `pulumi:"ipv4Prefixes"` - // The number of IPv6 addresses to assign to a network interface. Conflicts with `ipv6Addresses` - Ipv6AddressCount pulumi.IntPtrInput `pulumi:"ipv6AddressCount"` - // One or more specific IPv6 addresses from the IPv6 CIDR block range of your subnet. Conflicts with `ipv6AddressCount` - Ipv6Addresses pulumi.StringArrayInput `pulumi:"ipv6Addresses"` - // The number of IPv6 prefixes to be automatically assigned to the network interface. Conflicts with `ipv6Prefixes` - Ipv6PrefixCount pulumi.IntPtrInput `pulumi:"ipv6PrefixCount"` - // One or more IPv6 prefixes to be assigned to the network interface. Conflicts with `ipv6PrefixCount` - Ipv6Prefixes pulumi.StringArrayInput `pulumi:"ipv6Prefixes"` - // The index of the network card. Some instance types support multiple network cards. The primary network interface must be assigned to network card index 0. The default is network card index 0. - NetworkCardIndex pulumi.IntPtrInput `pulumi:"networkCardIndex"` - // The ID of the network interface to attach. - NetworkInterfaceId pulumi.StringPtrInput `pulumi:"networkInterfaceId"` - // Whether the first IPv6 GUA will be made the primary IPv6 address. - PrimaryIpv6 pulumi.StringPtrInput `pulumi:"primaryIpv6"` - // The primary private IPv4 address. - PrivateIpAddress pulumi.StringPtrInput `pulumi:"privateIpAddress"` - // A list of security group IDs to associate. - SecurityGroups pulumi.StringArrayInput `pulumi:"securityGroups"` - // The VPC Subnet ID to associate. - SubnetId pulumi.StringPtrInput `pulumi:"subnetId"` +type LaunchTemplateInstanceRequirementsMemoryMibArgs struct { + // Maximum. + Max pulumi.IntPtrInput `pulumi:"max"` + // Minimum. + Min pulumi.IntInput `pulumi:"min"` } -func (LaunchTemplateNetworkInterfaceArgs) ElementType() reflect.Type { - return reflect.TypeOf((*LaunchTemplateNetworkInterface)(nil)).Elem() +func (LaunchTemplateInstanceRequirementsMemoryMibArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LaunchTemplateInstanceRequirementsMemoryMib)(nil)).Elem() } -func (i LaunchTemplateNetworkInterfaceArgs) ToLaunchTemplateNetworkInterfaceOutput() LaunchTemplateNetworkInterfaceOutput { - return i.ToLaunchTemplateNetworkInterfaceOutputWithContext(context.Background()) +func (i LaunchTemplateInstanceRequirementsMemoryMibArgs) ToLaunchTemplateInstanceRequirementsMemoryMibOutput() LaunchTemplateInstanceRequirementsMemoryMibOutput { + return i.ToLaunchTemplateInstanceRequirementsMemoryMibOutputWithContext(context.Background()) } -func (i LaunchTemplateNetworkInterfaceArgs) ToLaunchTemplateNetworkInterfaceOutputWithContext(ctx context.Context) LaunchTemplateNetworkInterfaceOutput { - return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateNetworkInterfaceOutput) +func (i LaunchTemplateInstanceRequirementsMemoryMibArgs) ToLaunchTemplateInstanceRequirementsMemoryMibOutputWithContext(ctx context.Context) LaunchTemplateInstanceRequirementsMemoryMibOutput { + return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateInstanceRequirementsMemoryMibOutput) } -// LaunchTemplateNetworkInterfaceArrayInput is an input type that accepts LaunchTemplateNetworkInterfaceArray and LaunchTemplateNetworkInterfaceArrayOutput values. -// You can construct a concrete instance of `LaunchTemplateNetworkInterfaceArrayInput` via: -// -// LaunchTemplateNetworkInterfaceArray{ LaunchTemplateNetworkInterfaceArgs{...} } -type LaunchTemplateNetworkInterfaceArrayInput interface { - pulumi.Input - - ToLaunchTemplateNetworkInterfaceArrayOutput() LaunchTemplateNetworkInterfaceArrayOutput - ToLaunchTemplateNetworkInterfaceArrayOutputWithContext(context.Context) LaunchTemplateNetworkInterfaceArrayOutput -} - -type LaunchTemplateNetworkInterfaceArray []LaunchTemplateNetworkInterfaceInput - -func (LaunchTemplateNetworkInterfaceArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]LaunchTemplateNetworkInterface)(nil)).Elem() -} - -func (i LaunchTemplateNetworkInterfaceArray) ToLaunchTemplateNetworkInterfaceArrayOutput() LaunchTemplateNetworkInterfaceArrayOutput { - return i.ToLaunchTemplateNetworkInterfaceArrayOutputWithContext(context.Background()) -} - -func (i LaunchTemplateNetworkInterfaceArray) ToLaunchTemplateNetworkInterfaceArrayOutputWithContext(ctx context.Context) LaunchTemplateNetworkInterfaceArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateNetworkInterfaceArrayOutput) -} - -type LaunchTemplateNetworkInterfaceOutput struct{ *pulumi.OutputState } - -func (LaunchTemplateNetworkInterfaceOutput) ElementType() reflect.Type { - return reflect.TypeOf((*LaunchTemplateNetworkInterface)(nil)).Elem() -} - -func (o LaunchTemplateNetworkInterfaceOutput) ToLaunchTemplateNetworkInterfaceOutput() LaunchTemplateNetworkInterfaceOutput { - return o -} - -func (o LaunchTemplateNetworkInterfaceOutput) ToLaunchTemplateNetworkInterfaceOutputWithContext(ctx context.Context) LaunchTemplateNetworkInterfaceOutput { - return o -} - -// Associate a Carrier IP address with `eth0` for a new network interface. Use this option when you launch an instance in a Wavelength Zone and want to associate a Carrier IP address with the network interface. Boolean value, can be left unset. -func (o LaunchTemplateNetworkInterfaceOutput) AssociateCarrierIpAddress() pulumi.StringPtrOutput { - return o.ApplyT(func(v LaunchTemplateNetworkInterface) *string { return v.AssociateCarrierIpAddress }).(pulumi.StringPtrOutput) -} - -// Associate a public ip address with the network interface. Boolean value, can be left unset. -func (o LaunchTemplateNetworkInterfaceOutput) AssociatePublicIpAddress() pulumi.StringPtrOutput { - return o.ApplyT(func(v LaunchTemplateNetworkInterface) *string { return v.AssociatePublicIpAddress }).(pulumi.StringPtrOutput) -} - -// The Connection Tracking Configuration for the network interface. See [Amazon EC2 security group connection tracking](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/security-group-connection-tracking.html#connection-tracking-timeouts) -func (o LaunchTemplateNetworkInterfaceOutput) ConnectionTrackingSpecification() LaunchTemplateNetworkInterfaceConnectionTrackingSpecificationPtrOutput { - return o.ApplyT(func(v LaunchTemplateNetworkInterface) *LaunchTemplateNetworkInterfaceConnectionTrackingSpecification { - return v.ConnectionTrackingSpecification - }).(LaunchTemplateNetworkInterfaceConnectionTrackingSpecificationPtrOutput) +func (i LaunchTemplateInstanceRequirementsMemoryMibArgs) ToLaunchTemplateInstanceRequirementsMemoryMibPtrOutput() LaunchTemplateInstanceRequirementsMemoryMibPtrOutput { + return i.ToLaunchTemplateInstanceRequirementsMemoryMibPtrOutputWithContext(context.Background()) } -// Whether the network interface should be destroyed on instance termination. -func (o LaunchTemplateNetworkInterfaceOutput) DeleteOnTermination() pulumi.StringPtrOutput { - return o.ApplyT(func(v LaunchTemplateNetworkInterface) *string { return v.DeleteOnTermination }).(pulumi.StringPtrOutput) +func (i LaunchTemplateInstanceRequirementsMemoryMibArgs) ToLaunchTemplateInstanceRequirementsMemoryMibPtrOutputWithContext(ctx context.Context) LaunchTemplateInstanceRequirementsMemoryMibPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateInstanceRequirementsMemoryMibOutput).ToLaunchTemplateInstanceRequirementsMemoryMibPtrOutputWithContext(ctx) } -// Description of the network interface. -func (o LaunchTemplateNetworkInterfaceOutput) Description() pulumi.StringPtrOutput { - return o.ApplyT(func(v LaunchTemplateNetworkInterface) *string { return v.Description }).(pulumi.StringPtrOutput) -} +// LaunchTemplateInstanceRequirementsMemoryMibPtrInput is an input type that accepts LaunchTemplateInstanceRequirementsMemoryMibArgs, LaunchTemplateInstanceRequirementsMemoryMibPtr and LaunchTemplateInstanceRequirementsMemoryMibPtrOutput values. +// You can construct a concrete instance of `LaunchTemplateInstanceRequirementsMemoryMibPtrInput` via: +// +// LaunchTemplateInstanceRequirementsMemoryMibArgs{...} +// +// or: +// +// nil +type LaunchTemplateInstanceRequirementsMemoryMibPtrInput interface { + pulumi.Input -// The integer index of the network interface attachment. -func (o LaunchTemplateNetworkInterfaceOutput) DeviceIndex() pulumi.IntPtrOutput { - return o.ApplyT(func(v LaunchTemplateNetworkInterface) *int { return v.DeviceIndex }).(pulumi.IntPtrOutput) + ToLaunchTemplateInstanceRequirementsMemoryMibPtrOutput() LaunchTemplateInstanceRequirementsMemoryMibPtrOutput + ToLaunchTemplateInstanceRequirementsMemoryMibPtrOutputWithContext(context.Context) LaunchTemplateInstanceRequirementsMemoryMibPtrOutput } -// Configuration for Elastic Network Adapter (ENA) Express settings. Applies to network interfaces that use the [ena Express](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/enhanced-networking-ena-express.html) feature. See details below. -func (o LaunchTemplateNetworkInterfaceOutput) EnaSrdSpecification() LaunchTemplateNetworkInterfaceEnaSrdSpecificationPtrOutput { - return o.ApplyT(func(v LaunchTemplateNetworkInterface) *LaunchTemplateNetworkInterfaceEnaSrdSpecification { - return v.EnaSrdSpecification - }).(LaunchTemplateNetworkInterfaceEnaSrdSpecificationPtrOutput) -} +type launchTemplateInstanceRequirementsMemoryMibPtrType LaunchTemplateInstanceRequirementsMemoryMibArgs -// The type of network interface. To create an Elastic Fabric Adapter (EFA), specify `efa`. -func (o LaunchTemplateNetworkInterfaceOutput) InterfaceType() pulumi.StringPtrOutput { - return o.ApplyT(func(v LaunchTemplateNetworkInterface) *string { return v.InterfaceType }).(pulumi.StringPtrOutput) +func LaunchTemplateInstanceRequirementsMemoryMibPtr(v *LaunchTemplateInstanceRequirementsMemoryMibArgs) LaunchTemplateInstanceRequirementsMemoryMibPtrInput { + return (*launchTemplateInstanceRequirementsMemoryMibPtrType)(v) } -// The number of secondary private IPv4 addresses to assign to a network interface. Conflicts with `ipv4Addresses` -func (o LaunchTemplateNetworkInterfaceOutput) Ipv4AddressCount() pulumi.IntPtrOutput { - return o.ApplyT(func(v LaunchTemplateNetworkInterface) *int { return v.Ipv4AddressCount }).(pulumi.IntPtrOutput) +func (*launchTemplateInstanceRequirementsMemoryMibPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**LaunchTemplateInstanceRequirementsMemoryMib)(nil)).Elem() } -// One or more private IPv4 addresses to associate. Conflicts with `ipv4AddressCount` -func (o LaunchTemplateNetworkInterfaceOutput) Ipv4Addresses() pulumi.StringArrayOutput { - return o.ApplyT(func(v LaunchTemplateNetworkInterface) []string { return v.Ipv4Addresses }).(pulumi.StringArrayOutput) +func (i *launchTemplateInstanceRequirementsMemoryMibPtrType) ToLaunchTemplateInstanceRequirementsMemoryMibPtrOutput() LaunchTemplateInstanceRequirementsMemoryMibPtrOutput { + return i.ToLaunchTemplateInstanceRequirementsMemoryMibPtrOutputWithContext(context.Background()) } -// The number of IPv4 prefixes to be automatically assigned to the network interface. Conflicts with `ipv4Prefixes` -func (o LaunchTemplateNetworkInterfaceOutput) Ipv4PrefixCount() pulumi.IntPtrOutput { - return o.ApplyT(func(v LaunchTemplateNetworkInterface) *int { return v.Ipv4PrefixCount }).(pulumi.IntPtrOutput) +func (i *launchTemplateInstanceRequirementsMemoryMibPtrType) ToLaunchTemplateInstanceRequirementsMemoryMibPtrOutputWithContext(ctx context.Context) LaunchTemplateInstanceRequirementsMemoryMibPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateInstanceRequirementsMemoryMibPtrOutput) } -// One or more IPv4 prefixes to be assigned to the network interface. Conflicts with `ipv4PrefixCount` -func (o LaunchTemplateNetworkInterfaceOutput) Ipv4Prefixes() pulumi.StringArrayOutput { - return o.ApplyT(func(v LaunchTemplateNetworkInterface) []string { return v.Ipv4Prefixes }).(pulumi.StringArrayOutput) -} +type LaunchTemplateInstanceRequirementsMemoryMibOutput struct{ *pulumi.OutputState } -// The number of IPv6 addresses to assign to a network interface. Conflicts with `ipv6Addresses` -func (o LaunchTemplateNetworkInterfaceOutput) Ipv6AddressCount() pulumi.IntPtrOutput { - return o.ApplyT(func(v LaunchTemplateNetworkInterface) *int { return v.Ipv6AddressCount }).(pulumi.IntPtrOutput) +func (LaunchTemplateInstanceRequirementsMemoryMibOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LaunchTemplateInstanceRequirementsMemoryMib)(nil)).Elem() } -// One or more specific IPv6 addresses from the IPv6 CIDR block range of your subnet. Conflicts with `ipv6AddressCount` -func (o LaunchTemplateNetworkInterfaceOutput) Ipv6Addresses() pulumi.StringArrayOutput { - return o.ApplyT(func(v LaunchTemplateNetworkInterface) []string { return v.Ipv6Addresses }).(pulumi.StringArrayOutput) +func (o LaunchTemplateInstanceRequirementsMemoryMibOutput) ToLaunchTemplateInstanceRequirementsMemoryMibOutput() LaunchTemplateInstanceRequirementsMemoryMibOutput { + return o } -// The number of IPv6 prefixes to be automatically assigned to the network interface. Conflicts with `ipv6Prefixes` -func (o LaunchTemplateNetworkInterfaceOutput) Ipv6PrefixCount() pulumi.IntPtrOutput { - return o.ApplyT(func(v LaunchTemplateNetworkInterface) *int { return v.Ipv6PrefixCount }).(pulumi.IntPtrOutput) +func (o LaunchTemplateInstanceRequirementsMemoryMibOutput) ToLaunchTemplateInstanceRequirementsMemoryMibOutputWithContext(ctx context.Context) LaunchTemplateInstanceRequirementsMemoryMibOutput { + return o } -// One or more IPv6 prefixes to be assigned to the network interface. Conflicts with `ipv6PrefixCount` -func (o LaunchTemplateNetworkInterfaceOutput) Ipv6Prefixes() pulumi.StringArrayOutput { - return o.ApplyT(func(v LaunchTemplateNetworkInterface) []string { return v.Ipv6Prefixes }).(pulumi.StringArrayOutput) +func (o LaunchTemplateInstanceRequirementsMemoryMibOutput) ToLaunchTemplateInstanceRequirementsMemoryMibPtrOutput() LaunchTemplateInstanceRequirementsMemoryMibPtrOutput { + return o.ToLaunchTemplateInstanceRequirementsMemoryMibPtrOutputWithContext(context.Background()) } -// The index of the network card. Some instance types support multiple network cards. The primary network interface must be assigned to network card index 0. The default is network card index 0. -func (o LaunchTemplateNetworkInterfaceOutput) NetworkCardIndex() pulumi.IntPtrOutput { - return o.ApplyT(func(v LaunchTemplateNetworkInterface) *int { return v.NetworkCardIndex }).(pulumi.IntPtrOutput) +func (o LaunchTemplateInstanceRequirementsMemoryMibOutput) ToLaunchTemplateInstanceRequirementsMemoryMibPtrOutputWithContext(ctx context.Context) LaunchTemplateInstanceRequirementsMemoryMibPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v LaunchTemplateInstanceRequirementsMemoryMib) *LaunchTemplateInstanceRequirementsMemoryMib { + return &v + }).(LaunchTemplateInstanceRequirementsMemoryMibPtrOutput) } -// The ID of the network interface to attach. -func (o LaunchTemplateNetworkInterfaceOutput) NetworkInterfaceId() pulumi.StringPtrOutput { - return o.ApplyT(func(v LaunchTemplateNetworkInterface) *string { return v.NetworkInterfaceId }).(pulumi.StringPtrOutput) +// Maximum. +func (o LaunchTemplateInstanceRequirementsMemoryMibOutput) Max() pulumi.IntPtrOutput { + return o.ApplyT(func(v LaunchTemplateInstanceRequirementsMemoryMib) *int { return v.Max }).(pulumi.IntPtrOutput) } -// Whether the first IPv6 GUA will be made the primary IPv6 address. -func (o LaunchTemplateNetworkInterfaceOutput) PrimaryIpv6() pulumi.StringPtrOutput { - return o.ApplyT(func(v LaunchTemplateNetworkInterface) *string { return v.PrimaryIpv6 }).(pulumi.StringPtrOutput) +// Minimum. +func (o LaunchTemplateInstanceRequirementsMemoryMibOutput) Min() pulumi.IntOutput { + return o.ApplyT(func(v LaunchTemplateInstanceRequirementsMemoryMib) int { return v.Min }).(pulumi.IntOutput) } -// The primary private IPv4 address. -func (o LaunchTemplateNetworkInterfaceOutput) PrivateIpAddress() pulumi.StringPtrOutput { - return o.ApplyT(func(v LaunchTemplateNetworkInterface) *string { return v.PrivateIpAddress }).(pulumi.StringPtrOutput) -} +type LaunchTemplateInstanceRequirementsMemoryMibPtrOutput struct{ *pulumi.OutputState } -// A list of security group IDs to associate. -func (o LaunchTemplateNetworkInterfaceOutput) SecurityGroups() pulumi.StringArrayOutput { - return o.ApplyT(func(v LaunchTemplateNetworkInterface) []string { return v.SecurityGroups }).(pulumi.StringArrayOutput) +func (LaunchTemplateInstanceRequirementsMemoryMibPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**LaunchTemplateInstanceRequirementsMemoryMib)(nil)).Elem() } -// The VPC Subnet ID to associate. -func (o LaunchTemplateNetworkInterfaceOutput) SubnetId() pulumi.StringPtrOutput { - return o.ApplyT(func(v LaunchTemplateNetworkInterface) *string { return v.SubnetId }).(pulumi.StringPtrOutput) +func (o LaunchTemplateInstanceRequirementsMemoryMibPtrOutput) ToLaunchTemplateInstanceRequirementsMemoryMibPtrOutput() LaunchTemplateInstanceRequirementsMemoryMibPtrOutput { + return o } -type LaunchTemplateNetworkInterfaceArrayOutput struct{ *pulumi.OutputState } - -func (LaunchTemplateNetworkInterfaceArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]LaunchTemplateNetworkInterface)(nil)).Elem() +func (o LaunchTemplateInstanceRequirementsMemoryMibPtrOutput) ToLaunchTemplateInstanceRequirementsMemoryMibPtrOutputWithContext(ctx context.Context) LaunchTemplateInstanceRequirementsMemoryMibPtrOutput { + return o } -func (o LaunchTemplateNetworkInterfaceArrayOutput) ToLaunchTemplateNetworkInterfaceArrayOutput() LaunchTemplateNetworkInterfaceArrayOutput { - return o +func (o LaunchTemplateInstanceRequirementsMemoryMibPtrOutput) Elem() LaunchTemplateInstanceRequirementsMemoryMibOutput { + return o.ApplyT(func(v *LaunchTemplateInstanceRequirementsMemoryMib) LaunchTemplateInstanceRequirementsMemoryMib { + if v != nil { + return *v + } + var ret LaunchTemplateInstanceRequirementsMemoryMib + return ret + }).(LaunchTemplateInstanceRequirementsMemoryMibOutput) } -func (o LaunchTemplateNetworkInterfaceArrayOutput) ToLaunchTemplateNetworkInterfaceArrayOutputWithContext(ctx context.Context) LaunchTemplateNetworkInterfaceArrayOutput { - return o +// Maximum. +func (o LaunchTemplateInstanceRequirementsMemoryMibPtrOutput) Max() pulumi.IntPtrOutput { + return o.ApplyT(func(v *LaunchTemplateInstanceRequirementsMemoryMib) *int { + if v == nil { + return nil + } + return v.Max + }).(pulumi.IntPtrOutput) } -func (o LaunchTemplateNetworkInterfaceArrayOutput) Index(i pulumi.IntInput) LaunchTemplateNetworkInterfaceOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) LaunchTemplateNetworkInterface { - return vs[0].([]LaunchTemplateNetworkInterface)[vs[1].(int)] - }).(LaunchTemplateNetworkInterfaceOutput) +// Minimum. +func (o LaunchTemplateInstanceRequirementsMemoryMibPtrOutput) Min() pulumi.IntPtrOutput { + return o.ApplyT(func(v *LaunchTemplateInstanceRequirementsMemoryMib) *int { + if v == nil { + return nil + } + return &v.Min + }).(pulumi.IntPtrOutput) } -type LaunchTemplateNetworkInterfaceConnectionTrackingSpecification struct { - // Timeout (in seconds) for idle TCP connections in an established state. Min: 60 seconds. Max: 432000 seconds (5 days). Default: 432000 seconds. Recommended: Less than 432000 seconds. - TcpEstablishedTimeout *int `pulumi:"tcpEstablishedTimeout"` - // Timeout (in seconds) for idle UDP flows that have seen traffic only in a single direction or a single request-response transaction. Min: 30 seconds. Max: 60 seconds. Default: 30 seconds. - UdpStreamTimeout *int `pulumi:"udpStreamTimeout"` - // Timeout (in seconds) for idle UDP flows classified as streams which have seen more than one request-response transaction. Min: 60 seconds. Max: 180 seconds (3 minutes). Default: 180 seconds. - UdpTimeout *int `pulumi:"udpTimeout"` +type LaunchTemplateInstanceRequirementsNetworkBandwidthGbps struct { + // Maximum. + Max *float64 `pulumi:"max"` + // Minimum. + Min *float64 `pulumi:"min"` } -// LaunchTemplateNetworkInterfaceConnectionTrackingSpecificationInput is an input type that accepts LaunchTemplateNetworkInterfaceConnectionTrackingSpecificationArgs and LaunchTemplateNetworkInterfaceConnectionTrackingSpecificationOutput values. -// You can construct a concrete instance of `LaunchTemplateNetworkInterfaceConnectionTrackingSpecificationInput` via: +// LaunchTemplateInstanceRequirementsNetworkBandwidthGbpsInput is an input type that accepts LaunchTemplateInstanceRequirementsNetworkBandwidthGbpsArgs and LaunchTemplateInstanceRequirementsNetworkBandwidthGbpsOutput values. +// You can construct a concrete instance of `LaunchTemplateInstanceRequirementsNetworkBandwidthGbpsInput` via: // -// LaunchTemplateNetworkInterfaceConnectionTrackingSpecificationArgs{...} -type LaunchTemplateNetworkInterfaceConnectionTrackingSpecificationInput interface { +// LaunchTemplateInstanceRequirementsNetworkBandwidthGbpsArgs{...} +type LaunchTemplateInstanceRequirementsNetworkBandwidthGbpsInput interface { pulumi.Input - ToLaunchTemplateNetworkInterfaceConnectionTrackingSpecificationOutput() LaunchTemplateNetworkInterfaceConnectionTrackingSpecificationOutput - ToLaunchTemplateNetworkInterfaceConnectionTrackingSpecificationOutputWithContext(context.Context) LaunchTemplateNetworkInterfaceConnectionTrackingSpecificationOutput + ToLaunchTemplateInstanceRequirementsNetworkBandwidthGbpsOutput() LaunchTemplateInstanceRequirementsNetworkBandwidthGbpsOutput + ToLaunchTemplateInstanceRequirementsNetworkBandwidthGbpsOutputWithContext(context.Context) LaunchTemplateInstanceRequirementsNetworkBandwidthGbpsOutput } -type LaunchTemplateNetworkInterfaceConnectionTrackingSpecificationArgs struct { - // Timeout (in seconds) for idle TCP connections in an established state. Min: 60 seconds. Max: 432000 seconds (5 days). Default: 432000 seconds. Recommended: Less than 432000 seconds. - TcpEstablishedTimeout pulumi.IntPtrInput `pulumi:"tcpEstablishedTimeout"` - // Timeout (in seconds) for idle UDP flows that have seen traffic only in a single direction or a single request-response transaction. Min: 30 seconds. Max: 60 seconds. Default: 30 seconds. - UdpStreamTimeout pulumi.IntPtrInput `pulumi:"udpStreamTimeout"` - // Timeout (in seconds) for idle UDP flows classified as streams which have seen more than one request-response transaction. Min: 60 seconds. Max: 180 seconds (3 minutes). Default: 180 seconds. - UdpTimeout pulumi.IntPtrInput `pulumi:"udpTimeout"` +type LaunchTemplateInstanceRequirementsNetworkBandwidthGbpsArgs struct { + // Maximum. + Max pulumi.Float64PtrInput `pulumi:"max"` + // Minimum. + Min pulumi.Float64PtrInput `pulumi:"min"` } -func (LaunchTemplateNetworkInterfaceConnectionTrackingSpecificationArgs) ElementType() reflect.Type { - return reflect.TypeOf((*LaunchTemplateNetworkInterfaceConnectionTrackingSpecification)(nil)).Elem() +func (LaunchTemplateInstanceRequirementsNetworkBandwidthGbpsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LaunchTemplateInstanceRequirementsNetworkBandwidthGbps)(nil)).Elem() } -func (i LaunchTemplateNetworkInterfaceConnectionTrackingSpecificationArgs) ToLaunchTemplateNetworkInterfaceConnectionTrackingSpecificationOutput() LaunchTemplateNetworkInterfaceConnectionTrackingSpecificationOutput { - return i.ToLaunchTemplateNetworkInterfaceConnectionTrackingSpecificationOutputWithContext(context.Background()) +func (i LaunchTemplateInstanceRequirementsNetworkBandwidthGbpsArgs) ToLaunchTemplateInstanceRequirementsNetworkBandwidthGbpsOutput() LaunchTemplateInstanceRequirementsNetworkBandwidthGbpsOutput { + return i.ToLaunchTemplateInstanceRequirementsNetworkBandwidthGbpsOutputWithContext(context.Background()) } -func (i LaunchTemplateNetworkInterfaceConnectionTrackingSpecificationArgs) ToLaunchTemplateNetworkInterfaceConnectionTrackingSpecificationOutputWithContext(ctx context.Context) LaunchTemplateNetworkInterfaceConnectionTrackingSpecificationOutput { - return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateNetworkInterfaceConnectionTrackingSpecificationOutput) +func (i LaunchTemplateInstanceRequirementsNetworkBandwidthGbpsArgs) ToLaunchTemplateInstanceRequirementsNetworkBandwidthGbpsOutputWithContext(ctx context.Context) LaunchTemplateInstanceRequirementsNetworkBandwidthGbpsOutput { + return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateInstanceRequirementsNetworkBandwidthGbpsOutput) } -func (i LaunchTemplateNetworkInterfaceConnectionTrackingSpecificationArgs) ToLaunchTemplateNetworkInterfaceConnectionTrackingSpecificationPtrOutput() LaunchTemplateNetworkInterfaceConnectionTrackingSpecificationPtrOutput { - return i.ToLaunchTemplateNetworkInterfaceConnectionTrackingSpecificationPtrOutputWithContext(context.Background()) +func (i LaunchTemplateInstanceRequirementsNetworkBandwidthGbpsArgs) ToLaunchTemplateInstanceRequirementsNetworkBandwidthGbpsPtrOutput() LaunchTemplateInstanceRequirementsNetworkBandwidthGbpsPtrOutput { + return i.ToLaunchTemplateInstanceRequirementsNetworkBandwidthGbpsPtrOutputWithContext(context.Background()) } -func (i LaunchTemplateNetworkInterfaceConnectionTrackingSpecificationArgs) ToLaunchTemplateNetworkInterfaceConnectionTrackingSpecificationPtrOutputWithContext(ctx context.Context) LaunchTemplateNetworkInterfaceConnectionTrackingSpecificationPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateNetworkInterfaceConnectionTrackingSpecificationOutput).ToLaunchTemplateNetworkInterfaceConnectionTrackingSpecificationPtrOutputWithContext(ctx) +func (i LaunchTemplateInstanceRequirementsNetworkBandwidthGbpsArgs) ToLaunchTemplateInstanceRequirementsNetworkBandwidthGbpsPtrOutputWithContext(ctx context.Context) LaunchTemplateInstanceRequirementsNetworkBandwidthGbpsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateInstanceRequirementsNetworkBandwidthGbpsOutput).ToLaunchTemplateInstanceRequirementsNetworkBandwidthGbpsPtrOutputWithContext(ctx) } -// LaunchTemplateNetworkInterfaceConnectionTrackingSpecificationPtrInput is an input type that accepts LaunchTemplateNetworkInterfaceConnectionTrackingSpecificationArgs, LaunchTemplateNetworkInterfaceConnectionTrackingSpecificationPtr and LaunchTemplateNetworkInterfaceConnectionTrackingSpecificationPtrOutput values. -// You can construct a concrete instance of `LaunchTemplateNetworkInterfaceConnectionTrackingSpecificationPtrInput` via: +// LaunchTemplateInstanceRequirementsNetworkBandwidthGbpsPtrInput is an input type that accepts LaunchTemplateInstanceRequirementsNetworkBandwidthGbpsArgs, LaunchTemplateInstanceRequirementsNetworkBandwidthGbpsPtr and LaunchTemplateInstanceRequirementsNetworkBandwidthGbpsPtrOutput values. +// You can construct a concrete instance of `LaunchTemplateInstanceRequirementsNetworkBandwidthGbpsPtrInput` via: // -// LaunchTemplateNetworkInterfaceConnectionTrackingSpecificationArgs{...} +// LaunchTemplateInstanceRequirementsNetworkBandwidthGbpsArgs{...} // // or: // // nil -type LaunchTemplateNetworkInterfaceConnectionTrackingSpecificationPtrInput interface { +type LaunchTemplateInstanceRequirementsNetworkBandwidthGbpsPtrInput interface { pulumi.Input - ToLaunchTemplateNetworkInterfaceConnectionTrackingSpecificationPtrOutput() LaunchTemplateNetworkInterfaceConnectionTrackingSpecificationPtrOutput - ToLaunchTemplateNetworkInterfaceConnectionTrackingSpecificationPtrOutputWithContext(context.Context) LaunchTemplateNetworkInterfaceConnectionTrackingSpecificationPtrOutput + ToLaunchTemplateInstanceRequirementsNetworkBandwidthGbpsPtrOutput() LaunchTemplateInstanceRequirementsNetworkBandwidthGbpsPtrOutput + ToLaunchTemplateInstanceRequirementsNetworkBandwidthGbpsPtrOutputWithContext(context.Context) LaunchTemplateInstanceRequirementsNetworkBandwidthGbpsPtrOutput } -type launchTemplateNetworkInterfaceConnectionTrackingSpecificationPtrType LaunchTemplateNetworkInterfaceConnectionTrackingSpecificationArgs +type launchTemplateInstanceRequirementsNetworkBandwidthGbpsPtrType LaunchTemplateInstanceRequirementsNetworkBandwidthGbpsArgs -func LaunchTemplateNetworkInterfaceConnectionTrackingSpecificationPtr(v *LaunchTemplateNetworkInterfaceConnectionTrackingSpecificationArgs) LaunchTemplateNetworkInterfaceConnectionTrackingSpecificationPtrInput { - return (*launchTemplateNetworkInterfaceConnectionTrackingSpecificationPtrType)(v) +func LaunchTemplateInstanceRequirementsNetworkBandwidthGbpsPtr(v *LaunchTemplateInstanceRequirementsNetworkBandwidthGbpsArgs) LaunchTemplateInstanceRequirementsNetworkBandwidthGbpsPtrInput { + return (*launchTemplateInstanceRequirementsNetworkBandwidthGbpsPtrType)(v) } -func (*launchTemplateNetworkInterfaceConnectionTrackingSpecificationPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**LaunchTemplateNetworkInterfaceConnectionTrackingSpecification)(nil)).Elem() +func (*launchTemplateInstanceRequirementsNetworkBandwidthGbpsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**LaunchTemplateInstanceRequirementsNetworkBandwidthGbps)(nil)).Elem() } -func (i *launchTemplateNetworkInterfaceConnectionTrackingSpecificationPtrType) ToLaunchTemplateNetworkInterfaceConnectionTrackingSpecificationPtrOutput() LaunchTemplateNetworkInterfaceConnectionTrackingSpecificationPtrOutput { - return i.ToLaunchTemplateNetworkInterfaceConnectionTrackingSpecificationPtrOutputWithContext(context.Background()) +func (i *launchTemplateInstanceRequirementsNetworkBandwidthGbpsPtrType) ToLaunchTemplateInstanceRequirementsNetworkBandwidthGbpsPtrOutput() LaunchTemplateInstanceRequirementsNetworkBandwidthGbpsPtrOutput { + return i.ToLaunchTemplateInstanceRequirementsNetworkBandwidthGbpsPtrOutputWithContext(context.Background()) } -func (i *launchTemplateNetworkInterfaceConnectionTrackingSpecificationPtrType) ToLaunchTemplateNetworkInterfaceConnectionTrackingSpecificationPtrOutputWithContext(ctx context.Context) LaunchTemplateNetworkInterfaceConnectionTrackingSpecificationPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateNetworkInterfaceConnectionTrackingSpecificationPtrOutput) +func (i *launchTemplateInstanceRequirementsNetworkBandwidthGbpsPtrType) ToLaunchTemplateInstanceRequirementsNetworkBandwidthGbpsPtrOutputWithContext(ctx context.Context) LaunchTemplateInstanceRequirementsNetworkBandwidthGbpsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateInstanceRequirementsNetworkBandwidthGbpsPtrOutput) } -type LaunchTemplateNetworkInterfaceConnectionTrackingSpecificationOutput struct{ *pulumi.OutputState } +type LaunchTemplateInstanceRequirementsNetworkBandwidthGbpsOutput struct{ *pulumi.OutputState } -func (LaunchTemplateNetworkInterfaceConnectionTrackingSpecificationOutput) ElementType() reflect.Type { - return reflect.TypeOf((*LaunchTemplateNetworkInterfaceConnectionTrackingSpecification)(nil)).Elem() +func (LaunchTemplateInstanceRequirementsNetworkBandwidthGbpsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LaunchTemplateInstanceRequirementsNetworkBandwidthGbps)(nil)).Elem() } -func (o LaunchTemplateNetworkInterfaceConnectionTrackingSpecificationOutput) ToLaunchTemplateNetworkInterfaceConnectionTrackingSpecificationOutput() LaunchTemplateNetworkInterfaceConnectionTrackingSpecificationOutput { +func (o LaunchTemplateInstanceRequirementsNetworkBandwidthGbpsOutput) ToLaunchTemplateInstanceRequirementsNetworkBandwidthGbpsOutput() LaunchTemplateInstanceRequirementsNetworkBandwidthGbpsOutput { return o } -func (o LaunchTemplateNetworkInterfaceConnectionTrackingSpecificationOutput) ToLaunchTemplateNetworkInterfaceConnectionTrackingSpecificationOutputWithContext(ctx context.Context) LaunchTemplateNetworkInterfaceConnectionTrackingSpecificationOutput { +func (o LaunchTemplateInstanceRequirementsNetworkBandwidthGbpsOutput) ToLaunchTemplateInstanceRequirementsNetworkBandwidthGbpsOutputWithContext(ctx context.Context) LaunchTemplateInstanceRequirementsNetworkBandwidthGbpsOutput { return o } -func (o LaunchTemplateNetworkInterfaceConnectionTrackingSpecificationOutput) ToLaunchTemplateNetworkInterfaceConnectionTrackingSpecificationPtrOutput() LaunchTemplateNetworkInterfaceConnectionTrackingSpecificationPtrOutput { - return o.ToLaunchTemplateNetworkInterfaceConnectionTrackingSpecificationPtrOutputWithContext(context.Background()) +func (o LaunchTemplateInstanceRequirementsNetworkBandwidthGbpsOutput) ToLaunchTemplateInstanceRequirementsNetworkBandwidthGbpsPtrOutput() LaunchTemplateInstanceRequirementsNetworkBandwidthGbpsPtrOutput { + return o.ToLaunchTemplateInstanceRequirementsNetworkBandwidthGbpsPtrOutputWithContext(context.Background()) } -func (o LaunchTemplateNetworkInterfaceConnectionTrackingSpecificationOutput) ToLaunchTemplateNetworkInterfaceConnectionTrackingSpecificationPtrOutputWithContext(ctx context.Context) LaunchTemplateNetworkInterfaceConnectionTrackingSpecificationPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v LaunchTemplateNetworkInterfaceConnectionTrackingSpecification) *LaunchTemplateNetworkInterfaceConnectionTrackingSpecification { +func (o LaunchTemplateInstanceRequirementsNetworkBandwidthGbpsOutput) ToLaunchTemplateInstanceRequirementsNetworkBandwidthGbpsPtrOutputWithContext(ctx context.Context) LaunchTemplateInstanceRequirementsNetworkBandwidthGbpsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v LaunchTemplateInstanceRequirementsNetworkBandwidthGbps) *LaunchTemplateInstanceRequirementsNetworkBandwidthGbps { return &v - }).(LaunchTemplateNetworkInterfaceConnectionTrackingSpecificationPtrOutput) -} - -// Timeout (in seconds) for idle TCP connections in an established state. Min: 60 seconds. Max: 432000 seconds (5 days). Default: 432000 seconds. Recommended: Less than 432000 seconds. -func (o LaunchTemplateNetworkInterfaceConnectionTrackingSpecificationOutput) TcpEstablishedTimeout() pulumi.IntPtrOutput { - return o.ApplyT(func(v LaunchTemplateNetworkInterfaceConnectionTrackingSpecification) *int { - return v.TcpEstablishedTimeout - }).(pulumi.IntPtrOutput) + }).(LaunchTemplateInstanceRequirementsNetworkBandwidthGbpsPtrOutput) } -// Timeout (in seconds) for idle UDP flows that have seen traffic only in a single direction or a single request-response transaction. Min: 30 seconds. Max: 60 seconds. Default: 30 seconds. -func (o LaunchTemplateNetworkInterfaceConnectionTrackingSpecificationOutput) UdpStreamTimeout() pulumi.IntPtrOutput { - return o.ApplyT(func(v LaunchTemplateNetworkInterfaceConnectionTrackingSpecification) *int { return v.UdpStreamTimeout }).(pulumi.IntPtrOutput) +// Maximum. +func (o LaunchTemplateInstanceRequirementsNetworkBandwidthGbpsOutput) Max() pulumi.Float64PtrOutput { + return o.ApplyT(func(v LaunchTemplateInstanceRequirementsNetworkBandwidthGbps) *float64 { return v.Max }).(pulumi.Float64PtrOutput) } -// Timeout (in seconds) for idle UDP flows classified as streams which have seen more than one request-response transaction. Min: 60 seconds. Max: 180 seconds (3 minutes). Default: 180 seconds. -func (o LaunchTemplateNetworkInterfaceConnectionTrackingSpecificationOutput) UdpTimeout() pulumi.IntPtrOutput { - return o.ApplyT(func(v LaunchTemplateNetworkInterfaceConnectionTrackingSpecification) *int { return v.UdpTimeout }).(pulumi.IntPtrOutput) +// Minimum. +func (o LaunchTemplateInstanceRequirementsNetworkBandwidthGbpsOutput) Min() pulumi.Float64PtrOutput { + return o.ApplyT(func(v LaunchTemplateInstanceRequirementsNetworkBandwidthGbps) *float64 { return v.Min }).(pulumi.Float64PtrOutput) } -type LaunchTemplateNetworkInterfaceConnectionTrackingSpecificationPtrOutput struct{ *pulumi.OutputState } +type LaunchTemplateInstanceRequirementsNetworkBandwidthGbpsPtrOutput struct{ *pulumi.OutputState } -func (LaunchTemplateNetworkInterfaceConnectionTrackingSpecificationPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**LaunchTemplateNetworkInterfaceConnectionTrackingSpecification)(nil)).Elem() +func (LaunchTemplateInstanceRequirementsNetworkBandwidthGbpsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**LaunchTemplateInstanceRequirementsNetworkBandwidthGbps)(nil)).Elem() } -func (o LaunchTemplateNetworkInterfaceConnectionTrackingSpecificationPtrOutput) ToLaunchTemplateNetworkInterfaceConnectionTrackingSpecificationPtrOutput() LaunchTemplateNetworkInterfaceConnectionTrackingSpecificationPtrOutput { +func (o LaunchTemplateInstanceRequirementsNetworkBandwidthGbpsPtrOutput) ToLaunchTemplateInstanceRequirementsNetworkBandwidthGbpsPtrOutput() LaunchTemplateInstanceRequirementsNetworkBandwidthGbpsPtrOutput { return o } -func (o LaunchTemplateNetworkInterfaceConnectionTrackingSpecificationPtrOutput) ToLaunchTemplateNetworkInterfaceConnectionTrackingSpecificationPtrOutputWithContext(ctx context.Context) LaunchTemplateNetworkInterfaceConnectionTrackingSpecificationPtrOutput { +func (o LaunchTemplateInstanceRequirementsNetworkBandwidthGbpsPtrOutput) ToLaunchTemplateInstanceRequirementsNetworkBandwidthGbpsPtrOutputWithContext(ctx context.Context) LaunchTemplateInstanceRequirementsNetworkBandwidthGbpsPtrOutput { return o } -func (o LaunchTemplateNetworkInterfaceConnectionTrackingSpecificationPtrOutput) Elem() LaunchTemplateNetworkInterfaceConnectionTrackingSpecificationOutput { - return o.ApplyT(func(v *LaunchTemplateNetworkInterfaceConnectionTrackingSpecification) LaunchTemplateNetworkInterfaceConnectionTrackingSpecification { +func (o LaunchTemplateInstanceRequirementsNetworkBandwidthGbpsPtrOutput) Elem() LaunchTemplateInstanceRequirementsNetworkBandwidthGbpsOutput { + return o.ApplyT(func(v *LaunchTemplateInstanceRequirementsNetworkBandwidthGbps) LaunchTemplateInstanceRequirementsNetworkBandwidthGbps { if v != nil { return *v } - var ret LaunchTemplateNetworkInterfaceConnectionTrackingSpecification + var ret LaunchTemplateInstanceRequirementsNetworkBandwidthGbps return ret - }).(LaunchTemplateNetworkInterfaceConnectionTrackingSpecificationOutput) -} - -// Timeout (in seconds) for idle TCP connections in an established state. Min: 60 seconds. Max: 432000 seconds (5 days). Default: 432000 seconds. Recommended: Less than 432000 seconds. -func (o LaunchTemplateNetworkInterfaceConnectionTrackingSpecificationPtrOutput) TcpEstablishedTimeout() pulumi.IntPtrOutput { - return o.ApplyT(func(v *LaunchTemplateNetworkInterfaceConnectionTrackingSpecification) *int { - if v == nil { - return nil - } - return v.TcpEstablishedTimeout - }).(pulumi.IntPtrOutput) + }).(LaunchTemplateInstanceRequirementsNetworkBandwidthGbpsOutput) } -// Timeout (in seconds) for idle UDP flows that have seen traffic only in a single direction or a single request-response transaction. Min: 30 seconds. Max: 60 seconds. Default: 30 seconds. -func (o LaunchTemplateNetworkInterfaceConnectionTrackingSpecificationPtrOutput) UdpStreamTimeout() pulumi.IntPtrOutput { - return o.ApplyT(func(v *LaunchTemplateNetworkInterfaceConnectionTrackingSpecification) *int { +// Maximum. +func (o LaunchTemplateInstanceRequirementsNetworkBandwidthGbpsPtrOutput) Max() pulumi.Float64PtrOutput { + return o.ApplyT(func(v *LaunchTemplateInstanceRequirementsNetworkBandwidthGbps) *float64 { if v == nil { return nil } - return v.UdpStreamTimeout - }).(pulumi.IntPtrOutput) + return v.Max + }).(pulumi.Float64PtrOutput) } -// Timeout (in seconds) for idle UDP flows classified as streams which have seen more than one request-response transaction. Min: 60 seconds. Max: 180 seconds (3 minutes). Default: 180 seconds. -func (o LaunchTemplateNetworkInterfaceConnectionTrackingSpecificationPtrOutput) UdpTimeout() pulumi.IntPtrOutput { - return o.ApplyT(func(v *LaunchTemplateNetworkInterfaceConnectionTrackingSpecification) *int { +// Minimum. +func (o LaunchTemplateInstanceRequirementsNetworkBandwidthGbpsPtrOutput) Min() pulumi.Float64PtrOutput { + return o.ApplyT(func(v *LaunchTemplateInstanceRequirementsNetworkBandwidthGbps) *float64 { if v == nil { return nil } - return v.UdpTimeout - }).(pulumi.IntPtrOutput) + return v.Min + }).(pulumi.Float64PtrOutput) } -type LaunchTemplateNetworkInterfaceEnaSrdSpecification struct { - // Whether to enable ENA Express. ENA Express uses AWS Scalable Reliable Datagram (SRD) technology to improve the performance of TCP traffic. - EnaSrdEnabled *bool `pulumi:"enaSrdEnabled"` - // Configuration for ENA Express UDP optimization. See details below. - EnaSrdUdpSpecification *LaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecification `pulumi:"enaSrdUdpSpecification"` +type LaunchTemplateInstanceRequirementsNetworkInterfaceCount struct { + // Maximum. + Max *int `pulumi:"max"` + // Minimum. + Min *int `pulumi:"min"` } -// LaunchTemplateNetworkInterfaceEnaSrdSpecificationInput is an input type that accepts LaunchTemplateNetworkInterfaceEnaSrdSpecificationArgs and LaunchTemplateNetworkInterfaceEnaSrdSpecificationOutput values. -// You can construct a concrete instance of `LaunchTemplateNetworkInterfaceEnaSrdSpecificationInput` via: +// LaunchTemplateInstanceRequirementsNetworkInterfaceCountInput is an input type that accepts LaunchTemplateInstanceRequirementsNetworkInterfaceCountArgs and LaunchTemplateInstanceRequirementsNetworkInterfaceCountOutput values. +// You can construct a concrete instance of `LaunchTemplateInstanceRequirementsNetworkInterfaceCountInput` via: // -// LaunchTemplateNetworkInterfaceEnaSrdSpecificationArgs{...} -type LaunchTemplateNetworkInterfaceEnaSrdSpecificationInput interface { +// LaunchTemplateInstanceRequirementsNetworkInterfaceCountArgs{...} +type LaunchTemplateInstanceRequirementsNetworkInterfaceCountInput interface { pulumi.Input - ToLaunchTemplateNetworkInterfaceEnaSrdSpecificationOutput() LaunchTemplateNetworkInterfaceEnaSrdSpecificationOutput - ToLaunchTemplateNetworkInterfaceEnaSrdSpecificationOutputWithContext(context.Context) LaunchTemplateNetworkInterfaceEnaSrdSpecificationOutput + ToLaunchTemplateInstanceRequirementsNetworkInterfaceCountOutput() LaunchTemplateInstanceRequirementsNetworkInterfaceCountOutput + ToLaunchTemplateInstanceRequirementsNetworkInterfaceCountOutputWithContext(context.Context) LaunchTemplateInstanceRequirementsNetworkInterfaceCountOutput } -type LaunchTemplateNetworkInterfaceEnaSrdSpecificationArgs struct { - // Whether to enable ENA Express. ENA Express uses AWS Scalable Reliable Datagram (SRD) technology to improve the performance of TCP traffic. - EnaSrdEnabled pulumi.BoolPtrInput `pulumi:"enaSrdEnabled"` - // Configuration for ENA Express UDP optimization. See details below. - EnaSrdUdpSpecification LaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecificationPtrInput `pulumi:"enaSrdUdpSpecification"` +type LaunchTemplateInstanceRequirementsNetworkInterfaceCountArgs struct { + // Maximum. + Max pulumi.IntPtrInput `pulumi:"max"` + // Minimum. + Min pulumi.IntPtrInput `pulumi:"min"` } -func (LaunchTemplateNetworkInterfaceEnaSrdSpecificationArgs) ElementType() reflect.Type { - return reflect.TypeOf((*LaunchTemplateNetworkInterfaceEnaSrdSpecification)(nil)).Elem() +func (LaunchTemplateInstanceRequirementsNetworkInterfaceCountArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LaunchTemplateInstanceRequirementsNetworkInterfaceCount)(nil)).Elem() } -func (i LaunchTemplateNetworkInterfaceEnaSrdSpecificationArgs) ToLaunchTemplateNetworkInterfaceEnaSrdSpecificationOutput() LaunchTemplateNetworkInterfaceEnaSrdSpecificationOutput { - return i.ToLaunchTemplateNetworkInterfaceEnaSrdSpecificationOutputWithContext(context.Background()) +func (i LaunchTemplateInstanceRequirementsNetworkInterfaceCountArgs) ToLaunchTemplateInstanceRequirementsNetworkInterfaceCountOutput() LaunchTemplateInstanceRequirementsNetworkInterfaceCountOutput { + return i.ToLaunchTemplateInstanceRequirementsNetworkInterfaceCountOutputWithContext(context.Background()) } -func (i LaunchTemplateNetworkInterfaceEnaSrdSpecificationArgs) ToLaunchTemplateNetworkInterfaceEnaSrdSpecificationOutputWithContext(ctx context.Context) LaunchTemplateNetworkInterfaceEnaSrdSpecificationOutput { - return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateNetworkInterfaceEnaSrdSpecificationOutput) +func (i LaunchTemplateInstanceRequirementsNetworkInterfaceCountArgs) ToLaunchTemplateInstanceRequirementsNetworkInterfaceCountOutputWithContext(ctx context.Context) LaunchTemplateInstanceRequirementsNetworkInterfaceCountOutput { + return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateInstanceRequirementsNetworkInterfaceCountOutput) } -func (i LaunchTemplateNetworkInterfaceEnaSrdSpecificationArgs) ToLaunchTemplateNetworkInterfaceEnaSrdSpecificationPtrOutput() LaunchTemplateNetworkInterfaceEnaSrdSpecificationPtrOutput { - return i.ToLaunchTemplateNetworkInterfaceEnaSrdSpecificationPtrOutputWithContext(context.Background()) +func (i LaunchTemplateInstanceRequirementsNetworkInterfaceCountArgs) ToLaunchTemplateInstanceRequirementsNetworkInterfaceCountPtrOutput() LaunchTemplateInstanceRequirementsNetworkInterfaceCountPtrOutput { + return i.ToLaunchTemplateInstanceRequirementsNetworkInterfaceCountPtrOutputWithContext(context.Background()) } -func (i LaunchTemplateNetworkInterfaceEnaSrdSpecificationArgs) ToLaunchTemplateNetworkInterfaceEnaSrdSpecificationPtrOutputWithContext(ctx context.Context) LaunchTemplateNetworkInterfaceEnaSrdSpecificationPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateNetworkInterfaceEnaSrdSpecificationOutput).ToLaunchTemplateNetworkInterfaceEnaSrdSpecificationPtrOutputWithContext(ctx) +func (i LaunchTemplateInstanceRequirementsNetworkInterfaceCountArgs) ToLaunchTemplateInstanceRequirementsNetworkInterfaceCountPtrOutputWithContext(ctx context.Context) LaunchTemplateInstanceRequirementsNetworkInterfaceCountPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateInstanceRequirementsNetworkInterfaceCountOutput).ToLaunchTemplateInstanceRequirementsNetworkInterfaceCountPtrOutputWithContext(ctx) } -// LaunchTemplateNetworkInterfaceEnaSrdSpecificationPtrInput is an input type that accepts LaunchTemplateNetworkInterfaceEnaSrdSpecificationArgs, LaunchTemplateNetworkInterfaceEnaSrdSpecificationPtr and LaunchTemplateNetworkInterfaceEnaSrdSpecificationPtrOutput values. -// You can construct a concrete instance of `LaunchTemplateNetworkInterfaceEnaSrdSpecificationPtrInput` via: +// LaunchTemplateInstanceRequirementsNetworkInterfaceCountPtrInput is an input type that accepts LaunchTemplateInstanceRequirementsNetworkInterfaceCountArgs, LaunchTemplateInstanceRequirementsNetworkInterfaceCountPtr and LaunchTemplateInstanceRequirementsNetworkInterfaceCountPtrOutput values. +// You can construct a concrete instance of `LaunchTemplateInstanceRequirementsNetworkInterfaceCountPtrInput` via: // -// LaunchTemplateNetworkInterfaceEnaSrdSpecificationArgs{...} +// LaunchTemplateInstanceRequirementsNetworkInterfaceCountArgs{...} // // or: // // nil -type LaunchTemplateNetworkInterfaceEnaSrdSpecificationPtrInput interface { +type LaunchTemplateInstanceRequirementsNetworkInterfaceCountPtrInput interface { pulumi.Input - ToLaunchTemplateNetworkInterfaceEnaSrdSpecificationPtrOutput() LaunchTemplateNetworkInterfaceEnaSrdSpecificationPtrOutput - ToLaunchTemplateNetworkInterfaceEnaSrdSpecificationPtrOutputWithContext(context.Context) LaunchTemplateNetworkInterfaceEnaSrdSpecificationPtrOutput + ToLaunchTemplateInstanceRequirementsNetworkInterfaceCountPtrOutput() LaunchTemplateInstanceRequirementsNetworkInterfaceCountPtrOutput + ToLaunchTemplateInstanceRequirementsNetworkInterfaceCountPtrOutputWithContext(context.Context) LaunchTemplateInstanceRequirementsNetworkInterfaceCountPtrOutput } -type launchTemplateNetworkInterfaceEnaSrdSpecificationPtrType LaunchTemplateNetworkInterfaceEnaSrdSpecificationArgs +type launchTemplateInstanceRequirementsNetworkInterfaceCountPtrType LaunchTemplateInstanceRequirementsNetworkInterfaceCountArgs -func LaunchTemplateNetworkInterfaceEnaSrdSpecificationPtr(v *LaunchTemplateNetworkInterfaceEnaSrdSpecificationArgs) LaunchTemplateNetworkInterfaceEnaSrdSpecificationPtrInput { - return (*launchTemplateNetworkInterfaceEnaSrdSpecificationPtrType)(v) +func LaunchTemplateInstanceRequirementsNetworkInterfaceCountPtr(v *LaunchTemplateInstanceRequirementsNetworkInterfaceCountArgs) LaunchTemplateInstanceRequirementsNetworkInterfaceCountPtrInput { + return (*launchTemplateInstanceRequirementsNetworkInterfaceCountPtrType)(v) } -func (*launchTemplateNetworkInterfaceEnaSrdSpecificationPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**LaunchTemplateNetworkInterfaceEnaSrdSpecification)(nil)).Elem() +func (*launchTemplateInstanceRequirementsNetworkInterfaceCountPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**LaunchTemplateInstanceRequirementsNetworkInterfaceCount)(nil)).Elem() } -func (i *launchTemplateNetworkInterfaceEnaSrdSpecificationPtrType) ToLaunchTemplateNetworkInterfaceEnaSrdSpecificationPtrOutput() LaunchTemplateNetworkInterfaceEnaSrdSpecificationPtrOutput { - return i.ToLaunchTemplateNetworkInterfaceEnaSrdSpecificationPtrOutputWithContext(context.Background()) +func (i *launchTemplateInstanceRequirementsNetworkInterfaceCountPtrType) ToLaunchTemplateInstanceRequirementsNetworkInterfaceCountPtrOutput() LaunchTemplateInstanceRequirementsNetworkInterfaceCountPtrOutput { + return i.ToLaunchTemplateInstanceRequirementsNetworkInterfaceCountPtrOutputWithContext(context.Background()) } -func (i *launchTemplateNetworkInterfaceEnaSrdSpecificationPtrType) ToLaunchTemplateNetworkInterfaceEnaSrdSpecificationPtrOutputWithContext(ctx context.Context) LaunchTemplateNetworkInterfaceEnaSrdSpecificationPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateNetworkInterfaceEnaSrdSpecificationPtrOutput) +func (i *launchTemplateInstanceRequirementsNetworkInterfaceCountPtrType) ToLaunchTemplateInstanceRequirementsNetworkInterfaceCountPtrOutputWithContext(ctx context.Context) LaunchTemplateInstanceRequirementsNetworkInterfaceCountPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateInstanceRequirementsNetworkInterfaceCountPtrOutput) } -type LaunchTemplateNetworkInterfaceEnaSrdSpecificationOutput struct{ *pulumi.OutputState } +type LaunchTemplateInstanceRequirementsNetworkInterfaceCountOutput struct{ *pulumi.OutputState } -func (LaunchTemplateNetworkInterfaceEnaSrdSpecificationOutput) ElementType() reflect.Type { - return reflect.TypeOf((*LaunchTemplateNetworkInterfaceEnaSrdSpecification)(nil)).Elem() +func (LaunchTemplateInstanceRequirementsNetworkInterfaceCountOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LaunchTemplateInstanceRequirementsNetworkInterfaceCount)(nil)).Elem() } -func (o LaunchTemplateNetworkInterfaceEnaSrdSpecificationOutput) ToLaunchTemplateNetworkInterfaceEnaSrdSpecificationOutput() LaunchTemplateNetworkInterfaceEnaSrdSpecificationOutput { +func (o LaunchTemplateInstanceRequirementsNetworkInterfaceCountOutput) ToLaunchTemplateInstanceRequirementsNetworkInterfaceCountOutput() LaunchTemplateInstanceRequirementsNetworkInterfaceCountOutput { return o } -func (o LaunchTemplateNetworkInterfaceEnaSrdSpecificationOutput) ToLaunchTemplateNetworkInterfaceEnaSrdSpecificationOutputWithContext(ctx context.Context) LaunchTemplateNetworkInterfaceEnaSrdSpecificationOutput { +func (o LaunchTemplateInstanceRequirementsNetworkInterfaceCountOutput) ToLaunchTemplateInstanceRequirementsNetworkInterfaceCountOutputWithContext(ctx context.Context) LaunchTemplateInstanceRequirementsNetworkInterfaceCountOutput { return o } -func (o LaunchTemplateNetworkInterfaceEnaSrdSpecificationOutput) ToLaunchTemplateNetworkInterfaceEnaSrdSpecificationPtrOutput() LaunchTemplateNetworkInterfaceEnaSrdSpecificationPtrOutput { - return o.ToLaunchTemplateNetworkInterfaceEnaSrdSpecificationPtrOutputWithContext(context.Background()) +func (o LaunchTemplateInstanceRequirementsNetworkInterfaceCountOutput) ToLaunchTemplateInstanceRequirementsNetworkInterfaceCountPtrOutput() LaunchTemplateInstanceRequirementsNetworkInterfaceCountPtrOutput { + return o.ToLaunchTemplateInstanceRequirementsNetworkInterfaceCountPtrOutputWithContext(context.Background()) } -func (o LaunchTemplateNetworkInterfaceEnaSrdSpecificationOutput) ToLaunchTemplateNetworkInterfaceEnaSrdSpecificationPtrOutputWithContext(ctx context.Context) LaunchTemplateNetworkInterfaceEnaSrdSpecificationPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v LaunchTemplateNetworkInterfaceEnaSrdSpecification) *LaunchTemplateNetworkInterfaceEnaSrdSpecification { +func (o LaunchTemplateInstanceRequirementsNetworkInterfaceCountOutput) ToLaunchTemplateInstanceRequirementsNetworkInterfaceCountPtrOutputWithContext(ctx context.Context) LaunchTemplateInstanceRequirementsNetworkInterfaceCountPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v LaunchTemplateInstanceRequirementsNetworkInterfaceCount) *LaunchTemplateInstanceRequirementsNetworkInterfaceCount { return &v - }).(LaunchTemplateNetworkInterfaceEnaSrdSpecificationPtrOutput) + }).(LaunchTemplateInstanceRequirementsNetworkInterfaceCountPtrOutput) } -// Whether to enable ENA Express. ENA Express uses AWS Scalable Reliable Datagram (SRD) technology to improve the performance of TCP traffic. -func (o LaunchTemplateNetworkInterfaceEnaSrdSpecificationOutput) EnaSrdEnabled() pulumi.BoolPtrOutput { - return o.ApplyT(func(v LaunchTemplateNetworkInterfaceEnaSrdSpecification) *bool { return v.EnaSrdEnabled }).(pulumi.BoolPtrOutput) +// Maximum. +func (o LaunchTemplateInstanceRequirementsNetworkInterfaceCountOutput) Max() pulumi.IntPtrOutput { + return o.ApplyT(func(v LaunchTemplateInstanceRequirementsNetworkInterfaceCount) *int { return v.Max }).(pulumi.IntPtrOutput) } -// Configuration for ENA Express UDP optimization. See details below. -func (o LaunchTemplateNetworkInterfaceEnaSrdSpecificationOutput) EnaSrdUdpSpecification() LaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecificationPtrOutput { - return o.ApplyT(func(v LaunchTemplateNetworkInterfaceEnaSrdSpecification) *LaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecification { - return v.EnaSrdUdpSpecification - }).(LaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecificationPtrOutput) +// Minimum. +func (o LaunchTemplateInstanceRequirementsNetworkInterfaceCountOutput) Min() pulumi.IntPtrOutput { + return o.ApplyT(func(v LaunchTemplateInstanceRequirementsNetworkInterfaceCount) *int { return v.Min }).(pulumi.IntPtrOutput) } -type LaunchTemplateNetworkInterfaceEnaSrdSpecificationPtrOutput struct{ *pulumi.OutputState } +type LaunchTemplateInstanceRequirementsNetworkInterfaceCountPtrOutput struct{ *pulumi.OutputState } -func (LaunchTemplateNetworkInterfaceEnaSrdSpecificationPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**LaunchTemplateNetworkInterfaceEnaSrdSpecification)(nil)).Elem() +func (LaunchTemplateInstanceRequirementsNetworkInterfaceCountPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**LaunchTemplateInstanceRequirementsNetworkInterfaceCount)(nil)).Elem() } -func (o LaunchTemplateNetworkInterfaceEnaSrdSpecificationPtrOutput) ToLaunchTemplateNetworkInterfaceEnaSrdSpecificationPtrOutput() LaunchTemplateNetworkInterfaceEnaSrdSpecificationPtrOutput { +func (o LaunchTemplateInstanceRequirementsNetworkInterfaceCountPtrOutput) ToLaunchTemplateInstanceRequirementsNetworkInterfaceCountPtrOutput() LaunchTemplateInstanceRequirementsNetworkInterfaceCountPtrOutput { return o } -func (o LaunchTemplateNetworkInterfaceEnaSrdSpecificationPtrOutput) ToLaunchTemplateNetworkInterfaceEnaSrdSpecificationPtrOutputWithContext(ctx context.Context) LaunchTemplateNetworkInterfaceEnaSrdSpecificationPtrOutput { +func (o LaunchTemplateInstanceRequirementsNetworkInterfaceCountPtrOutput) ToLaunchTemplateInstanceRequirementsNetworkInterfaceCountPtrOutputWithContext(ctx context.Context) LaunchTemplateInstanceRequirementsNetworkInterfaceCountPtrOutput { return o } -func (o LaunchTemplateNetworkInterfaceEnaSrdSpecificationPtrOutput) Elem() LaunchTemplateNetworkInterfaceEnaSrdSpecificationOutput { - return o.ApplyT(func(v *LaunchTemplateNetworkInterfaceEnaSrdSpecification) LaunchTemplateNetworkInterfaceEnaSrdSpecification { +func (o LaunchTemplateInstanceRequirementsNetworkInterfaceCountPtrOutput) Elem() LaunchTemplateInstanceRequirementsNetworkInterfaceCountOutput { + return o.ApplyT(func(v *LaunchTemplateInstanceRequirementsNetworkInterfaceCount) LaunchTemplateInstanceRequirementsNetworkInterfaceCount { if v != nil { return *v } - var ret LaunchTemplateNetworkInterfaceEnaSrdSpecification + var ret LaunchTemplateInstanceRequirementsNetworkInterfaceCount return ret - }).(LaunchTemplateNetworkInterfaceEnaSrdSpecificationOutput) + }).(LaunchTemplateInstanceRequirementsNetworkInterfaceCountOutput) } -// Whether to enable ENA Express. ENA Express uses AWS Scalable Reliable Datagram (SRD) technology to improve the performance of TCP traffic. -func (o LaunchTemplateNetworkInterfaceEnaSrdSpecificationPtrOutput) EnaSrdEnabled() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *LaunchTemplateNetworkInterfaceEnaSrdSpecification) *bool { +// Maximum. +func (o LaunchTemplateInstanceRequirementsNetworkInterfaceCountPtrOutput) Max() pulumi.IntPtrOutput { + return o.ApplyT(func(v *LaunchTemplateInstanceRequirementsNetworkInterfaceCount) *int { if v == nil { return nil } - return v.EnaSrdEnabled - }).(pulumi.BoolPtrOutput) + return v.Max + }).(pulumi.IntPtrOutput) } -// Configuration for ENA Express UDP optimization. See details below. -func (o LaunchTemplateNetworkInterfaceEnaSrdSpecificationPtrOutput) EnaSrdUdpSpecification() LaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecificationPtrOutput { - return o.ApplyT(func(v *LaunchTemplateNetworkInterfaceEnaSrdSpecification) *LaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecification { +// Minimum. +func (o LaunchTemplateInstanceRequirementsNetworkInterfaceCountPtrOutput) Min() pulumi.IntPtrOutput { + return o.ApplyT(func(v *LaunchTemplateInstanceRequirementsNetworkInterfaceCount) *int { if v == nil { return nil } - return v.EnaSrdUdpSpecification - }).(LaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecificationPtrOutput) + return v.Min + }).(pulumi.IntPtrOutput) } -type LaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecification struct { - // Whether to enable UDP traffic optimization through ENA Express. Requires `enaSrdEnabled` to be `true`. - // - // NOTE: ENA Express requires [specific instance types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/enhanced-networking-ena-express.html#ena-express-requirements) and minimum bandwidth of 25 Gbps. - EnaSrdUdpEnabled *bool `pulumi:"enaSrdUdpEnabled"` +type LaunchTemplateInstanceRequirementsTotalLocalStorageGb struct { + // Maximum. May be a decimal number, e.g. `0.5`. + Max *float64 `pulumi:"max"` + // Minimum. May be a decimal number, e.g. `0.5`. + Min *float64 `pulumi:"min"` } -// LaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecificationInput is an input type that accepts LaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecificationArgs and LaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecificationOutput values. -// You can construct a concrete instance of `LaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecificationInput` via: +// LaunchTemplateInstanceRequirementsTotalLocalStorageGbInput is an input type that accepts LaunchTemplateInstanceRequirementsTotalLocalStorageGbArgs and LaunchTemplateInstanceRequirementsTotalLocalStorageGbOutput values. +// You can construct a concrete instance of `LaunchTemplateInstanceRequirementsTotalLocalStorageGbInput` via: // -// LaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecificationArgs{...} -type LaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecificationInput interface { +// LaunchTemplateInstanceRequirementsTotalLocalStorageGbArgs{...} +type LaunchTemplateInstanceRequirementsTotalLocalStorageGbInput interface { pulumi.Input - ToLaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecificationOutput() LaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecificationOutput - ToLaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecificationOutputWithContext(context.Context) LaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecificationOutput + ToLaunchTemplateInstanceRequirementsTotalLocalStorageGbOutput() LaunchTemplateInstanceRequirementsTotalLocalStorageGbOutput + ToLaunchTemplateInstanceRequirementsTotalLocalStorageGbOutputWithContext(context.Context) LaunchTemplateInstanceRequirementsTotalLocalStorageGbOutput } -type LaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecificationArgs struct { - // Whether to enable UDP traffic optimization through ENA Express. Requires `enaSrdEnabled` to be `true`. - // - // NOTE: ENA Express requires [specific instance types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/enhanced-networking-ena-express.html#ena-express-requirements) and minimum bandwidth of 25 Gbps. - EnaSrdUdpEnabled pulumi.BoolPtrInput `pulumi:"enaSrdUdpEnabled"` +type LaunchTemplateInstanceRequirementsTotalLocalStorageGbArgs struct { + // Maximum. May be a decimal number, e.g. `0.5`. + Max pulumi.Float64PtrInput `pulumi:"max"` + // Minimum. May be a decimal number, e.g. `0.5`. + Min pulumi.Float64PtrInput `pulumi:"min"` } -func (LaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecificationArgs) ElementType() reflect.Type { - return reflect.TypeOf((*LaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecification)(nil)).Elem() +func (LaunchTemplateInstanceRequirementsTotalLocalStorageGbArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LaunchTemplateInstanceRequirementsTotalLocalStorageGb)(nil)).Elem() } -func (i LaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecificationArgs) ToLaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecificationOutput() LaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecificationOutput { - return i.ToLaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecificationOutputWithContext(context.Background()) +func (i LaunchTemplateInstanceRequirementsTotalLocalStorageGbArgs) ToLaunchTemplateInstanceRequirementsTotalLocalStorageGbOutput() LaunchTemplateInstanceRequirementsTotalLocalStorageGbOutput { + return i.ToLaunchTemplateInstanceRequirementsTotalLocalStorageGbOutputWithContext(context.Background()) } -func (i LaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecificationArgs) ToLaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecificationOutputWithContext(ctx context.Context) LaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecificationOutput { - return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecificationOutput) +func (i LaunchTemplateInstanceRequirementsTotalLocalStorageGbArgs) ToLaunchTemplateInstanceRequirementsTotalLocalStorageGbOutputWithContext(ctx context.Context) LaunchTemplateInstanceRequirementsTotalLocalStorageGbOutput { + return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateInstanceRequirementsTotalLocalStorageGbOutput) } -func (i LaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecificationArgs) ToLaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecificationPtrOutput() LaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecificationPtrOutput { - return i.ToLaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecificationPtrOutputWithContext(context.Background()) +func (i LaunchTemplateInstanceRequirementsTotalLocalStorageGbArgs) ToLaunchTemplateInstanceRequirementsTotalLocalStorageGbPtrOutput() LaunchTemplateInstanceRequirementsTotalLocalStorageGbPtrOutput { + return i.ToLaunchTemplateInstanceRequirementsTotalLocalStorageGbPtrOutputWithContext(context.Background()) } -func (i LaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecificationArgs) ToLaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecificationPtrOutputWithContext(ctx context.Context) LaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecificationPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecificationOutput).ToLaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecificationPtrOutputWithContext(ctx) +func (i LaunchTemplateInstanceRequirementsTotalLocalStorageGbArgs) ToLaunchTemplateInstanceRequirementsTotalLocalStorageGbPtrOutputWithContext(ctx context.Context) LaunchTemplateInstanceRequirementsTotalLocalStorageGbPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateInstanceRequirementsTotalLocalStorageGbOutput).ToLaunchTemplateInstanceRequirementsTotalLocalStorageGbPtrOutputWithContext(ctx) } -// LaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecificationPtrInput is an input type that accepts LaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecificationArgs, LaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecificationPtr and LaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecificationPtrOutput values. -// You can construct a concrete instance of `LaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecificationPtrInput` via: +// LaunchTemplateInstanceRequirementsTotalLocalStorageGbPtrInput is an input type that accepts LaunchTemplateInstanceRequirementsTotalLocalStorageGbArgs, LaunchTemplateInstanceRequirementsTotalLocalStorageGbPtr and LaunchTemplateInstanceRequirementsTotalLocalStorageGbPtrOutput values. +// You can construct a concrete instance of `LaunchTemplateInstanceRequirementsTotalLocalStorageGbPtrInput` via: // -// LaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecificationArgs{...} +// LaunchTemplateInstanceRequirementsTotalLocalStorageGbArgs{...} // // or: // // nil -type LaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecificationPtrInput interface { +type LaunchTemplateInstanceRequirementsTotalLocalStorageGbPtrInput interface { pulumi.Input - ToLaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecificationPtrOutput() LaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecificationPtrOutput - ToLaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecificationPtrOutputWithContext(context.Context) LaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecificationPtrOutput + ToLaunchTemplateInstanceRequirementsTotalLocalStorageGbPtrOutput() LaunchTemplateInstanceRequirementsTotalLocalStorageGbPtrOutput + ToLaunchTemplateInstanceRequirementsTotalLocalStorageGbPtrOutputWithContext(context.Context) LaunchTemplateInstanceRequirementsTotalLocalStorageGbPtrOutput } -type launchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecificationPtrType LaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecificationArgs +type launchTemplateInstanceRequirementsTotalLocalStorageGbPtrType LaunchTemplateInstanceRequirementsTotalLocalStorageGbArgs -func LaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecificationPtr(v *LaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecificationArgs) LaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecificationPtrInput { - return (*launchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecificationPtrType)(v) +func LaunchTemplateInstanceRequirementsTotalLocalStorageGbPtr(v *LaunchTemplateInstanceRequirementsTotalLocalStorageGbArgs) LaunchTemplateInstanceRequirementsTotalLocalStorageGbPtrInput { + return (*launchTemplateInstanceRequirementsTotalLocalStorageGbPtrType)(v) } -func (*launchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecificationPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**LaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecification)(nil)).Elem() +func (*launchTemplateInstanceRequirementsTotalLocalStorageGbPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**LaunchTemplateInstanceRequirementsTotalLocalStorageGb)(nil)).Elem() } -func (i *launchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecificationPtrType) ToLaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecificationPtrOutput() LaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecificationPtrOutput { - return i.ToLaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecificationPtrOutputWithContext(context.Background()) +func (i *launchTemplateInstanceRequirementsTotalLocalStorageGbPtrType) ToLaunchTemplateInstanceRequirementsTotalLocalStorageGbPtrOutput() LaunchTemplateInstanceRequirementsTotalLocalStorageGbPtrOutput { + return i.ToLaunchTemplateInstanceRequirementsTotalLocalStorageGbPtrOutputWithContext(context.Background()) } -func (i *launchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecificationPtrType) ToLaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecificationPtrOutputWithContext(ctx context.Context) LaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecificationPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecificationPtrOutput) +func (i *launchTemplateInstanceRequirementsTotalLocalStorageGbPtrType) ToLaunchTemplateInstanceRequirementsTotalLocalStorageGbPtrOutputWithContext(ctx context.Context) LaunchTemplateInstanceRequirementsTotalLocalStorageGbPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateInstanceRequirementsTotalLocalStorageGbPtrOutput) } -type LaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecificationOutput struct{ *pulumi.OutputState } +type LaunchTemplateInstanceRequirementsTotalLocalStorageGbOutput struct{ *pulumi.OutputState } -func (LaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecificationOutput) ElementType() reflect.Type { - return reflect.TypeOf((*LaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecification)(nil)).Elem() +func (LaunchTemplateInstanceRequirementsTotalLocalStorageGbOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LaunchTemplateInstanceRequirementsTotalLocalStorageGb)(nil)).Elem() } -func (o LaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecificationOutput) ToLaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecificationOutput() LaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecificationOutput { +func (o LaunchTemplateInstanceRequirementsTotalLocalStorageGbOutput) ToLaunchTemplateInstanceRequirementsTotalLocalStorageGbOutput() LaunchTemplateInstanceRequirementsTotalLocalStorageGbOutput { return o } -func (o LaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecificationOutput) ToLaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecificationOutputWithContext(ctx context.Context) LaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecificationOutput { +func (o LaunchTemplateInstanceRequirementsTotalLocalStorageGbOutput) ToLaunchTemplateInstanceRequirementsTotalLocalStorageGbOutputWithContext(ctx context.Context) LaunchTemplateInstanceRequirementsTotalLocalStorageGbOutput { return o } -func (o LaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecificationOutput) ToLaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecificationPtrOutput() LaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecificationPtrOutput { - return o.ToLaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecificationPtrOutputWithContext(context.Background()) +func (o LaunchTemplateInstanceRequirementsTotalLocalStorageGbOutput) ToLaunchTemplateInstanceRequirementsTotalLocalStorageGbPtrOutput() LaunchTemplateInstanceRequirementsTotalLocalStorageGbPtrOutput { + return o.ToLaunchTemplateInstanceRequirementsTotalLocalStorageGbPtrOutputWithContext(context.Background()) } -func (o LaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecificationOutput) ToLaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecificationPtrOutputWithContext(ctx context.Context) LaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecificationPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v LaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecification) *LaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecification { +func (o LaunchTemplateInstanceRequirementsTotalLocalStorageGbOutput) ToLaunchTemplateInstanceRequirementsTotalLocalStorageGbPtrOutputWithContext(ctx context.Context) LaunchTemplateInstanceRequirementsTotalLocalStorageGbPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v LaunchTemplateInstanceRequirementsTotalLocalStorageGb) *LaunchTemplateInstanceRequirementsTotalLocalStorageGb { return &v - }).(LaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecificationPtrOutput) + }).(LaunchTemplateInstanceRequirementsTotalLocalStorageGbPtrOutput) } -// Whether to enable UDP traffic optimization through ENA Express. Requires `enaSrdEnabled` to be `true`. -// -// NOTE: ENA Express requires [specific instance types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/enhanced-networking-ena-express.html#ena-express-requirements) and minimum bandwidth of 25 Gbps. -func (o LaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecificationOutput) EnaSrdUdpEnabled() pulumi.BoolPtrOutput { - return o.ApplyT(func(v LaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecification) *bool { - return v.EnaSrdUdpEnabled - }).(pulumi.BoolPtrOutput) +// Maximum. May be a decimal number, e.g. `0.5`. +func (o LaunchTemplateInstanceRequirementsTotalLocalStorageGbOutput) Max() pulumi.Float64PtrOutput { + return o.ApplyT(func(v LaunchTemplateInstanceRequirementsTotalLocalStorageGb) *float64 { return v.Max }).(pulumi.Float64PtrOutput) } -type LaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecificationPtrOutput struct{ *pulumi.OutputState } +// Minimum. May be a decimal number, e.g. `0.5`. +func (o LaunchTemplateInstanceRequirementsTotalLocalStorageGbOutput) Min() pulumi.Float64PtrOutput { + return o.ApplyT(func(v LaunchTemplateInstanceRequirementsTotalLocalStorageGb) *float64 { return v.Min }).(pulumi.Float64PtrOutput) +} -func (LaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecificationPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**LaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecification)(nil)).Elem() +type LaunchTemplateInstanceRequirementsTotalLocalStorageGbPtrOutput struct{ *pulumi.OutputState } + +func (LaunchTemplateInstanceRequirementsTotalLocalStorageGbPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**LaunchTemplateInstanceRequirementsTotalLocalStorageGb)(nil)).Elem() } -func (o LaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecificationPtrOutput) ToLaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecificationPtrOutput() LaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecificationPtrOutput { +func (o LaunchTemplateInstanceRequirementsTotalLocalStorageGbPtrOutput) ToLaunchTemplateInstanceRequirementsTotalLocalStorageGbPtrOutput() LaunchTemplateInstanceRequirementsTotalLocalStorageGbPtrOutput { return o } -func (o LaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecificationPtrOutput) ToLaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecificationPtrOutputWithContext(ctx context.Context) LaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecificationPtrOutput { +func (o LaunchTemplateInstanceRequirementsTotalLocalStorageGbPtrOutput) ToLaunchTemplateInstanceRequirementsTotalLocalStorageGbPtrOutputWithContext(ctx context.Context) LaunchTemplateInstanceRequirementsTotalLocalStorageGbPtrOutput { return o } -func (o LaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecificationPtrOutput) Elem() LaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecificationOutput { - return o.ApplyT(func(v *LaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecification) LaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecification { +func (o LaunchTemplateInstanceRequirementsTotalLocalStorageGbPtrOutput) Elem() LaunchTemplateInstanceRequirementsTotalLocalStorageGbOutput { + return o.ApplyT(func(v *LaunchTemplateInstanceRequirementsTotalLocalStorageGb) LaunchTemplateInstanceRequirementsTotalLocalStorageGb { if v != nil { return *v } - var ret LaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecification + var ret LaunchTemplateInstanceRequirementsTotalLocalStorageGb return ret - }).(LaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecificationOutput) + }).(LaunchTemplateInstanceRequirementsTotalLocalStorageGbOutput) } -// Whether to enable UDP traffic optimization through ENA Express. Requires `enaSrdEnabled` to be `true`. -// -// NOTE: ENA Express requires [specific instance types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/enhanced-networking-ena-express.html#ena-express-requirements) and minimum bandwidth of 25 Gbps. -func (o LaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecificationPtrOutput) EnaSrdUdpEnabled() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *LaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecification) *bool { +// Maximum. May be a decimal number, e.g. `0.5`. +func (o LaunchTemplateInstanceRequirementsTotalLocalStorageGbPtrOutput) Max() pulumi.Float64PtrOutput { + return o.ApplyT(func(v *LaunchTemplateInstanceRequirementsTotalLocalStorageGb) *float64 { if v == nil { return nil } - return v.EnaSrdUdpEnabled - }).(pulumi.BoolPtrOutput) + return v.Max + }).(pulumi.Float64PtrOutput) } -type LaunchTemplatePlacement struct { - // The affinity setting for an instance on a Dedicated Host. - Affinity *string `pulumi:"affinity"` - // The Availability Zone for the instance. - AvailabilityZone *string `pulumi:"availabilityZone"` - // The ID of the placement group for the instance. Conflicts with `groupName`. - GroupId *string `pulumi:"groupId"` - // The name of the placement group for the instance. Conflicts with `groupId`. - GroupName *string `pulumi:"groupName"` - // The ID of the Dedicated Host for the instance. - HostId *string `pulumi:"hostId"` - // The ARN of the Host Resource Group in which to launch instances. - HostResourceGroupArn *string `pulumi:"hostResourceGroupArn"` - // The number of the partition the instance should launch in. Valid only if the placement group strategy is set to partition. - PartitionNumber *int `pulumi:"partitionNumber"` - // Reserved for future use. - SpreadDomain *string `pulumi:"spreadDomain"` - // The tenancy of the instance (if the instance is running in a VPC). Can be `default`, `dedicated`, or `host`. - Tenancy *string `pulumi:"tenancy"` +// Minimum. May be a decimal number, e.g. `0.5`. +func (o LaunchTemplateInstanceRequirementsTotalLocalStorageGbPtrOutput) Min() pulumi.Float64PtrOutput { + return o.ApplyT(func(v *LaunchTemplateInstanceRequirementsTotalLocalStorageGb) *float64 { + if v == nil { + return nil + } + return v.Min + }).(pulumi.Float64PtrOutput) } -// LaunchTemplatePlacementInput is an input type that accepts LaunchTemplatePlacementArgs and LaunchTemplatePlacementOutput values. -// You can construct a concrete instance of `LaunchTemplatePlacementInput` via: +type LaunchTemplateInstanceRequirementsVcpuCount struct { + // Maximum. + Max *int `pulumi:"max"` + // Minimum. + Min int `pulumi:"min"` +} + +// LaunchTemplateInstanceRequirementsVcpuCountInput is an input type that accepts LaunchTemplateInstanceRequirementsVcpuCountArgs and LaunchTemplateInstanceRequirementsVcpuCountOutput values. +// You can construct a concrete instance of `LaunchTemplateInstanceRequirementsVcpuCountInput` via: // -// LaunchTemplatePlacementArgs{...} -type LaunchTemplatePlacementInput interface { +// LaunchTemplateInstanceRequirementsVcpuCountArgs{...} +type LaunchTemplateInstanceRequirementsVcpuCountInput interface { pulumi.Input - ToLaunchTemplatePlacementOutput() LaunchTemplatePlacementOutput - ToLaunchTemplatePlacementOutputWithContext(context.Context) LaunchTemplatePlacementOutput + ToLaunchTemplateInstanceRequirementsVcpuCountOutput() LaunchTemplateInstanceRequirementsVcpuCountOutput + ToLaunchTemplateInstanceRequirementsVcpuCountOutputWithContext(context.Context) LaunchTemplateInstanceRequirementsVcpuCountOutput } -type LaunchTemplatePlacementArgs struct { - // The affinity setting for an instance on a Dedicated Host. - Affinity pulumi.StringPtrInput `pulumi:"affinity"` - // The Availability Zone for the instance. - AvailabilityZone pulumi.StringPtrInput `pulumi:"availabilityZone"` - // The ID of the placement group for the instance. Conflicts with `groupName`. - GroupId pulumi.StringPtrInput `pulumi:"groupId"` - // The name of the placement group for the instance. Conflicts with `groupId`. - GroupName pulumi.StringPtrInput `pulumi:"groupName"` - // The ID of the Dedicated Host for the instance. - HostId pulumi.StringPtrInput `pulumi:"hostId"` - // The ARN of the Host Resource Group in which to launch instances. - HostResourceGroupArn pulumi.StringPtrInput `pulumi:"hostResourceGroupArn"` - // The number of the partition the instance should launch in. Valid only if the placement group strategy is set to partition. - PartitionNumber pulumi.IntPtrInput `pulumi:"partitionNumber"` - // Reserved for future use. - SpreadDomain pulumi.StringPtrInput `pulumi:"spreadDomain"` - // The tenancy of the instance (if the instance is running in a VPC). Can be `default`, `dedicated`, or `host`. - Tenancy pulumi.StringPtrInput `pulumi:"tenancy"` +type LaunchTemplateInstanceRequirementsVcpuCountArgs struct { + // Maximum. + Max pulumi.IntPtrInput `pulumi:"max"` + // Minimum. + Min pulumi.IntInput `pulumi:"min"` } -func (LaunchTemplatePlacementArgs) ElementType() reflect.Type { - return reflect.TypeOf((*LaunchTemplatePlacement)(nil)).Elem() +func (LaunchTemplateInstanceRequirementsVcpuCountArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LaunchTemplateInstanceRequirementsVcpuCount)(nil)).Elem() } -func (i LaunchTemplatePlacementArgs) ToLaunchTemplatePlacementOutput() LaunchTemplatePlacementOutput { - return i.ToLaunchTemplatePlacementOutputWithContext(context.Background()) +func (i LaunchTemplateInstanceRequirementsVcpuCountArgs) ToLaunchTemplateInstanceRequirementsVcpuCountOutput() LaunchTemplateInstanceRequirementsVcpuCountOutput { + return i.ToLaunchTemplateInstanceRequirementsVcpuCountOutputWithContext(context.Background()) } -func (i LaunchTemplatePlacementArgs) ToLaunchTemplatePlacementOutputWithContext(ctx context.Context) LaunchTemplatePlacementOutput { - return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplatePlacementOutput) +func (i LaunchTemplateInstanceRequirementsVcpuCountArgs) ToLaunchTemplateInstanceRequirementsVcpuCountOutputWithContext(ctx context.Context) LaunchTemplateInstanceRequirementsVcpuCountOutput { + return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateInstanceRequirementsVcpuCountOutput) } -func (i LaunchTemplatePlacementArgs) ToLaunchTemplatePlacementPtrOutput() LaunchTemplatePlacementPtrOutput { - return i.ToLaunchTemplatePlacementPtrOutputWithContext(context.Background()) +func (i LaunchTemplateInstanceRequirementsVcpuCountArgs) ToLaunchTemplateInstanceRequirementsVcpuCountPtrOutput() LaunchTemplateInstanceRequirementsVcpuCountPtrOutput { + return i.ToLaunchTemplateInstanceRequirementsVcpuCountPtrOutputWithContext(context.Background()) } -func (i LaunchTemplatePlacementArgs) ToLaunchTemplatePlacementPtrOutputWithContext(ctx context.Context) LaunchTemplatePlacementPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplatePlacementOutput).ToLaunchTemplatePlacementPtrOutputWithContext(ctx) +func (i LaunchTemplateInstanceRequirementsVcpuCountArgs) ToLaunchTemplateInstanceRequirementsVcpuCountPtrOutputWithContext(ctx context.Context) LaunchTemplateInstanceRequirementsVcpuCountPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateInstanceRequirementsVcpuCountOutput).ToLaunchTemplateInstanceRequirementsVcpuCountPtrOutputWithContext(ctx) } -// LaunchTemplatePlacementPtrInput is an input type that accepts LaunchTemplatePlacementArgs, LaunchTemplatePlacementPtr and LaunchTemplatePlacementPtrOutput values. -// You can construct a concrete instance of `LaunchTemplatePlacementPtrInput` via: +// LaunchTemplateInstanceRequirementsVcpuCountPtrInput is an input type that accepts LaunchTemplateInstanceRequirementsVcpuCountArgs, LaunchTemplateInstanceRequirementsVcpuCountPtr and LaunchTemplateInstanceRequirementsVcpuCountPtrOutput values. +// You can construct a concrete instance of `LaunchTemplateInstanceRequirementsVcpuCountPtrInput` via: // -// LaunchTemplatePlacementArgs{...} +// LaunchTemplateInstanceRequirementsVcpuCountArgs{...} // // or: // // nil -type LaunchTemplatePlacementPtrInput interface { +type LaunchTemplateInstanceRequirementsVcpuCountPtrInput interface { pulumi.Input - ToLaunchTemplatePlacementPtrOutput() LaunchTemplatePlacementPtrOutput - ToLaunchTemplatePlacementPtrOutputWithContext(context.Context) LaunchTemplatePlacementPtrOutput + ToLaunchTemplateInstanceRequirementsVcpuCountPtrOutput() LaunchTemplateInstanceRequirementsVcpuCountPtrOutput + ToLaunchTemplateInstanceRequirementsVcpuCountPtrOutputWithContext(context.Context) LaunchTemplateInstanceRequirementsVcpuCountPtrOutput } -type launchTemplatePlacementPtrType LaunchTemplatePlacementArgs +type launchTemplateInstanceRequirementsVcpuCountPtrType LaunchTemplateInstanceRequirementsVcpuCountArgs -func LaunchTemplatePlacementPtr(v *LaunchTemplatePlacementArgs) LaunchTemplatePlacementPtrInput { - return (*launchTemplatePlacementPtrType)(v) +func LaunchTemplateInstanceRequirementsVcpuCountPtr(v *LaunchTemplateInstanceRequirementsVcpuCountArgs) LaunchTemplateInstanceRequirementsVcpuCountPtrInput { + return (*launchTemplateInstanceRequirementsVcpuCountPtrType)(v) } -func (*launchTemplatePlacementPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**LaunchTemplatePlacement)(nil)).Elem() +func (*launchTemplateInstanceRequirementsVcpuCountPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**LaunchTemplateInstanceRequirementsVcpuCount)(nil)).Elem() } -func (i *launchTemplatePlacementPtrType) ToLaunchTemplatePlacementPtrOutput() LaunchTemplatePlacementPtrOutput { - return i.ToLaunchTemplatePlacementPtrOutputWithContext(context.Background()) +func (i *launchTemplateInstanceRequirementsVcpuCountPtrType) ToLaunchTemplateInstanceRequirementsVcpuCountPtrOutput() LaunchTemplateInstanceRequirementsVcpuCountPtrOutput { + return i.ToLaunchTemplateInstanceRequirementsVcpuCountPtrOutputWithContext(context.Background()) } -func (i *launchTemplatePlacementPtrType) ToLaunchTemplatePlacementPtrOutputWithContext(ctx context.Context) LaunchTemplatePlacementPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplatePlacementPtrOutput) +func (i *launchTemplateInstanceRequirementsVcpuCountPtrType) ToLaunchTemplateInstanceRequirementsVcpuCountPtrOutputWithContext(ctx context.Context) LaunchTemplateInstanceRequirementsVcpuCountPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateInstanceRequirementsVcpuCountPtrOutput) } -type LaunchTemplatePlacementOutput struct{ *pulumi.OutputState } +type LaunchTemplateInstanceRequirementsVcpuCountOutput struct{ *pulumi.OutputState } -func (LaunchTemplatePlacementOutput) ElementType() reflect.Type { - return reflect.TypeOf((*LaunchTemplatePlacement)(nil)).Elem() +func (LaunchTemplateInstanceRequirementsVcpuCountOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LaunchTemplateInstanceRequirementsVcpuCount)(nil)).Elem() } -func (o LaunchTemplatePlacementOutput) ToLaunchTemplatePlacementOutput() LaunchTemplatePlacementOutput { +func (o LaunchTemplateInstanceRequirementsVcpuCountOutput) ToLaunchTemplateInstanceRequirementsVcpuCountOutput() LaunchTemplateInstanceRequirementsVcpuCountOutput { return o } -func (o LaunchTemplatePlacementOutput) ToLaunchTemplatePlacementOutputWithContext(ctx context.Context) LaunchTemplatePlacementOutput { +func (o LaunchTemplateInstanceRequirementsVcpuCountOutput) ToLaunchTemplateInstanceRequirementsVcpuCountOutputWithContext(ctx context.Context) LaunchTemplateInstanceRequirementsVcpuCountOutput { return o } -func (o LaunchTemplatePlacementOutput) ToLaunchTemplatePlacementPtrOutput() LaunchTemplatePlacementPtrOutput { - return o.ToLaunchTemplatePlacementPtrOutputWithContext(context.Background()) +func (o LaunchTemplateInstanceRequirementsVcpuCountOutput) ToLaunchTemplateInstanceRequirementsVcpuCountPtrOutput() LaunchTemplateInstanceRequirementsVcpuCountPtrOutput { + return o.ToLaunchTemplateInstanceRequirementsVcpuCountPtrOutputWithContext(context.Background()) } -func (o LaunchTemplatePlacementOutput) ToLaunchTemplatePlacementPtrOutputWithContext(ctx context.Context) LaunchTemplatePlacementPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v LaunchTemplatePlacement) *LaunchTemplatePlacement { +func (o LaunchTemplateInstanceRequirementsVcpuCountOutput) ToLaunchTemplateInstanceRequirementsVcpuCountPtrOutputWithContext(ctx context.Context) LaunchTemplateInstanceRequirementsVcpuCountPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v LaunchTemplateInstanceRequirementsVcpuCount) *LaunchTemplateInstanceRequirementsVcpuCount { return &v - }).(LaunchTemplatePlacementPtrOutput) -} - -// The affinity setting for an instance on a Dedicated Host. -func (o LaunchTemplatePlacementOutput) Affinity() pulumi.StringPtrOutput { - return o.ApplyT(func(v LaunchTemplatePlacement) *string { return v.Affinity }).(pulumi.StringPtrOutput) -} - -// The Availability Zone for the instance. -func (o LaunchTemplatePlacementOutput) AvailabilityZone() pulumi.StringPtrOutput { - return o.ApplyT(func(v LaunchTemplatePlacement) *string { return v.AvailabilityZone }).(pulumi.StringPtrOutput) -} - -// The ID of the placement group for the instance. Conflicts with `groupName`. -func (o LaunchTemplatePlacementOutput) GroupId() pulumi.StringPtrOutput { - return o.ApplyT(func(v LaunchTemplatePlacement) *string { return v.GroupId }).(pulumi.StringPtrOutput) -} - -// The name of the placement group for the instance. Conflicts with `groupId`. -func (o LaunchTemplatePlacementOutput) GroupName() pulumi.StringPtrOutput { - return o.ApplyT(func(v LaunchTemplatePlacement) *string { return v.GroupName }).(pulumi.StringPtrOutput) -} - -// The ID of the Dedicated Host for the instance. -func (o LaunchTemplatePlacementOutput) HostId() pulumi.StringPtrOutput { - return o.ApplyT(func(v LaunchTemplatePlacement) *string { return v.HostId }).(pulumi.StringPtrOutput) -} - -// The ARN of the Host Resource Group in which to launch instances. -func (o LaunchTemplatePlacementOutput) HostResourceGroupArn() pulumi.StringPtrOutput { - return o.ApplyT(func(v LaunchTemplatePlacement) *string { return v.HostResourceGroupArn }).(pulumi.StringPtrOutput) -} - -// The number of the partition the instance should launch in. Valid only if the placement group strategy is set to partition. -func (o LaunchTemplatePlacementOutput) PartitionNumber() pulumi.IntPtrOutput { - return o.ApplyT(func(v LaunchTemplatePlacement) *int { return v.PartitionNumber }).(pulumi.IntPtrOutput) + }).(LaunchTemplateInstanceRequirementsVcpuCountPtrOutput) } -// Reserved for future use. -func (o LaunchTemplatePlacementOutput) SpreadDomain() pulumi.StringPtrOutput { - return o.ApplyT(func(v LaunchTemplatePlacement) *string { return v.SpreadDomain }).(pulumi.StringPtrOutput) +// Maximum. +func (o LaunchTemplateInstanceRequirementsVcpuCountOutput) Max() pulumi.IntPtrOutput { + return o.ApplyT(func(v LaunchTemplateInstanceRequirementsVcpuCount) *int { return v.Max }).(pulumi.IntPtrOutput) } -// The tenancy of the instance (if the instance is running in a VPC). Can be `default`, `dedicated`, or `host`. -func (o LaunchTemplatePlacementOutput) Tenancy() pulumi.StringPtrOutput { - return o.ApplyT(func(v LaunchTemplatePlacement) *string { return v.Tenancy }).(pulumi.StringPtrOutput) +// Minimum. +func (o LaunchTemplateInstanceRequirementsVcpuCountOutput) Min() pulumi.IntOutput { + return o.ApplyT(func(v LaunchTemplateInstanceRequirementsVcpuCount) int { return v.Min }).(pulumi.IntOutput) } -type LaunchTemplatePlacementPtrOutput struct{ *pulumi.OutputState } +type LaunchTemplateInstanceRequirementsVcpuCountPtrOutput struct{ *pulumi.OutputState } -func (LaunchTemplatePlacementPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**LaunchTemplatePlacement)(nil)).Elem() +func (LaunchTemplateInstanceRequirementsVcpuCountPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**LaunchTemplateInstanceRequirementsVcpuCount)(nil)).Elem() } -func (o LaunchTemplatePlacementPtrOutput) ToLaunchTemplatePlacementPtrOutput() LaunchTemplatePlacementPtrOutput { +func (o LaunchTemplateInstanceRequirementsVcpuCountPtrOutput) ToLaunchTemplateInstanceRequirementsVcpuCountPtrOutput() LaunchTemplateInstanceRequirementsVcpuCountPtrOutput { return o } -func (o LaunchTemplatePlacementPtrOutput) ToLaunchTemplatePlacementPtrOutputWithContext(ctx context.Context) LaunchTemplatePlacementPtrOutput { +func (o LaunchTemplateInstanceRequirementsVcpuCountPtrOutput) ToLaunchTemplateInstanceRequirementsVcpuCountPtrOutputWithContext(ctx context.Context) LaunchTemplateInstanceRequirementsVcpuCountPtrOutput { return o } -func (o LaunchTemplatePlacementPtrOutput) Elem() LaunchTemplatePlacementOutput { - return o.ApplyT(func(v *LaunchTemplatePlacement) LaunchTemplatePlacement { +func (o LaunchTemplateInstanceRequirementsVcpuCountPtrOutput) Elem() LaunchTemplateInstanceRequirementsVcpuCountOutput { + return o.ApplyT(func(v *LaunchTemplateInstanceRequirementsVcpuCount) LaunchTemplateInstanceRequirementsVcpuCount { if v != nil { return *v } - var ret LaunchTemplatePlacement + var ret LaunchTemplateInstanceRequirementsVcpuCount return ret - }).(LaunchTemplatePlacementOutput) -} - -// The affinity setting for an instance on a Dedicated Host. -func (o LaunchTemplatePlacementPtrOutput) Affinity() pulumi.StringPtrOutput { - return o.ApplyT(func(v *LaunchTemplatePlacement) *string { - if v == nil { - return nil - } - return v.Affinity - }).(pulumi.StringPtrOutput) + }).(LaunchTemplateInstanceRequirementsVcpuCountOutput) } -// The Availability Zone for the instance. -func (o LaunchTemplatePlacementPtrOutput) AvailabilityZone() pulumi.StringPtrOutput { - return o.ApplyT(func(v *LaunchTemplatePlacement) *string { +// Maximum. +func (o LaunchTemplateInstanceRequirementsVcpuCountPtrOutput) Max() pulumi.IntPtrOutput { + return o.ApplyT(func(v *LaunchTemplateInstanceRequirementsVcpuCount) *int { if v == nil { return nil } - return v.AvailabilityZone - }).(pulumi.StringPtrOutput) + return v.Max + }).(pulumi.IntPtrOutput) } -// The ID of the placement group for the instance. Conflicts with `groupName`. -func (o LaunchTemplatePlacementPtrOutput) GroupId() pulumi.StringPtrOutput { - return o.ApplyT(func(v *LaunchTemplatePlacement) *string { +// Minimum. +func (o LaunchTemplateInstanceRequirementsVcpuCountPtrOutput) Min() pulumi.IntPtrOutput { + return o.ApplyT(func(v *LaunchTemplateInstanceRequirementsVcpuCount) *int { if v == nil { return nil } - return v.GroupId - }).(pulumi.StringPtrOutput) + return &v.Min + }).(pulumi.IntPtrOutput) } -// The name of the placement group for the instance. Conflicts with `groupId`. -func (o LaunchTemplatePlacementPtrOutput) GroupName() pulumi.StringPtrOutput { - return o.ApplyT(func(v *LaunchTemplatePlacement) *string { - if v == nil { - return nil - } - return v.GroupName - }).(pulumi.StringPtrOutput) +type LaunchTemplateLicenseSpecification struct { + // ARN of the license configuration. + LicenseConfigurationArn string `pulumi:"licenseConfigurationArn"` } -// The ID of the Dedicated Host for the instance. -func (o LaunchTemplatePlacementPtrOutput) HostId() pulumi.StringPtrOutput { - return o.ApplyT(func(v *LaunchTemplatePlacement) *string { - if v == nil { - return nil - } - return v.HostId - }).(pulumi.StringPtrOutput) -} +// LaunchTemplateLicenseSpecificationInput is an input type that accepts LaunchTemplateLicenseSpecificationArgs and LaunchTemplateLicenseSpecificationOutput values. +// You can construct a concrete instance of `LaunchTemplateLicenseSpecificationInput` via: +// +// LaunchTemplateLicenseSpecificationArgs{...} +type LaunchTemplateLicenseSpecificationInput interface { + pulumi.Input -// The ARN of the Host Resource Group in which to launch instances. -func (o LaunchTemplatePlacementPtrOutput) HostResourceGroupArn() pulumi.StringPtrOutput { - return o.ApplyT(func(v *LaunchTemplatePlacement) *string { - if v == nil { - return nil - } - return v.HostResourceGroupArn - }).(pulumi.StringPtrOutput) + ToLaunchTemplateLicenseSpecificationOutput() LaunchTemplateLicenseSpecificationOutput + ToLaunchTemplateLicenseSpecificationOutputWithContext(context.Context) LaunchTemplateLicenseSpecificationOutput } -// The number of the partition the instance should launch in. Valid only if the placement group strategy is set to partition. -func (o LaunchTemplatePlacementPtrOutput) PartitionNumber() pulumi.IntPtrOutput { - return o.ApplyT(func(v *LaunchTemplatePlacement) *int { - if v == nil { - return nil - } - return v.PartitionNumber - }).(pulumi.IntPtrOutput) +type LaunchTemplateLicenseSpecificationArgs struct { + // ARN of the license configuration. + LicenseConfigurationArn pulumi.StringInput `pulumi:"licenseConfigurationArn"` } -// Reserved for future use. -func (o LaunchTemplatePlacementPtrOutput) SpreadDomain() pulumi.StringPtrOutput { - return o.ApplyT(func(v *LaunchTemplatePlacement) *string { - if v == nil { - return nil - } - return v.SpreadDomain - }).(pulumi.StringPtrOutput) +func (LaunchTemplateLicenseSpecificationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LaunchTemplateLicenseSpecification)(nil)).Elem() } -// The tenancy of the instance (if the instance is running in a VPC). Can be `default`, `dedicated`, or `host`. -func (o LaunchTemplatePlacementPtrOutput) Tenancy() pulumi.StringPtrOutput { - return o.ApplyT(func(v *LaunchTemplatePlacement) *string { - if v == nil { - return nil - } - return v.Tenancy - }).(pulumi.StringPtrOutput) +func (i LaunchTemplateLicenseSpecificationArgs) ToLaunchTemplateLicenseSpecificationOutput() LaunchTemplateLicenseSpecificationOutput { + return i.ToLaunchTemplateLicenseSpecificationOutputWithContext(context.Background()) } -type LaunchTemplatePrivateDnsNameOptions struct { - // Indicates whether to respond to DNS queries for instance hostnames with DNS A records. - EnableResourceNameDnsARecord *bool `pulumi:"enableResourceNameDnsARecord"` - // Indicates whether to respond to DNS queries for instance hostnames with DNS AAAA records. - EnableResourceNameDnsAaaaRecord *bool `pulumi:"enableResourceNameDnsAaaaRecord"` - // The type of hostname for Amazon EC2 instances. For IPv4 only subnets, an instance DNS name must be based on the instance IPv4 address. For IPv6 native subnets, an instance DNS name must be based on the instance ID. For dual-stack subnets, you can specify whether DNS names use the instance IPv4 address or the instance ID. Valid values: `ip-name` and `resource-name`. - HostnameType *string `pulumi:"hostnameType"` +func (i LaunchTemplateLicenseSpecificationArgs) ToLaunchTemplateLicenseSpecificationOutputWithContext(ctx context.Context) LaunchTemplateLicenseSpecificationOutput { + return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateLicenseSpecificationOutput) } -// LaunchTemplatePrivateDnsNameOptionsInput is an input type that accepts LaunchTemplatePrivateDnsNameOptionsArgs and LaunchTemplatePrivateDnsNameOptionsOutput values. -// You can construct a concrete instance of `LaunchTemplatePrivateDnsNameOptionsInput` via: +// LaunchTemplateLicenseSpecificationArrayInput is an input type that accepts LaunchTemplateLicenseSpecificationArray and LaunchTemplateLicenseSpecificationArrayOutput values. +// You can construct a concrete instance of `LaunchTemplateLicenseSpecificationArrayInput` via: // -// LaunchTemplatePrivateDnsNameOptionsArgs{...} -type LaunchTemplatePrivateDnsNameOptionsInput interface { +// LaunchTemplateLicenseSpecificationArray{ LaunchTemplateLicenseSpecificationArgs{...} } +type LaunchTemplateLicenseSpecificationArrayInput interface { pulumi.Input - ToLaunchTemplatePrivateDnsNameOptionsOutput() LaunchTemplatePrivateDnsNameOptionsOutput - ToLaunchTemplatePrivateDnsNameOptionsOutputWithContext(context.Context) LaunchTemplatePrivateDnsNameOptionsOutput + ToLaunchTemplateLicenseSpecificationArrayOutput() LaunchTemplateLicenseSpecificationArrayOutput + ToLaunchTemplateLicenseSpecificationArrayOutputWithContext(context.Context) LaunchTemplateLicenseSpecificationArrayOutput } -type LaunchTemplatePrivateDnsNameOptionsArgs struct { - // Indicates whether to respond to DNS queries for instance hostnames with DNS A records. - EnableResourceNameDnsARecord pulumi.BoolPtrInput `pulumi:"enableResourceNameDnsARecord"` - // Indicates whether to respond to DNS queries for instance hostnames with DNS AAAA records. - EnableResourceNameDnsAaaaRecord pulumi.BoolPtrInput `pulumi:"enableResourceNameDnsAaaaRecord"` - // The type of hostname for Amazon EC2 instances. For IPv4 only subnets, an instance DNS name must be based on the instance IPv4 address. For IPv6 native subnets, an instance DNS name must be based on the instance ID. For dual-stack subnets, you can specify whether DNS names use the instance IPv4 address or the instance ID. Valid values: `ip-name` and `resource-name`. - HostnameType pulumi.StringPtrInput `pulumi:"hostnameType"` -} +type LaunchTemplateLicenseSpecificationArray []LaunchTemplateLicenseSpecificationInput -func (LaunchTemplatePrivateDnsNameOptionsArgs) ElementType() reflect.Type { - return reflect.TypeOf((*LaunchTemplatePrivateDnsNameOptions)(nil)).Elem() +func (LaunchTemplateLicenseSpecificationArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]LaunchTemplateLicenseSpecification)(nil)).Elem() } -func (i LaunchTemplatePrivateDnsNameOptionsArgs) ToLaunchTemplatePrivateDnsNameOptionsOutput() LaunchTemplatePrivateDnsNameOptionsOutput { - return i.ToLaunchTemplatePrivateDnsNameOptionsOutputWithContext(context.Background()) +func (i LaunchTemplateLicenseSpecificationArray) ToLaunchTemplateLicenseSpecificationArrayOutput() LaunchTemplateLicenseSpecificationArrayOutput { + return i.ToLaunchTemplateLicenseSpecificationArrayOutputWithContext(context.Background()) } -func (i LaunchTemplatePrivateDnsNameOptionsArgs) ToLaunchTemplatePrivateDnsNameOptionsOutputWithContext(ctx context.Context) LaunchTemplatePrivateDnsNameOptionsOutput { - return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplatePrivateDnsNameOptionsOutput) +func (i LaunchTemplateLicenseSpecificationArray) ToLaunchTemplateLicenseSpecificationArrayOutputWithContext(ctx context.Context) LaunchTemplateLicenseSpecificationArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateLicenseSpecificationArrayOutput) } -func (i LaunchTemplatePrivateDnsNameOptionsArgs) ToLaunchTemplatePrivateDnsNameOptionsPtrOutput() LaunchTemplatePrivateDnsNameOptionsPtrOutput { - return i.ToLaunchTemplatePrivateDnsNameOptionsPtrOutputWithContext(context.Background()) +type LaunchTemplateLicenseSpecificationOutput struct{ *pulumi.OutputState } + +func (LaunchTemplateLicenseSpecificationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LaunchTemplateLicenseSpecification)(nil)).Elem() } -func (i LaunchTemplatePrivateDnsNameOptionsArgs) ToLaunchTemplatePrivateDnsNameOptionsPtrOutputWithContext(ctx context.Context) LaunchTemplatePrivateDnsNameOptionsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplatePrivateDnsNameOptionsOutput).ToLaunchTemplatePrivateDnsNameOptionsPtrOutputWithContext(ctx) +func (o LaunchTemplateLicenseSpecificationOutput) ToLaunchTemplateLicenseSpecificationOutput() LaunchTemplateLicenseSpecificationOutput { + return o } -// LaunchTemplatePrivateDnsNameOptionsPtrInput is an input type that accepts LaunchTemplatePrivateDnsNameOptionsArgs, LaunchTemplatePrivateDnsNameOptionsPtr and LaunchTemplatePrivateDnsNameOptionsPtrOutput values. -// You can construct a concrete instance of `LaunchTemplatePrivateDnsNameOptionsPtrInput` via: +func (o LaunchTemplateLicenseSpecificationOutput) ToLaunchTemplateLicenseSpecificationOutputWithContext(ctx context.Context) LaunchTemplateLicenseSpecificationOutput { + return o +} + +// ARN of the license configuration. +func (o LaunchTemplateLicenseSpecificationOutput) LicenseConfigurationArn() pulumi.StringOutput { + return o.ApplyT(func(v LaunchTemplateLicenseSpecification) string { return v.LicenseConfigurationArn }).(pulumi.StringOutput) +} + +type LaunchTemplateLicenseSpecificationArrayOutput struct{ *pulumi.OutputState } + +func (LaunchTemplateLicenseSpecificationArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]LaunchTemplateLicenseSpecification)(nil)).Elem() +} + +func (o LaunchTemplateLicenseSpecificationArrayOutput) ToLaunchTemplateLicenseSpecificationArrayOutput() LaunchTemplateLicenseSpecificationArrayOutput { + return o +} + +func (o LaunchTemplateLicenseSpecificationArrayOutput) ToLaunchTemplateLicenseSpecificationArrayOutputWithContext(ctx context.Context) LaunchTemplateLicenseSpecificationArrayOutput { + return o +} + +func (o LaunchTemplateLicenseSpecificationArrayOutput) Index(i pulumi.IntInput) LaunchTemplateLicenseSpecificationOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) LaunchTemplateLicenseSpecification { + return vs[0].([]LaunchTemplateLicenseSpecification)[vs[1].(int)] + }).(LaunchTemplateLicenseSpecificationOutput) +} + +type LaunchTemplateMaintenanceOptions struct { + // Disables the automatic recovery behavior of your instance or sets it to default. Can be `"default"` or `"disabled"`. See [Recover your instance](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-recover.html) for more details. + AutoRecovery *string `pulumi:"autoRecovery"` +} + +// LaunchTemplateMaintenanceOptionsInput is an input type that accepts LaunchTemplateMaintenanceOptionsArgs and LaunchTemplateMaintenanceOptionsOutput values. +// You can construct a concrete instance of `LaunchTemplateMaintenanceOptionsInput` via: // -// LaunchTemplatePrivateDnsNameOptionsArgs{...} +// LaunchTemplateMaintenanceOptionsArgs{...} +type LaunchTemplateMaintenanceOptionsInput interface { + pulumi.Input + + ToLaunchTemplateMaintenanceOptionsOutput() LaunchTemplateMaintenanceOptionsOutput + ToLaunchTemplateMaintenanceOptionsOutputWithContext(context.Context) LaunchTemplateMaintenanceOptionsOutput +} + +type LaunchTemplateMaintenanceOptionsArgs struct { + // Disables the automatic recovery behavior of your instance or sets it to default. Can be `"default"` or `"disabled"`. See [Recover your instance](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-recover.html) for more details. + AutoRecovery pulumi.StringPtrInput `pulumi:"autoRecovery"` +} + +func (LaunchTemplateMaintenanceOptionsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LaunchTemplateMaintenanceOptions)(nil)).Elem() +} + +func (i LaunchTemplateMaintenanceOptionsArgs) ToLaunchTemplateMaintenanceOptionsOutput() LaunchTemplateMaintenanceOptionsOutput { + return i.ToLaunchTemplateMaintenanceOptionsOutputWithContext(context.Background()) +} + +func (i LaunchTemplateMaintenanceOptionsArgs) ToLaunchTemplateMaintenanceOptionsOutputWithContext(ctx context.Context) LaunchTemplateMaintenanceOptionsOutput { + return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateMaintenanceOptionsOutput) +} + +func (i LaunchTemplateMaintenanceOptionsArgs) ToLaunchTemplateMaintenanceOptionsPtrOutput() LaunchTemplateMaintenanceOptionsPtrOutput { + return i.ToLaunchTemplateMaintenanceOptionsPtrOutputWithContext(context.Background()) +} + +func (i LaunchTemplateMaintenanceOptionsArgs) ToLaunchTemplateMaintenanceOptionsPtrOutputWithContext(ctx context.Context) LaunchTemplateMaintenanceOptionsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateMaintenanceOptionsOutput).ToLaunchTemplateMaintenanceOptionsPtrOutputWithContext(ctx) +} + +// LaunchTemplateMaintenanceOptionsPtrInput is an input type that accepts LaunchTemplateMaintenanceOptionsArgs, LaunchTemplateMaintenanceOptionsPtr and LaunchTemplateMaintenanceOptionsPtrOutput values. +// You can construct a concrete instance of `LaunchTemplateMaintenanceOptionsPtrInput` via: +// +// LaunchTemplateMaintenanceOptionsArgs{...} // // or: // // nil -type LaunchTemplatePrivateDnsNameOptionsPtrInput interface { +type LaunchTemplateMaintenanceOptionsPtrInput interface { pulumi.Input - ToLaunchTemplatePrivateDnsNameOptionsPtrOutput() LaunchTemplatePrivateDnsNameOptionsPtrOutput - ToLaunchTemplatePrivateDnsNameOptionsPtrOutputWithContext(context.Context) LaunchTemplatePrivateDnsNameOptionsPtrOutput + ToLaunchTemplateMaintenanceOptionsPtrOutput() LaunchTemplateMaintenanceOptionsPtrOutput + ToLaunchTemplateMaintenanceOptionsPtrOutputWithContext(context.Context) LaunchTemplateMaintenanceOptionsPtrOutput } -type launchTemplatePrivateDnsNameOptionsPtrType LaunchTemplatePrivateDnsNameOptionsArgs +type launchTemplateMaintenanceOptionsPtrType LaunchTemplateMaintenanceOptionsArgs -func LaunchTemplatePrivateDnsNameOptionsPtr(v *LaunchTemplatePrivateDnsNameOptionsArgs) LaunchTemplatePrivateDnsNameOptionsPtrInput { - return (*launchTemplatePrivateDnsNameOptionsPtrType)(v) +func LaunchTemplateMaintenanceOptionsPtr(v *LaunchTemplateMaintenanceOptionsArgs) LaunchTemplateMaintenanceOptionsPtrInput { + return (*launchTemplateMaintenanceOptionsPtrType)(v) } -func (*launchTemplatePrivateDnsNameOptionsPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**LaunchTemplatePrivateDnsNameOptions)(nil)).Elem() +func (*launchTemplateMaintenanceOptionsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**LaunchTemplateMaintenanceOptions)(nil)).Elem() } -func (i *launchTemplatePrivateDnsNameOptionsPtrType) ToLaunchTemplatePrivateDnsNameOptionsPtrOutput() LaunchTemplatePrivateDnsNameOptionsPtrOutput { - return i.ToLaunchTemplatePrivateDnsNameOptionsPtrOutputWithContext(context.Background()) +func (i *launchTemplateMaintenanceOptionsPtrType) ToLaunchTemplateMaintenanceOptionsPtrOutput() LaunchTemplateMaintenanceOptionsPtrOutput { + return i.ToLaunchTemplateMaintenanceOptionsPtrOutputWithContext(context.Background()) } -func (i *launchTemplatePrivateDnsNameOptionsPtrType) ToLaunchTemplatePrivateDnsNameOptionsPtrOutputWithContext(ctx context.Context) LaunchTemplatePrivateDnsNameOptionsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplatePrivateDnsNameOptionsPtrOutput) +func (i *launchTemplateMaintenanceOptionsPtrType) ToLaunchTemplateMaintenanceOptionsPtrOutputWithContext(ctx context.Context) LaunchTemplateMaintenanceOptionsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateMaintenanceOptionsPtrOutput) } -type LaunchTemplatePrivateDnsNameOptionsOutput struct{ *pulumi.OutputState } +type LaunchTemplateMaintenanceOptionsOutput struct{ *pulumi.OutputState } -func (LaunchTemplatePrivateDnsNameOptionsOutput) ElementType() reflect.Type { - return reflect.TypeOf((*LaunchTemplatePrivateDnsNameOptions)(nil)).Elem() +func (LaunchTemplateMaintenanceOptionsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LaunchTemplateMaintenanceOptions)(nil)).Elem() } -func (o LaunchTemplatePrivateDnsNameOptionsOutput) ToLaunchTemplatePrivateDnsNameOptionsOutput() LaunchTemplatePrivateDnsNameOptionsOutput { +func (o LaunchTemplateMaintenanceOptionsOutput) ToLaunchTemplateMaintenanceOptionsOutput() LaunchTemplateMaintenanceOptionsOutput { return o } -func (o LaunchTemplatePrivateDnsNameOptionsOutput) ToLaunchTemplatePrivateDnsNameOptionsOutputWithContext(ctx context.Context) LaunchTemplatePrivateDnsNameOptionsOutput { +func (o LaunchTemplateMaintenanceOptionsOutput) ToLaunchTemplateMaintenanceOptionsOutputWithContext(ctx context.Context) LaunchTemplateMaintenanceOptionsOutput { return o } -func (o LaunchTemplatePrivateDnsNameOptionsOutput) ToLaunchTemplatePrivateDnsNameOptionsPtrOutput() LaunchTemplatePrivateDnsNameOptionsPtrOutput { - return o.ToLaunchTemplatePrivateDnsNameOptionsPtrOutputWithContext(context.Background()) +func (o LaunchTemplateMaintenanceOptionsOutput) ToLaunchTemplateMaintenanceOptionsPtrOutput() LaunchTemplateMaintenanceOptionsPtrOutput { + return o.ToLaunchTemplateMaintenanceOptionsPtrOutputWithContext(context.Background()) } -func (o LaunchTemplatePrivateDnsNameOptionsOutput) ToLaunchTemplatePrivateDnsNameOptionsPtrOutputWithContext(ctx context.Context) LaunchTemplatePrivateDnsNameOptionsPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v LaunchTemplatePrivateDnsNameOptions) *LaunchTemplatePrivateDnsNameOptions { +func (o LaunchTemplateMaintenanceOptionsOutput) ToLaunchTemplateMaintenanceOptionsPtrOutputWithContext(ctx context.Context) LaunchTemplateMaintenanceOptionsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v LaunchTemplateMaintenanceOptions) *LaunchTemplateMaintenanceOptions { return &v - }).(LaunchTemplatePrivateDnsNameOptionsPtrOutput) -} - -// Indicates whether to respond to DNS queries for instance hostnames with DNS A records. -func (o LaunchTemplatePrivateDnsNameOptionsOutput) EnableResourceNameDnsARecord() pulumi.BoolPtrOutput { - return o.ApplyT(func(v LaunchTemplatePrivateDnsNameOptions) *bool { return v.EnableResourceNameDnsARecord }).(pulumi.BoolPtrOutput) -} - -// Indicates whether to respond to DNS queries for instance hostnames with DNS AAAA records. -func (o LaunchTemplatePrivateDnsNameOptionsOutput) EnableResourceNameDnsAaaaRecord() pulumi.BoolPtrOutput { - return o.ApplyT(func(v LaunchTemplatePrivateDnsNameOptions) *bool { return v.EnableResourceNameDnsAaaaRecord }).(pulumi.BoolPtrOutput) + }).(LaunchTemplateMaintenanceOptionsPtrOutput) } -// The type of hostname for Amazon EC2 instances. For IPv4 only subnets, an instance DNS name must be based on the instance IPv4 address. For IPv6 native subnets, an instance DNS name must be based on the instance ID. For dual-stack subnets, you can specify whether DNS names use the instance IPv4 address or the instance ID. Valid values: `ip-name` and `resource-name`. -func (o LaunchTemplatePrivateDnsNameOptionsOutput) HostnameType() pulumi.StringPtrOutput { - return o.ApplyT(func(v LaunchTemplatePrivateDnsNameOptions) *string { return v.HostnameType }).(pulumi.StringPtrOutput) +// Disables the automatic recovery behavior of your instance or sets it to default. Can be `"default"` or `"disabled"`. See [Recover your instance](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-recover.html) for more details. +func (o LaunchTemplateMaintenanceOptionsOutput) AutoRecovery() pulumi.StringPtrOutput { + return o.ApplyT(func(v LaunchTemplateMaintenanceOptions) *string { return v.AutoRecovery }).(pulumi.StringPtrOutput) } -type LaunchTemplatePrivateDnsNameOptionsPtrOutput struct{ *pulumi.OutputState } +type LaunchTemplateMaintenanceOptionsPtrOutput struct{ *pulumi.OutputState } -func (LaunchTemplatePrivateDnsNameOptionsPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**LaunchTemplatePrivateDnsNameOptions)(nil)).Elem() +func (LaunchTemplateMaintenanceOptionsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**LaunchTemplateMaintenanceOptions)(nil)).Elem() } -func (o LaunchTemplatePrivateDnsNameOptionsPtrOutput) ToLaunchTemplatePrivateDnsNameOptionsPtrOutput() LaunchTemplatePrivateDnsNameOptionsPtrOutput { +func (o LaunchTemplateMaintenanceOptionsPtrOutput) ToLaunchTemplateMaintenanceOptionsPtrOutput() LaunchTemplateMaintenanceOptionsPtrOutput { return o } -func (o LaunchTemplatePrivateDnsNameOptionsPtrOutput) ToLaunchTemplatePrivateDnsNameOptionsPtrOutputWithContext(ctx context.Context) LaunchTemplatePrivateDnsNameOptionsPtrOutput { +func (o LaunchTemplateMaintenanceOptionsPtrOutput) ToLaunchTemplateMaintenanceOptionsPtrOutputWithContext(ctx context.Context) LaunchTemplateMaintenanceOptionsPtrOutput { return o } -func (o LaunchTemplatePrivateDnsNameOptionsPtrOutput) Elem() LaunchTemplatePrivateDnsNameOptionsOutput { - return o.ApplyT(func(v *LaunchTemplatePrivateDnsNameOptions) LaunchTemplatePrivateDnsNameOptions { +func (o LaunchTemplateMaintenanceOptionsPtrOutput) Elem() LaunchTemplateMaintenanceOptionsOutput { + return o.ApplyT(func(v *LaunchTemplateMaintenanceOptions) LaunchTemplateMaintenanceOptions { if v != nil { return *v } - var ret LaunchTemplatePrivateDnsNameOptions + var ret LaunchTemplateMaintenanceOptions return ret - }).(LaunchTemplatePrivateDnsNameOptionsOutput) -} - -// Indicates whether to respond to DNS queries for instance hostnames with DNS A records. -func (o LaunchTemplatePrivateDnsNameOptionsPtrOutput) EnableResourceNameDnsARecord() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *LaunchTemplatePrivateDnsNameOptions) *bool { - if v == nil { - return nil - } - return v.EnableResourceNameDnsARecord - }).(pulumi.BoolPtrOutput) -} - -// Indicates whether to respond to DNS queries for instance hostnames with DNS AAAA records. -func (o LaunchTemplatePrivateDnsNameOptionsPtrOutput) EnableResourceNameDnsAaaaRecord() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *LaunchTemplatePrivateDnsNameOptions) *bool { - if v == nil { - return nil - } - return v.EnableResourceNameDnsAaaaRecord - }).(pulumi.BoolPtrOutput) + }).(LaunchTemplateMaintenanceOptionsOutput) } -// The type of hostname for Amazon EC2 instances. For IPv4 only subnets, an instance DNS name must be based on the instance IPv4 address. For IPv6 native subnets, an instance DNS name must be based on the instance ID. For dual-stack subnets, you can specify whether DNS names use the instance IPv4 address or the instance ID. Valid values: `ip-name` and `resource-name`. -func (o LaunchTemplatePrivateDnsNameOptionsPtrOutput) HostnameType() pulumi.StringPtrOutput { - return o.ApplyT(func(v *LaunchTemplatePrivateDnsNameOptions) *string { +// Disables the automatic recovery behavior of your instance or sets it to default. Can be `"default"` or `"disabled"`. See [Recover your instance](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-recover.html) for more details. +func (o LaunchTemplateMaintenanceOptionsPtrOutput) AutoRecovery() pulumi.StringPtrOutput { + return o.ApplyT(func(v *LaunchTemplateMaintenanceOptions) *string { if v == nil { return nil } - return v.HostnameType + return v.AutoRecovery }).(pulumi.StringPtrOutput) } -type LaunchTemplateTagSpecification struct { - // The type of resource to tag. - ResourceType *string `pulumi:"resourceType"` - // A map of tags to assign to the resource. - Tags map[string]string `pulumi:"tags"` +type LaunchTemplateMetadataOptions struct { + // Whether the metadata service is available. Can be `"enabled"` or `"disabled"`. (Default: `"enabled"`). + HttpEndpoint *string `pulumi:"httpEndpoint"` + // Enables or disables the IPv6 endpoint for the instance metadata service. Can be `"enabled"` or `"disabled"`. + HttpProtocolIpv6 *string `pulumi:"httpProtocolIpv6"` + // The desired HTTP PUT response hop limit for instance metadata requests. The larger the number, the further instance metadata requests can travel. Can be an integer from `1` to `64`. (Default: `1`). + HttpPutResponseHopLimit *int `pulumi:"httpPutResponseHopLimit"` + // Whether or not the metadata service requires session tokens, also referred to as _Instance Metadata Service Version 2 (IMDSv2)_. Can be `"optional"` or `"required"`. (Default: `"optional"`). + HttpTokens *string `pulumi:"httpTokens"` + // Enables or disables access to instance tags from the instance metadata service. Can be `"enabled"` or `"disabled"`. + // + // For more information, see the documentation on the [Instance Metadata Service](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html). + InstanceMetadataTags *string `pulumi:"instanceMetadataTags"` } -// LaunchTemplateTagSpecificationInput is an input type that accepts LaunchTemplateTagSpecificationArgs and LaunchTemplateTagSpecificationOutput values. -// You can construct a concrete instance of `LaunchTemplateTagSpecificationInput` via: +// LaunchTemplateMetadataOptionsInput is an input type that accepts LaunchTemplateMetadataOptionsArgs and LaunchTemplateMetadataOptionsOutput values. +// You can construct a concrete instance of `LaunchTemplateMetadataOptionsInput` via: // -// LaunchTemplateTagSpecificationArgs{...} -type LaunchTemplateTagSpecificationInput interface { +// LaunchTemplateMetadataOptionsArgs{...} +type LaunchTemplateMetadataOptionsInput interface { pulumi.Input - ToLaunchTemplateTagSpecificationOutput() LaunchTemplateTagSpecificationOutput - ToLaunchTemplateTagSpecificationOutputWithContext(context.Context) LaunchTemplateTagSpecificationOutput + ToLaunchTemplateMetadataOptionsOutput() LaunchTemplateMetadataOptionsOutput + ToLaunchTemplateMetadataOptionsOutputWithContext(context.Context) LaunchTemplateMetadataOptionsOutput } -type LaunchTemplateTagSpecificationArgs struct { - // The type of resource to tag. - ResourceType pulumi.StringPtrInput `pulumi:"resourceType"` - // A map of tags to assign to the resource. - Tags pulumi.StringMapInput `pulumi:"tags"` +type LaunchTemplateMetadataOptionsArgs struct { + // Whether the metadata service is available. Can be `"enabled"` or `"disabled"`. (Default: `"enabled"`). + HttpEndpoint pulumi.StringPtrInput `pulumi:"httpEndpoint"` + // Enables or disables the IPv6 endpoint for the instance metadata service. Can be `"enabled"` or `"disabled"`. + HttpProtocolIpv6 pulumi.StringPtrInput `pulumi:"httpProtocolIpv6"` + // The desired HTTP PUT response hop limit for instance metadata requests. The larger the number, the further instance metadata requests can travel. Can be an integer from `1` to `64`. (Default: `1`). + HttpPutResponseHopLimit pulumi.IntPtrInput `pulumi:"httpPutResponseHopLimit"` + // Whether or not the metadata service requires session tokens, also referred to as _Instance Metadata Service Version 2 (IMDSv2)_. Can be `"optional"` or `"required"`. (Default: `"optional"`). + HttpTokens pulumi.StringPtrInput `pulumi:"httpTokens"` + // Enables or disables access to instance tags from the instance metadata service. Can be `"enabled"` or `"disabled"`. + // + // For more information, see the documentation on the [Instance Metadata Service](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html). + InstanceMetadataTags pulumi.StringPtrInput `pulumi:"instanceMetadataTags"` } -func (LaunchTemplateTagSpecificationArgs) ElementType() reflect.Type { - return reflect.TypeOf((*LaunchTemplateTagSpecification)(nil)).Elem() +func (LaunchTemplateMetadataOptionsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LaunchTemplateMetadataOptions)(nil)).Elem() } -func (i LaunchTemplateTagSpecificationArgs) ToLaunchTemplateTagSpecificationOutput() LaunchTemplateTagSpecificationOutput { - return i.ToLaunchTemplateTagSpecificationOutputWithContext(context.Background()) +func (i LaunchTemplateMetadataOptionsArgs) ToLaunchTemplateMetadataOptionsOutput() LaunchTemplateMetadataOptionsOutput { + return i.ToLaunchTemplateMetadataOptionsOutputWithContext(context.Background()) } -func (i LaunchTemplateTagSpecificationArgs) ToLaunchTemplateTagSpecificationOutputWithContext(ctx context.Context) LaunchTemplateTagSpecificationOutput { - return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateTagSpecificationOutput) +func (i LaunchTemplateMetadataOptionsArgs) ToLaunchTemplateMetadataOptionsOutputWithContext(ctx context.Context) LaunchTemplateMetadataOptionsOutput { + return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateMetadataOptionsOutput) } -// LaunchTemplateTagSpecificationArrayInput is an input type that accepts LaunchTemplateTagSpecificationArray and LaunchTemplateTagSpecificationArrayOutput values. -// You can construct a concrete instance of `LaunchTemplateTagSpecificationArrayInput` via: +func (i LaunchTemplateMetadataOptionsArgs) ToLaunchTemplateMetadataOptionsPtrOutput() LaunchTemplateMetadataOptionsPtrOutput { + return i.ToLaunchTemplateMetadataOptionsPtrOutputWithContext(context.Background()) +} + +func (i LaunchTemplateMetadataOptionsArgs) ToLaunchTemplateMetadataOptionsPtrOutputWithContext(ctx context.Context) LaunchTemplateMetadataOptionsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateMetadataOptionsOutput).ToLaunchTemplateMetadataOptionsPtrOutputWithContext(ctx) +} + +// LaunchTemplateMetadataOptionsPtrInput is an input type that accepts LaunchTemplateMetadataOptionsArgs, LaunchTemplateMetadataOptionsPtr and LaunchTemplateMetadataOptionsPtrOutput values. +// You can construct a concrete instance of `LaunchTemplateMetadataOptionsPtrInput` via: // -// LaunchTemplateTagSpecificationArray{ LaunchTemplateTagSpecificationArgs{...} } -type LaunchTemplateTagSpecificationArrayInput interface { +// LaunchTemplateMetadataOptionsArgs{...} +// +// or: +// +// nil +type LaunchTemplateMetadataOptionsPtrInput interface { pulumi.Input - ToLaunchTemplateTagSpecificationArrayOutput() LaunchTemplateTagSpecificationArrayOutput - ToLaunchTemplateTagSpecificationArrayOutputWithContext(context.Context) LaunchTemplateTagSpecificationArrayOutput + ToLaunchTemplateMetadataOptionsPtrOutput() LaunchTemplateMetadataOptionsPtrOutput + ToLaunchTemplateMetadataOptionsPtrOutputWithContext(context.Context) LaunchTemplateMetadataOptionsPtrOutput } -type LaunchTemplateTagSpecificationArray []LaunchTemplateTagSpecificationInput +type launchTemplateMetadataOptionsPtrType LaunchTemplateMetadataOptionsArgs -func (LaunchTemplateTagSpecificationArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]LaunchTemplateTagSpecification)(nil)).Elem() +func LaunchTemplateMetadataOptionsPtr(v *LaunchTemplateMetadataOptionsArgs) LaunchTemplateMetadataOptionsPtrInput { + return (*launchTemplateMetadataOptionsPtrType)(v) } -func (i LaunchTemplateTagSpecificationArray) ToLaunchTemplateTagSpecificationArrayOutput() LaunchTemplateTagSpecificationArrayOutput { - return i.ToLaunchTemplateTagSpecificationArrayOutputWithContext(context.Background()) +func (*launchTemplateMetadataOptionsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**LaunchTemplateMetadataOptions)(nil)).Elem() } -func (i LaunchTemplateTagSpecificationArray) ToLaunchTemplateTagSpecificationArrayOutputWithContext(ctx context.Context) LaunchTemplateTagSpecificationArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateTagSpecificationArrayOutput) +func (i *launchTemplateMetadataOptionsPtrType) ToLaunchTemplateMetadataOptionsPtrOutput() LaunchTemplateMetadataOptionsPtrOutput { + return i.ToLaunchTemplateMetadataOptionsPtrOutputWithContext(context.Background()) } -type LaunchTemplateTagSpecificationOutput struct{ *pulumi.OutputState } +func (i *launchTemplateMetadataOptionsPtrType) ToLaunchTemplateMetadataOptionsPtrOutputWithContext(ctx context.Context) LaunchTemplateMetadataOptionsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateMetadataOptionsPtrOutput) +} -func (LaunchTemplateTagSpecificationOutput) ElementType() reflect.Type { - return reflect.TypeOf((*LaunchTemplateTagSpecification)(nil)).Elem() +type LaunchTemplateMetadataOptionsOutput struct{ *pulumi.OutputState } + +func (LaunchTemplateMetadataOptionsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LaunchTemplateMetadataOptions)(nil)).Elem() } -func (o LaunchTemplateTagSpecificationOutput) ToLaunchTemplateTagSpecificationOutput() LaunchTemplateTagSpecificationOutput { +func (o LaunchTemplateMetadataOptionsOutput) ToLaunchTemplateMetadataOptionsOutput() LaunchTemplateMetadataOptionsOutput { return o } -func (o LaunchTemplateTagSpecificationOutput) ToLaunchTemplateTagSpecificationOutputWithContext(ctx context.Context) LaunchTemplateTagSpecificationOutput { +func (o LaunchTemplateMetadataOptionsOutput) ToLaunchTemplateMetadataOptionsOutputWithContext(ctx context.Context) LaunchTemplateMetadataOptionsOutput { return o } -// The type of resource to tag. -func (o LaunchTemplateTagSpecificationOutput) ResourceType() pulumi.StringPtrOutput { - return o.ApplyT(func(v LaunchTemplateTagSpecification) *string { return v.ResourceType }).(pulumi.StringPtrOutput) +func (o LaunchTemplateMetadataOptionsOutput) ToLaunchTemplateMetadataOptionsPtrOutput() LaunchTemplateMetadataOptionsPtrOutput { + return o.ToLaunchTemplateMetadataOptionsPtrOutputWithContext(context.Background()) } -// A map of tags to assign to the resource. -func (o LaunchTemplateTagSpecificationOutput) Tags() pulumi.StringMapOutput { - return o.ApplyT(func(v LaunchTemplateTagSpecification) map[string]string { return v.Tags }).(pulumi.StringMapOutput) +func (o LaunchTemplateMetadataOptionsOutput) ToLaunchTemplateMetadataOptionsPtrOutputWithContext(ctx context.Context) LaunchTemplateMetadataOptionsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v LaunchTemplateMetadataOptions) *LaunchTemplateMetadataOptions { + return &v + }).(LaunchTemplateMetadataOptionsPtrOutput) } -type LaunchTemplateTagSpecificationArrayOutput struct{ *pulumi.OutputState } +// Whether the metadata service is available. Can be `"enabled"` or `"disabled"`. (Default: `"enabled"`). +func (o LaunchTemplateMetadataOptionsOutput) HttpEndpoint() pulumi.StringPtrOutput { + return o.ApplyT(func(v LaunchTemplateMetadataOptions) *string { return v.HttpEndpoint }).(pulumi.StringPtrOutput) +} -func (LaunchTemplateTagSpecificationArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]LaunchTemplateTagSpecification)(nil)).Elem() +// Enables or disables the IPv6 endpoint for the instance metadata service. Can be `"enabled"` or `"disabled"`. +func (o LaunchTemplateMetadataOptionsOutput) HttpProtocolIpv6() pulumi.StringPtrOutput { + return o.ApplyT(func(v LaunchTemplateMetadataOptions) *string { return v.HttpProtocolIpv6 }).(pulumi.StringPtrOutput) } -func (o LaunchTemplateTagSpecificationArrayOutput) ToLaunchTemplateTagSpecificationArrayOutput() LaunchTemplateTagSpecificationArrayOutput { - return o +// The desired HTTP PUT response hop limit for instance metadata requests. The larger the number, the further instance metadata requests can travel. Can be an integer from `1` to `64`. (Default: `1`). +func (o LaunchTemplateMetadataOptionsOutput) HttpPutResponseHopLimit() pulumi.IntPtrOutput { + return o.ApplyT(func(v LaunchTemplateMetadataOptions) *int { return v.HttpPutResponseHopLimit }).(pulumi.IntPtrOutput) } -func (o LaunchTemplateTagSpecificationArrayOutput) ToLaunchTemplateTagSpecificationArrayOutputWithContext(ctx context.Context) LaunchTemplateTagSpecificationArrayOutput { +// Whether or not the metadata service requires session tokens, also referred to as _Instance Metadata Service Version 2 (IMDSv2)_. Can be `"optional"` or `"required"`. (Default: `"optional"`). +func (o LaunchTemplateMetadataOptionsOutput) HttpTokens() pulumi.StringPtrOutput { + return o.ApplyT(func(v LaunchTemplateMetadataOptions) *string { return v.HttpTokens }).(pulumi.StringPtrOutput) +} + +// Enables or disables access to instance tags from the instance metadata service. Can be `"enabled"` or `"disabled"`. +// +// For more information, see the documentation on the [Instance Metadata Service](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html). +func (o LaunchTemplateMetadataOptionsOutput) InstanceMetadataTags() pulumi.StringPtrOutput { + return o.ApplyT(func(v LaunchTemplateMetadataOptions) *string { return v.InstanceMetadataTags }).(pulumi.StringPtrOutput) +} + +type LaunchTemplateMetadataOptionsPtrOutput struct{ *pulumi.OutputState } + +func (LaunchTemplateMetadataOptionsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**LaunchTemplateMetadataOptions)(nil)).Elem() +} + +func (o LaunchTemplateMetadataOptionsPtrOutput) ToLaunchTemplateMetadataOptionsPtrOutput() LaunchTemplateMetadataOptionsPtrOutput { return o } -func (o LaunchTemplateTagSpecificationArrayOutput) Index(i pulumi.IntInput) LaunchTemplateTagSpecificationOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) LaunchTemplateTagSpecification { - return vs[0].([]LaunchTemplateTagSpecification)[vs[1].(int)] - }).(LaunchTemplateTagSpecificationOutput) +func (o LaunchTemplateMetadataOptionsPtrOutput) ToLaunchTemplateMetadataOptionsPtrOutputWithContext(ctx context.Context) LaunchTemplateMetadataOptionsPtrOutput { + return o } -type ManagedPrefixListEntryType struct { - // CIDR block of this entry. - Cidr string `pulumi:"cidr"` - // Description of this entry. Due to API limitations, updating only the description of an existing entry requires temporarily removing and re-adding the entry. - Description *string `pulumi:"description"` +func (o LaunchTemplateMetadataOptionsPtrOutput) Elem() LaunchTemplateMetadataOptionsOutput { + return o.ApplyT(func(v *LaunchTemplateMetadataOptions) LaunchTemplateMetadataOptions { + if v != nil { + return *v + } + var ret LaunchTemplateMetadataOptions + return ret + }).(LaunchTemplateMetadataOptionsOutput) } -// ManagedPrefixListEntryTypeInput is an input type that accepts ManagedPrefixListEntryTypeArgs and ManagedPrefixListEntryTypeOutput values. -// You can construct a concrete instance of `ManagedPrefixListEntryTypeInput` via: -// -// ManagedPrefixListEntryTypeArgs{...} -type ManagedPrefixListEntryTypeInput interface { - pulumi.Input +// Whether the metadata service is available. Can be `"enabled"` or `"disabled"`. (Default: `"enabled"`). +func (o LaunchTemplateMetadataOptionsPtrOutput) HttpEndpoint() pulumi.StringPtrOutput { + return o.ApplyT(func(v *LaunchTemplateMetadataOptions) *string { + if v == nil { + return nil + } + return v.HttpEndpoint + }).(pulumi.StringPtrOutput) +} - ToManagedPrefixListEntryTypeOutput() ManagedPrefixListEntryTypeOutput - ToManagedPrefixListEntryTypeOutputWithContext(context.Context) ManagedPrefixListEntryTypeOutput +// Enables or disables the IPv6 endpoint for the instance metadata service. Can be `"enabled"` or `"disabled"`. +func (o LaunchTemplateMetadataOptionsPtrOutput) HttpProtocolIpv6() pulumi.StringPtrOutput { + return o.ApplyT(func(v *LaunchTemplateMetadataOptions) *string { + if v == nil { + return nil + } + return v.HttpProtocolIpv6 + }).(pulumi.StringPtrOutput) } -type ManagedPrefixListEntryTypeArgs struct { - // CIDR block of this entry. - Cidr pulumi.StringInput `pulumi:"cidr"` - // Description of this entry. Due to API limitations, updating only the description of an existing entry requires temporarily removing and re-adding the entry. - Description pulumi.StringPtrInput `pulumi:"description"` +// The desired HTTP PUT response hop limit for instance metadata requests. The larger the number, the further instance metadata requests can travel. Can be an integer from `1` to `64`. (Default: `1`). +func (o LaunchTemplateMetadataOptionsPtrOutput) HttpPutResponseHopLimit() pulumi.IntPtrOutput { + return o.ApplyT(func(v *LaunchTemplateMetadataOptions) *int { + if v == nil { + return nil + } + return v.HttpPutResponseHopLimit + }).(pulumi.IntPtrOutput) } -func (ManagedPrefixListEntryTypeArgs) ElementType() reflect.Type { - return reflect.TypeOf((*ManagedPrefixListEntryType)(nil)).Elem() +// Whether or not the metadata service requires session tokens, also referred to as _Instance Metadata Service Version 2 (IMDSv2)_. Can be `"optional"` or `"required"`. (Default: `"optional"`). +func (o LaunchTemplateMetadataOptionsPtrOutput) HttpTokens() pulumi.StringPtrOutput { + return o.ApplyT(func(v *LaunchTemplateMetadataOptions) *string { + if v == nil { + return nil + } + return v.HttpTokens + }).(pulumi.StringPtrOutput) } -func (i ManagedPrefixListEntryTypeArgs) ToManagedPrefixListEntryTypeOutput() ManagedPrefixListEntryTypeOutput { - return i.ToManagedPrefixListEntryTypeOutputWithContext(context.Background()) +// Enables or disables access to instance tags from the instance metadata service. Can be `"enabled"` or `"disabled"`. +// +// For more information, see the documentation on the [Instance Metadata Service](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html). +func (o LaunchTemplateMetadataOptionsPtrOutput) InstanceMetadataTags() pulumi.StringPtrOutput { + return o.ApplyT(func(v *LaunchTemplateMetadataOptions) *string { + if v == nil { + return nil + } + return v.InstanceMetadataTags + }).(pulumi.StringPtrOutput) } -func (i ManagedPrefixListEntryTypeArgs) ToManagedPrefixListEntryTypeOutputWithContext(ctx context.Context) ManagedPrefixListEntryTypeOutput { - return pulumi.ToOutputWithContext(ctx, i).(ManagedPrefixListEntryTypeOutput) +type LaunchTemplateMonitoring struct { + // If `true`, the launched EC2 instance will have detailed monitoring enabled. + Enabled *bool `pulumi:"enabled"` } -// ManagedPrefixListEntryTypeArrayInput is an input type that accepts ManagedPrefixListEntryTypeArray and ManagedPrefixListEntryTypeArrayOutput values. -// You can construct a concrete instance of `ManagedPrefixListEntryTypeArrayInput` via: +// LaunchTemplateMonitoringInput is an input type that accepts LaunchTemplateMonitoringArgs and LaunchTemplateMonitoringOutput values. +// You can construct a concrete instance of `LaunchTemplateMonitoringInput` via: // -// ManagedPrefixListEntryTypeArray{ ManagedPrefixListEntryTypeArgs{...} } -type ManagedPrefixListEntryTypeArrayInput interface { +// LaunchTemplateMonitoringArgs{...} +type LaunchTemplateMonitoringInput interface { pulumi.Input - ToManagedPrefixListEntryTypeArrayOutput() ManagedPrefixListEntryTypeArrayOutput - ToManagedPrefixListEntryTypeArrayOutputWithContext(context.Context) ManagedPrefixListEntryTypeArrayOutput + ToLaunchTemplateMonitoringOutput() LaunchTemplateMonitoringOutput + ToLaunchTemplateMonitoringOutputWithContext(context.Context) LaunchTemplateMonitoringOutput } -type ManagedPrefixListEntryTypeArray []ManagedPrefixListEntryTypeInput +type LaunchTemplateMonitoringArgs struct { + // If `true`, the launched EC2 instance will have detailed monitoring enabled. + Enabled pulumi.BoolPtrInput `pulumi:"enabled"` +} -func (ManagedPrefixListEntryTypeArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]ManagedPrefixListEntryType)(nil)).Elem() +func (LaunchTemplateMonitoringArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LaunchTemplateMonitoring)(nil)).Elem() } -func (i ManagedPrefixListEntryTypeArray) ToManagedPrefixListEntryTypeArrayOutput() ManagedPrefixListEntryTypeArrayOutput { - return i.ToManagedPrefixListEntryTypeArrayOutputWithContext(context.Background()) +func (i LaunchTemplateMonitoringArgs) ToLaunchTemplateMonitoringOutput() LaunchTemplateMonitoringOutput { + return i.ToLaunchTemplateMonitoringOutputWithContext(context.Background()) } -func (i ManagedPrefixListEntryTypeArray) ToManagedPrefixListEntryTypeArrayOutputWithContext(ctx context.Context) ManagedPrefixListEntryTypeArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(ManagedPrefixListEntryTypeArrayOutput) +func (i LaunchTemplateMonitoringArgs) ToLaunchTemplateMonitoringOutputWithContext(ctx context.Context) LaunchTemplateMonitoringOutput { + return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateMonitoringOutput) } -type ManagedPrefixListEntryTypeOutput struct{ *pulumi.OutputState } +func (i LaunchTemplateMonitoringArgs) ToLaunchTemplateMonitoringPtrOutput() LaunchTemplateMonitoringPtrOutput { + return i.ToLaunchTemplateMonitoringPtrOutputWithContext(context.Background()) +} -func (ManagedPrefixListEntryTypeOutput) ElementType() reflect.Type { - return reflect.TypeOf((*ManagedPrefixListEntryType)(nil)).Elem() +func (i LaunchTemplateMonitoringArgs) ToLaunchTemplateMonitoringPtrOutputWithContext(ctx context.Context) LaunchTemplateMonitoringPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateMonitoringOutput).ToLaunchTemplateMonitoringPtrOutputWithContext(ctx) } -func (o ManagedPrefixListEntryTypeOutput) ToManagedPrefixListEntryTypeOutput() ManagedPrefixListEntryTypeOutput { - return o +// LaunchTemplateMonitoringPtrInput is an input type that accepts LaunchTemplateMonitoringArgs, LaunchTemplateMonitoringPtr and LaunchTemplateMonitoringPtrOutput values. +// You can construct a concrete instance of `LaunchTemplateMonitoringPtrInput` via: +// +// LaunchTemplateMonitoringArgs{...} +// +// or: +// +// nil +type LaunchTemplateMonitoringPtrInput interface { + pulumi.Input + + ToLaunchTemplateMonitoringPtrOutput() LaunchTemplateMonitoringPtrOutput + ToLaunchTemplateMonitoringPtrOutputWithContext(context.Context) LaunchTemplateMonitoringPtrOutput } -func (o ManagedPrefixListEntryTypeOutput) ToManagedPrefixListEntryTypeOutputWithContext(ctx context.Context) ManagedPrefixListEntryTypeOutput { - return o +type launchTemplateMonitoringPtrType LaunchTemplateMonitoringArgs + +func LaunchTemplateMonitoringPtr(v *LaunchTemplateMonitoringArgs) LaunchTemplateMonitoringPtrInput { + return (*launchTemplateMonitoringPtrType)(v) } -// CIDR block of this entry. -func (o ManagedPrefixListEntryTypeOutput) Cidr() pulumi.StringOutput { - return o.ApplyT(func(v ManagedPrefixListEntryType) string { return v.Cidr }).(pulumi.StringOutput) +func (*launchTemplateMonitoringPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**LaunchTemplateMonitoring)(nil)).Elem() } -// Description of this entry. Due to API limitations, updating only the description of an existing entry requires temporarily removing and re-adding the entry. -func (o ManagedPrefixListEntryTypeOutput) Description() pulumi.StringPtrOutput { - return o.ApplyT(func(v ManagedPrefixListEntryType) *string { return v.Description }).(pulumi.StringPtrOutput) +func (i *launchTemplateMonitoringPtrType) ToLaunchTemplateMonitoringPtrOutput() LaunchTemplateMonitoringPtrOutput { + return i.ToLaunchTemplateMonitoringPtrOutputWithContext(context.Background()) } -type ManagedPrefixListEntryTypeArrayOutput struct{ *pulumi.OutputState } +func (i *launchTemplateMonitoringPtrType) ToLaunchTemplateMonitoringPtrOutputWithContext(ctx context.Context) LaunchTemplateMonitoringPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateMonitoringPtrOutput) +} -func (ManagedPrefixListEntryTypeArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]ManagedPrefixListEntryType)(nil)).Elem() +type LaunchTemplateMonitoringOutput struct{ *pulumi.OutputState } + +func (LaunchTemplateMonitoringOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LaunchTemplateMonitoring)(nil)).Elem() } -func (o ManagedPrefixListEntryTypeArrayOutput) ToManagedPrefixListEntryTypeArrayOutput() ManagedPrefixListEntryTypeArrayOutput { +func (o LaunchTemplateMonitoringOutput) ToLaunchTemplateMonitoringOutput() LaunchTemplateMonitoringOutput { return o } -func (o ManagedPrefixListEntryTypeArrayOutput) ToManagedPrefixListEntryTypeArrayOutputWithContext(ctx context.Context) ManagedPrefixListEntryTypeArrayOutput { +func (o LaunchTemplateMonitoringOutput) ToLaunchTemplateMonitoringOutputWithContext(ctx context.Context) LaunchTemplateMonitoringOutput { return o } -func (o ManagedPrefixListEntryTypeArrayOutput) Index(i pulumi.IntInput) ManagedPrefixListEntryTypeOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) ManagedPrefixListEntryType { - return vs[0].([]ManagedPrefixListEntryType)[vs[1].(int)] - }).(ManagedPrefixListEntryTypeOutput) +func (o LaunchTemplateMonitoringOutput) ToLaunchTemplateMonitoringPtrOutput() LaunchTemplateMonitoringPtrOutput { + return o.ToLaunchTemplateMonitoringPtrOutputWithContext(context.Background()) } -type NatGatewayEipAssociationTimeouts struct { - // A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). - Create *string `pulumi:"create"` - // A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs. - Delete *string `pulumi:"delete"` +func (o LaunchTemplateMonitoringOutput) ToLaunchTemplateMonitoringPtrOutputWithContext(ctx context.Context) LaunchTemplateMonitoringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v LaunchTemplateMonitoring) *LaunchTemplateMonitoring { + return &v + }).(LaunchTemplateMonitoringPtrOutput) } -// NatGatewayEipAssociationTimeoutsInput is an input type that accepts NatGatewayEipAssociationTimeoutsArgs and NatGatewayEipAssociationTimeoutsOutput values. -// You can construct a concrete instance of `NatGatewayEipAssociationTimeoutsInput` via: -// -// NatGatewayEipAssociationTimeoutsArgs{...} -type NatGatewayEipAssociationTimeoutsInput interface { - pulumi.Input - - ToNatGatewayEipAssociationTimeoutsOutput() NatGatewayEipAssociationTimeoutsOutput - ToNatGatewayEipAssociationTimeoutsOutputWithContext(context.Context) NatGatewayEipAssociationTimeoutsOutput +// If `true`, the launched EC2 instance will have detailed monitoring enabled. +func (o LaunchTemplateMonitoringOutput) Enabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v LaunchTemplateMonitoring) *bool { return v.Enabled }).(pulumi.BoolPtrOutput) } -type NatGatewayEipAssociationTimeoutsArgs struct { - // A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). - Create pulumi.StringPtrInput `pulumi:"create"` - // A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs. - Delete pulumi.StringPtrInput `pulumi:"delete"` +type LaunchTemplateMonitoringPtrOutput struct{ *pulumi.OutputState } + +func (LaunchTemplateMonitoringPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**LaunchTemplateMonitoring)(nil)).Elem() } -func (NatGatewayEipAssociationTimeoutsArgs) ElementType() reflect.Type { - return reflect.TypeOf((*NatGatewayEipAssociationTimeouts)(nil)).Elem() +func (o LaunchTemplateMonitoringPtrOutput) ToLaunchTemplateMonitoringPtrOutput() LaunchTemplateMonitoringPtrOutput { + return o } -func (i NatGatewayEipAssociationTimeoutsArgs) ToNatGatewayEipAssociationTimeoutsOutput() NatGatewayEipAssociationTimeoutsOutput { - return i.ToNatGatewayEipAssociationTimeoutsOutputWithContext(context.Background()) +func (o LaunchTemplateMonitoringPtrOutput) ToLaunchTemplateMonitoringPtrOutputWithContext(ctx context.Context) LaunchTemplateMonitoringPtrOutput { + return o } -func (i NatGatewayEipAssociationTimeoutsArgs) ToNatGatewayEipAssociationTimeoutsOutputWithContext(ctx context.Context) NatGatewayEipAssociationTimeoutsOutput { - return pulumi.ToOutputWithContext(ctx, i).(NatGatewayEipAssociationTimeoutsOutput) +func (o LaunchTemplateMonitoringPtrOutput) Elem() LaunchTemplateMonitoringOutput { + return o.ApplyT(func(v *LaunchTemplateMonitoring) LaunchTemplateMonitoring { + if v != nil { + return *v + } + var ret LaunchTemplateMonitoring + return ret + }).(LaunchTemplateMonitoringOutput) } -func (i NatGatewayEipAssociationTimeoutsArgs) ToNatGatewayEipAssociationTimeoutsPtrOutput() NatGatewayEipAssociationTimeoutsPtrOutput { - return i.ToNatGatewayEipAssociationTimeoutsPtrOutputWithContext(context.Background()) +// If `true`, the launched EC2 instance will have detailed monitoring enabled. +func (o LaunchTemplateMonitoringPtrOutput) Enabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *LaunchTemplateMonitoring) *bool { + if v == nil { + return nil + } + return v.Enabled + }).(pulumi.BoolPtrOutput) } -func (i NatGatewayEipAssociationTimeoutsArgs) ToNatGatewayEipAssociationTimeoutsPtrOutputWithContext(ctx context.Context) NatGatewayEipAssociationTimeoutsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(NatGatewayEipAssociationTimeoutsOutput).ToNatGatewayEipAssociationTimeoutsPtrOutputWithContext(ctx) +type LaunchTemplateNetworkInterface struct { + // Associate a Carrier IP address with `eth0` for a new network interface. Use this option when you launch an instance in a Wavelength Zone and want to associate a Carrier IP address with the network interface. Boolean value, can be left unset. + AssociateCarrierIpAddress *string `pulumi:"associateCarrierIpAddress"` + // Associate a public ip address with the network interface. Boolean value, can be left unset. + AssociatePublicIpAddress *string `pulumi:"associatePublicIpAddress"` + // The Connection Tracking Configuration for the network interface. See [Amazon EC2 security group connection tracking](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/security-group-connection-tracking.html#connection-tracking-timeouts) + ConnectionTrackingSpecification *LaunchTemplateNetworkInterfaceConnectionTrackingSpecification `pulumi:"connectionTrackingSpecification"` + // Whether the network interface should be destroyed on instance termination. + DeleteOnTermination *string `pulumi:"deleteOnTermination"` + // Description of the network interface. + Description *string `pulumi:"description"` + // The integer index of the network interface attachment. + DeviceIndex *int `pulumi:"deviceIndex"` + // Configuration for Elastic Network Adapter (ENA) Express settings. Applies to network interfaces that use the [ena Express](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/enhanced-networking-ena-express.html) feature. See details below. + EnaSrdSpecification *LaunchTemplateNetworkInterfaceEnaSrdSpecification `pulumi:"enaSrdSpecification"` + // The type of network interface. To create an Elastic Fabric Adapter (EFA), specify `efa`. + InterfaceType *string `pulumi:"interfaceType"` + // The number of secondary private IPv4 addresses to assign to a network interface. Conflicts with `ipv4Addresses` + Ipv4AddressCount *int `pulumi:"ipv4AddressCount"` + // One or more private IPv4 addresses to associate. Conflicts with `ipv4AddressCount` + Ipv4Addresses []string `pulumi:"ipv4Addresses"` + // The number of IPv4 prefixes to be automatically assigned to the network interface. Conflicts with `ipv4Prefixes` + Ipv4PrefixCount *int `pulumi:"ipv4PrefixCount"` + // One or more IPv4 prefixes to be assigned to the network interface. Conflicts with `ipv4PrefixCount` + Ipv4Prefixes []string `pulumi:"ipv4Prefixes"` + // The number of IPv6 addresses to assign to a network interface. Conflicts with `ipv6Addresses` + Ipv6AddressCount *int `pulumi:"ipv6AddressCount"` + // One or more specific IPv6 addresses from the IPv6 CIDR block range of your subnet. Conflicts with `ipv6AddressCount` + Ipv6Addresses []string `pulumi:"ipv6Addresses"` + // The number of IPv6 prefixes to be automatically assigned to the network interface. Conflicts with `ipv6Prefixes` + Ipv6PrefixCount *int `pulumi:"ipv6PrefixCount"` + // One or more IPv6 prefixes to be assigned to the network interface. Conflicts with `ipv6PrefixCount` + Ipv6Prefixes []string `pulumi:"ipv6Prefixes"` + // The index of the network card. Some instance types support multiple network cards. The primary network interface must be assigned to network card index 0. The default is network card index 0. + NetworkCardIndex *int `pulumi:"networkCardIndex"` + // The ID of the network interface to attach. + NetworkInterfaceId *string `pulumi:"networkInterfaceId"` + // Whether the first IPv6 GUA will be made the primary IPv6 address. + PrimaryIpv6 *string `pulumi:"primaryIpv6"` + // The primary private IPv4 address. + PrivateIpAddress *string `pulumi:"privateIpAddress"` + // A list of security group IDs to associate. + SecurityGroups []string `pulumi:"securityGroups"` + // The VPC Subnet ID to associate. + SubnetId *string `pulumi:"subnetId"` } -// NatGatewayEipAssociationTimeoutsPtrInput is an input type that accepts NatGatewayEipAssociationTimeoutsArgs, NatGatewayEipAssociationTimeoutsPtr and NatGatewayEipAssociationTimeoutsPtrOutput values. -// You can construct a concrete instance of `NatGatewayEipAssociationTimeoutsPtrInput` via: -// -// NatGatewayEipAssociationTimeoutsArgs{...} -// -// or: +// LaunchTemplateNetworkInterfaceInput is an input type that accepts LaunchTemplateNetworkInterfaceArgs and LaunchTemplateNetworkInterfaceOutput values. +// You can construct a concrete instance of `LaunchTemplateNetworkInterfaceInput` via: // -// nil -type NatGatewayEipAssociationTimeoutsPtrInput interface { +// LaunchTemplateNetworkInterfaceArgs{...} +type LaunchTemplateNetworkInterfaceInput interface { pulumi.Input - ToNatGatewayEipAssociationTimeoutsPtrOutput() NatGatewayEipAssociationTimeoutsPtrOutput - ToNatGatewayEipAssociationTimeoutsPtrOutputWithContext(context.Context) NatGatewayEipAssociationTimeoutsPtrOutput + ToLaunchTemplateNetworkInterfaceOutput() LaunchTemplateNetworkInterfaceOutput + ToLaunchTemplateNetworkInterfaceOutputWithContext(context.Context) LaunchTemplateNetworkInterfaceOutput } -type natGatewayEipAssociationTimeoutsPtrType NatGatewayEipAssociationTimeoutsArgs +type LaunchTemplateNetworkInterfaceArgs struct { + // Associate a Carrier IP address with `eth0` for a new network interface. Use this option when you launch an instance in a Wavelength Zone and want to associate a Carrier IP address with the network interface. Boolean value, can be left unset. + AssociateCarrierIpAddress pulumi.StringPtrInput `pulumi:"associateCarrierIpAddress"` + // Associate a public ip address with the network interface. Boolean value, can be left unset. + AssociatePublicIpAddress pulumi.StringPtrInput `pulumi:"associatePublicIpAddress"` + // The Connection Tracking Configuration for the network interface. See [Amazon EC2 security group connection tracking](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/security-group-connection-tracking.html#connection-tracking-timeouts) + ConnectionTrackingSpecification LaunchTemplateNetworkInterfaceConnectionTrackingSpecificationPtrInput `pulumi:"connectionTrackingSpecification"` + // Whether the network interface should be destroyed on instance termination. + DeleteOnTermination pulumi.StringPtrInput `pulumi:"deleteOnTermination"` + // Description of the network interface. + Description pulumi.StringPtrInput `pulumi:"description"` + // The integer index of the network interface attachment. + DeviceIndex pulumi.IntPtrInput `pulumi:"deviceIndex"` + // Configuration for Elastic Network Adapter (ENA) Express settings. Applies to network interfaces that use the [ena Express](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/enhanced-networking-ena-express.html) feature. See details below. + EnaSrdSpecification LaunchTemplateNetworkInterfaceEnaSrdSpecificationPtrInput `pulumi:"enaSrdSpecification"` + // The type of network interface. To create an Elastic Fabric Adapter (EFA), specify `efa`. + InterfaceType pulumi.StringPtrInput `pulumi:"interfaceType"` + // The number of secondary private IPv4 addresses to assign to a network interface. Conflicts with `ipv4Addresses` + Ipv4AddressCount pulumi.IntPtrInput `pulumi:"ipv4AddressCount"` + // One or more private IPv4 addresses to associate. Conflicts with `ipv4AddressCount` + Ipv4Addresses pulumi.StringArrayInput `pulumi:"ipv4Addresses"` + // The number of IPv4 prefixes to be automatically assigned to the network interface. Conflicts with `ipv4Prefixes` + Ipv4PrefixCount pulumi.IntPtrInput `pulumi:"ipv4PrefixCount"` + // One or more IPv4 prefixes to be assigned to the network interface. Conflicts with `ipv4PrefixCount` + Ipv4Prefixes pulumi.StringArrayInput `pulumi:"ipv4Prefixes"` + // The number of IPv6 addresses to assign to a network interface. Conflicts with `ipv6Addresses` + Ipv6AddressCount pulumi.IntPtrInput `pulumi:"ipv6AddressCount"` + // One or more specific IPv6 addresses from the IPv6 CIDR block range of your subnet. Conflicts with `ipv6AddressCount` + Ipv6Addresses pulumi.StringArrayInput `pulumi:"ipv6Addresses"` + // The number of IPv6 prefixes to be automatically assigned to the network interface. Conflicts with `ipv6Prefixes` + Ipv6PrefixCount pulumi.IntPtrInput `pulumi:"ipv6PrefixCount"` + // One or more IPv6 prefixes to be assigned to the network interface. Conflicts with `ipv6PrefixCount` + Ipv6Prefixes pulumi.StringArrayInput `pulumi:"ipv6Prefixes"` + // The index of the network card. Some instance types support multiple network cards. The primary network interface must be assigned to network card index 0. The default is network card index 0. + NetworkCardIndex pulumi.IntPtrInput `pulumi:"networkCardIndex"` + // The ID of the network interface to attach. + NetworkInterfaceId pulumi.StringPtrInput `pulumi:"networkInterfaceId"` + // Whether the first IPv6 GUA will be made the primary IPv6 address. + PrimaryIpv6 pulumi.StringPtrInput `pulumi:"primaryIpv6"` + // The primary private IPv4 address. + PrivateIpAddress pulumi.StringPtrInput `pulumi:"privateIpAddress"` + // A list of security group IDs to associate. + SecurityGroups pulumi.StringArrayInput `pulumi:"securityGroups"` + // The VPC Subnet ID to associate. + SubnetId pulumi.StringPtrInput `pulumi:"subnetId"` +} -func NatGatewayEipAssociationTimeoutsPtr(v *NatGatewayEipAssociationTimeoutsArgs) NatGatewayEipAssociationTimeoutsPtrInput { - return (*natGatewayEipAssociationTimeoutsPtrType)(v) +func (LaunchTemplateNetworkInterfaceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LaunchTemplateNetworkInterface)(nil)).Elem() } -func (*natGatewayEipAssociationTimeoutsPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**NatGatewayEipAssociationTimeouts)(nil)).Elem() +func (i LaunchTemplateNetworkInterfaceArgs) ToLaunchTemplateNetworkInterfaceOutput() LaunchTemplateNetworkInterfaceOutput { + return i.ToLaunchTemplateNetworkInterfaceOutputWithContext(context.Background()) } -func (i *natGatewayEipAssociationTimeoutsPtrType) ToNatGatewayEipAssociationTimeoutsPtrOutput() NatGatewayEipAssociationTimeoutsPtrOutput { - return i.ToNatGatewayEipAssociationTimeoutsPtrOutputWithContext(context.Background()) +func (i LaunchTemplateNetworkInterfaceArgs) ToLaunchTemplateNetworkInterfaceOutputWithContext(ctx context.Context) LaunchTemplateNetworkInterfaceOutput { + return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateNetworkInterfaceOutput) } -func (i *natGatewayEipAssociationTimeoutsPtrType) ToNatGatewayEipAssociationTimeoutsPtrOutputWithContext(ctx context.Context) NatGatewayEipAssociationTimeoutsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(NatGatewayEipAssociationTimeoutsPtrOutput) +// LaunchTemplateNetworkInterfaceArrayInput is an input type that accepts LaunchTemplateNetworkInterfaceArray and LaunchTemplateNetworkInterfaceArrayOutput values. +// You can construct a concrete instance of `LaunchTemplateNetworkInterfaceArrayInput` via: +// +// LaunchTemplateNetworkInterfaceArray{ LaunchTemplateNetworkInterfaceArgs{...} } +type LaunchTemplateNetworkInterfaceArrayInput interface { + pulumi.Input + + ToLaunchTemplateNetworkInterfaceArrayOutput() LaunchTemplateNetworkInterfaceArrayOutput + ToLaunchTemplateNetworkInterfaceArrayOutputWithContext(context.Context) LaunchTemplateNetworkInterfaceArrayOutput } -type NatGatewayEipAssociationTimeoutsOutput struct{ *pulumi.OutputState } +type LaunchTemplateNetworkInterfaceArray []LaunchTemplateNetworkInterfaceInput -func (NatGatewayEipAssociationTimeoutsOutput) ElementType() reflect.Type { - return reflect.TypeOf((*NatGatewayEipAssociationTimeouts)(nil)).Elem() +func (LaunchTemplateNetworkInterfaceArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]LaunchTemplateNetworkInterface)(nil)).Elem() } -func (o NatGatewayEipAssociationTimeoutsOutput) ToNatGatewayEipAssociationTimeoutsOutput() NatGatewayEipAssociationTimeoutsOutput { - return o +func (i LaunchTemplateNetworkInterfaceArray) ToLaunchTemplateNetworkInterfaceArrayOutput() LaunchTemplateNetworkInterfaceArrayOutput { + return i.ToLaunchTemplateNetworkInterfaceArrayOutputWithContext(context.Background()) } -func (o NatGatewayEipAssociationTimeoutsOutput) ToNatGatewayEipAssociationTimeoutsOutputWithContext(ctx context.Context) NatGatewayEipAssociationTimeoutsOutput { - return o +func (i LaunchTemplateNetworkInterfaceArray) ToLaunchTemplateNetworkInterfaceArrayOutputWithContext(ctx context.Context) LaunchTemplateNetworkInterfaceArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateNetworkInterfaceArrayOutput) } -func (o NatGatewayEipAssociationTimeoutsOutput) ToNatGatewayEipAssociationTimeoutsPtrOutput() NatGatewayEipAssociationTimeoutsPtrOutput { - return o.ToNatGatewayEipAssociationTimeoutsPtrOutputWithContext(context.Background()) +type LaunchTemplateNetworkInterfaceOutput struct{ *pulumi.OutputState } + +func (LaunchTemplateNetworkInterfaceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LaunchTemplateNetworkInterface)(nil)).Elem() } -func (o NatGatewayEipAssociationTimeoutsOutput) ToNatGatewayEipAssociationTimeoutsPtrOutputWithContext(ctx context.Context) NatGatewayEipAssociationTimeoutsPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v NatGatewayEipAssociationTimeouts) *NatGatewayEipAssociationTimeouts { - return &v - }).(NatGatewayEipAssociationTimeoutsPtrOutput) +func (o LaunchTemplateNetworkInterfaceOutput) ToLaunchTemplateNetworkInterfaceOutput() LaunchTemplateNetworkInterfaceOutput { + return o } -// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). -func (o NatGatewayEipAssociationTimeoutsOutput) Create() pulumi.StringPtrOutput { - return o.ApplyT(func(v NatGatewayEipAssociationTimeouts) *string { return v.Create }).(pulumi.StringPtrOutput) +func (o LaunchTemplateNetworkInterfaceOutput) ToLaunchTemplateNetworkInterfaceOutputWithContext(ctx context.Context) LaunchTemplateNetworkInterfaceOutput { + return o } -// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs. -func (o NatGatewayEipAssociationTimeoutsOutput) Delete() pulumi.StringPtrOutput { - return o.ApplyT(func(v NatGatewayEipAssociationTimeouts) *string { return v.Delete }).(pulumi.StringPtrOutput) +// Associate a Carrier IP address with `eth0` for a new network interface. Use this option when you launch an instance in a Wavelength Zone and want to associate a Carrier IP address with the network interface. Boolean value, can be left unset. +func (o LaunchTemplateNetworkInterfaceOutput) AssociateCarrierIpAddress() pulumi.StringPtrOutput { + return o.ApplyT(func(v LaunchTemplateNetworkInterface) *string { return v.AssociateCarrierIpAddress }).(pulumi.StringPtrOutput) } -type NatGatewayEipAssociationTimeoutsPtrOutput struct{ *pulumi.OutputState } +// Associate a public ip address with the network interface. Boolean value, can be left unset. +func (o LaunchTemplateNetworkInterfaceOutput) AssociatePublicIpAddress() pulumi.StringPtrOutput { + return o.ApplyT(func(v LaunchTemplateNetworkInterface) *string { return v.AssociatePublicIpAddress }).(pulumi.StringPtrOutput) +} -func (NatGatewayEipAssociationTimeoutsPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**NatGatewayEipAssociationTimeouts)(nil)).Elem() +// The Connection Tracking Configuration for the network interface. See [Amazon EC2 security group connection tracking](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/security-group-connection-tracking.html#connection-tracking-timeouts) +func (o LaunchTemplateNetworkInterfaceOutput) ConnectionTrackingSpecification() LaunchTemplateNetworkInterfaceConnectionTrackingSpecificationPtrOutput { + return o.ApplyT(func(v LaunchTemplateNetworkInterface) *LaunchTemplateNetworkInterfaceConnectionTrackingSpecification { + return v.ConnectionTrackingSpecification + }).(LaunchTemplateNetworkInterfaceConnectionTrackingSpecificationPtrOutput) } -func (o NatGatewayEipAssociationTimeoutsPtrOutput) ToNatGatewayEipAssociationTimeoutsPtrOutput() NatGatewayEipAssociationTimeoutsPtrOutput { - return o +// Whether the network interface should be destroyed on instance termination. +func (o LaunchTemplateNetworkInterfaceOutput) DeleteOnTermination() pulumi.StringPtrOutput { + return o.ApplyT(func(v LaunchTemplateNetworkInterface) *string { return v.DeleteOnTermination }).(pulumi.StringPtrOutput) } -func (o NatGatewayEipAssociationTimeoutsPtrOutput) ToNatGatewayEipAssociationTimeoutsPtrOutputWithContext(ctx context.Context) NatGatewayEipAssociationTimeoutsPtrOutput { - return o +// Description of the network interface. +func (o LaunchTemplateNetworkInterfaceOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v LaunchTemplateNetworkInterface) *string { return v.Description }).(pulumi.StringPtrOutput) } -func (o NatGatewayEipAssociationTimeoutsPtrOutput) Elem() NatGatewayEipAssociationTimeoutsOutput { - return o.ApplyT(func(v *NatGatewayEipAssociationTimeouts) NatGatewayEipAssociationTimeouts { - if v != nil { - return *v - } - var ret NatGatewayEipAssociationTimeouts - return ret - }).(NatGatewayEipAssociationTimeoutsOutput) +// The integer index of the network interface attachment. +func (o LaunchTemplateNetworkInterfaceOutput) DeviceIndex() pulumi.IntPtrOutput { + return o.ApplyT(func(v LaunchTemplateNetworkInterface) *int { return v.DeviceIndex }).(pulumi.IntPtrOutput) } -// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). -func (o NatGatewayEipAssociationTimeoutsPtrOutput) Create() pulumi.StringPtrOutput { - return o.ApplyT(func(v *NatGatewayEipAssociationTimeouts) *string { - if v == nil { - return nil - } - return v.Create - }).(pulumi.StringPtrOutput) +// Configuration for Elastic Network Adapter (ENA) Express settings. Applies to network interfaces that use the [ena Express](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/enhanced-networking-ena-express.html) feature. See details below. +func (o LaunchTemplateNetworkInterfaceOutput) EnaSrdSpecification() LaunchTemplateNetworkInterfaceEnaSrdSpecificationPtrOutput { + return o.ApplyT(func(v LaunchTemplateNetworkInterface) *LaunchTemplateNetworkInterfaceEnaSrdSpecification { + return v.EnaSrdSpecification + }).(LaunchTemplateNetworkInterfaceEnaSrdSpecificationPtrOutput) } -// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs. -func (o NatGatewayEipAssociationTimeoutsPtrOutput) Delete() pulumi.StringPtrOutput { - return o.ApplyT(func(v *NatGatewayEipAssociationTimeouts) *string { - if v == nil { - return nil - } - return v.Delete - }).(pulumi.StringPtrOutput) +// The type of network interface. To create an Elastic Fabric Adapter (EFA), specify `efa`. +func (o LaunchTemplateNetworkInterfaceOutput) InterfaceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v LaunchTemplateNetworkInterface) *string { return v.InterfaceType }).(pulumi.StringPtrOutput) } -type NetworkAclEgress struct { - // The action to take. - Action string `pulumi:"action"` - // The CIDR block to match. This must be a - // valid network mask. - CidrBlock *string `pulumi:"cidrBlock"` - // The from port to match. - FromPort int `pulumi:"fromPort"` - // The ICMP type code to be used. Default 0. - // - // > Note: For more information on ICMP types and codes, see here: https://www.iana.org/assignments/icmp-parameters/icmp-parameters.xhtml - IcmpCode *int `pulumi:"icmpCode"` - // The ICMP type to be used. Default 0. - IcmpType *int `pulumi:"icmpType"` - // The IPv6 CIDR block. - Ipv6CidrBlock *string `pulumi:"ipv6CidrBlock"` - // The protocol to match. If using the -1 'all' - // protocol, you must specify a from and to port of 0. - Protocol string `pulumi:"protocol"` - // The rule number. Used for ordering. - RuleNo int `pulumi:"ruleNo"` - // The to port to match. - ToPort int `pulumi:"toPort"` +// The number of secondary private IPv4 addresses to assign to a network interface. Conflicts with `ipv4Addresses` +func (o LaunchTemplateNetworkInterfaceOutput) Ipv4AddressCount() pulumi.IntPtrOutput { + return o.ApplyT(func(v LaunchTemplateNetworkInterface) *int { return v.Ipv4AddressCount }).(pulumi.IntPtrOutput) } -// NetworkAclEgressInput is an input type that accepts NetworkAclEgressArgs and NetworkAclEgressOutput values. -// You can construct a concrete instance of `NetworkAclEgressInput` via: -// -// NetworkAclEgressArgs{...} -type NetworkAclEgressInput interface { - pulumi.Input +// One or more private IPv4 addresses to associate. Conflicts with `ipv4AddressCount` +func (o LaunchTemplateNetworkInterfaceOutput) Ipv4Addresses() pulumi.StringArrayOutput { + return o.ApplyT(func(v LaunchTemplateNetworkInterface) []string { return v.Ipv4Addresses }).(pulumi.StringArrayOutput) +} - ToNetworkAclEgressOutput() NetworkAclEgressOutput - ToNetworkAclEgressOutputWithContext(context.Context) NetworkAclEgressOutput +// The number of IPv4 prefixes to be automatically assigned to the network interface. Conflicts with `ipv4Prefixes` +func (o LaunchTemplateNetworkInterfaceOutput) Ipv4PrefixCount() pulumi.IntPtrOutput { + return o.ApplyT(func(v LaunchTemplateNetworkInterface) *int { return v.Ipv4PrefixCount }).(pulumi.IntPtrOutput) } -type NetworkAclEgressArgs struct { - // The action to take. - Action pulumi.StringInput `pulumi:"action"` - // The CIDR block to match. This must be a - // valid network mask. - CidrBlock pulumi.StringPtrInput `pulumi:"cidrBlock"` - // The from port to match. - FromPort pulumi.IntInput `pulumi:"fromPort"` - // The ICMP type code to be used. Default 0. - // - // > Note: For more information on ICMP types and codes, see here: https://www.iana.org/assignments/icmp-parameters/icmp-parameters.xhtml - IcmpCode pulumi.IntPtrInput `pulumi:"icmpCode"` - // The ICMP type to be used. Default 0. - IcmpType pulumi.IntPtrInput `pulumi:"icmpType"` - // The IPv6 CIDR block. - Ipv6CidrBlock pulumi.StringPtrInput `pulumi:"ipv6CidrBlock"` - // The protocol to match. If using the -1 'all' - // protocol, you must specify a from and to port of 0. - Protocol pulumi.StringInput `pulumi:"protocol"` - // The rule number. Used for ordering. - RuleNo pulumi.IntInput `pulumi:"ruleNo"` - // The to port to match. - ToPort pulumi.IntInput `pulumi:"toPort"` +// One or more IPv4 prefixes to be assigned to the network interface. Conflicts with `ipv4PrefixCount` +func (o LaunchTemplateNetworkInterfaceOutput) Ipv4Prefixes() pulumi.StringArrayOutput { + return o.ApplyT(func(v LaunchTemplateNetworkInterface) []string { return v.Ipv4Prefixes }).(pulumi.StringArrayOutput) } -func (NetworkAclEgressArgs) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkAclEgress)(nil)).Elem() +// The number of IPv6 addresses to assign to a network interface. Conflicts with `ipv6Addresses` +func (o LaunchTemplateNetworkInterfaceOutput) Ipv6AddressCount() pulumi.IntPtrOutput { + return o.ApplyT(func(v LaunchTemplateNetworkInterface) *int { return v.Ipv6AddressCount }).(pulumi.IntPtrOutput) } -func (i NetworkAclEgressArgs) ToNetworkAclEgressOutput() NetworkAclEgressOutput { - return i.ToNetworkAclEgressOutputWithContext(context.Background()) +// One or more specific IPv6 addresses from the IPv6 CIDR block range of your subnet. Conflicts with `ipv6AddressCount` +func (o LaunchTemplateNetworkInterfaceOutput) Ipv6Addresses() pulumi.StringArrayOutput { + return o.ApplyT(func(v LaunchTemplateNetworkInterface) []string { return v.Ipv6Addresses }).(pulumi.StringArrayOutput) } -func (i NetworkAclEgressArgs) ToNetworkAclEgressOutputWithContext(ctx context.Context) NetworkAclEgressOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkAclEgressOutput) +// The number of IPv6 prefixes to be automatically assigned to the network interface. Conflicts with `ipv6Prefixes` +func (o LaunchTemplateNetworkInterfaceOutput) Ipv6PrefixCount() pulumi.IntPtrOutput { + return o.ApplyT(func(v LaunchTemplateNetworkInterface) *int { return v.Ipv6PrefixCount }).(pulumi.IntPtrOutput) } -// NetworkAclEgressArrayInput is an input type that accepts NetworkAclEgressArray and NetworkAclEgressArrayOutput values. -// You can construct a concrete instance of `NetworkAclEgressArrayInput` via: -// -// NetworkAclEgressArray{ NetworkAclEgressArgs{...} } -type NetworkAclEgressArrayInput interface { - pulumi.Input +// One or more IPv6 prefixes to be assigned to the network interface. Conflicts with `ipv6PrefixCount` +func (o LaunchTemplateNetworkInterfaceOutput) Ipv6Prefixes() pulumi.StringArrayOutput { + return o.ApplyT(func(v LaunchTemplateNetworkInterface) []string { return v.Ipv6Prefixes }).(pulumi.StringArrayOutput) +} - ToNetworkAclEgressArrayOutput() NetworkAclEgressArrayOutput - ToNetworkAclEgressArrayOutputWithContext(context.Context) NetworkAclEgressArrayOutput +// The index of the network card. Some instance types support multiple network cards. The primary network interface must be assigned to network card index 0. The default is network card index 0. +func (o LaunchTemplateNetworkInterfaceOutput) NetworkCardIndex() pulumi.IntPtrOutput { + return o.ApplyT(func(v LaunchTemplateNetworkInterface) *int { return v.NetworkCardIndex }).(pulumi.IntPtrOutput) } -type NetworkAclEgressArray []NetworkAclEgressInput +// The ID of the network interface to attach. +func (o LaunchTemplateNetworkInterfaceOutput) NetworkInterfaceId() pulumi.StringPtrOutput { + return o.ApplyT(func(v LaunchTemplateNetworkInterface) *string { return v.NetworkInterfaceId }).(pulumi.StringPtrOutput) +} -func (NetworkAclEgressArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]NetworkAclEgress)(nil)).Elem() +// Whether the first IPv6 GUA will be made the primary IPv6 address. +func (o LaunchTemplateNetworkInterfaceOutput) PrimaryIpv6() pulumi.StringPtrOutput { + return o.ApplyT(func(v LaunchTemplateNetworkInterface) *string { return v.PrimaryIpv6 }).(pulumi.StringPtrOutput) } -func (i NetworkAclEgressArray) ToNetworkAclEgressArrayOutput() NetworkAclEgressArrayOutput { - return i.ToNetworkAclEgressArrayOutputWithContext(context.Background()) +// The primary private IPv4 address. +func (o LaunchTemplateNetworkInterfaceOutput) PrivateIpAddress() pulumi.StringPtrOutput { + return o.ApplyT(func(v LaunchTemplateNetworkInterface) *string { return v.PrivateIpAddress }).(pulumi.StringPtrOutput) } -func (i NetworkAclEgressArray) ToNetworkAclEgressArrayOutputWithContext(ctx context.Context) NetworkAclEgressArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkAclEgressArrayOutput) +// A list of security group IDs to associate. +func (o LaunchTemplateNetworkInterfaceOutput) SecurityGroups() pulumi.StringArrayOutput { + return o.ApplyT(func(v LaunchTemplateNetworkInterface) []string { return v.SecurityGroups }).(pulumi.StringArrayOutput) } -type NetworkAclEgressOutput struct{ *pulumi.OutputState } +// The VPC Subnet ID to associate. +func (o LaunchTemplateNetworkInterfaceOutput) SubnetId() pulumi.StringPtrOutput { + return o.ApplyT(func(v LaunchTemplateNetworkInterface) *string { return v.SubnetId }).(pulumi.StringPtrOutput) +} -func (NetworkAclEgressOutput) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkAclEgress)(nil)).Elem() +type LaunchTemplateNetworkInterfaceArrayOutput struct{ *pulumi.OutputState } + +func (LaunchTemplateNetworkInterfaceArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]LaunchTemplateNetworkInterface)(nil)).Elem() } -func (o NetworkAclEgressOutput) ToNetworkAclEgressOutput() NetworkAclEgressOutput { +func (o LaunchTemplateNetworkInterfaceArrayOutput) ToLaunchTemplateNetworkInterfaceArrayOutput() LaunchTemplateNetworkInterfaceArrayOutput { return o } -func (o NetworkAclEgressOutput) ToNetworkAclEgressOutputWithContext(ctx context.Context) NetworkAclEgressOutput { +func (o LaunchTemplateNetworkInterfaceArrayOutput) ToLaunchTemplateNetworkInterfaceArrayOutputWithContext(ctx context.Context) LaunchTemplateNetworkInterfaceArrayOutput { return o } -// The action to take. -func (o NetworkAclEgressOutput) Action() pulumi.StringOutput { - return o.ApplyT(func(v NetworkAclEgress) string { return v.Action }).(pulumi.StringOutput) +func (o LaunchTemplateNetworkInterfaceArrayOutput) Index(i pulumi.IntInput) LaunchTemplateNetworkInterfaceOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) LaunchTemplateNetworkInterface { + return vs[0].([]LaunchTemplateNetworkInterface)[vs[1].(int)] + }).(LaunchTemplateNetworkInterfaceOutput) } -// The CIDR block to match. This must be a -// valid network mask. -func (o NetworkAclEgressOutput) CidrBlock() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkAclEgress) *string { return v.CidrBlock }).(pulumi.StringPtrOutput) +type LaunchTemplateNetworkInterfaceConnectionTrackingSpecification struct { + // Timeout (in seconds) for idle TCP connections in an established state. Min: 60 seconds. Max: 432000 seconds (5 days). Default: 432000 seconds. Recommended: Less than 432000 seconds. + TcpEstablishedTimeout *int `pulumi:"tcpEstablishedTimeout"` + // Timeout (in seconds) for idle UDP flows that have seen traffic only in a single direction or a single request-response transaction. Min: 30 seconds. Max: 60 seconds. Default: 30 seconds. + UdpStreamTimeout *int `pulumi:"udpStreamTimeout"` + // Timeout (in seconds) for idle UDP flows classified as streams which have seen more than one request-response transaction. Min: 60 seconds. Max: 180 seconds (3 minutes). Default: 180 seconds. + UdpTimeout *int `pulumi:"udpTimeout"` } -// The from port to match. -func (o NetworkAclEgressOutput) FromPort() pulumi.IntOutput { - return o.ApplyT(func(v NetworkAclEgress) int { return v.FromPort }).(pulumi.IntOutput) +// LaunchTemplateNetworkInterfaceConnectionTrackingSpecificationInput is an input type that accepts LaunchTemplateNetworkInterfaceConnectionTrackingSpecificationArgs and LaunchTemplateNetworkInterfaceConnectionTrackingSpecificationOutput values. +// You can construct a concrete instance of `LaunchTemplateNetworkInterfaceConnectionTrackingSpecificationInput` via: +// +// LaunchTemplateNetworkInterfaceConnectionTrackingSpecificationArgs{...} +type LaunchTemplateNetworkInterfaceConnectionTrackingSpecificationInput interface { + pulumi.Input + + ToLaunchTemplateNetworkInterfaceConnectionTrackingSpecificationOutput() LaunchTemplateNetworkInterfaceConnectionTrackingSpecificationOutput + ToLaunchTemplateNetworkInterfaceConnectionTrackingSpecificationOutputWithContext(context.Context) LaunchTemplateNetworkInterfaceConnectionTrackingSpecificationOutput } -// The ICMP type code to be used. Default 0. -// -// > Note: For more information on ICMP types and codes, see here: https://www.iana.org/assignments/icmp-parameters/icmp-parameters.xhtml -func (o NetworkAclEgressOutput) IcmpCode() pulumi.IntPtrOutput { - return o.ApplyT(func(v NetworkAclEgress) *int { return v.IcmpCode }).(pulumi.IntPtrOutput) +type LaunchTemplateNetworkInterfaceConnectionTrackingSpecificationArgs struct { + // Timeout (in seconds) for idle TCP connections in an established state. Min: 60 seconds. Max: 432000 seconds (5 days). Default: 432000 seconds. Recommended: Less than 432000 seconds. + TcpEstablishedTimeout pulumi.IntPtrInput `pulumi:"tcpEstablishedTimeout"` + // Timeout (in seconds) for idle UDP flows that have seen traffic only in a single direction or a single request-response transaction. Min: 30 seconds. Max: 60 seconds. Default: 30 seconds. + UdpStreamTimeout pulumi.IntPtrInput `pulumi:"udpStreamTimeout"` + // Timeout (in seconds) for idle UDP flows classified as streams which have seen more than one request-response transaction. Min: 60 seconds. Max: 180 seconds (3 minutes). Default: 180 seconds. + UdpTimeout pulumi.IntPtrInput `pulumi:"udpTimeout"` } -// The ICMP type to be used. Default 0. -func (o NetworkAclEgressOutput) IcmpType() pulumi.IntPtrOutput { - return o.ApplyT(func(v NetworkAclEgress) *int { return v.IcmpType }).(pulumi.IntPtrOutput) +func (LaunchTemplateNetworkInterfaceConnectionTrackingSpecificationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LaunchTemplateNetworkInterfaceConnectionTrackingSpecification)(nil)).Elem() } -// The IPv6 CIDR block. -func (o NetworkAclEgressOutput) Ipv6CidrBlock() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkAclEgress) *string { return v.Ipv6CidrBlock }).(pulumi.StringPtrOutput) +func (i LaunchTemplateNetworkInterfaceConnectionTrackingSpecificationArgs) ToLaunchTemplateNetworkInterfaceConnectionTrackingSpecificationOutput() LaunchTemplateNetworkInterfaceConnectionTrackingSpecificationOutput { + return i.ToLaunchTemplateNetworkInterfaceConnectionTrackingSpecificationOutputWithContext(context.Background()) } -// The protocol to match. If using the -1 'all' -// protocol, you must specify a from and to port of 0. -func (o NetworkAclEgressOutput) Protocol() pulumi.StringOutput { - return o.ApplyT(func(v NetworkAclEgress) string { return v.Protocol }).(pulumi.StringOutput) +func (i LaunchTemplateNetworkInterfaceConnectionTrackingSpecificationArgs) ToLaunchTemplateNetworkInterfaceConnectionTrackingSpecificationOutputWithContext(ctx context.Context) LaunchTemplateNetworkInterfaceConnectionTrackingSpecificationOutput { + return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateNetworkInterfaceConnectionTrackingSpecificationOutput) } -// The rule number. Used for ordering. -func (o NetworkAclEgressOutput) RuleNo() pulumi.IntOutput { - return o.ApplyT(func(v NetworkAclEgress) int { return v.RuleNo }).(pulumi.IntOutput) +func (i LaunchTemplateNetworkInterfaceConnectionTrackingSpecificationArgs) ToLaunchTemplateNetworkInterfaceConnectionTrackingSpecificationPtrOutput() LaunchTemplateNetworkInterfaceConnectionTrackingSpecificationPtrOutput { + return i.ToLaunchTemplateNetworkInterfaceConnectionTrackingSpecificationPtrOutputWithContext(context.Background()) } -// The to port to match. -func (o NetworkAclEgressOutput) ToPort() pulumi.IntOutput { - return o.ApplyT(func(v NetworkAclEgress) int { return v.ToPort }).(pulumi.IntOutput) +func (i LaunchTemplateNetworkInterfaceConnectionTrackingSpecificationArgs) ToLaunchTemplateNetworkInterfaceConnectionTrackingSpecificationPtrOutputWithContext(ctx context.Context) LaunchTemplateNetworkInterfaceConnectionTrackingSpecificationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateNetworkInterfaceConnectionTrackingSpecificationOutput).ToLaunchTemplateNetworkInterfaceConnectionTrackingSpecificationPtrOutputWithContext(ctx) } -type NetworkAclEgressArrayOutput struct{ *pulumi.OutputState } +// LaunchTemplateNetworkInterfaceConnectionTrackingSpecificationPtrInput is an input type that accepts LaunchTemplateNetworkInterfaceConnectionTrackingSpecificationArgs, LaunchTemplateNetworkInterfaceConnectionTrackingSpecificationPtr and LaunchTemplateNetworkInterfaceConnectionTrackingSpecificationPtrOutput values. +// You can construct a concrete instance of `LaunchTemplateNetworkInterfaceConnectionTrackingSpecificationPtrInput` via: +// +// LaunchTemplateNetworkInterfaceConnectionTrackingSpecificationArgs{...} +// +// or: +// +// nil +type LaunchTemplateNetworkInterfaceConnectionTrackingSpecificationPtrInput interface { + pulumi.Input -func (NetworkAclEgressArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]NetworkAclEgress)(nil)).Elem() + ToLaunchTemplateNetworkInterfaceConnectionTrackingSpecificationPtrOutput() LaunchTemplateNetworkInterfaceConnectionTrackingSpecificationPtrOutput + ToLaunchTemplateNetworkInterfaceConnectionTrackingSpecificationPtrOutputWithContext(context.Context) LaunchTemplateNetworkInterfaceConnectionTrackingSpecificationPtrOutput } -func (o NetworkAclEgressArrayOutput) ToNetworkAclEgressArrayOutput() NetworkAclEgressArrayOutput { - return o -} +type launchTemplateNetworkInterfaceConnectionTrackingSpecificationPtrType LaunchTemplateNetworkInterfaceConnectionTrackingSpecificationArgs -func (o NetworkAclEgressArrayOutput) ToNetworkAclEgressArrayOutputWithContext(ctx context.Context) NetworkAclEgressArrayOutput { - return o +func LaunchTemplateNetworkInterfaceConnectionTrackingSpecificationPtr(v *LaunchTemplateNetworkInterfaceConnectionTrackingSpecificationArgs) LaunchTemplateNetworkInterfaceConnectionTrackingSpecificationPtrInput { + return (*launchTemplateNetworkInterfaceConnectionTrackingSpecificationPtrType)(v) } -func (o NetworkAclEgressArrayOutput) Index(i pulumi.IntInput) NetworkAclEgressOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkAclEgress { - return vs[0].([]NetworkAclEgress)[vs[1].(int)] - }).(NetworkAclEgressOutput) +func (*launchTemplateNetworkInterfaceConnectionTrackingSpecificationPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**LaunchTemplateNetworkInterfaceConnectionTrackingSpecification)(nil)).Elem() } -type NetworkAclIngress struct { - // The action to take. - Action string `pulumi:"action"` - // The CIDR block to match. This must be a - // valid network mask. - CidrBlock *string `pulumi:"cidrBlock"` - // The from port to match. - FromPort int `pulumi:"fromPort"` - // The ICMP type code to be used. Default 0. - // - // > Note: For more information on ICMP types and codes, see here: https://www.iana.org/assignments/icmp-parameters/icmp-parameters.xhtml - IcmpCode *int `pulumi:"icmpCode"` - // The ICMP type to be used. Default 0. - IcmpType *int `pulumi:"icmpType"` - // The IPv6 CIDR block. - Ipv6CidrBlock *string `pulumi:"ipv6CidrBlock"` - // The protocol to match. If using the -1 'all' - // protocol, you must specify a from and to port of 0. - Protocol string `pulumi:"protocol"` - // The rule number. Used for ordering. - RuleNo int `pulumi:"ruleNo"` - // The to port to match. - ToPort int `pulumi:"toPort"` +func (i *launchTemplateNetworkInterfaceConnectionTrackingSpecificationPtrType) ToLaunchTemplateNetworkInterfaceConnectionTrackingSpecificationPtrOutput() LaunchTemplateNetworkInterfaceConnectionTrackingSpecificationPtrOutput { + return i.ToLaunchTemplateNetworkInterfaceConnectionTrackingSpecificationPtrOutputWithContext(context.Background()) } -// NetworkAclIngressInput is an input type that accepts NetworkAclIngressArgs and NetworkAclIngressOutput values. -// You can construct a concrete instance of `NetworkAclIngressInput` via: -// -// NetworkAclIngressArgs{...} -type NetworkAclIngressInput interface { - pulumi.Input - - ToNetworkAclIngressOutput() NetworkAclIngressOutput - ToNetworkAclIngressOutputWithContext(context.Context) NetworkAclIngressOutput +func (i *launchTemplateNetworkInterfaceConnectionTrackingSpecificationPtrType) ToLaunchTemplateNetworkInterfaceConnectionTrackingSpecificationPtrOutputWithContext(ctx context.Context) LaunchTemplateNetworkInterfaceConnectionTrackingSpecificationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateNetworkInterfaceConnectionTrackingSpecificationPtrOutput) } -type NetworkAclIngressArgs struct { - // The action to take. - Action pulumi.StringInput `pulumi:"action"` - // The CIDR block to match. This must be a - // valid network mask. - CidrBlock pulumi.StringPtrInput `pulumi:"cidrBlock"` - // The from port to match. - FromPort pulumi.IntInput `pulumi:"fromPort"` - // The ICMP type code to be used. Default 0. - // - // > Note: For more information on ICMP types and codes, see here: https://www.iana.org/assignments/icmp-parameters/icmp-parameters.xhtml - IcmpCode pulumi.IntPtrInput `pulumi:"icmpCode"` - // The ICMP type to be used. Default 0. - IcmpType pulumi.IntPtrInput `pulumi:"icmpType"` - // The IPv6 CIDR block. - Ipv6CidrBlock pulumi.StringPtrInput `pulumi:"ipv6CidrBlock"` - // The protocol to match. If using the -1 'all' - // protocol, you must specify a from and to port of 0. - Protocol pulumi.StringInput `pulumi:"protocol"` - // The rule number. Used for ordering. - RuleNo pulumi.IntInput `pulumi:"ruleNo"` - // The to port to match. - ToPort pulumi.IntInput `pulumi:"toPort"` -} +type LaunchTemplateNetworkInterfaceConnectionTrackingSpecificationOutput struct{ *pulumi.OutputState } -func (NetworkAclIngressArgs) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkAclIngress)(nil)).Elem() +func (LaunchTemplateNetworkInterfaceConnectionTrackingSpecificationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LaunchTemplateNetworkInterfaceConnectionTrackingSpecification)(nil)).Elem() } -func (i NetworkAclIngressArgs) ToNetworkAclIngressOutput() NetworkAclIngressOutput { - return i.ToNetworkAclIngressOutputWithContext(context.Background()) +func (o LaunchTemplateNetworkInterfaceConnectionTrackingSpecificationOutput) ToLaunchTemplateNetworkInterfaceConnectionTrackingSpecificationOutput() LaunchTemplateNetworkInterfaceConnectionTrackingSpecificationOutput { + return o } -func (i NetworkAclIngressArgs) ToNetworkAclIngressOutputWithContext(ctx context.Context) NetworkAclIngressOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkAclIngressOutput) +func (o LaunchTemplateNetworkInterfaceConnectionTrackingSpecificationOutput) ToLaunchTemplateNetworkInterfaceConnectionTrackingSpecificationOutputWithContext(ctx context.Context) LaunchTemplateNetworkInterfaceConnectionTrackingSpecificationOutput { + return o } -// NetworkAclIngressArrayInput is an input type that accepts NetworkAclIngressArray and NetworkAclIngressArrayOutput values. -// You can construct a concrete instance of `NetworkAclIngressArrayInput` via: -// -// NetworkAclIngressArray{ NetworkAclIngressArgs{...} } -type NetworkAclIngressArrayInput interface { - pulumi.Input - - ToNetworkAclIngressArrayOutput() NetworkAclIngressArrayOutput - ToNetworkAclIngressArrayOutputWithContext(context.Context) NetworkAclIngressArrayOutput +func (o LaunchTemplateNetworkInterfaceConnectionTrackingSpecificationOutput) ToLaunchTemplateNetworkInterfaceConnectionTrackingSpecificationPtrOutput() LaunchTemplateNetworkInterfaceConnectionTrackingSpecificationPtrOutput { + return o.ToLaunchTemplateNetworkInterfaceConnectionTrackingSpecificationPtrOutputWithContext(context.Background()) } -type NetworkAclIngressArray []NetworkAclIngressInput +func (o LaunchTemplateNetworkInterfaceConnectionTrackingSpecificationOutput) ToLaunchTemplateNetworkInterfaceConnectionTrackingSpecificationPtrOutputWithContext(ctx context.Context) LaunchTemplateNetworkInterfaceConnectionTrackingSpecificationPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v LaunchTemplateNetworkInterfaceConnectionTrackingSpecification) *LaunchTemplateNetworkInterfaceConnectionTrackingSpecification { + return &v + }).(LaunchTemplateNetworkInterfaceConnectionTrackingSpecificationPtrOutput) +} -func (NetworkAclIngressArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]NetworkAclIngress)(nil)).Elem() +// Timeout (in seconds) for idle TCP connections in an established state. Min: 60 seconds. Max: 432000 seconds (5 days). Default: 432000 seconds. Recommended: Less than 432000 seconds. +func (o LaunchTemplateNetworkInterfaceConnectionTrackingSpecificationOutput) TcpEstablishedTimeout() pulumi.IntPtrOutput { + return o.ApplyT(func(v LaunchTemplateNetworkInterfaceConnectionTrackingSpecification) *int { + return v.TcpEstablishedTimeout + }).(pulumi.IntPtrOutput) } -func (i NetworkAclIngressArray) ToNetworkAclIngressArrayOutput() NetworkAclIngressArrayOutput { - return i.ToNetworkAclIngressArrayOutputWithContext(context.Background()) +// Timeout (in seconds) for idle UDP flows that have seen traffic only in a single direction or a single request-response transaction. Min: 30 seconds. Max: 60 seconds. Default: 30 seconds. +func (o LaunchTemplateNetworkInterfaceConnectionTrackingSpecificationOutput) UdpStreamTimeout() pulumi.IntPtrOutput { + return o.ApplyT(func(v LaunchTemplateNetworkInterfaceConnectionTrackingSpecification) *int { return v.UdpStreamTimeout }).(pulumi.IntPtrOutput) } -func (i NetworkAclIngressArray) ToNetworkAclIngressArrayOutputWithContext(ctx context.Context) NetworkAclIngressArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkAclIngressArrayOutput) +// Timeout (in seconds) for idle UDP flows classified as streams which have seen more than one request-response transaction. Min: 60 seconds. Max: 180 seconds (3 minutes). Default: 180 seconds. +func (o LaunchTemplateNetworkInterfaceConnectionTrackingSpecificationOutput) UdpTimeout() pulumi.IntPtrOutput { + return o.ApplyT(func(v LaunchTemplateNetworkInterfaceConnectionTrackingSpecification) *int { return v.UdpTimeout }).(pulumi.IntPtrOutput) } -type NetworkAclIngressOutput struct{ *pulumi.OutputState } +type LaunchTemplateNetworkInterfaceConnectionTrackingSpecificationPtrOutput struct{ *pulumi.OutputState } -func (NetworkAclIngressOutput) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkAclIngress)(nil)).Elem() +func (LaunchTemplateNetworkInterfaceConnectionTrackingSpecificationPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**LaunchTemplateNetworkInterfaceConnectionTrackingSpecification)(nil)).Elem() } -func (o NetworkAclIngressOutput) ToNetworkAclIngressOutput() NetworkAclIngressOutput { +func (o LaunchTemplateNetworkInterfaceConnectionTrackingSpecificationPtrOutput) ToLaunchTemplateNetworkInterfaceConnectionTrackingSpecificationPtrOutput() LaunchTemplateNetworkInterfaceConnectionTrackingSpecificationPtrOutput { return o } -func (o NetworkAclIngressOutput) ToNetworkAclIngressOutputWithContext(ctx context.Context) NetworkAclIngressOutput { +func (o LaunchTemplateNetworkInterfaceConnectionTrackingSpecificationPtrOutput) ToLaunchTemplateNetworkInterfaceConnectionTrackingSpecificationPtrOutputWithContext(ctx context.Context) LaunchTemplateNetworkInterfaceConnectionTrackingSpecificationPtrOutput { return o } -// The action to take. -func (o NetworkAclIngressOutput) Action() pulumi.StringOutput { - return o.ApplyT(func(v NetworkAclIngress) string { return v.Action }).(pulumi.StringOutput) -} - -// The CIDR block to match. This must be a -// valid network mask. -func (o NetworkAclIngressOutput) CidrBlock() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkAclIngress) *string { return v.CidrBlock }).(pulumi.StringPtrOutput) +func (o LaunchTemplateNetworkInterfaceConnectionTrackingSpecificationPtrOutput) Elem() LaunchTemplateNetworkInterfaceConnectionTrackingSpecificationOutput { + return o.ApplyT(func(v *LaunchTemplateNetworkInterfaceConnectionTrackingSpecification) LaunchTemplateNetworkInterfaceConnectionTrackingSpecification { + if v != nil { + return *v + } + var ret LaunchTemplateNetworkInterfaceConnectionTrackingSpecification + return ret + }).(LaunchTemplateNetworkInterfaceConnectionTrackingSpecificationOutput) } -// The from port to match. -func (o NetworkAclIngressOutput) FromPort() pulumi.IntOutput { - return o.ApplyT(func(v NetworkAclIngress) int { return v.FromPort }).(pulumi.IntOutput) +// Timeout (in seconds) for idle TCP connections in an established state. Min: 60 seconds. Max: 432000 seconds (5 days). Default: 432000 seconds. Recommended: Less than 432000 seconds. +func (o LaunchTemplateNetworkInterfaceConnectionTrackingSpecificationPtrOutput) TcpEstablishedTimeout() pulumi.IntPtrOutput { + return o.ApplyT(func(v *LaunchTemplateNetworkInterfaceConnectionTrackingSpecification) *int { + if v == nil { + return nil + } + return v.TcpEstablishedTimeout + }).(pulumi.IntPtrOutput) } -// The ICMP type code to be used. Default 0. -// -// > Note: For more information on ICMP types and codes, see here: https://www.iana.org/assignments/icmp-parameters/icmp-parameters.xhtml -func (o NetworkAclIngressOutput) IcmpCode() pulumi.IntPtrOutput { - return o.ApplyT(func(v NetworkAclIngress) *int { return v.IcmpCode }).(pulumi.IntPtrOutput) +// Timeout (in seconds) for idle UDP flows that have seen traffic only in a single direction or a single request-response transaction. Min: 30 seconds. Max: 60 seconds. Default: 30 seconds. +func (o LaunchTemplateNetworkInterfaceConnectionTrackingSpecificationPtrOutput) UdpStreamTimeout() pulumi.IntPtrOutput { + return o.ApplyT(func(v *LaunchTemplateNetworkInterfaceConnectionTrackingSpecification) *int { + if v == nil { + return nil + } + return v.UdpStreamTimeout + }).(pulumi.IntPtrOutput) } -// The ICMP type to be used. Default 0. -func (o NetworkAclIngressOutput) IcmpType() pulumi.IntPtrOutput { - return o.ApplyT(func(v NetworkAclIngress) *int { return v.IcmpType }).(pulumi.IntPtrOutput) +// Timeout (in seconds) for idle UDP flows classified as streams which have seen more than one request-response transaction. Min: 60 seconds. Max: 180 seconds (3 minutes). Default: 180 seconds. +func (o LaunchTemplateNetworkInterfaceConnectionTrackingSpecificationPtrOutput) UdpTimeout() pulumi.IntPtrOutput { + return o.ApplyT(func(v *LaunchTemplateNetworkInterfaceConnectionTrackingSpecification) *int { + if v == nil { + return nil + } + return v.UdpTimeout + }).(pulumi.IntPtrOutput) } -// The IPv6 CIDR block. -func (o NetworkAclIngressOutput) Ipv6CidrBlock() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkAclIngress) *string { return v.Ipv6CidrBlock }).(pulumi.StringPtrOutput) +type LaunchTemplateNetworkInterfaceEnaSrdSpecification struct { + // Whether to enable ENA Express. ENA Express uses AWS Scalable Reliable Datagram (SRD) technology to improve the performance of TCP traffic. + EnaSrdEnabled *bool `pulumi:"enaSrdEnabled"` + // Configuration for ENA Express UDP optimization. See details below. + EnaSrdUdpSpecification *LaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecification `pulumi:"enaSrdUdpSpecification"` } -// The protocol to match. If using the -1 'all' -// protocol, you must specify a from and to port of 0. -func (o NetworkAclIngressOutput) Protocol() pulumi.StringOutput { - return o.ApplyT(func(v NetworkAclIngress) string { return v.Protocol }).(pulumi.StringOutput) -} +// LaunchTemplateNetworkInterfaceEnaSrdSpecificationInput is an input type that accepts LaunchTemplateNetworkInterfaceEnaSrdSpecificationArgs and LaunchTemplateNetworkInterfaceEnaSrdSpecificationOutput values. +// You can construct a concrete instance of `LaunchTemplateNetworkInterfaceEnaSrdSpecificationInput` via: +// +// LaunchTemplateNetworkInterfaceEnaSrdSpecificationArgs{...} +type LaunchTemplateNetworkInterfaceEnaSrdSpecificationInput interface { + pulumi.Input -// The rule number. Used for ordering. -func (o NetworkAclIngressOutput) RuleNo() pulumi.IntOutput { - return o.ApplyT(func(v NetworkAclIngress) int { return v.RuleNo }).(pulumi.IntOutput) + ToLaunchTemplateNetworkInterfaceEnaSrdSpecificationOutput() LaunchTemplateNetworkInterfaceEnaSrdSpecificationOutput + ToLaunchTemplateNetworkInterfaceEnaSrdSpecificationOutputWithContext(context.Context) LaunchTemplateNetworkInterfaceEnaSrdSpecificationOutput } -// The to port to match. -func (o NetworkAclIngressOutput) ToPort() pulumi.IntOutput { - return o.ApplyT(func(v NetworkAclIngress) int { return v.ToPort }).(pulumi.IntOutput) +type LaunchTemplateNetworkInterfaceEnaSrdSpecificationArgs struct { + // Whether to enable ENA Express. ENA Express uses AWS Scalable Reliable Datagram (SRD) technology to improve the performance of TCP traffic. + EnaSrdEnabled pulumi.BoolPtrInput `pulumi:"enaSrdEnabled"` + // Configuration for ENA Express UDP optimization. See details below. + EnaSrdUdpSpecification LaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecificationPtrInput `pulumi:"enaSrdUdpSpecification"` } -type NetworkAclIngressArrayOutput struct{ *pulumi.OutputState } - -func (NetworkAclIngressArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]NetworkAclIngress)(nil)).Elem() +func (LaunchTemplateNetworkInterfaceEnaSrdSpecificationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LaunchTemplateNetworkInterfaceEnaSrdSpecification)(nil)).Elem() } -func (o NetworkAclIngressArrayOutput) ToNetworkAclIngressArrayOutput() NetworkAclIngressArrayOutput { - return o +func (i LaunchTemplateNetworkInterfaceEnaSrdSpecificationArgs) ToLaunchTemplateNetworkInterfaceEnaSrdSpecificationOutput() LaunchTemplateNetworkInterfaceEnaSrdSpecificationOutput { + return i.ToLaunchTemplateNetworkInterfaceEnaSrdSpecificationOutputWithContext(context.Background()) } -func (o NetworkAclIngressArrayOutput) ToNetworkAclIngressArrayOutputWithContext(ctx context.Context) NetworkAclIngressArrayOutput { - return o +func (i LaunchTemplateNetworkInterfaceEnaSrdSpecificationArgs) ToLaunchTemplateNetworkInterfaceEnaSrdSpecificationOutputWithContext(ctx context.Context) LaunchTemplateNetworkInterfaceEnaSrdSpecificationOutput { + return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateNetworkInterfaceEnaSrdSpecificationOutput) } -func (o NetworkAclIngressArrayOutput) Index(i pulumi.IntInput) NetworkAclIngressOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkAclIngress { - return vs[0].([]NetworkAclIngress)[vs[1].(int)] - }).(NetworkAclIngressOutput) +func (i LaunchTemplateNetworkInterfaceEnaSrdSpecificationArgs) ToLaunchTemplateNetworkInterfaceEnaSrdSpecificationPtrOutput() LaunchTemplateNetworkInterfaceEnaSrdSpecificationPtrOutput { + return i.ToLaunchTemplateNetworkInterfaceEnaSrdSpecificationPtrOutputWithContext(context.Background()) } -type NetworkInsightsAnalysisAlternatePathHint struct { - // The Amazon Resource Name (ARN) of the component. - ComponentArn *string `pulumi:"componentArn"` - // The ID of the component. - ComponentId *string `pulumi:"componentId"` +func (i LaunchTemplateNetworkInterfaceEnaSrdSpecificationArgs) ToLaunchTemplateNetworkInterfaceEnaSrdSpecificationPtrOutputWithContext(ctx context.Context) LaunchTemplateNetworkInterfaceEnaSrdSpecificationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateNetworkInterfaceEnaSrdSpecificationOutput).ToLaunchTemplateNetworkInterfaceEnaSrdSpecificationPtrOutputWithContext(ctx) } -// NetworkInsightsAnalysisAlternatePathHintInput is an input type that accepts NetworkInsightsAnalysisAlternatePathHintArgs and NetworkInsightsAnalysisAlternatePathHintOutput values. -// You can construct a concrete instance of `NetworkInsightsAnalysisAlternatePathHintInput` via: +// LaunchTemplateNetworkInterfaceEnaSrdSpecificationPtrInput is an input type that accepts LaunchTemplateNetworkInterfaceEnaSrdSpecificationArgs, LaunchTemplateNetworkInterfaceEnaSrdSpecificationPtr and LaunchTemplateNetworkInterfaceEnaSrdSpecificationPtrOutput values. +// You can construct a concrete instance of `LaunchTemplateNetworkInterfaceEnaSrdSpecificationPtrInput` via: // -// NetworkInsightsAnalysisAlternatePathHintArgs{...} -type NetworkInsightsAnalysisAlternatePathHintInput interface { +// LaunchTemplateNetworkInterfaceEnaSrdSpecificationArgs{...} +// +// or: +// +// nil +type LaunchTemplateNetworkInterfaceEnaSrdSpecificationPtrInput interface { pulumi.Input - ToNetworkInsightsAnalysisAlternatePathHintOutput() NetworkInsightsAnalysisAlternatePathHintOutput - ToNetworkInsightsAnalysisAlternatePathHintOutputWithContext(context.Context) NetworkInsightsAnalysisAlternatePathHintOutput + ToLaunchTemplateNetworkInterfaceEnaSrdSpecificationPtrOutput() LaunchTemplateNetworkInterfaceEnaSrdSpecificationPtrOutput + ToLaunchTemplateNetworkInterfaceEnaSrdSpecificationPtrOutputWithContext(context.Context) LaunchTemplateNetworkInterfaceEnaSrdSpecificationPtrOutput } -type NetworkInsightsAnalysisAlternatePathHintArgs struct { - // The Amazon Resource Name (ARN) of the component. - ComponentArn pulumi.StringPtrInput `pulumi:"componentArn"` - // The ID of the component. - ComponentId pulumi.StringPtrInput `pulumi:"componentId"` -} +type launchTemplateNetworkInterfaceEnaSrdSpecificationPtrType LaunchTemplateNetworkInterfaceEnaSrdSpecificationArgs -func (NetworkInsightsAnalysisAlternatePathHintArgs) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkInsightsAnalysisAlternatePathHint)(nil)).Elem() +func LaunchTemplateNetworkInterfaceEnaSrdSpecificationPtr(v *LaunchTemplateNetworkInterfaceEnaSrdSpecificationArgs) LaunchTemplateNetworkInterfaceEnaSrdSpecificationPtrInput { + return (*launchTemplateNetworkInterfaceEnaSrdSpecificationPtrType)(v) } -func (i NetworkInsightsAnalysisAlternatePathHintArgs) ToNetworkInsightsAnalysisAlternatePathHintOutput() NetworkInsightsAnalysisAlternatePathHintOutput { - return i.ToNetworkInsightsAnalysisAlternatePathHintOutputWithContext(context.Background()) +func (*launchTemplateNetworkInterfaceEnaSrdSpecificationPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**LaunchTemplateNetworkInterfaceEnaSrdSpecification)(nil)).Elem() } -func (i NetworkInsightsAnalysisAlternatePathHintArgs) ToNetworkInsightsAnalysisAlternatePathHintOutputWithContext(ctx context.Context) NetworkInsightsAnalysisAlternatePathHintOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisAlternatePathHintOutput) +func (i *launchTemplateNetworkInterfaceEnaSrdSpecificationPtrType) ToLaunchTemplateNetworkInterfaceEnaSrdSpecificationPtrOutput() LaunchTemplateNetworkInterfaceEnaSrdSpecificationPtrOutput { + return i.ToLaunchTemplateNetworkInterfaceEnaSrdSpecificationPtrOutputWithContext(context.Background()) } -// NetworkInsightsAnalysisAlternatePathHintArrayInput is an input type that accepts NetworkInsightsAnalysisAlternatePathHintArray and NetworkInsightsAnalysisAlternatePathHintArrayOutput values. -// You can construct a concrete instance of `NetworkInsightsAnalysisAlternatePathHintArrayInput` via: -// -// NetworkInsightsAnalysisAlternatePathHintArray{ NetworkInsightsAnalysisAlternatePathHintArgs{...} } -type NetworkInsightsAnalysisAlternatePathHintArrayInput interface { - pulumi.Input - - ToNetworkInsightsAnalysisAlternatePathHintArrayOutput() NetworkInsightsAnalysisAlternatePathHintArrayOutput - ToNetworkInsightsAnalysisAlternatePathHintArrayOutputWithContext(context.Context) NetworkInsightsAnalysisAlternatePathHintArrayOutput +func (i *launchTemplateNetworkInterfaceEnaSrdSpecificationPtrType) ToLaunchTemplateNetworkInterfaceEnaSrdSpecificationPtrOutputWithContext(ctx context.Context) LaunchTemplateNetworkInterfaceEnaSrdSpecificationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateNetworkInterfaceEnaSrdSpecificationPtrOutput) } -type NetworkInsightsAnalysisAlternatePathHintArray []NetworkInsightsAnalysisAlternatePathHintInput - -func (NetworkInsightsAnalysisAlternatePathHintArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]NetworkInsightsAnalysisAlternatePathHint)(nil)).Elem() -} +type LaunchTemplateNetworkInterfaceEnaSrdSpecificationOutput struct{ *pulumi.OutputState } -func (i NetworkInsightsAnalysisAlternatePathHintArray) ToNetworkInsightsAnalysisAlternatePathHintArrayOutput() NetworkInsightsAnalysisAlternatePathHintArrayOutput { - return i.ToNetworkInsightsAnalysisAlternatePathHintArrayOutputWithContext(context.Background()) +func (LaunchTemplateNetworkInterfaceEnaSrdSpecificationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LaunchTemplateNetworkInterfaceEnaSrdSpecification)(nil)).Elem() } -func (i NetworkInsightsAnalysisAlternatePathHintArray) ToNetworkInsightsAnalysisAlternatePathHintArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisAlternatePathHintArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisAlternatePathHintArrayOutput) +func (o LaunchTemplateNetworkInterfaceEnaSrdSpecificationOutput) ToLaunchTemplateNetworkInterfaceEnaSrdSpecificationOutput() LaunchTemplateNetworkInterfaceEnaSrdSpecificationOutput { + return o } -type NetworkInsightsAnalysisAlternatePathHintOutput struct{ *pulumi.OutputState } - -func (NetworkInsightsAnalysisAlternatePathHintOutput) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkInsightsAnalysisAlternatePathHint)(nil)).Elem() +func (o LaunchTemplateNetworkInterfaceEnaSrdSpecificationOutput) ToLaunchTemplateNetworkInterfaceEnaSrdSpecificationOutputWithContext(ctx context.Context) LaunchTemplateNetworkInterfaceEnaSrdSpecificationOutput { + return o } -func (o NetworkInsightsAnalysisAlternatePathHintOutput) ToNetworkInsightsAnalysisAlternatePathHintOutput() NetworkInsightsAnalysisAlternatePathHintOutput { - return o +func (o LaunchTemplateNetworkInterfaceEnaSrdSpecificationOutput) ToLaunchTemplateNetworkInterfaceEnaSrdSpecificationPtrOutput() LaunchTemplateNetworkInterfaceEnaSrdSpecificationPtrOutput { + return o.ToLaunchTemplateNetworkInterfaceEnaSrdSpecificationPtrOutputWithContext(context.Background()) } -func (o NetworkInsightsAnalysisAlternatePathHintOutput) ToNetworkInsightsAnalysisAlternatePathHintOutputWithContext(ctx context.Context) NetworkInsightsAnalysisAlternatePathHintOutput { - return o +func (o LaunchTemplateNetworkInterfaceEnaSrdSpecificationOutput) ToLaunchTemplateNetworkInterfaceEnaSrdSpecificationPtrOutputWithContext(ctx context.Context) LaunchTemplateNetworkInterfaceEnaSrdSpecificationPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v LaunchTemplateNetworkInterfaceEnaSrdSpecification) *LaunchTemplateNetworkInterfaceEnaSrdSpecification { + return &v + }).(LaunchTemplateNetworkInterfaceEnaSrdSpecificationPtrOutput) } -// The Amazon Resource Name (ARN) of the component. -func (o NetworkInsightsAnalysisAlternatePathHintOutput) ComponentArn() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisAlternatePathHint) *string { return v.ComponentArn }).(pulumi.StringPtrOutput) +// Whether to enable ENA Express. ENA Express uses AWS Scalable Reliable Datagram (SRD) technology to improve the performance of TCP traffic. +func (o LaunchTemplateNetworkInterfaceEnaSrdSpecificationOutput) EnaSrdEnabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v LaunchTemplateNetworkInterfaceEnaSrdSpecification) *bool { return v.EnaSrdEnabled }).(pulumi.BoolPtrOutput) } -// The ID of the component. -func (o NetworkInsightsAnalysisAlternatePathHintOutput) ComponentId() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisAlternatePathHint) *string { return v.ComponentId }).(pulumi.StringPtrOutput) +// Configuration for ENA Express UDP optimization. See details below. +func (o LaunchTemplateNetworkInterfaceEnaSrdSpecificationOutput) EnaSrdUdpSpecification() LaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecificationPtrOutput { + return o.ApplyT(func(v LaunchTemplateNetworkInterfaceEnaSrdSpecification) *LaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecification { + return v.EnaSrdUdpSpecification + }).(LaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecificationPtrOutput) } -type NetworkInsightsAnalysisAlternatePathHintArrayOutput struct{ *pulumi.OutputState } +type LaunchTemplateNetworkInterfaceEnaSrdSpecificationPtrOutput struct{ *pulumi.OutputState } -func (NetworkInsightsAnalysisAlternatePathHintArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]NetworkInsightsAnalysisAlternatePathHint)(nil)).Elem() +func (LaunchTemplateNetworkInterfaceEnaSrdSpecificationPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**LaunchTemplateNetworkInterfaceEnaSrdSpecification)(nil)).Elem() } -func (o NetworkInsightsAnalysisAlternatePathHintArrayOutput) ToNetworkInsightsAnalysisAlternatePathHintArrayOutput() NetworkInsightsAnalysisAlternatePathHintArrayOutput { +func (o LaunchTemplateNetworkInterfaceEnaSrdSpecificationPtrOutput) ToLaunchTemplateNetworkInterfaceEnaSrdSpecificationPtrOutput() LaunchTemplateNetworkInterfaceEnaSrdSpecificationPtrOutput { return o } -func (o NetworkInsightsAnalysisAlternatePathHintArrayOutput) ToNetworkInsightsAnalysisAlternatePathHintArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisAlternatePathHintArrayOutput { +func (o LaunchTemplateNetworkInterfaceEnaSrdSpecificationPtrOutput) ToLaunchTemplateNetworkInterfaceEnaSrdSpecificationPtrOutputWithContext(ctx context.Context) LaunchTemplateNetworkInterfaceEnaSrdSpecificationPtrOutput { return o } -func (o NetworkInsightsAnalysisAlternatePathHintArrayOutput) Index(i pulumi.IntInput) NetworkInsightsAnalysisAlternatePathHintOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkInsightsAnalysisAlternatePathHint { - return vs[0].([]NetworkInsightsAnalysisAlternatePathHint)[vs[1].(int)] - }).(NetworkInsightsAnalysisAlternatePathHintOutput) +func (o LaunchTemplateNetworkInterfaceEnaSrdSpecificationPtrOutput) Elem() LaunchTemplateNetworkInterfaceEnaSrdSpecificationOutput { + return o.ApplyT(func(v *LaunchTemplateNetworkInterfaceEnaSrdSpecification) LaunchTemplateNetworkInterfaceEnaSrdSpecification { + if v != nil { + return *v + } + var ret LaunchTemplateNetworkInterfaceEnaSrdSpecification + return ret + }).(LaunchTemplateNetworkInterfaceEnaSrdSpecificationOutput) } -type NetworkInsightsAnalysisExplanation struct { - AclRules []NetworkInsightsAnalysisExplanationAclRule `pulumi:"aclRules"` - Acls []NetworkInsightsAnalysisExplanationAcl `pulumi:"acls"` - Address *string `pulumi:"address"` - Addresses []string `pulumi:"addresses"` - AttachedTos []NetworkInsightsAnalysisExplanationAttachedTo `pulumi:"attachedTos"` - AvailabilityZones []string `pulumi:"availabilityZones"` - Cidrs []string `pulumi:"cidrs"` - ClassicLoadBalancerListeners []NetworkInsightsAnalysisExplanationClassicLoadBalancerListener `pulumi:"classicLoadBalancerListeners"` - Components []NetworkInsightsAnalysisExplanationComponent `pulumi:"components"` - CustomerGateways []NetworkInsightsAnalysisExplanationCustomerGateway `pulumi:"customerGateways"` - DestinationVpcs []NetworkInsightsAnalysisExplanationDestinationVpc `pulumi:"destinationVpcs"` - Destinations []NetworkInsightsAnalysisExplanationDestination `pulumi:"destinations"` - Direction *string `pulumi:"direction"` - ElasticLoadBalancerListeners []NetworkInsightsAnalysisExplanationElasticLoadBalancerListener `pulumi:"elasticLoadBalancerListeners"` - ExplanationCode *string `pulumi:"explanationCode"` - IngressRouteTables []NetworkInsightsAnalysisExplanationIngressRouteTable `pulumi:"ingressRouteTables"` - InternetGateways []NetworkInsightsAnalysisExplanationInternetGateway `pulumi:"internetGateways"` - LoadBalancerArn *string `pulumi:"loadBalancerArn"` - LoadBalancerListenerPort *int `pulumi:"loadBalancerListenerPort"` - LoadBalancerTargetGroup []NetworkInsightsAnalysisExplanationLoadBalancerTargetGroup `pulumi:"loadBalancerTargetGroup"` - LoadBalancerTargetGroups []NetworkInsightsAnalysisExplanationLoadBalancerTargetGroup `pulumi:"loadBalancerTargetGroups"` - LoadBalancerTargetPort *int `pulumi:"loadBalancerTargetPort"` - MissingComponent *string `pulumi:"missingComponent"` - NatGateways []NetworkInsightsAnalysisExplanationNatGateway `pulumi:"natGateways"` - NetworkInterfaces []NetworkInsightsAnalysisExplanationNetworkInterface `pulumi:"networkInterfaces"` - PacketField *string `pulumi:"packetField"` - Port *int `pulumi:"port"` - PortRanges []NetworkInsightsAnalysisExplanationPortRange `pulumi:"portRanges"` - PrefixLists []NetworkInsightsAnalysisExplanationPrefixList `pulumi:"prefixLists"` - Protocols []string `pulumi:"protocols"` - RouteTableRoutes []NetworkInsightsAnalysisExplanationRouteTableRoute `pulumi:"routeTableRoutes"` - RouteTables []NetworkInsightsAnalysisExplanationRouteTable `pulumi:"routeTables"` - SecurityGroup []NetworkInsightsAnalysisExplanationSecurityGroup `pulumi:"securityGroup"` - SecurityGroupRules []NetworkInsightsAnalysisExplanationSecurityGroupRule `pulumi:"securityGroupRules"` - SecurityGroups []NetworkInsightsAnalysisExplanationSecurityGroup `pulumi:"securityGroups"` - SourceVpcs []NetworkInsightsAnalysisExplanationSourceVpc `pulumi:"sourceVpcs"` - State *string `pulumi:"state"` - SubnetRouteTables []NetworkInsightsAnalysisExplanationSubnetRouteTable `pulumi:"subnetRouteTables"` - Subnets []NetworkInsightsAnalysisExplanationSubnet `pulumi:"subnets"` - TransitGatewayAttachments []NetworkInsightsAnalysisExplanationTransitGatewayAttachment `pulumi:"transitGatewayAttachments"` - TransitGatewayRouteTableRoutes []NetworkInsightsAnalysisExplanationTransitGatewayRouteTableRoute `pulumi:"transitGatewayRouteTableRoutes"` - TransitGatewayRouteTables []NetworkInsightsAnalysisExplanationTransitGatewayRouteTable `pulumi:"transitGatewayRouteTables"` - TransitGateways []NetworkInsightsAnalysisExplanationTransitGateway `pulumi:"transitGateways"` - VpcEndpoints []NetworkInsightsAnalysisExplanationVpcEndpoint `pulumi:"vpcEndpoints"` - VpcPeeringConnections []NetworkInsightsAnalysisExplanationVpcPeeringConnection `pulumi:"vpcPeeringConnections"` - Vpcs []NetworkInsightsAnalysisExplanationVpc `pulumi:"vpcs"` - VpnConnections []NetworkInsightsAnalysisExplanationVpnConnection `pulumi:"vpnConnections"` - VpnGateways []NetworkInsightsAnalysisExplanationVpnGateway `pulumi:"vpnGateways"` +// Whether to enable ENA Express. ENA Express uses AWS Scalable Reliable Datagram (SRD) technology to improve the performance of TCP traffic. +func (o LaunchTemplateNetworkInterfaceEnaSrdSpecificationPtrOutput) EnaSrdEnabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *LaunchTemplateNetworkInterfaceEnaSrdSpecification) *bool { + if v == nil { + return nil + } + return v.EnaSrdEnabled + }).(pulumi.BoolPtrOutput) } -// NetworkInsightsAnalysisExplanationInput is an input type that accepts NetworkInsightsAnalysisExplanationArgs and NetworkInsightsAnalysisExplanationOutput values. -// You can construct a concrete instance of `NetworkInsightsAnalysisExplanationInput` via: +// Configuration for ENA Express UDP optimization. See details below. +func (o LaunchTemplateNetworkInterfaceEnaSrdSpecificationPtrOutput) EnaSrdUdpSpecification() LaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecificationPtrOutput { + return o.ApplyT(func(v *LaunchTemplateNetworkInterfaceEnaSrdSpecification) *LaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecification { + if v == nil { + return nil + } + return v.EnaSrdUdpSpecification + }).(LaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecificationPtrOutput) +} + +type LaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecification struct { + // Whether to enable UDP traffic optimization through ENA Express. Requires `enaSrdEnabled` to be `true`. + // + // NOTE: ENA Express requires [specific instance types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/enhanced-networking-ena-express.html#ena-express-requirements) and minimum bandwidth of 25 Gbps. + EnaSrdUdpEnabled *bool `pulumi:"enaSrdUdpEnabled"` +} + +// LaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecificationInput is an input type that accepts LaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecificationArgs and LaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecificationOutput values. +// You can construct a concrete instance of `LaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecificationInput` via: // -// NetworkInsightsAnalysisExplanationArgs{...} -type NetworkInsightsAnalysisExplanationInput interface { +// LaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecificationArgs{...} +type LaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecificationInput interface { pulumi.Input - ToNetworkInsightsAnalysisExplanationOutput() NetworkInsightsAnalysisExplanationOutput - ToNetworkInsightsAnalysisExplanationOutputWithContext(context.Context) NetworkInsightsAnalysisExplanationOutput + ToLaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecificationOutput() LaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecificationOutput + ToLaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecificationOutputWithContext(context.Context) LaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecificationOutput } -type NetworkInsightsAnalysisExplanationArgs struct { - AclRules NetworkInsightsAnalysisExplanationAclRuleArrayInput `pulumi:"aclRules"` - Acls NetworkInsightsAnalysisExplanationAclArrayInput `pulumi:"acls"` - Address pulumi.StringPtrInput `pulumi:"address"` - Addresses pulumi.StringArrayInput `pulumi:"addresses"` - AttachedTos NetworkInsightsAnalysisExplanationAttachedToArrayInput `pulumi:"attachedTos"` - AvailabilityZones pulumi.StringArrayInput `pulumi:"availabilityZones"` - Cidrs pulumi.StringArrayInput `pulumi:"cidrs"` - ClassicLoadBalancerListeners NetworkInsightsAnalysisExplanationClassicLoadBalancerListenerArrayInput `pulumi:"classicLoadBalancerListeners"` - Components NetworkInsightsAnalysisExplanationComponentArrayInput `pulumi:"components"` - CustomerGateways NetworkInsightsAnalysisExplanationCustomerGatewayArrayInput `pulumi:"customerGateways"` - DestinationVpcs NetworkInsightsAnalysisExplanationDestinationVpcArrayInput `pulumi:"destinationVpcs"` - Destinations NetworkInsightsAnalysisExplanationDestinationArrayInput `pulumi:"destinations"` - Direction pulumi.StringPtrInput `pulumi:"direction"` - ElasticLoadBalancerListeners NetworkInsightsAnalysisExplanationElasticLoadBalancerListenerArrayInput `pulumi:"elasticLoadBalancerListeners"` - ExplanationCode pulumi.StringPtrInput `pulumi:"explanationCode"` - IngressRouteTables NetworkInsightsAnalysisExplanationIngressRouteTableArrayInput `pulumi:"ingressRouteTables"` - InternetGateways NetworkInsightsAnalysisExplanationInternetGatewayArrayInput `pulumi:"internetGateways"` - LoadBalancerArn pulumi.StringPtrInput `pulumi:"loadBalancerArn"` - LoadBalancerListenerPort pulumi.IntPtrInput `pulumi:"loadBalancerListenerPort"` - LoadBalancerTargetGroup NetworkInsightsAnalysisExplanationLoadBalancerTargetGroupArrayInput `pulumi:"loadBalancerTargetGroup"` - LoadBalancerTargetGroups NetworkInsightsAnalysisExplanationLoadBalancerTargetGroupArrayInput `pulumi:"loadBalancerTargetGroups"` - LoadBalancerTargetPort pulumi.IntPtrInput `pulumi:"loadBalancerTargetPort"` - MissingComponent pulumi.StringPtrInput `pulumi:"missingComponent"` - NatGateways NetworkInsightsAnalysisExplanationNatGatewayArrayInput `pulumi:"natGateways"` - NetworkInterfaces NetworkInsightsAnalysisExplanationNetworkInterfaceArrayInput `pulumi:"networkInterfaces"` - PacketField pulumi.StringPtrInput `pulumi:"packetField"` - Port pulumi.IntPtrInput `pulumi:"port"` - PortRanges NetworkInsightsAnalysisExplanationPortRangeArrayInput `pulumi:"portRanges"` - PrefixLists NetworkInsightsAnalysisExplanationPrefixListArrayInput `pulumi:"prefixLists"` - Protocols pulumi.StringArrayInput `pulumi:"protocols"` - RouteTableRoutes NetworkInsightsAnalysisExplanationRouteTableRouteArrayInput `pulumi:"routeTableRoutes"` - RouteTables NetworkInsightsAnalysisExplanationRouteTableArrayInput `pulumi:"routeTables"` - SecurityGroup NetworkInsightsAnalysisExplanationSecurityGroupArrayInput `pulumi:"securityGroup"` - SecurityGroupRules NetworkInsightsAnalysisExplanationSecurityGroupRuleArrayInput `pulumi:"securityGroupRules"` - SecurityGroups NetworkInsightsAnalysisExplanationSecurityGroupArrayInput `pulumi:"securityGroups"` - SourceVpcs NetworkInsightsAnalysisExplanationSourceVpcArrayInput `pulumi:"sourceVpcs"` - State pulumi.StringPtrInput `pulumi:"state"` - SubnetRouteTables NetworkInsightsAnalysisExplanationSubnetRouteTableArrayInput `pulumi:"subnetRouteTables"` - Subnets NetworkInsightsAnalysisExplanationSubnetArrayInput `pulumi:"subnets"` - TransitGatewayAttachments NetworkInsightsAnalysisExplanationTransitGatewayAttachmentArrayInput `pulumi:"transitGatewayAttachments"` - TransitGatewayRouteTableRoutes NetworkInsightsAnalysisExplanationTransitGatewayRouteTableRouteArrayInput `pulumi:"transitGatewayRouteTableRoutes"` - TransitGatewayRouteTables NetworkInsightsAnalysisExplanationTransitGatewayRouteTableArrayInput `pulumi:"transitGatewayRouteTables"` - TransitGateways NetworkInsightsAnalysisExplanationTransitGatewayArrayInput `pulumi:"transitGateways"` - VpcEndpoints NetworkInsightsAnalysisExplanationVpcEndpointArrayInput `pulumi:"vpcEndpoints"` - VpcPeeringConnections NetworkInsightsAnalysisExplanationVpcPeeringConnectionArrayInput `pulumi:"vpcPeeringConnections"` - Vpcs NetworkInsightsAnalysisExplanationVpcArrayInput `pulumi:"vpcs"` - VpnConnections NetworkInsightsAnalysisExplanationVpnConnectionArrayInput `pulumi:"vpnConnections"` - VpnGateways NetworkInsightsAnalysisExplanationVpnGatewayArrayInput `pulumi:"vpnGateways"` +type LaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecificationArgs struct { + // Whether to enable UDP traffic optimization through ENA Express. Requires `enaSrdEnabled` to be `true`. + // + // NOTE: ENA Express requires [specific instance types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/enhanced-networking-ena-express.html#ena-express-requirements) and minimum bandwidth of 25 Gbps. + EnaSrdUdpEnabled pulumi.BoolPtrInput `pulumi:"enaSrdUdpEnabled"` } -func (NetworkInsightsAnalysisExplanationArgs) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkInsightsAnalysisExplanation)(nil)).Elem() +func (LaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecificationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecification)(nil)).Elem() } -func (i NetworkInsightsAnalysisExplanationArgs) ToNetworkInsightsAnalysisExplanationOutput() NetworkInsightsAnalysisExplanationOutput { - return i.ToNetworkInsightsAnalysisExplanationOutputWithContext(context.Background()) +func (i LaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecificationArgs) ToLaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecificationOutput() LaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecificationOutput { + return i.ToLaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecificationOutputWithContext(context.Background()) } -func (i NetworkInsightsAnalysisExplanationArgs) ToNetworkInsightsAnalysisExplanationOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisExplanationOutput) +func (i LaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecificationArgs) ToLaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecificationOutputWithContext(ctx context.Context) LaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecificationOutput { + return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecificationOutput) } -// NetworkInsightsAnalysisExplanationArrayInput is an input type that accepts NetworkInsightsAnalysisExplanationArray and NetworkInsightsAnalysisExplanationArrayOutput values. -// You can construct a concrete instance of `NetworkInsightsAnalysisExplanationArrayInput` via: -// -// NetworkInsightsAnalysisExplanationArray{ NetworkInsightsAnalysisExplanationArgs{...} } -type NetworkInsightsAnalysisExplanationArrayInput interface { - pulumi.Input +func (i LaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecificationArgs) ToLaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecificationPtrOutput() LaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecificationPtrOutput { + return i.ToLaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecificationPtrOutputWithContext(context.Background()) +} - ToNetworkInsightsAnalysisExplanationArrayOutput() NetworkInsightsAnalysisExplanationArrayOutput - ToNetworkInsightsAnalysisExplanationArrayOutputWithContext(context.Context) NetworkInsightsAnalysisExplanationArrayOutput +func (i LaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecificationArgs) ToLaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecificationPtrOutputWithContext(ctx context.Context) LaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecificationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecificationOutput).ToLaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecificationPtrOutputWithContext(ctx) } -type NetworkInsightsAnalysisExplanationArray []NetworkInsightsAnalysisExplanationInput +// LaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecificationPtrInput is an input type that accepts LaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecificationArgs, LaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecificationPtr and LaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecificationPtrOutput values. +// You can construct a concrete instance of `LaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecificationPtrInput` via: +// +// LaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecificationArgs{...} +// +// or: +// +// nil +type LaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecificationPtrInput interface { + pulumi.Input -func (NetworkInsightsAnalysisExplanationArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]NetworkInsightsAnalysisExplanation)(nil)).Elem() + ToLaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecificationPtrOutput() LaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecificationPtrOutput + ToLaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecificationPtrOutputWithContext(context.Context) LaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecificationPtrOutput } -func (i NetworkInsightsAnalysisExplanationArray) ToNetworkInsightsAnalysisExplanationArrayOutput() NetworkInsightsAnalysisExplanationArrayOutput { - return i.ToNetworkInsightsAnalysisExplanationArrayOutputWithContext(context.Background()) +type launchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecificationPtrType LaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecificationArgs + +func LaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecificationPtr(v *LaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecificationArgs) LaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecificationPtrInput { + return (*launchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecificationPtrType)(v) } -func (i NetworkInsightsAnalysisExplanationArray) ToNetworkInsightsAnalysisExplanationArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisExplanationArrayOutput) +func (*launchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecificationPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**LaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecification)(nil)).Elem() } -type NetworkInsightsAnalysisExplanationOutput struct{ *pulumi.OutputState } +func (i *launchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecificationPtrType) ToLaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecificationPtrOutput() LaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecificationPtrOutput { + return i.ToLaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecificationPtrOutputWithContext(context.Background()) +} -func (NetworkInsightsAnalysisExplanationOutput) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkInsightsAnalysisExplanation)(nil)).Elem() +func (i *launchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecificationPtrType) ToLaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecificationPtrOutputWithContext(ctx context.Context) LaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecificationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecificationPtrOutput) } -func (o NetworkInsightsAnalysisExplanationOutput) ToNetworkInsightsAnalysisExplanationOutput() NetworkInsightsAnalysisExplanationOutput { - return o +type LaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecificationOutput struct{ *pulumi.OutputState } + +func (LaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecificationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecification)(nil)).Elem() } -func (o NetworkInsightsAnalysisExplanationOutput) ToNetworkInsightsAnalysisExplanationOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationOutput { +func (o LaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecificationOutput) ToLaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecificationOutput() LaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecificationOutput { return o } -func (o NetworkInsightsAnalysisExplanationOutput) AclRules() NetworkInsightsAnalysisExplanationAclRuleArrayOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisExplanation) []NetworkInsightsAnalysisExplanationAclRule { - return v.AclRules - }).(NetworkInsightsAnalysisExplanationAclRuleArrayOutput) +func (o LaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecificationOutput) ToLaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecificationOutputWithContext(ctx context.Context) LaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecificationOutput { + return o } -func (o NetworkInsightsAnalysisExplanationOutput) Acls() NetworkInsightsAnalysisExplanationAclArrayOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisExplanation) []NetworkInsightsAnalysisExplanationAcl { return v.Acls }).(NetworkInsightsAnalysisExplanationAclArrayOutput) +func (o LaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecificationOutput) ToLaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecificationPtrOutput() LaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecificationPtrOutput { + return o.ToLaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecificationPtrOutputWithContext(context.Background()) } -func (o NetworkInsightsAnalysisExplanationOutput) Address() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisExplanation) *string { return v.Address }).(pulumi.StringPtrOutput) +func (o LaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecificationOutput) ToLaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecificationPtrOutputWithContext(ctx context.Context) LaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecificationPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v LaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecification) *LaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecification { + return &v + }).(LaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecificationPtrOutput) } -func (o NetworkInsightsAnalysisExplanationOutput) Addresses() pulumi.StringArrayOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisExplanation) []string { return v.Addresses }).(pulumi.StringArrayOutput) +// Whether to enable UDP traffic optimization through ENA Express. Requires `enaSrdEnabled` to be `true`. +// +// NOTE: ENA Express requires [specific instance types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/enhanced-networking-ena-express.html#ena-express-requirements) and minimum bandwidth of 25 Gbps. +func (o LaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecificationOutput) EnaSrdUdpEnabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v LaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecification) *bool { + return v.EnaSrdUdpEnabled + }).(pulumi.BoolPtrOutput) } -func (o NetworkInsightsAnalysisExplanationOutput) AttachedTos() NetworkInsightsAnalysisExplanationAttachedToArrayOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisExplanation) []NetworkInsightsAnalysisExplanationAttachedTo { - return v.AttachedTos - }).(NetworkInsightsAnalysisExplanationAttachedToArrayOutput) -} +type LaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecificationPtrOutput struct{ *pulumi.OutputState } -func (o NetworkInsightsAnalysisExplanationOutput) AvailabilityZones() pulumi.StringArrayOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisExplanation) []string { return v.AvailabilityZones }).(pulumi.StringArrayOutput) +func (LaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecificationPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**LaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecification)(nil)).Elem() } -func (o NetworkInsightsAnalysisExplanationOutput) Cidrs() pulumi.StringArrayOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisExplanation) []string { return v.Cidrs }).(pulumi.StringArrayOutput) +func (o LaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecificationPtrOutput) ToLaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecificationPtrOutput() LaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecificationPtrOutput { + return o } -func (o NetworkInsightsAnalysisExplanationOutput) ClassicLoadBalancerListeners() NetworkInsightsAnalysisExplanationClassicLoadBalancerListenerArrayOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisExplanation) []NetworkInsightsAnalysisExplanationClassicLoadBalancerListener { - return v.ClassicLoadBalancerListeners - }).(NetworkInsightsAnalysisExplanationClassicLoadBalancerListenerArrayOutput) +func (o LaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecificationPtrOutput) ToLaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecificationPtrOutputWithContext(ctx context.Context) LaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecificationPtrOutput { + return o } -func (o NetworkInsightsAnalysisExplanationOutput) Components() NetworkInsightsAnalysisExplanationComponentArrayOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisExplanation) []NetworkInsightsAnalysisExplanationComponent { - return v.Components - }).(NetworkInsightsAnalysisExplanationComponentArrayOutput) +func (o LaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecificationPtrOutput) Elem() LaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecificationOutput { + return o.ApplyT(func(v *LaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecification) LaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecification { + if v != nil { + return *v + } + var ret LaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecification + return ret + }).(LaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecificationOutput) } -func (o NetworkInsightsAnalysisExplanationOutput) CustomerGateways() NetworkInsightsAnalysisExplanationCustomerGatewayArrayOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisExplanation) []NetworkInsightsAnalysisExplanationCustomerGateway { - return v.CustomerGateways - }).(NetworkInsightsAnalysisExplanationCustomerGatewayArrayOutput) +// Whether to enable UDP traffic optimization through ENA Express. Requires `enaSrdEnabled` to be `true`. +// +// NOTE: ENA Express requires [specific instance types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/enhanced-networking-ena-express.html#ena-express-requirements) and minimum bandwidth of 25 Gbps. +func (o LaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecificationPtrOutput) EnaSrdUdpEnabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *LaunchTemplateNetworkInterfaceEnaSrdSpecificationEnaSrdUdpSpecification) *bool { + if v == nil { + return nil + } + return v.EnaSrdUdpEnabled + }).(pulumi.BoolPtrOutput) } -func (o NetworkInsightsAnalysisExplanationOutput) DestinationVpcs() NetworkInsightsAnalysisExplanationDestinationVpcArrayOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisExplanation) []NetworkInsightsAnalysisExplanationDestinationVpc { - return v.DestinationVpcs - }).(NetworkInsightsAnalysisExplanationDestinationVpcArrayOutput) +type LaunchTemplatePlacement struct { + // The affinity setting for an instance on a Dedicated Host. + Affinity *string `pulumi:"affinity"` + // The Availability Zone for the instance. + AvailabilityZone *string `pulumi:"availabilityZone"` + // The ID of the placement group for the instance. Conflicts with `groupName`. + GroupId *string `pulumi:"groupId"` + // The name of the placement group for the instance. Conflicts with `groupId`. + GroupName *string `pulumi:"groupName"` + // The ID of the Dedicated Host for the instance. + HostId *string `pulumi:"hostId"` + // The ARN of the Host Resource Group in which to launch instances. + HostResourceGroupArn *string `pulumi:"hostResourceGroupArn"` + // The number of the partition the instance should launch in. Valid only if the placement group strategy is set to partition. + PartitionNumber *int `pulumi:"partitionNumber"` + // Reserved for future use. + SpreadDomain *string `pulumi:"spreadDomain"` + // The tenancy of the instance (if the instance is running in a VPC). Can be `default`, `dedicated`, or `host`. + Tenancy *string `pulumi:"tenancy"` } -func (o NetworkInsightsAnalysisExplanationOutput) Destinations() NetworkInsightsAnalysisExplanationDestinationArrayOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisExplanation) []NetworkInsightsAnalysisExplanationDestination { - return v.Destinations - }).(NetworkInsightsAnalysisExplanationDestinationArrayOutput) -} +// LaunchTemplatePlacementInput is an input type that accepts LaunchTemplatePlacementArgs and LaunchTemplatePlacementOutput values. +// You can construct a concrete instance of `LaunchTemplatePlacementInput` via: +// +// LaunchTemplatePlacementArgs{...} +type LaunchTemplatePlacementInput interface { + pulumi.Input -func (o NetworkInsightsAnalysisExplanationOutput) Direction() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisExplanation) *string { return v.Direction }).(pulumi.StringPtrOutput) + ToLaunchTemplatePlacementOutput() LaunchTemplatePlacementOutput + ToLaunchTemplatePlacementOutputWithContext(context.Context) LaunchTemplatePlacementOutput } -func (o NetworkInsightsAnalysisExplanationOutput) ElasticLoadBalancerListeners() NetworkInsightsAnalysisExplanationElasticLoadBalancerListenerArrayOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisExplanation) []NetworkInsightsAnalysisExplanationElasticLoadBalancerListener { - return v.ElasticLoadBalancerListeners - }).(NetworkInsightsAnalysisExplanationElasticLoadBalancerListenerArrayOutput) +type LaunchTemplatePlacementArgs struct { + // The affinity setting for an instance on a Dedicated Host. + Affinity pulumi.StringPtrInput `pulumi:"affinity"` + // The Availability Zone for the instance. + AvailabilityZone pulumi.StringPtrInput `pulumi:"availabilityZone"` + // The ID of the placement group for the instance. Conflicts with `groupName`. + GroupId pulumi.StringPtrInput `pulumi:"groupId"` + // The name of the placement group for the instance. Conflicts with `groupId`. + GroupName pulumi.StringPtrInput `pulumi:"groupName"` + // The ID of the Dedicated Host for the instance. + HostId pulumi.StringPtrInput `pulumi:"hostId"` + // The ARN of the Host Resource Group in which to launch instances. + HostResourceGroupArn pulumi.StringPtrInput `pulumi:"hostResourceGroupArn"` + // The number of the partition the instance should launch in. Valid only if the placement group strategy is set to partition. + PartitionNumber pulumi.IntPtrInput `pulumi:"partitionNumber"` + // Reserved for future use. + SpreadDomain pulumi.StringPtrInput `pulumi:"spreadDomain"` + // The tenancy of the instance (if the instance is running in a VPC). Can be `default`, `dedicated`, or `host`. + Tenancy pulumi.StringPtrInput `pulumi:"tenancy"` } -func (o NetworkInsightsAnalysisExplanationOutput) ExplanationCode() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisExplanation) *string { return v.ExplanationCode }).(pulumi.StringPtrOutput) +func (LaunchTemplatePlacementArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LaunchTemplatePlacement)(nil)).Elem() } -func (o NetworkInsightsAnalysisExplanationOutput) IngressRouteTables() NetworkInsightsAnalysisExplanationIngressRouteTableArrayOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisExplanation) []NetworkInsightsAnalysisExplanationIngressRouteTable { - return v.IngressRouteTables - }).(NetworkInsightsAnalysisExplanationIngressRouteTableArrayOutput) +func (i LaunchTemplatePlacementArgs) ToLaunchTemplatePlacementOutput() LaunchTemplatePlacementOutput { + return i.ToLaunchTemplatePlacementOutputWithContext(context.Background()) } -func (o NetworkInsightsAnalysisExplanationOutput) InternetGateways() NetworkInsightsAnalysisExplanationInternetGatewayArrayOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisExplanation) []NetworkInsightsAnalysisExplanationInternetGateway { - return v.InternetGateways - }).(NetworkInsightsAnalysisExplanationInternetGatewayArrayOutput) +func (i LaunchTemplatePlacementArgs) ToLaunchTemplatePlacementOutputWithContext(ctx context.Context) LaunchTemplatePlacementOutput { + return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplatePlacementOutput) } -func (o NetworkInsightsAnalysisExplanationOutput) LoadBalancerArn() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisExplanation) *string { return v.LoadBalancerArn }).(pulumi.StringPtrOutput) +func (i LaunchTemplatePlacementArgs) ToLaunchTemplatePlacementPtrOutput() LaunchTemplatePlacementPtrOutput { + return i.ToLaunchTemplatePlacementPtrOutputWithContext(context.Background()) } -func (o NetworkInsightsAnalysisExplanationOutput) LoadBalancerListenerPort() pulumi.IntPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisExplanation) *int { return v.LoadBalancerListenerPort }).(pulumi.IntPtrOutput) +func (i LaunchTemplatePlacementArgs) ToLaunchTemplatePlacementPtrOutputWithContext(ctx context.Context) LaunchTemplatePlacementPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplatePlacementOutput).ToLaunchTemplatePlacementPtrOutputWithContext(ctx) } -func (o NetworkInsightsAnalysisExplanationOutput) LoadBalancerTargetGroup() NetworkInsightsAnalysisExplanationLoadBalancerTargetGroupArrayOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisExplanation) []NetworkInsightsAnalysisExplanationLoadBalancerTargetGroup { - return v.LoadBalancerTargetGroup - }).(NetworkInsightsAnalysisExplanationLoadBalancerTargetGroupArrayOutput) -} +// LaunchTemplatePlacementPtrInput is an input type that accepts LaunchTemplatePlacementArgs, LaunchTemplatePlacementPtr and LaunchTemplatePlacementPtrOutput values. +// You can construct a concrete instance of `LaunchTemplatePlacementPtrInput` via: +// +// LaunchTemplatePlacementArgs{...} +// +// or: +// +// nil +type LaunchTemplatePlacementPtrInput interface { + pulumi.Input -func (o NetworkInsightsAnalysisExplanationOutput) LoadBalancerTargetGroups() NetworkInsightsAnalysisExplanationLoadBalancerTargetGroupArrayOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisExplanation) []NetworkInsightsAnalysisExplanationLoadBalancerTargetGroup { - return v.LoadBalancerTargetGroups - }).(NetworkInsightsAnalysisExplanationLoadBalancerTargetGroupArrayOutput) + ToLaunchTemplatePlacementPtrOutput() LaunchTemplatePlacementPtrOutput + ToLaunchTemplatePlacementPtrOutputWithContext(context.Context) LaunchTemplatePlacementPtrOutput } -func (o NetworkInsightsAnalysisExplanationOutput) LoadBalancerTargetPort() pulumi.IntPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisExplanation) *int { return v.LoadBalancerTargetPort }).(pulumi.IntPtrOutput) -} +type launchTemplatePlacementPtrType LaunchTemplatePlacementArgs -func (o NetworkInsightsAnalysisExplanationOutput) MissingComponent() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisExplanation) *string { return v.MissingComponent }).(pulumi.StringPtrOutput) +func LaunchTemplatePlacementPtr(v *LaunchTemplatePlacementArgs) LaunchTemplatePlacementPtrInput { + return (*launchTemplatePlacementPtrType)(v) } -func (o NetworkInsightsAnalysisExplanationOutput) NatGateways() NetworkInsightsAnalysisExplanationNatGatewayArrayOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisExplanation) []NetworkInsightsAnalysisExplanationNatGateway { - return v.NatGateways - }).(NetworkInsightsAnalysisExplanationNatGatewayArrayOutput) +func (*launchTemplatePlacementPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**LaunchTemplatePlacement)(nil)).Elem() } -func (o NetworkInsightsAnalysisExplanationOutput) NetworkInterfaces() NetworkInsightsAnalysisExplanationNetworkInterfaceArrayOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisExplanation) []NetworkInsightsAnalysisExplanationNetworkInterface { - return v.NetworkInterfaces - }).(NetworkInsightsAnalysisExplanationNetworkInterfaceArrayOutput) +func (i *launchTemplatePlacementPtrType) ToLaunchTemplatePlacementPtrOutput() LaunchTemplatePlacementPtrOutput { + return i.ToLaunchTemplatePlacementPtrOutputWithContext(context.Background()) } -func (o NetworkInsightsAnalysisExplanationOutput) PacketField() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisExplanation) *string { return v.PacketField }).(pulumi.StringPtrOutput) +func (i *launchTemplatePlacementPtrType) ToLaunchTemplatePlacementPtrOutputWithContext(ctx context.Context) LaunchTemplatePlacementPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplatePlacementPtrOutput) } -func (o NetworkInsightsAnalysisExplanationOutput) Port() pulumi.IntPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisExplanation) *int { return v.Port }).(pulumi.IntPtrOutput) +type LaunchTemplatePlacementOutput struct{ *pulumi.OutputState } + +func (LaunchTemplatePlacementOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LaunchTemplatePlacement)(nil)).Elem() } -func (o NetworkInsightsAnalysisExplanationOutput) PortRanges() NetworkInsightsAnalysisExplanationPortRangeArrayOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisExplanation) []NetworkInsightsAnalysisExplanationPortRange { - return v.PortRanges - }).(NetworkInsightsAnalysisExplanationPortRangeArrayOutput) +func (o LaunchTemplatePlacementOutput) ToLaunchTemplatePlacementOutput() LaunchTemplatePlacementOutput { + return o } -func (o NetworkInsightsAnalysisExplanationOutput) PrefixLists() NetworkInsightsAnalysisExplanationPrefixListArrayOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisExplanation) []NetworkInsightsAnalysisExplanationPrefixList { - return v.PrefixLists - }).(NetworkInsightsAnalysisExplanationPrefixListArrayOutput) +func (o LaunchTemplatePlacementOutput) ToLaunchTemplatePlacementOutputWithContext(ctx context.Context) LaunchTemplatePlacementOutput { + return o } -func (o NetworkInsightsAnalysisExplanationOutput) Protocols() pulumi.StringArrayOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisExplanation) []string { return v.Protocols }).(pulumi.StringArrayOutput) +func (o LaunchTemplatePlacementOutput) ToLaunchTemplatePlacementPtrOutput() LaunchTemplatePlacementPtrOutput { + return o.ToLaunchTemplatePlacementPtrOutputWithContext(context.Background()) } -func (o NetworkInsightsAnalysisExplanationOutput) RouteTableRoutes() NetworkInsightsAnalysisExplanationRouteTableRouteArrayOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisExplanation) []NetworkInsightsAnalysisExplanationRouteTableRoute { - return v.RouteTableRoutes - }).(NetworkInsightsAnalysisExplanationRouteTableRouteArrayOutput) +func (o LaunchTemplatePlacementOutput) ToLaunchTemplatePlacementPtrOutputWithContext(ctx context.Context) LaunchTemplatePlacementPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v LaunchTemplatePlacement) *LaunchTemplatePlacement { + return &v + }).(LaunchTemplatePlacementPtrOutput) } -func (o NetworkInsightsAnalysisExplanationOutput) RouteTables() NetworkInsightsAnalysisExplanationRouteTableArrayOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisExplanation) []NetworkInsightsAnalysisExplanationRouteTable { - return v.RouteTables - }).(NetworkInsightsAnalysisExplanationRouteTableArrayOutput) +// The affinity setting for an instance on a Dedicated Host. +func (o LaunchTemplatePlacementOutput) Affinity() pulumi.StringPtrOutput { + return o.ApplyT(func(v LaunchTemplatePlacement) *string { return v.Affinity }).(pulumi.StringPtrOutput) } -func (o NetworkInsightsAnalysisExplanationOutput) SecurityGroup() NetworkInsightsAnalysisExplanationSecurityGroupArrayOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisExplanation) []NetworkInsightsAnalysisExplanationSecurityGroup { - return v.SecurityGroup - }).(NetworkInsightsAnalysisExplanationSecurityGroupArrayOutput) +// The Availability Zone for the instance. +func (o LaunchTemplatePlacementOutput) AvailabilityZone() pulumi.StringPtrOutput { + return o.ApplyT(func(v LaunchTemplatePlacement) *string { return v.AvailabilityZone }).(pulumi.StringPtrOutput) } -func (o NetworkInsightsAnalysisExplanationOutput) SecurityGroupRules() NetworkInsightsAnalysisExplanationSecurityGroupRuleArrayOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisExplanation) []NetworkInsightsAnalysisExplanationSecurityGroupRule { - return v.SecurityGroupRules - }).(NetworkInsightsAnalysisExplanationSecurityGroupRuleArrayOutput) +// The ID of the placement group for the instance. Conflicts with `groupName`. +func (o LaunchTemplatePlacementOutput) GroupId() pulumi.StringPtrOutput { + return o.ApplyT(func(v LaunchTemplatePlacement) *string { return v.GroupId }).(pulumi.StringPtrOutput) } -func (o NetworkInsightsAnalysisExplanationOutput) SecurityGroups() NetworkInsightsAnalysisExplanationSecurityGroupArrayOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisExplanation) []NetworkInsightsAnalysisExplanationSecurityGroup { - return v.SecurityGroups - }).(NetworkInsightsAnalysisExplanationSecurityGroupArrayOutput) +// The name of the placement group for the instance. Conflicts with `groupId`. +func (o LaunchTemplatePlacementOutput) GroupName() pulumi.StringPtrOutput { + return o.ApplyT(func(v LaunchTemplatePlacement) *string { return v.GroupName }).(pulumi.StringPtrOutput) } -func (o NetworkInsightsAnalysisExplanationOutput) SourceVpcs() NetworkInsightsAnalysisExplanationSourceVpcArrayOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisExplanation) []NetworkInsightsAnalysisExplanationSourceVpc { - return v.SourceVpcs - }).(NetworkInsightsAnalysisExplanationSourceVpcArrayOutput) +// The ID of the Dedicated Host for the instance. +func (o LaunchTemplatePlacementOutput) HostId() pulumi.StringPtrOutput { + return o.ApplyT(func(v LaunchTemplatePlacement) *string { return v.HostId }).(pulumi.StringPtrOutput) } -func (o NetworkInsightsAnalysisExplanationOutput) State() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisExplanation) *string { return v.State }).(pulumi.StringPtrOutput) +// The ARN of the Host Resource Group in which to launch instances. +func (o LaunchTemplatePlacementOutput) HostResourceGroupArn() pulumi.StringPtrOutput { + return o.ApplyT(func(v LaunchTemplatePlacement) *string { return v.HostResourceGroupArn }).(pulumi.StringPtrOutput) } -func (o NetworkInsightsAnalysisExplanationOutput) SubnetRouteTables() NetworkInsightsAnalysisExplanationSubnetRouteTableArrayOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisExplanation) []NetworkInsightsAnalysisExplanationSubnetRouteTable { - return v.SubnetRouteTables - }).(NetworkInsightsAnalysisExplanationSubnetRouteTableArrayOutput) +// The number of the partition the instance should launch in. Valid only if the placement group strategy is set to partition. +func (o LaunchTemplatePlacementOutput) PartitionNumber() pulumi.IntPtrOutput { + return o.ApplyT(func(v LaunchTemplatePlacement) *int { return v.PartitionNumber }).(pulumi.IntPtrOutput) } -func (o NetworkInsightsAnalysisExplanationOutput) Subnets() NetworkInsightsAnalysisExplanationSubnetArrayOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisExplanation) []NetworkInsightsAnalysisExplanationSubnet { - return v.Subnets - }).(NetworkInsightsAnalysisExplanationSubnetArrayOutput) +// Reserved for future use. +func (o LaunchTemplatePlacementOutput) SpreadDomain() pulumi.StringPtrOutput { + return o.ApplyT(func(v LaunchTemplatePlacement) *string { return v.SpreadDomain }).(pulumi.StringPtrOutput) } -func (o NetworkInsightsAnalysisExplanationOutput) TransitGatewayAttachments() NetworkInsightsAnalysisExplanationTransitGatewayAttachmentArrayOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisExplanation) []NetworkInsightsAnalysisExplanationTransitGatewayAttachment { - return v.TransitGatewayAttachments - }).(NetworkInsightsAnalysisExplanationTransitGatewayAttachmentArrayOutput) +// The tenancy of the instance (if the instance is running in a VPC). Can be `default`, `dedicated`, or `host`. +func (o LaunchTemplatePlacementOutput) Tenancy() pulumi.StringPtrOutput { + return o.ApplyT(func(v LaunchTemplatePlacement) *string { return v.Tenancy }).(pulumi.StringPtrOutput) } -func (o NetworkInsightsAnalysisExplanationOutput) TransitGatewayRouteTableRoutes() NetworkInsightsAnalysisExplanationTransitGatewayRouteTableRouteArrayOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisExplanation) []NetworkInsightsAnalysisExplanationTransitGatewayRouteTableRoute { - return v.TransitGatewayRouteTableRoutes - }).(NetworkInsightsAnalysisExplanationTransitGatewayRouteTableRouteArrayOutput) +type LaunchTemplatePlacementPtrOutput struct{ *pulumi.OutputState } + +func (LaunchTemplatePlacementPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**LaunchTemplatePlacement)(nil)).Elem() } -func (o NetworkInsightsAnalysisExplanationOutput) TransitGatewayRouteTables() NetworkInsightsAnalysisExplanationTransitGatewayRouteTableArrayOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisExplanation) []NetworkInsightsAnalysisExplanationTransitGatewayRouteTable { - return v.TransitGatewayRouteTables - }).(NetworkInsightsAnalysisExplanationTransitGatewayRouteTableArrayOutput) +func (o LaunchTemplatePlacementPtrOutput) ToLaunchTemplatePlacementPtrOutput() LaunchTemplatePlacementPtrOutput { + return o } -func (o NetworkInsightsAnalysisExplanationOutput) TransitGateways() NetworkInsightsAnalysisExplanationTransitGatewayArrayOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisExplanation) []NetworkInsightsAnalysisExplanationTransitGateway { - return v.TransitGateways - }).(NetworkInsightsAnalysisExplanationTransitGatewayArrayOutput) +func (o LaunchTemplatePlacementPtrOutput) ToLaunchTemplatePlacementPtrOutputWithContext(ctx context.Context) LaunchTemplatePlacementPtrOutput { + return o } -func (o NetworkInsightsAnalysisExplanationOutput) VpcEndpoints() NetworkInsightsAnalysisExplanationVpcEndpointArrayOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisExplanation) []NetworkInsightsAnalysisExplanationVpcEndpoint { - return v.VpcEndpoints - }).(NetworkInsightsAnalysisExplanationVpcEndpointArrayOutput) +func (o LaunchTemplatePlacementPtrOutput) Elem() LaunchTemplatePlacementOutput { + return o.ApplyT(func(v *LaunchTemplatePlacement) LaunchTemplatePlacement { + if v != nil { + return *v + } + var ret LaunchTemplatePlacement + return ret + }).(LaunchTemplatePlacementOutput) } -func (o NetworkInsightsAnalysisExplanationOutput) VpcPeeringConnections() NetworkInsightsAnalysisExplanationVpcPeeringConnectionArrayOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisExplanation) []NetworkInsightsAnalysisExplanationVpcPeeringConnection { - return v.VpcPeeringConnections - }).(NetworkInsightsAnalysisExplanationVpcPeeringConnectionArrayOutput) +// The affinity setting for an instance on a Dedicated Host. +func (o LaunchTemplatePlacementPtrOutput) Affinity() pulumi.StringPtrOutput { + return o.ApplyT(func(v *LaunchTemplatePlacement) *string { + if v == nil { + return nil + } + return v.Affinity + }).(pulumi.StringPtrOutput) } -func (o NetworkInsightsAnalysisExplanationOutput) Vpcs() NetworkInsightsAnalysisExplanationVpcArrayOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisExplanation) []NetworkInsightsAnalysisExplanationVpc { return v.Vpcs }).(NetworkInsightsAnalysisExplanationVpcArrayOutput) +// The Availability Zone for the instance. +func (o LaunchTemplatePlacementPtrOutput) AvailabilityZone() pulumi.StringPtrOutput { + return o.ApplyT(func(v *LaunchTemplatePlacement) *string { + if v == nil { + return nil + } + return v.AvailabilityZone + }).(pulumi.StringPtrOutput) } -func (o NetworkInsightsAnalysisExplanationOutput) VpnConnections() NetworkInsightsAnalysisExplanationVpnConnectionArrayOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisExplanation) []NetworkInsightsAnalysisExplanationVpnConnection { - return v.VpnConnections - }).(NetworkInsightsAnalysisExplanationVpnConnectionArrayOutput) +// The ID of the placement group for the instance. Conflicts with `groupName`. +func (o LaunchTemplatePlacementPtrOutput) GroupId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *LaunchTemplatePlacement) *string { + if v == nil { + return nil + } + return v.GroupId + }).(pulumi.StringPtrOutput) } -func (o NetworkInsightsAnalysisExplanationOutput) VpnGateways() NetworkInsightsAnalysisExplanationVpnGatewayArrayOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisExplanation) []NetworkInsightsAnalysisExplanationVpnGateway { - return v.VpnGateways - }).(NetworkInsightsAnalysisExplanationVpnGatewayArrayOutput) +// The name of the placement group for the instance. Conflicts with `groupId`. +func (o LaunchTemplatePlacementPtrOutput) GroupName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *LaunchTemplatePlacement) *string { + if v == nil { + return nil + } + return v.GroupName + }).(pulumi.StringPtrOutput) } -type NetworkInsightsAnalysisExplanationArrayOutput struct{ *pulumi.OutputState } +// The ID of the Dedicated Host for the instance. +func (o LaunchTemplatePlacementPtrOutput) HostId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *LaunchTemplatePlacement) *string { + if v == nil { + return nil + } + return v.HostId + }).(pulumi.StringPtrOutput) +} -func (NetworkInsightsAnalysisExplanationArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]NetworkInsightsAnalysisExplanation)(nil)).Elem() +// The ARN of the Host Resource Group in which to launch instances. +func (o LaunchTemplatePlacementPtrOutput) HostResourceGroupArn() pulumi.StringPtrOutput { + return o.ApplyT(func(v *LaunchTemplatePlacement) *string { + if v == nil { + return nil + } + return v.HostResourceGroupArn + }).(pulumi.StringPtrOutput) } -func (o NetworkInsightsAnalysisExplanationArrayOutput) ToNetworkInsightsAnalysisExplanationArrayOutput() NetworkInsightsAnalysisExplanationArrayOutput { - return o +// The number of the partition the instance should launch in. Valid only if the placement group strategy is set to partition. +func (o LaunchTemplatePlacementPtrOutput) PartitionNumber() pulumi.IntPtrOutput { + return o.ApplyT(func(v *LaunchTemplatePlacement) *int { + if v == nil { + return nil + } + return v.PartitionNumber + }).(pulumi.IntPtrOutput) } -func (o NetworkInsightsAnalysisExplanationArrayOutput) ToNetworkInsightsAnalysisExplanationArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationArrayOutput { - return o +// Reserved for future use. +func (o LaunchTemplatePlacementPtrOutput) SpreadDomain() pulumi.StringPtrOutput { + return o.ApplyT(func(v *LaunchTemplatePlacement) *string { + if v == nil { + return nil + } + return v.SpreadDomain + }).(pulumi.StringPtrOutput) } -func (o NetworkInsightsAnalysisExplanationArrayOutput) Index(i pulumi.IntInput) NetworkInsightsAnalysisExplanationOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkInsightsAnalysisExplanation { - return vs[0].([]NetworkInsightsAnalysisExplanation)[vs[1].(int)] - }).(NetworkInsightsAnalysisExplanationOutput) +// The tenancy of the instance (if the instance is running in a VPC). Can be `default`, `dedicated`, or `host`. +func (o LaunchTemplatePlacementPtrOutput) Tenancy() pulumi.StringPtrOutput { + return o.ApplyT(func(v *LaunchTemplatePlacement) *string { + if v == nil { + return nil + } + return v.Tenancy + }).(pulumi.StringPtrOutput) } -type NetworkInsightsAnalysisExplanationAcl struct { - // ARN of the Network Insights Analysis. - Arn *string `pulumi:"arn"` - // ID of the Network Insights Analysis. - Id *string `pulumi:"id"` - Name *string `pulumi:"name"` +type LaunchTemplatePrivateDnsNameOptions struct { + // Indicates whether to respond to DNS queries for instance hostnames with DNS A records. + EnableResourceNameDnsARecord *bool `pulumi:"enableResourceNameDnsARecord"` + // Indicates whether to respond to DNS queries for instance hostnames with DNS AAAA records. + EnableResourceNameDnsAaaaRecord *bool `pulumi:"enableResourceNameDnsAaaaRecord"` + // The type of hostname for Amazon EC2 instances. For IPv4 only subnets, an instance DNS name must be based on the instance IPv4 address. For IPv6 native subnets, an instance DNS name must be based on the instance ID. For dual-stack subnets, you can specify whether DNS names use the instance IPv4 address or the instance ID. Valid values: `ip-name` and `resource-name`. + HostnameType *string `pulumi:"hostnameType"` } -// NetworkInsightsAnalysisExplanationAclInput is an input type that accepts NetworkInsightsAnalysisExplanationAclArgs and NetworkInsightsAnalysisExplanationAclOutput values. -// You can construct a concrete instance of `NetworkInsightsAnalysisExplanationAclInput` via: +// LaunchTemplatePrivateDnsNameOptionsInput is an input type that accepts LaunchTemplatePrivateDnsNameOptionsArgs and LaunchTemplatePrivateDnsNameOptionsOutput values. +// You can construct a concrete instance of `LaunchTemplatePrivateDnsNameOptionsInput` via: // -// NetworkInsightsAnalysisExplanationAclArgs{...} -type NetworkInsightsAnalysisExplanationAclInput interface { +// LaunchTemplatePrivateDnsNameOptionsArgs{...} +type LaunchTemplatePrivateDnsNameOptionsInput interface { pulumi.Input - ToNetworkInsightsAnalysisExplanationAclOutput() NetworkInsightsAnalysisExplanationAclOutput - ToNetworkInsightsAnalysisExplanationAclOutputWithContext(context.Context) NetworkInsightsAnalysisExplanationAclOutput + ToLaunchTemplatePrivateDnsNameOptionsOutput() LaunchTemplatePrivateDnsNameOptionsOutput + ToLaunchTemplatePrivateDnsNameOptionsOutputWithContext(context.Context) LaunchTemplatePrivateDnsNameOptionsOutput } -type NetworkInsightsAnalysisExplanationAclArgs struct { - // ARN of the Network Insights Analysis. - Arn pulumi.StringPtrInput `pulumi:"arn"` - // ID of the Network Insights Analysis. - Id pulumi.StringPtrInput `pulumi:"id"` - Name pulumi.StringPtrInput `pulumi:"name"` +type LaunchTemplatePrivateDnsNameOptionsArgs struct { + // Indicates whether to respond to DNS queries for instance hostnames with DNS A records. + EnableResourceNameDnsARecord pulumi.BoolPtrInput `pulumi:"enableResourceNameDnsARecord"` + // Indicates whether to respond to DNS queries for instance hostnames with DNS AAAA records. + EnableResourceNameDnsAaaaRecord pulumi.BoolPtrInput `pulumi:"enableResourceNameDnsAaaaRecord"` + // The type of hostname for Amazon EC2 instances. For IPv4 only subnets, an instance DNS name must be based on the instance IPv4 address. For IPv6 native subnets, an instance DNS name must be based on the instance ID. For dual-stack subnets, you can specify whether DNS names use the instance IPv4 address or the instance ID. Valid values: `ip-name` and `resource-name`. + HostnameType pulumi.StringPtrInput `pulumi:"hostnameType"` } -func (NetworkInsightsAnalysisExplanationAclArgs) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkInsightsAnalysisExplanationAcl)(nil)).Elem() +func (LaunchTemplatePrivateDnsNameOptionsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LaunchTemplatePrivateDnsNameOptions)(nil)).Elem() } -func (i NetworkInsightsAnalysisExplanationAclArgs) ToNetworkInsightsAnalysisExplanationAclOutput() NetworkInsightsAnalysisExplanationAclOutput { - return i.ToNetworkInsightsAnalysisExplanationAclOutputWithContext(context.Background()) +func (i LaunchTemplatePrivateDnsNameOptionsArgs) ToLaunchTemplatePrivateDnsNameOptionsOutput() LaunchTemplatePrivateDnsNameOptionsOutput { + return i.ToLaunchTemplatePrivateDnsNameOptionsOutputWithContext(context.Background()) } -func (i NetworkInsightsAnalysisExplanationAclArgs) ToNetworkInsightsAnalysisExplanationAclOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationAclOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisExplanationAclOutput) +func (i LaunchTemplatePrivateDnsNameOptionsArgs) ToLaunchTemplatePrivateDnsNameOptionsOutputWithContext(ctx context.Context) LaunchTemplatePrivateDnsNameOptionsOutput { + return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplatePrivateDnsNameOptionsOutput) } -// NetworkInsightsAnalysisExplanationAclArrayInput is an input type that accepts NetworkInsightsAnalysisExplanationAclArray and NetworkInsightsAnalysisExplanationAclArrayOutput values. -// You can construct a concrete instance of `NetworkInsightsAnalysisExplanationAclArrayInput` via: +func (i LaunchTemplatePrivateDnsNameOptionsArgs) ToLaunchTemplatePrivateDnsNameOptionsPtrOutput() LaunchTemplatePrivateDnsNameOptionsPtrOutput { + return i.ToLaunchTemplatePrivateDnsNameOptionsPtrOutputWithContext(context.Background()) +} + +func (i LaunchTemplatePrivateDnsNameOptionsArgs) ToLaunchTemplatePrivateDnsNameOptionsPtrOutputWithContext(ctx context.Context) LaunchTemplatePrivateDnsNameOptionsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplatePrivateDnsNameOptionsOutput).ToLaunchTemplatePrivateDnsNameOptionsPtrOutputWithContext(ctx) +} + +// LaunchTemplatePrivateDnsNameOptionsPtrInput is an input type that accepts LaunchTemplatePrivateDnsNameOptionsArgs, LaunchTemplatePrivateDnsNameOptionsPtr and LaunchTemplatePrivateDnsNameOptionsPtrOutput values. +// You can construct a concrete instance of `LaunchTemplatePrivateDnsNameOptionsPtrInput` via: // -// NetworkInsightsAnalysisExplanationAclArray{ NetworkInsightsAnalysisExplanationAclArgs{...} } -type NetworkInsightsAnalysisExplanationAclArrayInput interface { +// LaunchTemplatePrivateDnsNameOptionsArgs{...} +// +// or: +// +// nil +type LaunchTemplatePrivateDnsNameOptionsPtrInput interface { pulumi.Input - ToNetworkInsightsAnalysisExplanationAclArrayOutput() NetworkInsightsAnalysisExplanationAclArrayOutput - ToNetworkInsightsAnalysisExplanationAclArrayOutputWithContext(context.Context) NetworkInsightsAnalysisExplanationAclArrayOutput + ToLaunchTemplatePrivateDnsNameOptionsPtrOutput() LaunchTemplatePrivateDnsNameOptionsPtrOutput + ToLaunchTemplatePrivateDnsNameOptionsPtrOutputWithContext(context.Context) LaunchTemplatePrivateDnsNameOptionsPtrOutput } -type NetworkInsightsAnalysisExplanationAclArray []NetworkInsightsAnalysisExplanationAclInput +type launchTemplatePrivateDnsNameOptionsPtrType LaunchTemplatePrivateDnsNameOptionsArgs -func (NetworkInsightsAnalysisExplanationAclArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]NetworkInsightsAnalysisExplanationAcl)(nil)).Elem() +func LaunchTemplatePrivateDnsNameOptionsPtr(v *LaunchTemplatePrivateDnsNameOptionsArgs) LaunchTemplatePrivateDnsNameOptionsPtrInput { + return (*launchTemplatePrivateDnsNameOptionsPtrType)(v) } -func (i NetworkInsightsAnalysisExplanationAclArray) ToNetworkInsightsAnalysisExplanationAclArrayOutput() NetworkInsightsAnalysisExplanationAclArrayOutput { - return i.ToNetworkInsightsAnalysisExplanationAclArrayOutputWithContext(context.Background()) +func (*launchTemplatePrivateDnsNameOptionsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**LaunchTemplatePrivateDnsNameOptions)(nil)).Elem() } -func (i NetworkInsightsAnalysisExplanationAclArray) ToNetworkInsightsAnalysisExplanationAclArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationAclArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisExplanationAclArrayOutput) +func (i *launchTemplatePrivateDnsNameOptionsPtrType) ToLaunchTemplatePrivateDnsNameOptionsPtrOutput() LaunchTemplatePrivateDnsNameOptionsPtrOutput { + return i.ToLaunchTemplatePrivateDnsNameOptionsPtrOutputWithContext(context.Background()) } -type NetworkInsightsAnalysisExplanationAclOutput struct{ *pulumi.OutputState } +func (i *launchTemplatePrivateDnsNameOptionsPtrType) ToLaunchTemplatePrivateDnsNameOptionsPtrOutputWithContext(ctx context.Context) LaunchTemplatePrivateDnsNameOptionsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplatePrivateDnsNameOptionsPtrOutput) +} -func (NetworkInsightsAnalysisExplanationAclOutput) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkInsightsAnalysisExplanationAcl)(nil)).Elem() +type LaunchTemplatePrivateDnsNameOptionsOutput struct{ *pulumi.OutputState } + +func (LaunchTemplatePrivateDnsNameOptionsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LaunchTemplatePrivateDnsNameOptions)(nil)).Elem() } -func (o NetworkInsightsAnalysisExplanationAclOutput) ToNetworkInsightsAnalysisExplanationAclOutput() NetworkInsightsAnalysisExplanationAclOutput { +func (o LaunchTemplatePrivateDnsNameOptionsOutput) ToLaunchTemplatePrivateDnsNameOptionsOutput() LaunchTemplatePrivateDnsNameOptionsOutput { return o } -func (o NetworkInsightsAnalysisExplanationAclOutput) ToNetworkInsightsAnalysisExplanationAclOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationAclOutput { +func (o LaunchTemplatePrivateDnsNameOptionsOutput) ToLaunchTemplatePrivateDnsNameOptionsOutputWithContext(ctx context.Context) LaunchTemplatePrivateDnsNameOptionsOutput { return o } -// ARN of the Network Insights Analysis. -func (o NetworkInsightsAnalysisExplanationAclOutput) Arn() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisExplanationAcl) *string { return v.Arn }).(pulumi.StringPtrOutput) +func (o LaunchTemplatePrivateDnsNameOptionsOutput) ToLaunchTemplatePrivateDnsNameOptionsPtrOutput() LaunchTemplatePrivateDnsNameOptionsPtrOutput { + return o.ToLaunchTemplatePrivateDnsNameOptionsPtrOutputWithContext(context.Background()) } -// ID of the Network Insights Analysis. -func (o NetworkInsightsAnalysisExplanationAclOutput) Id() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisExplanationAcl) *string { return v.Id }).(pulumi.StringPtrOutput) +func (o LaunchTemplatePrivateDnsNameOptionsOutput) ToLaunchTemplatePrivateDnsNameOptionsPtrOutputWithContext(ctx context.Context) LaunchTemplatePrivateDnsNameOptionsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v LaunchTemplatePrivateDnsNameOptions) *LaunchTemplatePrivateDnsNameOptions { + return &v + }).(LaunchTemplatePrivateDnsNameOptionsPtrOutput) } -func (o NetworkInsightsAnalysisExplanationAclOutput) Name() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisExplanationAcl) *string { return v.Name }).(pulumi.StringPtrOutput) +// Indicates whether to respond to DNS queries for instance hostnames with DNS A records. +func (o LaunchTemplatePrivateDnsNameOptionsOutput) EnableResourceNameDnsARecord() pulumi.BoolPtrOutput { + return o.ApplyT(func(v LaunchTemplatePrivateDnsNameOptions) *bool { return v.EnableResourceNameDnsARecord }).(pulumi.BoolPtrOutput) } -type NetworkInsightsAnalysisExplanationAclArrayOutput struct{ *pulumi.OutputState } - -func (NetworkInsightsAnalysisExplanationAclArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]NetworkInsightsAnalysisExplanationAcl)(nil)).Elem() +// Indicates whether to respond to DNS queries for instance hostnames with DNS AAAA records. +func (o LaunchTemplatePrivateDnsNameOptionsOutput) EnableResourceNameDnsAaaaRecord() pulumi.BoolPtrOutput { + return o.ApplyT(func(v LaunchTemplatePrivateDnsNameOptions) *bool { return v.EnableResourceNameDnsAaaaRecord }).(pulumi.BoolPtrOutput) } -func (o NetworkInsightsAnalysisExplanationAclArrayOutput) ToNetworkInsightsAnalysisExplanationAclArrayOutput() NetworkInsightsAnalysisExplanationAclArrayOutput { - return o +// The type of hostname for Amazon EC2 instances. For IPv4 only subnets, an instance DNS name must be based on the instance IPv4 address. For IPv6 native subnets, an instance DNS name must be based on the instance ID. For dual-stack subnets, you can specify whether DNS names use the instance IPv4 address or the instance ID. Valid values: `ip-name` and `resource-name`. +func (o LaunchTemplatePrivateDnsNameOptionsOutput) HostnameType() pulumi.StringPtrOutput { + return o.ApplyT(func(v LaunchTemplatePrivateDnsNameOptions) *string { return v.HostnameType }).(pulumi.StringPtrOutput) } -func (o NetworkInsightsAnalysisExplanationAclArrayOutput) ToNetworkInsightsAnalysisExplanationAclArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationAclArrayOutput { - return o -} +type LaunchTemplatePrivateDnsNameOptionsPtrOutput struct{ *pulumi.OutputState } -func (o NetworkInsightsAnalysisExplanationAclArrayOutput) Index(i pulumi.IntInput) NetworkInsightsAnalysisExplanationAclOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkInsightsAnalysisExplanationAcl { - return vs[0].([]NetworkInsightsAnalysisExplanationAcl)[vs[1].(int)] - }).(NetworkInsightsAnalysisExplanationAclOutput) +func (LaunchTemplatePrivateDnsNameOptionsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**LaunchTemplatePrivateDnsNameOptions)(nil)).Elem() } -type NetworkInsightsAnalysisExplanationAclRule struct { - Cidr *string `pulumi:"cidr"` - Egress *bool `pulumi:"egress"` - PortRanges []NetworkInsightsAnalysisExplanationAclRulePortRange `pulumi:"portRanges"` - Protocol *string `pulumi:"protocol"` - RuleAction *string `pulumi:"ruleAction"` - RuleNumber *int `pulumi:"ruleNumber"` +func (o LaunchTemplatePrivateDnsNameOptionsPtrOutput) ToLaunchTemplatePrivateDnsNameOptionsPtrOutput() LaunchTemplatePrivateDnsNameOptionsPtrOutput { + return o } -// NetworkInsightsAnalysisExplanationAclRuleInput is an input type that accepts NetworkInsightsAnalysisExplanationAclRuleArgs and NetworkInsightsAnalysisExplanationAclRuleOutput values. -// You can construct a concrete instance of `NetworkInsightsAnalysisExplanationAclRuleInput` via: -// -// NetworkInsightsAnalysisExplanationAclRuleArgs{...} -type NetworkInsightsAnalysisExplanationAclRuleInput interface { - pulumi.Input +func (o LaunchTemplatePrivateDnsNameOptionsPtrOutput) ToLaunchTemplatePrivateDnsNameOptionsPtrOutputWithContext(ctx context.Context) LaunchTemplatePrivateDnsNameOptionsPtrOutput { + return o +} - ToNetworkInsightsAnalysisExplanationAclRuleOutput() NetworkInsightsAnalysisExplanationAclRuleOutput - ToNetworkInsightsAnalysisExplanationAclRuleOutputWithContext(context.Context) NetworkInsightsAnalysisExplanationAclRuleOutput +func (o LaunchTemplatePrivateDnsNameOptionsPtrOutput) Elem() LaunchTemplatePrivateDnsNameOptionsOutput { + return o.ApplyT(func(v *LaunchTemplatePrivateDnsNameOptions) LaunchTemplatePrivateDnsNameOptions { + if v != nil { + return *v + } + var ret LaunchTemplatePrivateDnsNameOptions + return ret + }).(LaunchTemplatePrivateDnsNameOptionsOutput) } -type NetworkInsightsAnalysisExplanationAclRuleArgs struct { - Cidr pulumi.StringPtrInput `pulumi:"cidr"` - Egress pulumi.BoolPtrInput `pulumi:"egress"` - PortRanges NetworkInsightsAnalysisExplanationAclRulePortRangeArrayInput `pulumi:"portRanges"` - Protocol pulumi.StringPtrInput `pulumi:"protocol"` - RuleAction pulumi.StringPtrInput `pulumi:"ruleAction"` - RuleNumber pulumi.IntPtrInput `pulumi:"ruleNumber"` +// Indicates whether to respond to DNS queries for instance hostnames with DNS A records. +func (o LaunchTemplatePrivateDnsNameOptionsPtrOutput) EnableResourceNameDnsARecord() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *LaunchTemplatePrivateDnsNameOptions) *bool { + if v == nil { + return nil + } + return v.EnableResourceNameDnsARecord + }).(pulumi.BoolPtrOutput) } -func (NetworkInsightsAnalysisExplanationAclRuleArgs) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkInsightsAnalysisExplanationAclRule)(nil)).Elem() +// Indicates whether to respond to DNS queries for instance hostnames with DNS AAAA records. +func (o LaunchTemplatePrivateDnsNameOptionsPtrOutput) EnableResourceNameDnsAaaaRecord() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *LaunchTemplatePrivateDnsNameOptions) *bool { + if v == nil { + return nil + } + return v.EnableResourceNameDnsAaaaRecord + }).(pulumi.BoolPtrOutput) } -func (i NetworkInsightsAnalysisExplanationAclRuleArgs) ToNetworkInsightsAnalysisExplanationAclRuleOutput() NetworkInsightsAnalysisExplanationAclRuleOutput { - return i.ToNetworkInsightsAnalysisExplanationAclRuleOutputWithContext(context.Background()) +// The type of hostname for Amazon EC2 instances. For IPv4 only subnets, an instance DNS name must be based on the instance IPv4 address. For IPv6 native subnets, an instance DNS name must be based on the instance ID. For dual-stack subnets, you can specify whether DNS names use the instance IPv4 address or the instance ID. Valid values: `ip-name` and `resource-name`. +func (o LaunchTemplatePrivateDnsNameOptionsPtrOutput) HostnameType() pulumi.StringPtrOutput { + return o.ApplyT(func(v *LaunchTemplatePrivateDnsNameOptions) *string { + if v == nil { + return nil + } + return v.HostnameType + }).(pulumi.StringPtrOutput) } -func (i NetworkInsightsAnalysisExplanationAclRuleArgs) ToNetworkInsightsAnalysisExplanationAclRuleOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationAclRuleOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisExplanationAclRuleOutput) +type LaunchTemplateTagSpecification struct { + // The type of resource to tag. + ResourceType *string `pulumi:"resourceType"` + // A map of tags to assign to the resource. + Tags map[string]string `pulumi:"tags"` } -// NetworkInsightsAnalysisExplanationAclRuleArrayInput is an input type that accepts NetworkInsightsAnalysisExplanationAclRuleArray and NetworkInsightsAnalysisExplanationAclRuleArrayOutput values. -// You can construct a concrete instance of `NetworkInsightsAnalysisExplanationAclRuleArrayInput` via: +// LaunchTemplateTagSpecificationInput is an input type that accepts LaunchTemplateTagSpecificationArgs and LaunchTemplateTagSpecificationOutput values. +// You can construct a concrete instance of `LaunchTemplateTagSpecificationInput` via: // -// NetworkInsightsAnalysisExplanationAclRuleArray{ NetworkInsightsAnalysisExplanationAclRuleArgs{...} } -type NetworkInsightsAnalysisExplanationAclRuleArrayInput interface { +// LaunchTemplateTagSpecificationArgs{...} +type LaunchTemplateTagSpecificationInput interface { pulumi.Input - ToNetworkInsightsAnalysisExplanationAclRuleArrayOutput() NetworkInsightsAnalysisExplanationAclRuleArrayOutput - ToNetworkInsightsAnalysisExplanationAclRuleArrayOutputWithContext(context.Context) NetworkInsightsAnalysisExplanationAclRuleArrayOutput + ToLaunchTemplateTagSpecificationOutput() LaunchTemplateTagSpecificationOutput + ToLaunchTemplateTagSpecificationOutputWithContext(context.Context) LaunchTemplateTagSpecificationOutput } -type NetworkInsightsAnalysisExplanationAclRuleArray []NetworkInsightsAnalysisExplanationAclRuleInput +type LaunchTemplateTagSpecificationArgs struct { + // The type of resource to tag. + ResourceType pulumi.StringPtrInput `pulumi:"resourceType"` + // A map of tags to assign to the resource. + Tags pulumi.StringMapInput `pulumi:"tags"` +} -func (NetworkInsightsAnalysisExplanationAclRuleArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]NetworkInsightsAnalysisExplanationAclRule)(nil)).Elem() +func (LaunchTemplateTagSpecificationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LaunchTemplateTagSpecification)(nil)).Elem() } -func (i NetworkInsightsAnalysisExplanationAclRuleArray) ToNetworkInsightsAnalysisExplanationAclRuleArrayOutput() NetworkInsightsAnalysisExplanationAclRuleArrayOutput { - return i.ToNetworkInsightsAnalysisExplanationAclRuleArrayOutputWithContext(context.Background()) +func (i LaunchTemplateTagSpecificationArgs) ToLaunchTemplateTagSpecificationOutput() LaunchTemplateTagSpecificationOutput { + return i.ToLaunchTemplateTagSpecificationOutputWithContext(context.Background()) } -func (i NetworkInsightsAnalysisExplanationAclRuleArray) ToNetworkInsightsAnalysisExplanationAclRuleArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationAclRuleArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisExplanationAclRuleArrayOutput) +func (i LaunchTemplateTagSpecificationArgs) ToLaunchTemplateTagSpecificationOutputWithContext(ctx context.Context) LaunchTemplateTagSpecificationOutput { + return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateTagSpecificationOutput) } -type NetworkInsightsAnalysisExplanationAclRuleOutput struct{ *pulumi.OutputState } +// LaunchTemplateTagSpecificationArrayInput is an input type that accepts LaunchTemplateTagSpecificationArray and LaunchTemplateTagSpecificationArrayOutput values. +// You can construct a concrete instance of `LaunchTemplateTagSpecificationArrayInput` via: +// +// LaunchTemplateTagSpecificationArray{ LaunchTemplateTagSpecificationArgs{...} } +type LaunchTemplateTagSpecificationArrayInput interface { + pulumi.Input -func (NetworkInsightsAnalysisExplanationAclRuleOutput) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkInsightsAnalysisExplanationAclRule)(nil)).Elem() + ToLaunchTemplateTagSpecificationArrayOutput() LaunchTemplateTagSpecificationArrayOutput + ToLaunchTemplateTagSpecificationArrayOutputWithContext(context.Context) LaunchTemplateTagSpecificationArrayOutput } -func (o NetworkInsightsAnalysisExplanationAclRuleOutput) ToNetworkInsightsAnalysisExplanationAclRuleOutput() NetworkInsightsAnalysisExplanationAclRuleOutput { - return o +type LaunchTemplateTagSpecificationArray []LaunchTemplateTagSpecificationInput + +func (LaunchTemplateTagSpecificationArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]LaunchTemplateTagSpecification)(nil)).Elem() } -func (o NetworkInsightsAnalysisExplanationAclRuleOutput) ToNetworkInsightsAnalysisExplanationAclRuleOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationAclRuleOutput { - return o +func (i LaunchTemplateTagSpecificationArray) ToLaunchTemplateTagSpecificationArrayOutput() LaunchTemplateTagSpecificationArrayOutput { + return i.ToLaunchTemplateTagSpecificationArrayOutputWithContext(context.Background()) } -func (o NetworkInsightsAnalysisExplanationAclRuleOutput) Cidr() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisExplanationAclRule) *string { return v.Cidr }).(pulumi.StringPtrOutput) +func (i LaunchTemplateTagSpecificationArray) ToLaunchTemplateTagSpecificationArrayOutputWithContext(ctx context.Context) LaunchTemplateTagSpecificationArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(LaunchTemplateTagSpecificationArrayOutput) } -func (o NetworkInsightsAnalysisExplanationAclRuleOutput) Egress() pulumi.BoolPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisExplanationAclRule) *bool { return v.Egress }).(pulumi.BoolPtrOutput) +type LaunchTemplateTagSpecificationOutput struct{ *pulumi.OutputState } + +func (LaunchTemplateTagSpecificationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LaunchTemplateTagSpecification)(nil)).Elem() } -func (o NetworkInsightsAnalysisExplanationAclRuleOutput) PortRanges() NetworkInsightsAnalysisExplanationAclRulePortRangeArrayOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisExplanationAclRule) []NetworkInsightsAnalysisExplanationAclRulePortRange { - return v.PortRanges - }).(NetworkInsightsAnalysisExplanationAclRulePortRangeArrayOutput) +func (o LaunchTemplateTagSpecificationOutput) ToLaunchTemplateTagSpecificationOutput() LaunchTemplateTagSpecificationOutput { + return o } -func (o NetworkInsightsAnalysisExplanationAclRuleOutput) Protocol() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisExplanationAclRule) *string { return v.Protocol }).(pulumi.StringPtrOutput) +func (o LaunchTemplateTagSpecificationOutput) ToLaunchTemplateTagSpecificationOutputWithContext(ctx context.Context) LaunchTemplateTagSpecificationOutput { + return o } -func (o NetworkInsightsAnalysisExplanationAclRuleOutput) RuleAction() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisExplanationAclRule) *string { return v.RuleAction }).(pulumi.StringPtrOutput) +// The type of resource to tag. +func (o LaunchTemplateTagSpecificationOutput) ResourceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v LaunchTemplateTagSpecification) *string { return v.ResourceType }).(pulumi.StringPtrOutput) } -func (o NetworkInsightsAnalysisExplanationAclRuleOutput) RuleNumber() pulumi.IntPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisExplanationAclRule) *int { return v.RuleNumber }).(pulumi.IntPtrOutput) +// A map of tags to assign to the resource. +func (o LaunchTemplateTagSpecificationOutput) Tags() pulumi.StringMapOutput { + return o.ApplyT(func(v LaunchTemplateTagSpecification) map[string]string { return v.Tags }).(pulumi.StringMapOutput) } -type NetworkInsightsAnalysisExplanationAclRuleArrayOutput struct{ *pulumi.OutputState } +type LaunchTemplateTagSpecificationArrayOutput struct{ *pulumi.OutputState } -func (NetworkInsightsAnalysisExplanationAclRuleArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]NetworkInsightsAnalysisExplanationAclRule)(nil)).Elem() +func (LaunchTemplateTagSpecificationArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]LaunchTemplateTagSpecification)(nil)).Elem() } -func (o NetworkInsightsAnalysisExplanationAclRuleArrayOutput) ToNetworkInsightsAnalysisExplanationAclRuleArrayOutput() NetworkInsightsAnalysisExplanationAclRuleArrayOutput { +func (o LaunchTemplateTagSpecificationArrayOutput) ToLaunchTemplateTagSpecificationArrayOutput() LaunchTemplateTagSpecificationArrayOutput { return o } -func (o NetworkInsightsAnalysisExplanationAclRuleArrayOutput) ToNetworkInsightsAnalysisExplanationAclRuleArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationAclRuleArrayOutput { +func (o LaunchTemplateTagSpecificationArrayOutput) ToLaunchTemplateTagSpecificationArrayOutputWithContext(ctx context.Context) LaunchTemplateTagSpecificationArrayOutput { return o } -func (o NetworkInsightsAnalysisExplanationAclRuleArrayOutput) Index(i pulumi.IntInput) NetworkInsightsAnalysisExplanationAclRuleOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkInsightsAnalysisExplanationAclRule { - return vs[0].([]NetworkInsightsAnalysisExplanationAclRule)[vs[1].(int)] - }).(NetworkInsightsAnalysisExplanationAclRuleOutput) +func (o LaunchTemplateTagSpecificationArrayOutput) Index(i pulumi.IntInput) LaunchTemplateTagSpecificationOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) LaunchTemplateTagSpecification { + return vs[0].([]LaunchTemplateTagSpecification)[vs[1].(int)] + }).(LaunchTemplateTagSpecificationOutput) } -type NetworkInsightsAnalysisExplanationAclRulePortRange struct { - From *int `pulumi:"from"` - To *int `pulumi:"to"` +type ManagedPrefixListEntryType struct { + // CIDR block of this entry. + Cidr string `pulumi:"cidr"` + // Description of this entry. Due to API limitations, updating only the description of an existing entry requires temporarily removing and re-adding the entry. + Description *string `pulumi:"description"` } -// NetworkInsightsAnalysisExplanationAclRulePortRangeInput is an input type that accepts NetworkInsightsAnalysisExplanationAclRulePortRangeArgs and NetworkInsightsAnalysisExplanationAclRulePortRangeOutput values. -// You can construct a concrete instance of `NetworkInsightsAnalysisExplanationAclRulePortRangeInput` via: +// ManagedPrefixListEntryTypeInput is an input type that accepts ManagedPrefixListEntryTypeArgs and ManagedPrefixListEntryTypeOutput values. +// You can construct a concrete instance of `ManagedPrefixListEntryTypeInput` via: // -// NetworkInsightsAnalysisExplanationAclRulePortRangeArgs{...} -type NetworkInsightsAnalysisExplanationAclRulePortRangeInput interface { +// ManagedPrefixListEntryTypeArgs{...} +type ManagedPrefixListEntryTypeInput interface { pulumi.Input - ToNetworkInsightsAnalysisExplanationAclRulePortRangeOutput() NetworkInsightsAnalysisExplanationAclRulePortRangeOutput - ToNetworkInsightsAnalysisExplanationAclRulePortRangeOutputWithContext(context.Context) NetworkInsightsAnalysisExplanationAclRulePortRangeOutput + ToManagedPrefixListEntryTypeOutput() ManagedPrefixListEntryTypeOutput + ToManagedPrefixListEntryTypeOutputWithContext(context.Context) ManagedPrefixListEntryTypeOutput } -type NetworkInsightsAnalysisExplanationAclRulePortRangeArgs struct { - From pulumi.IntPtrInput `pulumi:"from"` - To pulumi.IntPtrInput `pulumi:"to"` +type ManagedPrefixListEntryTypeArgs struct { + // CIDR block of this entry. + Cidr pulumi.StringInput `pulumi:"cidr"` + // Description of this entry. Due to API limitations, updating only the description of an existing entry requires temporarily removing and re-adding the entry. + Description pulumi.StringPtrInput `pulumi:"description"` } -func (NetworkInsightsAnalysisExplanationAclRulePortRangeArgs) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkInsightsAnalysisExplanationAclRulePortRange)(nil)).Elem() +func (ManagedPrefixListEntryTypeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ManagedPrefixListEntryType)(nil)).Elem() } -func (i NetworkInsightsAnalysisExplanationAclRulePortRangeArgs) ToNetworkInsightsAnalysisExplanationAclRulePortRangeOutput() NetworkInsightsAnalysisExplanationAclRulePortRangeOutput { - return i.ToNetworkInsightsAnalysisExplanationAclRulePortRangeOutputWithContext(context.Background()) +func (i ManagedPrefixListEntryTypeArgs) ToManagedPrefixListEntryTypeOutput() ManagedPrefixListEntryTypeOutput { + return i.ToManagedPrefixListEntryTypeOutputWithContext(context.Background()) } -func (i NetworkInsightsAnalysisExplanationAclRulePortRangeArgs) ToNetworkInsightsAnalysisExplanationAclRulePortRangeOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationAclRulePortRangeOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisExplanationAclRulePortRangeOutput) +func (i ManagedPrefixListEntryTypeArgs) ToManagedPrefixListEntryTypeOutputWithContext(ctx context.Context) ManagedPrefixListEntryTypeOutput { + return pulumi.ToOutputWithContext(ctx, i).(ManagedPrefixListEntryTypeOutput) } -// NetworkInsightsAnalysisExplanationAclRulePortRangeArrayInput is an input type that accepts NetworkInsightsAnalysisExplanationAclRulePortRangeArray and NetworkInsightsAnalysisExplanationAclRulePortRangeArrayOutput values. -// You can construct a concrete instance of `NetworkInsightsAnalysisExplanationAclRulePortRangeArrayInput` via: +// ManagedPrefixListEntryTypeArrayInput is an input type that accepts ManagedPrefixListEntryTypeArray and ManagedPrefixListEntryTypeArrayOutput values. +// You can construct a concrete instance of `ManagedPrefixListEntryTypeArrayInput` via: // -// NetworkInsightsAnalysisExplanationAclRulePortRangeArray{ NetworkInsightsAnalysisExplanationAclRulePortRangeArgs{...} } -type NetworkInsightsAnalysisExplanationAclRulePortRangeArrayInput interface { +// ManagedPrefixListEntryTypeArray{ ManagedPrefixListEntryTypeArgs{...} } +type ManagedPrefixListEntryTypeArrayInput interface { pulumi.Input - ToNetworkInsightsAnalysisExplanationAclRulePortRangeArrayOutput() NetworkInsightsAnalysisExplanationAclRulePortRangeArrayOutput - ToNetworkInsightsAnalysisExplanationAclRulePortRangeArrayOutputWithContext(context.Context) NetworkInsightsAnalysisExplanationAclRulePortRangeArrayOutput + ToManagedPrefixListEntryTypeArrayOutput() ManagedPrefixListEntryTypeArrayOutput + ToManagedPrefixListEntryTypeArrayOutputWithContext(context.Context) ManagedPrefixListEntryTypeArrayOutput } -type NetworkInsightsAnalysisExplanationAclRulePortRangeArray []NetworkInsightsAnalysisExplanationAclRulePortRangeInput +type ManagedPrefixListEntryTypeArray []ManagedPrefixListEntryTypeInput -func (NetworkInsightsAnalysisExplanationAclRulePortRangeArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]NetworkInsightsAnalysisExplanationAclRulePortRange)(nil)).Elem() +func (ManagedPrefixListEntryTypeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]ManagedPrefixListEntryType)(nil)).Elem() } -func (i NetworkInsightsAnalysisExplanationAclRulePortRangeArray) ToNetworkInsightsAnalysisExplanationAclRulePortRangeArrayOutput() NetworkInsightsAnalysisExplanationAclRulePortRangeArrayOutput { - return i.ToNetworkInsightsAnalysisExplanationAclRulePortRangeArrayOutputWithContext(context.Background()) +func (i ManagedPrefixListEntryTypeArray) ToManagedPrefixListEntryTypeArrayOutput() ManagedPrefixListEntryTypeArrayOutput { + return i.ToManagedPrefixListEntryTypeArrayOutputWithContext(context.Background()) } -func (i NetworkInsightsAnalysisExplanationAclRulePortRangeArray) ToNetworkInsightsAnalysisExplanationAclRulePortRangeArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationAclRulePortRangeArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisExplanationAclRulePortRangeArrayOutput) +func (i ManagedPrefixListEntryTypeArray) ToManagedPrefixListEntryTypeArrayOutputWithContext(ctx context.Context) ManagedPrefixListEntryTypeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ManagedPrefixListEntryTypeArrayOutput) } -type NetworkInsightsAnalysisExplanationAclRulePortRangeOutput struct{ *pulumi.OutputState } +type ManagedPrefixListEntryTypeOutput struct{ *pulumi.OutputState } -func (NetworkInsightsAnalysisExplanationAclRulePortRangeOutput) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkInsightsAnalysisExplanationAclRulePortRange)(nil)).Elem() +func (ManagedPrefixListEntryTypeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ManagedPrefixListEntryType)(nil)).Elem() } -func (o NetworkInsightsAnalysisExplanationAclRulePortRangeOutput) ToNetworkInsightsAnalysisExplanationAclRulePortRangeOutput() NetworkInsightsAnalysisExplanationAclRulePortRangeOutput { +func (o ManagedPrefixListEntryTypeOutput) ToManagedPrefixListEntryTypeOutput() ManagedPrefixListEntryTypeOutput { return o } -func (o NetworkInsightsAnalysisExplanationAclRulePortRangeOutput) ToNetworkInsightsAnalysisExplanationAclRulePortRangeOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationAclRulePortRangeOutput { +func (o ManagedPrefixListEntryTypeOutput) ToManagedPrefixListEntryTypeOutputWithContext(ctx context.Context) ManagedPrefixListEntryTypeOutput { return o } -func (o NetworkInsightsAnalysisExplanationAclRulePortRangeOutput) From() pulumi.IntPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisExplanationAclRulePortRange) *int { return v.From }).(pulumi.IntPtrOutput) +// CIDR block of this entry. +func (o ManagedPrefixListEntryTypeOutput) Cidr() pulumi.StringOutput { + return o.ApplyT(func(v ManagedPrefixListEntryType) string { return v.Cidr }).(pulumi.StringOutput) } -func (o NetworkInsightsAnalysisExplanationAclRulePortRangeOutput) To() pulumi.IntPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisExplanationAclRulePortRange) *int { return v.To }).(pulumi.IntPtrOutput) +// Description of this entry. Due to API limitations, updating only the description of an existing entry requires temporarily removing and re-adding the entry. +func (o ManagedPrefixListEntryTypeOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v ManagedPrefixListEntryType) *string { return v.Description }).(pulumi.StringPtrOutput) } -type NetworkInsightsAnalysisExplanationAclRulePortRangeArrayOutput struct{ *pulumi.OutputState } +type ManagedPrefixListEntryTypeArrayOutput struct{ *pulumi.OutputState } -func (NetworkInsightsAnalysisExplanationAclRulePortRangeArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]NetworkInsightsAnalysisExplanationAclRulePortRange)(nil)).Elem() +func (ManagedPrefixListEntryTypeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]ManagedPrefixListEntryType)(nil)).Elem() } -func (o NetworkInsightsAnalysisExplanationAclRulePortRangeArrayOutput) ToNetworkInsightsAnalysisExplanationAclRulePortRangeArrayOutput() NetworkInsightsAnalysisExplanationAclRulePortRangeArrayOutput { +func (o ManagedPrefixListEntryTypeArrayOutput) ToManagedPrefixListEntryTypeArrayOutput() ManagedPrefixListEntryTypeArrayOutput { return o } -func (o NetworkInsightsAnalysisExplanationAclRulePortRangeArrayOutput) ToNetworkInsightsAnalysisExplanationAclRulePortRangeArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationAclRulePortRangeArrayOutput { +func (o ManagedPrefixListEntryTypeArrayOutput) ToManagedPrefixListEntryTypeArrayOutputWithContext(ctx context.Context) ManagedPrefixListEntryTypeArrayOutput { return o } -func (o NetworkInsightsAnalysisExplanationAclRulePortRangeArrayOutput) Index(i pulumi.IntInput) NetworkInsightsAnalysisExplanationAclRulePortRangeOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkInsightsAnalysisExplanationAclRulePortRange { - return vs[0].([]NetworkInsightsAnalysisExplanationAclRulePortRange)[vs[1].(int)] - }).(NetworkInsightsAnalysisExplanationAclRulePortRangeOutput) +func (o ManagedPrefixListEntryTypeArrayOutput) Index(i pulumi.IntInput) ManagedPrefixListEntryTypeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) ManagedPrefixListEntryType { + return vs[0].([]ManagedPrefixListEntryType)[vs[1].(int)] + }).(ManagedPrefixListEntryTypeOutput) } -type NetworkInsightsAnalysisExplanationAttachedTo struct { - // ARN of the Network Insights Analysis. - Arn *string `pulumi:"arn"` - // ID of the Network Insights Analysis. - Id *string `pulumi:"id"` - Name *string `pulumi:"name"` +type NatGatewayAvailabilityZoneAddress struct { + // List of allocation IDs of the Elastic IP addresses (EIPs) to be used for handling outbound NAT traffic in this specific Availability Zone. + AllocationIds []string `pulumi:"allocationIds"` + // Availability Zone (e.g. `us-west-2a`) where this specific NAT gateway configuration will be active. Exactly one of `availabilityZone` or `availabilityZoneId` must be specified. + AvailabilityZone *string `pulumi:"availabilityZone"` + // Availability Zone ID (e.g. `usw2-az2`) where this specific NAT gateway configuration will be active. Exactly one of `availabilityZone` or `availabilityZoneId` must be specified. + AvailabilityZoneId *string `pulumi:"availabilityZoneId"` } -// NetworkInsightsAnalysisExplanationAttachedToInput is an input type that accepts NetworkInsightsAnalysisExplanationAttachedToArgs and NetworkInsightsAnalysisExplanationAttachedToOutput values. -// You can construct a concrete instance of `NetworkInsightsAnalysisExplanationAttachedToInput` via: +// NatGatewayAvailabilityZoneAddressInput is an input type that accepts NatGatewayAvailabilityZoneAddressArgs and NatGatewayAvailabilityZoneAddressOutput values. +// You can construct a concrete instance of `NatGatewayAvailabilityZoneAddressInput` via: // -// NetworkInsightsAnalysisExplanationAttachedToArgs{...} -type NetworkInsightsAnalysisExplanationAttachedToInput interface { +// NatGatewayAvailabilityZoneAddressArgs{...} +type NatGatewayAvailabilityZoneAddressInput interface { pulumi.Input - ToNetworkInsightsAnalysisExplanationAttachedToOutput() NetworkInsightsAnalysisExplanationAttachedToOutput - ToNetworkInsightsAnalysisExplanationAttachedToOutputWithContext(context.Context) NetworkInsightsAnalysisExplanationAttachedToOutput + ToNatGatewayAvailabilityZoneAddressOutput() NatGatewayAvailabilityZoneAddressOutput + ToNatGatewayAvailabilityZoneAddressOutputWithContext(context.Context) NatGatewayAvailabilityZoneAddressOutput } -type NetworkInsightsAnalysisExplanationAttachedToArgs struct { - // ARN of the Network Insights Analysis. - Arn pulumi.StringPtrInput `pulumi:"arn"` - // ID of the Network Insights Analysis. - Id pulumi.StringPtrInput `pulumi:"id"` - Name pulumi.StringPtrInput `pulumi:"name"` +type NatGatewayAvailabilityZoneAddressArgs struct { + // List of allocation IDs of the Elastic IP addresses (EIPs) to be used for handling outbound NAT traffic in this specific Availability Zone. + AllocationIds pulumi.StringArrayInput `pulumi:"allocationIds"` + // Availability Zone (e.g. `us-west-2a`) where this specific NAT gateway configuration will be active. Exactly one of `availabilityZone` or `availabilityZoneId` must be specified. + AvailabilityZone pulumi.StringPtrInput `pulumi:"availabilityZone"` + // Availability Zone ID (e.g. `usw2-az2`) where this specific NAT gateway configuration will be active. Exactly one of `availabilityZone` or `availabilityZoneId` must be specified. + AvailabilityZoneId pulumi.StringPtrInput `pulumi:"availabilityZoneId"` } -func (NetworkInsightsAnalysisExplanationAttachedToArgs) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkInsightsAnalysisExplanationAttachedTo)(nil)).Elem() +func (NatGatewayAvailabilityZoneAddressArgs) ElementType() reflect.Type { + return reflect.TypeOf((*NatGatewayAvailabilityZoneAddress)(nil)).Elem() } -func (i NetworkInsightsAnalysisExplanationAttachedToArgs) ToNetworkInsightsAnalysisExplanationAttachedToOutput() NetworkInsightsAnalysisExplanationAttachedToOutput { - return i.ToNetworkInsightsAnalysisExplanationAttachedToOutputWithContext(context.Background()) +func (i NatGatewayAvailabilityZoneAddressArgs) ToNatGatewayAvailabilityZoneAddressOutput() NatGatewayAvailabilityZoneAddressOutput { + return i.ToNatGatewayAvailabilityZoneAddressOutputWithContext(context.Background()) } -func (i NetworkInsightsAnalysisExplanationAttachedToArgs) ToNetworkInsightsAnalysisExplanationAttachedToOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationAttachedToOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisExplanationAttachedToOutput) +func (i NatGatewayAvailabilityZoneAddressArgs) ToNatGatewayAvailabilityZoneAddressOutputWithContext(ctx context.Context) NatGatewayAvailabilityZoneAddressOutput { + return pulumi.ToOutputWithContext(ctx, i).(NatGatewayAvailabilityZoneAddressOutput) } -// NetworkInsightsAnalysisExplanationAttachedToArrayInput is an input type that accepts NetworkInsightsAnalysisExplanationAttachedToArray and NetworkInsightsAnalysisExplanationAttachedToArrayOutput values. -// You can construct a concrete instance of `NetworkInsightsAnalysisExplanationAttachedToArrayInput` via: +// NatGatewayAvailabilityZoneAddressArrayInput is an input type that accepts NatGatewayAvailabilityZoneAddressArray and NatGatewayAvailabilityZoneAddressArrayOutput values. +// You can construct a concrete instance of `NatGatewayAvailabilityZoneAddressArrayInput` via: // -// NetworkInsightsAnalysisExplanationAttachedToArray{ NetworkInsightsAnalysisExplanationAttachedToArgs{...} } -type NetworkInsightsAnalysisExplanationAttachedToArrayInput interface { +// NatGatewayAvailabilityZoneAddressArray{ NatGatewayAvailabilityZoneAddressArgs{...} } +type NatGatewayAvailabilityZoneAddressArrayInput interface { pulumi.Input - ToNetworkInsightsAnalysisExplanationAttachedToArrayOutput() NetworkInsightsAnalysisExplanationAttachedToArrayOutput - ToNetworkInsightsAnalysisExplanationAttachedToArrayOutputWithContext(context.Context) NetworkInsightsAnalysisExplanationAttachedToArrayOutput + ToNatGatewayAvailabilityZoneAddressArrayOutput() NatGatewayAvailabilityZoneAddressArrayOutput + ToNatGatewayAvailabilityZoneAddressArrayOutputWithContext(context.Context) NatGatewayAvailabilityZoneAddressArrayOutput } -type NetworkInsightsAnalysisExplanationAttachedToArray []NetworkInsightsAnalysisExplanationAttachedToInput +type NatGatewayAvailabilityZoneAddressArray []NatGatewayAvailabilityZoneAddressInput -func (NetworkInsightsAnalysisExplanationAttachedToArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]NetworkInsightsAnalysisExplanationAttachedTo)(nil)).Elem() +func (NatGatewayAvailabilityZoneAddressArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]NatGatewayAvailabilityZoneAddress)(nil)).Elem() } -func (i NetworkInsightsAnalysisExplanationAttachedToArray) ToNetworkInsightsAnalysisExplanationAttachedToArrayOutput() NetworkInsightsAnalysisExplanationAttachedToArrayOutput { - return i.ToNetworkInsightsAnalysisExplanationAttachedToArrayOutputWithContext(context.Background()) +func (i NatGatewayAvailabilityZoneAddressArray) ToNatGatewayAvailabilityZoneAddressArrayOutput() NatGatewayAvailabilityZoneAddressArrayOutput { + return i.ToNatGatewayAvailabilityZoneAddressArrayOutputWithContext(context.Background()) } -func (i NetworkInsightsAnalysisExplanationAttachedToArray) ToNetworkInsightsAnalysisExplanationAttachedToArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationAttachedToArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisExplanationAttachedToArrayOutput) +func (i NatGatewayAvailabilityZoneAddressArray) ToNatGatewayAvailabilityZoneAddressArrayOutputWithContext(ctx context.Context) NatGatewayAvailabilityZoneAddressArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(NatGatewayAvailabilityZoneAddressArrayOutput) } -type NetworkInsightsAnalysisExplanationAttachedToOutput struct{ *pulumi.OutputState } +type NatGatewayAvailabilityZoneAddressOutput struct{ *pulumi.OutputState } -func (NetworkInsightsAnalysisExplanationAttachedToOutput) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkInsightsAnalysisExplanationAttachedTo)(nil)).Elem() +func (NatGatewayAvailabilityZoneAddressOutput) ElementType() reflect.Type { + return reflect.TypeOf((*NatGatewayAvailabilityZoneAddress)(nil)).Elem() } -func (o NetworkInsightsAnalysisExplanationAttachedToOutput) ToNetworkInsightsAnalysisExplanationAttachedToOutput() NetworkInsightsAnalysisExplanationAttachedToOutput { +func (o NatGatewayAvailabilityZoneAddressOutput) ToNatGatewayAvailabilityZoneAddressOutput() NatGatewayAvailabilityZoneAddressOutput { return o } -func (o NetworkInsightsAnalysisExplanationAttachedToOutput) ToNetworkInsightsAnalysisExplanationAttachedToOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationAttachedToOutput { +func (o NatGatewayAvailabilityZoneAddressOutput) ToNatGatewayAvailabilityZoneAddressOutputWithContext(ctx context.Context) NatGatewayAvailabilityZoneAddressOutput { return o } -// ARN of the Network Insights Analysis. -func (o NetworkInsightsAnalysisExplanationAttachedToOutput) Arn() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisExplanationAttachedTo) *string { return v.Arn }).(pulumi.StringPtrOutput) +// List of allocation IDs of the Elastic IP addresses (EIPs) to be used for handling outbound NAT traffic in this specific Availability Zone. +func (o NatGatewayAvailabilityZoneAddressOutput) AllocationIds() pulumi.StringArrayOutput { + return o.ApplyT(func(v NatGatewayAvailabilityZoneAddress) []string { return v.AllocationIds }).(pulumi.StringArrayOutput) } -// ID of the Network Insights Analysis. -func (o NetworkInsightsAnalysisExplanationAttachedToOutput) Id() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisExplanationAttachedTo) *string { return v.Id }).(pulumi.StringPtrOutput) +// Availability Zone (e.g. `us-west-2a`) where this specific NAT gateway configuration will be active. Exactly one of `availabilityZone` or `availabilityZoneId` must be specified. +func (o NatGatewayAvailabilityZoneAddressOutput) AvailabilityZone() pulumi.StringPtrOutput { + return o.ApplyT(func(v NatGatewayAvailabilityZoneAddress) *string { return v.AvailabilityZone }).(pulumi.StringPtrOutput) } -func (o NetworkInsightsAnalysisExplanationAttachedToOutput) Name() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisExplanationAttachedTo) *string { return v.Name }).(pulumi.StringPtrOutput) +// Availability Zone ID (e.g. `usw2-az2`) where this specific NAT gateway configuration will be active. Exactly one of `availabilityZone` or `availabilityZoneId` must be specified. +func (o NatGatewayAvailabilityZoneAddressOutput) AvailabilityZoneId() pulumi.StringPtrOutput { + return o.ApplyT(func(v NatGatewayAvailabilityZoneAddress) *string { return v.AvailabilityZoneId }).(pulumi.StringPtrOutput) } -type NetworkInsightsAnalysisExplanationAttachedToArrayOutput struct{ *pulumi.OutputState } +type NatGatewayAvailabilityZoneAddressArrayOutput struct{ *pulumi.OutputState } -func (NetworkInsightsAnalysisExplanationAttachedToArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]NetworkInsightsAnalysisExplanationAttachedTo)(nil)).Elem() +func (NatGatewayAvailabilityZoneAddressArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]NatGatewayAvailabilityZoneAddress)(nil)).Elem() } -func (o NetworkInsightsAnalysisExplanationAttachedToArrayOutput) ToNetworkInsightsAnalysisExplanationAttachedToArrayOutput() NetworkInsightsAnalysisExplanationAttachedToArrayOutput { +func (o NatGatewayAvailabilityZoneAddressArrayOutput) ToNatGatewayAvailabilityZoneAddressArrayOutput() NatGatewayAvailabilityZoneAddressArrayOutput { return o } -func (o NetworkInsightsAnalysisExplanationAttachedToArrayOutput) ToNetworkInsightsAnalysisExplanationAttachedToArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationAttachedToArrayOutput { +func (o NatGatewayAvailabilityZoneAddressArrayOutput) ToNatGatewayAvailabilityZoneAddressArrayOutputWithContext(ctx context.Context) NatGatewayAvailabilityZoneAddressArrayOutput { return o } -func (o NetworkInsightsAnalysisExplanationAttachedToArrayOutput) Index(i pulumi.IntInput) NetworkInsightsAnalysisExplanationAttachedToOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkInsightsAnalysisExplanationAttachedTo { - return vs[0].([]NetworkInsightsAnalysisExplanationAttachedTo)[vs[1].(int)] - }).(NetworkInsightsAnalysisExplanationAttachedToOutput) +func (o NatGatewayAvailabilityZoneAddressArrayOutput) Index(i pulumi.IntInput) NatGatewayAvailabilityZoneAddressOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) NatGatewayAvailabilityZoneAddress { + return vs[0].([]NatGatewayAvailabilityZoneAddress)[vs[1].(int)] + }).(NatGatewayAvailabilityZoneAddressOutput) } -type NetworkInsightsAnalysisExplanationClassicLoadBalancerListener struct { - InstancePort *int `pulumi:"instancePort"` - LoadBalancerPort *int `pulumi:"loadBalancerPort"` +type NatGatewayEipAssociationTimeouts struct { + // A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + Create *string `pulumi:"create"` + // A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs. + Delete *string `pulumi:"delete"` } -// NetworkInsightsAnalysisExplanationClassicLoadBalancerListenerInput is an input type that accepts NetworkInsightsAnalysisExplanationClassicLoadBalancerListenerArgs and NetworkInsightsAnalysisExplanationClassicLoadBalancerListenerOutput values. -// You can construct a concrete instance of `NetworkInsightsAnalysisExplanationClassicLoadBalancerListenerInput` via: +// NatGatewayEipAssociationTimeoutsInput is an input type that accepts NatGatewayEipAssociationTimeoutsArgs and NatGatewayEipAssociationTimeoutsOutput values. +// You can construct a concrete instance of `NatGatewayEipAssociationTimeoutsInput` via: // -// NetworkInsightsAnalysisExplanationClassicLoadBalancerListenerArgs{...} -type NetworkInsightsAnalysisExplanationClassicLoadBalancerListenerInput interface { +// NatGatewayEipAssociationTimeoutsArgs{...} +type NatGatewayEipAssociationTimeoutsInput interface { pulumi.Input - ToNetworkInsightsAnalysisExplanationClassicLoadBalancerListenerOutput() NetworkInsightsAnalysisExplanationClassicLoadBalancerListenerOutput - ToNetworkInsightsAnalysisExplanationClassicLoadBalancerListenerOutputWithContext(context.Context) NetworkInsightsAnalysisExplanationClassicLoadBalancerListenerOutput + ToNatGatewayEipAssociationTimeoutsOutput() NatGatewayEipAssociationTimeoutsOutput + ToNatGatewayEipAssociationTimeoutsOutputWithContext(context.Context) NatGatewayEipAssociationTimeoutsOutput } -type NetworkInsightsAnalysisExplanationClassicLoadBalancerListenerArgs struct { - InstancePort pulumi.IntPtrInput `pulumi:"instancePort"` - LoadBalancerPort pulumi.IntPtrInput `pulumi:"loadBalancerPort"` +type NatGatewayEipAssociationTimeoutsArgs struct { + // A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + Create pulumi.StringPtrInput `pulumi:"create"` + // A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs. + Delete pulumi.StringPtrInput `pulumi:"delete"` } -func (NetworkInsightsAnalysisExplanationClassicLoadBalancerListenerArgs) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkInsightsAnalysisExplanationClassicLoadBalancerListener)(nil)).Elem() +func (NatGatewayEipAssociationTimeoutsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*NatGatewayEipAssociationTimeouts)(nil)).Elem() } -func (i NetworkInsightsAnalysisExplanationClassicLoadBalancerListenerArgs) ToNetworkInsightsAnalysisExplanationClassicLoadBalancerListenerOutput() NetworkInsightsAnalysisExplanationClassicLoadBalancerListenerOutput { - return i.ToNetworkInsightsAnalysisExplanationClassicLoadBalancerListenerOutputWithContext(context.Background()) +func (i NatGatewayEipAssociationTimeoutsArgs) ToNatGatewayEipAssociationTimeoutsOutput() NatGatewayEipAssociationTimeoutsOutput { + return i.ToNatGatewayEipAssociationTimeoutsOutputWithContext(context.Background()) } -func (i NetworkInsightsAnalysisExplanationClassicLoadBalancerListenerArgs) ToNetworkInsightsAnalysisExplanationClassicLoadBalancerListenerOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationClassicLoadBalancerListenerOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisExplanationClassicLoadBalancerListenerOutput) +func (i NatGatewayEipAssociationTimeoutsArgs) ToNatGatewayEipAssociationTimeoutsOutputWithContext(ctx context.Context) NatGatewayEipAssociationTimeoutsOutput { + return pulumi.ToOutputWithContext(ctx, i).(NatGatewayEipAssociationTimeoutsOutput) } -// NetworkInsightsAnalysisExplanationClassicLoadBalancerListenerArrayInput is an input type that accepts NetworkInsightsAnalysisExplanationClassicLoadBalancerListenerArray and NetworkInsightsAnalysisExplanationClassicLoadBalancerListenerArrayOutput values. -// You can construct a concrete instance of `NetworkInsightsAnalysisExplanationClassicLoadBalancerListenerArrayInput` via: +func (i NatGatewayEipAssociationTimeoutsArgs) ToNatGatewayEipAssociationTimeoutsPtrOutput() NatGatewayEipAssociationTimeoutsPtrOutput { + return i.ToNatGatewayEipAssociationTimeoutsPtrOutputWithContext(context.Background()) +} + +func (i NatGatewayEipAssociationTimeoutsArgs) ToNatGatewayEipAssociationTimeoutsPtrOutputWithContext(ctx context.Context) NatGatewayEipAssociationTimeoutsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(NatGatewayEipAssociationTimeoutsOutput).ToNatGatewayEipAssociationTimeoutsPtrOutputWithContext(ctx) +} + +// NatGatewayEipAssociationTimeoutsPtrInput is an input type that accepts NatGatewayEipAssociationTimeoutsArgs, NatGatewayEipAssociationTimeoutsPtr and NatGatewayEipAssociationTimeoutsPtrOutput values. +// You can construct a concrete instance of `NatGatewayEipAssociationTimeoutsPtrInput` via: // -// NetworkInsightsAnalysisExplanationClassicLoadBalancerListenerArray{ NetworkInsightsAnalysisExplanationClassicLoadBalancerListenerArgs{...} } -type NetworkInsightsAnalysisExplanationClassicLoadBalancerListenerArrayInput interface { +// NatGatewayEipAssociationTimeoutsArgs{...} +// +// or: +// +// nil +type NatGatewayEipAssociationTimeoutsPtrInput interface { pulumi.Input - ToNetworkInsightsAnalysisExplanationClassicLoadBalancerListenerArrayOutput() NetworkInsightsAnalysisExplanationClassicLoadBalancerListenerArrayOutput - ToNetworkInsightsAnalysisExplanationClassicLoadBalancerListenerArrayOutputWithContext(context.Context) NetworkInsightsAnalysisExplanationClassicLoadBalancerListenerArrayOutput + ToNatGatewayEipAssociationTimeoutsPtrOutput() NatGatewayEipAssociationTimeoutsPtrOutput + ToNatGatewayEipAssociationTimeoutsPtrOutputWithContext(context.Context) NatGatewayEipAssociationTimeoutsPtrOutput } -type NetworkInsightsAnalysisExplanationClassicLoadBalancerListenerArray []NetworkInsightsAnalysisExplanationClassicLoadBalancerListenerInput +type natGatewayEipAssociationTimeoutsPtrType NatGatewayEipAssociationTimeoutsArgs -func (NetworkInsightsAnalysisExplanationClassicLoadBalancerListenerArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]NetworkInsightsAnalysisExplanationClassicLoadBalancerListener)(nil)).Elem() +func NatGatewayEipAssociationTimeoutsPtr(v *NatGatewayEipAssociationTimeoutsArgs) NatGatewayEipAssociationTimeoutsPtrInput { + return (*natGatewayEipAssociationTimeoutsPtrType)(v) } -func (i NetworkInsightsAnalysisExplanationClassicLoadBalancerListenerArray) ToNetworkInsightsAnalysisExplanationClassicLoadBalancerListenerArrayOutput() NetworkInsightsAnalysisExplanationClassicLoadBalancerListenerArrayOutput { - return i.ToNetworkInsightsAnalysisExplanationClassicLoadBalancerListenerArrayOutputWithContext(context.Background()) +func (*natGatewayEipAssociationTimeoutsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**NatGatewayEipAssociationTimeouts)(nil)).Elem() } -func (i NetworkInsightsAnalysisExplanationClassicLoadBalancerListenerArray) ToNetworkInsightsAnalysisExplanationClassicLoadBalancerListenerArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationClassicLoadBalancerListenerArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisExplanationClassicLoadBalancerListenerArrayOutput) +func (i *natGatewayEipAssociationTimeoutsPtrType) ToNatGatewayEipAssociationTimeoutsPtrOutput() NatGatewayEipAssociationTimeoutsPtrOutput { + return i.ToNatGatewayEipAssociationTimeoutsPtrOutputWithContext(context.Background()) } -type NetworkInsightsAnalysisExplanationClassicLoadBalancerListenerOutput struct{ *pulumi.OutputState } - -func (NetworkInsightsAnalysisExplanationClassicLoadBalancerListenerOutput) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkInsightsAnalysisExplanationClassicLoadBalancerListener)(nil)).Elem() +func (i *natGatewayEipAssociationTimeoutsPtrType) ToNatGatewayEipAssociationTimeoutsPtrOutputWithContext(ctx context.Context) NatGatewayEipAssociationTimeoutsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(NatGatewayEipAssociationTimeoutsPtrOutput) } -func (o NetworkInsightsAnalysisExplanationClassicLoadBalancerListenerOutput) ToNetworkInsightsAnalysisExplanationClassicLoadBalancerListenerOutput() NetworkInsightsAnalysisExplanationClassicLoadBalancerListenerOutput { - return o +type NatGatewayEipAssociationTimeoutsOutput struct{ *pulumi.OutputState } + +func (NatGatewayEipAssociationTimeoutsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*NatGatewayEipAssociationTimeouts)(nil)).Elem() } -func (o NetworkInsightsAnalysisExplanationClassicLoadBalancerListenerOutput) ToNetworkInsightsAnalysisExplanationClassicLoadBalancerListenerOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationClassicLoadBalancerListenerOutput { +func (o NatGatewayEipAssociationTimeoutsOutput) ToNatGatewayEipAssociationTimeoutsOutput() NatGatewayEipAssociationTimeoutsOutput { return o } -func (o NetworkInsightsAnalysisExplanationClassicLoadBalancerListenerOutput) InstancePort() pulumi.IntPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisExplanationClassicLoadBalancerListener) *int { return v.InstancePort }).(pulumi.IntPtrOutput) +func (o NatGatewayEipAssociationTimeoutsOutput) ToNatGatewayEipAssociationTimeoutsOutputWithContext(ctx context.Context) NatGatewayEipAssociationTimeoutsOutput { + return o } -func (o NetworkInsightsAnalysisExplanationClassicLoadBalancerListenerOutput) LoadBalancerPort() pulumi.IntPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisExplanationClassicLoadBalancerListener) *int { return v.LoadBalancerPort }).(pulumi.IntPtrOutput) +func (o NatGatewayEipAssociationTimeoutsOutput) ToNatGatewayEipAssociationTimeoutsPtrOutput() NatGatewayEipAssociationTimeoutsPtrOutput { + return o.ToNatGatewayEipAssociationTimeoutsPtrOutputWithContext(context.Background()) } -type NetworkInsightsAnalysisExplanationClassicLoadBalancerListenerArrayOutput struct{ *pulumi.OutputState } +func (o NatGatewayEipAssociationTimeoutsOutput) ToNatGatewayEipAssociationTimeoutsPtrOutputWithContext(ctx context.Context) NatGatewayEipAssociationTimeoutsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v NatGatewayEipAssociationTimeouts) *NatGatewayEipAssociationTimeouts { + return &v + }).(NatGatewayEipAssociationTimeoutsPtrOutput) +} -func (NetworkInsightsAnalysisExplanationClassicLoadBalancerListenerArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]NetworkInsightsAnalysisExplanationClassicLoadBalancerListener)(nil)).Elem() +// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). +func (o NatGatewayEipAssociationTimeoutsOutput) Create() pulumi.StringPtrOutput { + return o.ApplyT(func(v NatGatewayEipAssociationTimeouts) *string { return v.Create }).(pulumi.StringPtrOutput) } -func (o NetworkInsightsAnalysisExplanationClassicLoadBalancerListenerArrayOutput) ToNetworkInsightsAnalysisExplanationClassicLoadBalancerListenerArrayOutput() NetworkInsightsAnalysisExplanationClassicLoadBalancerListenerArrayOutput { +// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs. +func (o NatGatewayEipAssociationTimeoutsOutput) Delete() pulumi.StringPtrOutput { + return o.ApplyT(func(v NatGatewayEipAssociationTimeouts) *string { return v.Delete }).(pulumi.StringPtrOutput) +} + +type NatGatewayEipAssociationTimeoutsPtrOutput struct{ *pulumi.OutputState } + +func (NatGatewayEipAssociationTimeoutsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**NatGatewayEipAssociationTimeouts)(nil)).Elem() +} + +func (o NatGatewayEipAssociationTimeoutsPtrOutput) ToNatGatewayEipAssociationTimeoutsPtrOutput() NatGatewayEipAssociationTimeoutsPtrOutput { return o } -func (o NetworkInsightsAnalysisExplanationClassicLoadBalancerListenerArrayOutput) ToNetworkInsightsAnalysisExplanationClassicLoadBalancerListenerArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationClassicLoadBalancerListenerArrayOutput { +func (o NatGatewayEipAssociationTimeoutsPtrOutput) ToNatGatewayEipAssociationTimeoutsPtrOutputWithContext(ctx context.Context) NatGatewayEipAssociationTimeoutsPtrOutput { return o } -func (o NetworkInsightsAnalysisExplanationClassicLoadBalancerListenerArrayOutput) Index(i pulumi.IntInput) NetworkInsightsAnalysisExplanationClassicLoadBalancerListenerOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkInsightsAnalysisExplanationClassicLoadBalancerListener { - return vs[0].([]NetworkInsightsAnalysisExplanationClassicLoadBalancerListener)[vs[1].(int)] - }).(NetworkInsightsAnalysisExplanationClassicLoadBalancerListenerOutput) +func (o NatGatewayEipAssociationTimeoutsPtrOutput) Elem() NatGatewayEipAssociationTimeoutsOutput { + return o.ApplyT(func(v *NatGatewayEipAssociationTimeouts) NatGatewayEipAssociationTimeouts { + if v != nil { + return *v + } + var ret NatGatewayEipAssociationTimeouts + return ret + }).(NatGatewayEipAssociationTimeoutsOutput) } -type NetworkInsightsAnalysisExplanationComponent struct { - // ARN of the Network Insights Analysis. - Arn *string `pulumi:"arn"` - // ID of the Network Insights Analysis. - Id *string `pulumi:"id"` - Name *string `pulumi:"name"` +// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). +func (o NatGatewayEipAssociationTimeoutsPtrOutput) Create() pulumi.StringPtrOutput { + return o.ApplyT(func(v *NatGatewayEipAssociationTimeouts) *string { + if v == nil { + return nil + } + return v.Create + }).(pulumi.StringPtrOutput) } -// NetworkInsightsAnalysisExplanationComponentInput is an input type that accepts NetworkInsightsAnalysisExplanationComponentArgs and NetworkInsightsAnalysisExplanationComponentOutput values. -// You can construct a concrete instance of `NetworkInsightsAnalysisExplanationComponentInput` via: +// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs. +func (o NatGatewayEipAssociationTimeoutsPtrOutput) Delete() pulumi.StringPtrOutput { + return o.ApplyT(func(v *NatGatewayEipAssociationTimeouts) *string { + if v == nil { + return nil + } + return v.Delete + }).(pulumi.StringPtrOutput) +} + +type NatGatewayRegionalNatGatewayAddress struct { + // The Allocation ID of the Elastic IP address for the NAT Gateway. Required when `connectivityType` is set to `public` and `availabilityMode` is set to `zonal`. When `availabilityMode` is set to `regional`, this must not be set; instead, use the `availabilityZoneAddress` block to specify EIPs for each AZ. + AllocationId *string `pulumi:"allocationId"` + // Association ID of the Elastic IP address. + AssociationId *string `pulumi:"associationId"` + // Availability Zone where this specific NAT gateway configuration is active. + AvailabilityZone *string `pulumi:"availabilityZone"` + // Availability Zone ID where this specific NAT gateway configuration is active + AvailabilityZoneId *string `pulumi:"availabilityZoneId"` + // ID of the network interface. + NetworkInterfaceId *string `pulumi:"networkInterfaceId"` + // Public IP address. + PublicIp *string `pulumi:"publicIp"` + // Status of the NAT gateway address. + Status *string `pulumi:"status"` +} + +// NatGatewayRegionalNatGatewayAddressInput is an input type that accepts NatGatewayRegionalNatGatewayAddressArgs and NatGatewayRegionalNatGatewayAddressOutput values. +// You can construct a concrete instance of `NatGatewayRegionalNatGatewayAddressInput` via: // -// NetworkInsightsAnalysisExplanationComponentArgs{...} -type NetworkInsightsAnalysisExplanationComponentInput interface { +// NatGatewayRegionalNatGatewayAddressArgs{...} +type NatGatewayRegionalNatGatewayAddressInput interface { pulumi.Input - ToNetworkInsightsAnalysisExplanationComponentOutput() NetworkInsightsAnalysisExplanationComponentOutput - ToNetworkInsightsAnalysisExplanationComponentOutputWithContext(context.Context) NetworkInsightsAnalysisExplanationComponentOutput + ToNatGatewayRegionalNatGatewayAddressOutput() NatGatewayRegionalNatGatewayAddressOutput + ToNatGatewayRegionalNatGatewayAddressOutputWithContext(context.Context) NatGatewayRegionalNatGatewayAddressOutput } -type NetworkInsightsAnalysisExplanationComponentArgs struct { - // ARN of the Network Insights Analysis. - Arn pulumi.StringPtrInput `pulumi:"arn"` - // ID of the Network Insights Analysis. - Id pulumi.StringPtrInput `pulumi:"id"` - Name pulumi.StringPtrInput `pulumi:"name"` +type NatGatewayRegionalNatGatewayAddressArgs struct { + // The Allocation ID of the Elastic IP address for the NAT Gateway. Required when `connectivityType` is set to `public` and `availabilityMode` is set to `zonal`. When `availabilityMode` is set to `regional`, this must not be set; instead, use the `availabilityZoneAddress` block to specify EIPs for each AZ. + AllocationId pulumi.StringPtrInput `pulumi:"allocationId"` + // Association ID of the Elastic IP address. + AssociationId pulumi.StringPtrInput `pulumi:"associationId"` + // Availability Zone where this specific NAT gateway configuration is active. + AvailabilityZone pulumi.StringPtrInput `pulumi:"availabilityZone"` + // Availability Zone ID where this specific NAT gateway configuration is active + AvailabilityZoneId pulumi.StringPtrInput `pulumi:"availabilityZoneId"` + // ID of the network interface. + NetworkInterfaceId pulumi.StringPtrInput `pulumi:"networkInterfaceId"` + // Public IP address. + PublicIp pulumi.StringPtrInput `pulumi:"publicIp"` + // Status of the NAT gateway address. + Status pulumi.StringPtrInput `pulumi:"status"` } -func (NetworkInsightsAnalysisExplanationComponentArgs) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkInsightsAnalysisExplanationComponent)(nil)).Elem() +func (NatGatewayRegionalNatGatewayAddressArgs) ElementType() reflect.Type { + return reflect.TypeOf((*NatGatewayRegionalNatGatewayAddress)(nil)).Elem() } -func (i NetworkInsightsAnalysisExplanationComponentArgs) ToNetworkInsightsAnalysisExplanationComponentOutput() NetworkInsightsAnalysisExplanationComponentOutput { - return i.ToNetworkInsightsAnalysisExplanationComponentOutputWithContext(context.Background()) +func (i NatGatewayRegionalNatGatewayAddressArgs) ToNatGatewayRegionalNatGatewayAddressOutput() NatGatewayRegionalNatGatewayAddressOutput { + return i.ToNatGatewayRegionalNatGatewayAddressOutputWithContext(context.Background()) } -func (i NetworkInsightsAnalysisExplanationComponentArgs) ToNetworkInsightsAnalysisExplanationComponentOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationComponentOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisExplanationComponentOutput) +func (i NatGatewayRegionalNatGatewayAddressArgs) ToNatGatewayRegionalNatGatewayAddressOutputWithContext(ctx context.Context) NatGatewayRegionalNatGatewayAddressOutput { + return pulumi.ToOutputWithContext(ctx, i).(NatGatewayRegionalNatGatewayAddressOutput) } -// NetworkInsightsAnalysisExplanationComponentArrayInput is an input type that accepts NetworkInsightsAnalysisExplanationComponentArray and NetworkInsightsAnalysisExplanationComponentArrayOutput values. -// You can construct a concrete instance of `NetworkInsightsAnalysisExplanationComponentArrayInput` via: +// NatGatewayRegionalNatGatewayAddressArrayInput is an input type that accepts NatGatewayRegionalNatGatewayAddressArray and NatGatewayRegionalNatGatewayAddressArrayOutput values. +// You can construct a concrete instance of `NatGatewayRegionalNatGatewayAddressArrayInput` via: // -// NetworkInsightsAnalysisExplanationComponentArray{ NetworkInsightsAnalysisExplanationComponentArgs{...} } -type NetworkInsightsAnalysisExplanationComponentArrayInput interface { +// NatGatewayRegionalNatGatewayAddressArray{ NatGatewayRegionalNatGatewayAddressArgs{...} } +type NatGatewayRegionalNatGatewayAddressArrayInput interface { pulumi.Input - ToNetworkInsightsAnalysisExplanationComponentArrayOutput() NetworkInsightsAnalysisExplanationComponentArrayOutput - ToNetworkInsightsAnalysisExplanationComponentArrayOutputWithContext(context.Context) NetworkInsightsAnalysisExplanationComponentArrayOutput + ToNatGatewayRegionalNatGatewayAddressArrayOutput() NatGatewayRegionalNatGatewayAddressArrayOutput + ToNatGatewayRegionalNatGatewayAddressArrayOutputWithContext(context.Context) NatGatewayRegionalNatGatewayAddressArrayOutput } -type NetworkInsightsAnalysisExplanationComponentArray []NetworkInsightsAnalysisExplanationComponentInput +type NatGatewayRegionalNatGatewayAddressArray []NatGatewayRegionalNatGatewayAddressInput -func (NetworkInsightsAnalysisExplanationComponentArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]NetworkInsightsAnalysisExplanationComponent)(nil)).Elem() +func (NatGatewayRegionalNatGatewayAddressArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]NatGatewayRegionalNatGatewayAddress)(nil)).Elem() } -func (i NetworkInsightsAnalysisExplanationComponentArray) ToNetworkInsightsAnalysisExplanationComponentArrayOutput() NetworkInsightsAnalysisExplanationComponentArrayOutput { - return i.ToNetworkInsightsAnalysisExplanationComponentArrayOutputWithContext(context.Background()) +func (i NatGatewayRegionalNatGatewayAddressArray) ToNatGatewayRegionalNatGatewayAddressArrayOutput() NatGatewayRegionalNatGatewayAddressArrayOutput { + return i.ToNatGatewayRegionalNatGatewayAddressArrayOutputWithContext(context.Background()) } -func (i NetworkInsightsAnalysisExplanationComponentArray) ToNetworkInsightsAnalysisExplanationComponentArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationComponentArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisExplanationComponentArrayOutput) +func (i NatGatewayRegionalNatGatewayAddressArray) ToNatGatewayRegionalNatGatewayAddressArrayOutputWithContext(ctx context.Context) NatGatewayRegionalNatGatewayAddressArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(NatGatewayRegionalNatGatewayAddressArrayOutput) } -type NetworkInsightsAnalysisExplanationComponentOutput struct{ *pulumi.OutputState } +type NatGatewayRegionalNatGatewayAddressOutput struct{ *pulumi.OutputState } -func (NetworkInsightsAnalysisExplanationComponentOutput) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkInsightsAnalysisExplanationComponent)(nil)).Elem() +func (NatGatewayRegionalNatGatewayAddressOutput) ElementType() reflect.Type { + return reflect.TypeOf((*NatGatewayRegionalNatGatewayAddress)(nil)).Elem() } -func (o NetworkInsightsAnalysisExplanationComponentOutput) ToNetworkInsightsAnalysisExplanationComponentOutput() NetworkInsightsAnalysisExplanationComponentOutput { +func (o NatGatewayRegionalNatGatewayAddressOutput) ToNatGatewayRegionalNatGatewayAddressOutput() NatGatewayRegionalNatGatewayAddressOutput { return o } -func (o NetworkInsightsAnalysisExplanationComponentOutput) ToNetworkInsightsAnalysisExplanationComponentOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationComponentOutput { +func (o NatGatewayRegionalNatGatewayAddressOutput) ToNatGatewayRegionalNatGatewayAddressOutputWithContext(ctx context.Context) NatGatewayRegionalNatGatewayAddressOutput { return o } -// ARN of the Network Insights Analysis. -func (o NetworkInsightsAnalysisExplanationComponentOutput) Arn() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisExplanationComponent) *string { return v.Arn }).(pulumi.StringPtrOutput) +// The Allocation ID of the Elastic IP address for the NAT Gateway. Required when `connectivityType` is set to `public` and `availabilityMode` is set to `zonal`. When `availabilityMode` is set to `regional`, this must not be set; instead, use the `availabilityZoneAddress` block to specify EIPs for each AZ. +func (o NatGatewayRegionalNatGatewayAddressOutput) AllocationId() pulumi.StringPtrOutput { + return o.ApplyT(func(v NatGatewayRegionalNatGatewayAddress) *string { return v.AllocationId }).(pulumi.StringPtrOutput) } -// ID of the Network Insights Analysis. -func (o NetworkInsightsAnalysisExplanationComponentOutput) Id() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisExplanationComponent) *string { return v.Id }).(pulumi.StringPtrOutput) +// Association ID of the Elastic IP address. +func (o NatGatewayRegionalNatGatewayAddressOutput) AssociationId() pulumi.StringPtrOutput { + return o.ApplyT(func(v NatGatewayRegionalNatGatewayAddress) *string { return v.AssociationId }).(pulumi.StringPtrOutput) } -func (o NetworkInsightsAnalysisExplanationComponentOutput) Name() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisExplanationComponent) *string { return v.Name }).(pulumi.StringPtrOutput) +// Availability Zone where this specific NAT gateway configuration is active. +func (o NatGatewayRegionalNatGatewayAddressOutput) AvailabilityZone() pulumi.StringPtrOutput { + return o.ApplyT(func(v NatGatewayRegionalNatGatewayAddress) *string { return v.AvailabilityZone }).(pulumi.StringPtrOutput) } -type NetworkInsightsAnalysisExplanationComponentArrayOutput struct{ *pulumi.OutputState } +// Availability Zone ID where this specific NAT gateway configuration is active +func (o NatGatewayRegionalNatGatewayAddressOutput) AvailabilityZoneId() pulumi.StringPtrOutput { + return o.ApplyT(func(v NatGatewayRegionalNatGatewayAddress) *string { return v.AvailabilityZoneId }).(pulumi.StringPtrOutput) +} -func (NetworkInsightsAnalysisExplanationComponentArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]NetworkInsightsAnalysisExplanationComponent)(nil)).Elem() +// ID of the network interface. +func (o NatGatewayRegionalNatGatewayAddressOutput) NetworkInterfaceId() pulumi.StringPtrOutput { + return o.ApplyT(func(v NatGatewayRegionalNatGatewayAddress) *string { return v.NetworkInterfaceId }).(pulumi.StringPtrOutput) } -func (o NetworkInsightsAnalysisExplanationComponentArrayOutput) ToNetworkInsightsAnalysisExplanationComponentArrayOutput() NetworkInsightsAnalysisExplanationComponentArrayOutput { +// Public IP address. +func (o NatGatewayRegionalNatGatewayAddressOutput) PublicIp() pulumi.StringPtrOutput { + return o.ApplyT(func(v NatGatewayRegionalNatGatewayAddress) *string { return v.PublicIp }).(pulumi.StringPtrOutput) +} + +// Status of the NAT gateway address. +func (o NatGatewayRegionalNatGatewayAddressOutput) Status() pulumi.StringPtrOutput { + return o.ApplyT(func(v NatGatewayRegionalNatGatewayAddress) *string { return v.Status }).(pulumi.StringPtrOutput) +} + +type NatGatewayRegionalNatGatewayAddressArrayOutput struct{ *pulumi.OutputState } + +func (NatGatewayRegionalNatGatewayAddressArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]NatGatewayRegionalNatGatewayAddress)(nil)).Elem() +} + +func (o NatGatewayRegionalNatGatewayAddressArrayOutput) ToNatGatewayRegionalNatGatewayAddressArrayOutput() NatGatewayRegionalNatGatewayAddressArrayOutput { return o } -func (o NetworkInsightsAnalysisExplanationComponentArrayOutput) ToNetworkInsightsAnalysisExplanationComponentArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationComponentArrayOutput { +func (o NatGatewayRegionalNatGatewayAddressArrayOutput) ToNatGatewayRegionalNatGatewayAddressArrayOutputWithContext(ctx context.Context) NatGatewayRegionalNatGatewayAddressArrayOutput { return o } -func (o NetworkInsightsAnalysisExplanationComponentArrayOutput) Index(i pulumi.IntInput) NetworkInsightsAnalysisExplanationComponentOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkInsightsAnalysisExplanationComponent { - return vs[0].([]NetworkInsightsAnalysisExplanationComponent)[vs[1].(int)] - }).(NetworkInsightsAnalysisExplanationComponentOutput) +func (o NatGatewayRegionalNatGatewayAddressArrayOutput) Index(i pulumi.IntInput) NatGatewayRegionalNatGatewayAddressOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) NatGatewayRegionalNatGatewayAddress { + return vs[0].([]NatGatewayRegionalNatGatewayAddress)[vs[1].(int)] + }).(NatGatewayRegionalNatGatewayAddressOutput) } -type NetworkInsightsAnalysisExplanationCustomerGateway struct { - // ARN of the Network Insights Analysis. - Arn *string `pulumi:"arn"` - // ID of the Network Insights Analysis. - Id *string `pulumi:"id"` - Name *string `pulumi:"name"` +type NetworkAclEgress struct { + // The action to take. + Action string `pulumi:"action"` + // The CIDR block to match. This must be a + // valid network mask. + CidrBlock *string `pulumi:"cidrBlock"` + // The from port to match. + FromPort int `pulumi:"fromPort"` + // The ICMP type code to be used. Default 0. + // + // > Note: For more information on ICMP types and codes, see here: https://www.iana.org/assignments/icmp-parameters/icmp-parameters.xhtml + IcmpCode *int `pulumi:"icmpCode"` + // The ICMP type to be used. Default 0. + IcmpType *int `pulumi:"icmpType"` + // The IPv6 CIDR block. + Ipv6CidrBlock *string `pulumi:"ipv6CidrBlock"` + // The protocol to match. If using the -1 'all' + // protocol, you must specify a from and to port of 0. + Protocol string `pulumi:"protocol"` + // The rule number. Used for ordering. + RuleNo int `pulumi:"ruleNo"` + // The to port to match. + ToPort int `pulumi:"toPort"` } -// NetworkInsightsAnalysisExplanationCustomerGatewayInput is an input type that accepts NetworkInsightsAnalysisExplanationCustomerGatewayArgs and NetworkInsightsAnalysisExplanationCustomerGatewayOutput values. -// You can construct a concrete instance of `NetworkInsightsAnalysisExplanationCustomerGatewayInput` via: +// NetworkAclEgressInput is an input type that accepts NetworkAclEgressArgs and NetworkAclEgressOutput values. +// You can construct a concrete instance of `NetworkAclEgressInput` via: // -// NetworkInsightsAnalysisExplanationCustomerGatewayArgs{...} -type NetworkInsightsAnalysisExplanationCustomerGatewayInput interface { +// NetworkAclEgressArgs{...} +type NetworkAclEgressInput interface { pulumi.Input - ToNetworkInsightsAnalysisExplanationCustomerGatewayOutput() NetworkInsightsAnalysisExplanationCustomerGatewayOutput - ToNetworkInsightsAnalysisExplanationCustomerGatewayOutputWithContext(context.Context) NetworkInsightsAnalysisExplanationCustomerGatewayOutput + ToNetworkAclEgressOutput() NetworkAclEgressOutput + ToNetworkAclEgressOutputWithContext(context.Context) NetworkAclEgressOutput } -type NetworkInsightsAnalysisExplanationCustomerGatewayArgs struct { - // ARN of the Network Insights Analysis. - Arn pulumi.StringPtrInput `pulumi:"arn"` - // ID of the Network Insights Analysis. - Id pulumi.StringPtrInput `pulumi:"id"` - Name pulumi.StringPtrInput `pulumi:"name"` +type NetworkAclEgressArgs struct { + // The action to take. + Action pulumi.StringInput `pulumi:"action"` + // The CIDR block to match. This must be a + // valid network mask. + CidrBlock pulumi.StringPtrInput `pulumi:"cidrBlock"` + // The from port to match. + FromPort pulumi.IntInput `pulumi:"fromPort"` + // The ICMP type code to be used. Default 0. + // + // > Note: For more information on ICMP types and codes, see here: https://www.iana.org/assignments/icmp-parameters/icmp-parameters.xhtml + IcmpCode pulumi.IntPtrInput `pulumi:"icmpCode"` + // The ICMP type to be used. Default 0. + IcmpType pulumi.IntPtrInput `pulumi:"icmpType"` + // The IPv6 CIDR block. + Ipv6CidrBlock pulumi.StringPtrInput `pulumi:"ipv6CidrBlock"` + // The protocol to match. If using the -1 'all' + // protocol, you must specify a from and to port of 0. + Protocol pulumi.StringInput `pulumi:"protocol"` + // The rule number. Used for ordering. + RuleNo pulumi.IntInput `pulumi:"ruleNo"` + // The to port to match. + ToPort pulumi.IntInput `pulumi:"toPort"` } -func (NetworkInsightsAnalysisExplanationCustomerGatewayArgs) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkInsightsAnalysisExplanationCustomerGateway)(nil)).Elem() +func (NetworkAclEgressArgs) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkAclEgress)(nil)).Elem() } -func (i NetworkInsightsAnalysisExplanationCustomerGatewayArgs) ToNetworkInsightsAnalysisExplanationCustomerGatewayOutput() NetworkInsightsAnalysisExplanationCustomerGatewayOutput { - return i.ToNetworkInsightsAnalysisExplanationCustomerGatewayOutputWithContext(context.Background()) +func (i NetworkAclEgressArgs) ToNetworkAclEgressOutput() NetworkAclEgressOutput { + return i.ToNetworkAclEgressOutputWithContext(context.Background()) } -func (i NetworkInsightsAnalysisExplanationCustomerGatewayArgs) ToNetworkInsightsAnalysisExplanationCustomerGatewayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationCustomerGatewayOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisExplanationCustomerGatewayOutput) +func (i NetworkAclEgressArgs) ToNetworkAclEgressOutputWithContext(ctx context.Context) NetworkAclEgressOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkAclEgressOutput) } -// NetworkInsightsAnalysisExplanationCustomerGatewayArrayInput is an input type that accepts NetworkInsightsAnalysisExplanationCustomerGatewayArray and NetworkInsightsAnalysisExplanationCustomerGatewayArrayOutput values. -// You can construct a concrete instance of `NetworkInsightsAnalysisExplanationCustomerGatewayArrayInput` via: +// NetworkAclEgressArrayInput is an input type that accepts NetworkAclEgressArray and NetworkAclEgressArrayOutput values. +// You can construct a concrete instance of `NetworkAclEgressArrayInput` via: // -// NetworkInsightsAnalysisExplanationCustomerGatewayArray{ NetworkInsightsAnalysisExplanationCustomerGatewayArgs{...} } -type NetworkInsightsAnalysisExplanationCustomerGatewayArrayInput interface { +// NetworkAclEgressArray{ NetworkAclEgressArgs{...} } +type NetworkAclEgressArrayInput interface { pulumi.Input - ToNetworkInsightsAnalysisExplanationCustomerGatewayArrayOutput() NetworkInsightsAnalysisExplanationCustomerGatewayArrayOutput - ToNetworkInsightsAnalysisExplanationCustomerGatewayArrayOutputWithContext(context.Context) NetworkInsightsAnalysisExplanationCustomerGatewayArrayOutput + ToNetworkAclEgressArrayOutput() NetworkAclEgressArrayOutput + ToNetworkAclEgressArrayOutputWithContext(context.Context) NetworkAclEgressArrayOutput } -type NetworkInsightsAnalysisExplanationCustomerGatewayArray []NetworkInsightsAnalysisExplanationCustomerGatewayInput +type NetworkAclEgressArray []NetworkAclEgressInput -func (NetworkInsightsAnalysisExplanationCustomerGatewayArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]NetworkInsightsAnalysisExplanationCustomerGateway)(nil)).Elem() +func (NetworkAclEgressArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkAclEgress)(nil)).Elem() } -func (i NetworkInsightsAnalysisExplanationCustomerGatewayArray) ToNetworkInsightsAnalysisExplanationCustomerGatewayArrayOutput() NetworkInsightsAnalysisExplanationCustomerGatewayArrayOutput { - return i.ToNetworkInsightsAnalysisExplanationCustomerGatewayArrayOutputWithContext(context.Background()) +func (i NetworkAclEgressArray) ToNetworkAclEgressArrayOutput() NetworkAclEgressArrayOutput { + return i.ToNetworkAclEgressArrayOutputWithContext(context.Background()) } -func (i NetworkInsightsAnalysisExplanationCustomerGatewayArray) ToNetworkInsightsAnalysisExplanationCustomerGatewayArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationCustomerGatewayArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisExplanationCustomerGatewayArrayOutput) +func (i NetworkAclEgressArray) ToNetworkAclEgressArrayOutputWithContext(ctx context.Context) NetworkAclEgressArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkAclEgressArrayOutput) } -type NetworkInsightsAnalysisExplanationCustomerGatewayOutput struct{ *pulumi.OutputState } +type NetworkAclEgressOutput struct{ *pulumi.OutputState } -func (NetworkInsightsAnalysisExplanationCustomerGatewayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkInsightsAnalysisExplanationCustomerGateway)(nil)).Elem() +func (NetworkAclEgressOutput) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkAclEgress)(nil)).Elem() } -func (o NetworkInsightsAnalysisExplanationCustomerGatewayOutput) ToNetworkInsightsAnalysisExplanationCustomerGatewayOutput() NetworkInsightsAnalysisExplanationCustomerGatewayOutput { +func (o NetworkAclEgressOutput) ToNetworkAclEgressOutput() NetworkAclEgressOutput { return o } -func (o NetworkInsightsAnalysisExplanationCustomerGatewayOutput) ToNetworkInsightsAnalysisExplanationCustomerGatewayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationCustomerGatewayOutput { +func (o NetworkAclEgressOutput) ToNetworkAclEgressOutputWithContext(ctx context.Context) NetworkAclEgressOutput { return o } -// ARN of the Network Insights Analysis. -func (o NetworkInsightsAnalysisExplanationCustomerGatewayOutput) Arn() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisExplanationCustomerGateway) *string { return v.Arn }).(pulumi.StringPtrOutput) +// The action to take. +func (o NetworkAclEgressOutput) Action() pulumi.StringOutput { + return o.ApplyT(func(v NetworkAclEgress) string { return v.Action }).(pulumi.StringOutput) } -// ID of the Network Insights Analysis. -func (o NetworkInsightsAnalysisExplanationCustomerGatewayOutput) Id() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisExplanationCustomerGateway) *string { return v.Id }).(pulumi.StringPtrOutput) +// The CIDR block to match. This must be a +// valid network mask. +func (o NetworkAclEgressOutput) CidrBlock() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkAclEgress) *string { return v.CidrBlock }).(pulumi.StringPtrOutput) } -func (o NetworkInsightsAnalysisExplanationCustomerGatewayOutput) Name() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisExplanationCustomerGateway) *string { return v.Name }).(pulumi.StringPtrOutput) +// The from port to match. +func (o NetworkAclEgressOutput) FromPort() pulumi.IntOutput { + return o.ApplyT(func(v NetworkAclEgress) int { return v.FromPort }).(pulumi.IntOutput) } -type NetworkInsightsAnalysisExplanationCustomerGatewayArrayOutput struct{ *pulumi.OutputState } +// The ICMP type code to be used. Default 0. +// +// > Note: For more information on ICMP types and codes, see here: https://www.iana.org/assignments/icmp-parameters/icmp-parameters.xhtml +func (o NetworkAclEgressOutput) IcmpCode() pulumi.IntPtrOutput { + return o.ApplyT(func(v NetworkAclEgress) *int { return v.IcmpCode }).(pulumi.IntPtrOutput) +} -func (NetworkInsightsAnalysisExplanationCustomerGatewayArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]NetworkInsightsAnalysisExplanationCustomerGateway)(nil)).Elem() +// The ICMP type to be used. Default 0. +func (o NetworkAclEgressOutput) IcmpType() pulumi.IntPtrOutput { + return o.ApplyT(func(v NetworkAclEgress) *int { return v.IcmpType }).(pulumi.IntPtrOutput) } -func (o NetworkInsightsAnalysisExplanationCustomerGatewayArrayOutput) ToNetworkInsightsAnalysisExplanationCustomerGatewayArrayOutput() NetworkInsightsAnalysisExplanationCustomerGatewayArrayOutput { +// The IPv6 CIDR block. +func (o NetworkAclEgressOutput) Ipv6CidrBlock() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkAclEgress) *string { return v.Ipv6CidrBlock }).(pulumi.StringPtrOutput) +} + +// The protocol to match. If using the -1 'all' +// protocol, you must specify a from and to port of 0. +func (o NetworkAclEgressOutput) Protocol() pulumi.StringOutput { + return o.ApplyT(func(v NetworkAclEgress) string { return v.Protocol }).(pulumi.StringOutput) +} + +// The rule number. Used for ordering. +func (o NetworkAclEgressOutput) RuleNo() pulumi.IntOutput { + return o.ApplyT(func(v NetworkAclEgress) int { return v.RuleNo }).(pulumi.IntOutput) +} + +// The to port to match. +func (o NetworkAclEgressOutput) ToPort() pulumi.IntOutput { + return o.ApplyT(func(v NetworkAclEgress) int { return v.ToPort }).(pulumi.IntOutput) +} + +type NetworkAclEgressArrayOutput struct{ *pulumi.OutputState } + +func (NetworkAclEgressArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkAclEgress)(nil)).Elem() +} + +func (o NetworkAclEgressArrayOutput) ToNetworkAclEgressArrayOutput() NetworkAclEgressArrayOutput { return o } -func (o NetworkInsightsAnalysisExplanationCustomerGatewayArrayOutput) ToNetworkInsightsAnalysisExplanationCustomerGatewayArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationCustomerGatewayArrayOutput { +func (o NetworkAclEgressArrayOutput) ToNetworkAclEgressArrayOutputWithContext(ctx context.Context) NetworkAclEgressArrayOutput { return o } -func (o NetworkInsightsAnalysisExplanationCustomerGatewayArrayOutput) Index(i pulumi.IntInput) NetworkInsightsAnalysisExplanationCustomerGatewayOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkInsightsAnalysisExplanationCustomerGateway { - return vs[0].([]NetworkInsightsAnalysisExplanationCustomerGateway)[vs[1].(int)] - }).(NetworkInsightsAnalysisExplanationCustomerGatewayOutput) +func (o NetworkAclEgressArrayOutput) Index(i pulumi.IntInput) NetworkAclEgressOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkAclEgress { + return vs[0].([]NetworkAclEgress)[vs[1].(int)] + }).(NetworkAclEgressOutput) } -type NetworkInsightsAnalysisExplanationDestination struct { - // ARN of the Network Insights Analysis. - Arn *string `pulumi:"arn"` - // ID of the Network Insights Analysis. - Id *string `pulumi:"id"` - Name *string `pulumi:"name"` +type NetworkAclIngress struct { + // The action to take. + Action string `pulumi:"action"` + // The CIDR block to match. This must be a + // valid network mask. + CidrBlock *string `pulumi:"cidrBlock"` + // The from port to match. + FromPort int `pulumi:"fromPort"` + // The ICMP type code to be used. Default 0. + // + // > Note: For more information on ICMP types and codes, see here: https://www.iana.org/assignments/icmp-parameters/icmp-parameters.xhtml + IcmpCode *int `pulumi:"icmpCode"` + // The ICMP type to be used. Default 0. + IcmpType *int `pulumi:"icmpType"` + // The IPv6 CIDR block. + Ipv6CidrBlock *string `pulumi:"ipv6CidrBlock"` + // The protocol to match. If using the -1 'all' + // protocol, you must specify a from and to port of 0. + Protocol string `pulumi:"protocol"` + // The rule number. Used for ordering. + RuleNo int `pulumi:"ruleNo"` + // The to port to match. + ToPort int `pulumi:"toPort"` } -// NetworkInsightsAnalysisExplanationDestinationInput is an input type that accepts NetworkInsightsAnalysisExplanationDestinationArgs and NetworkInsightsAnalysisExplanationDestinationOutput values. -// You can construct a concrete instance of `NetworkInsightsAnalysisExplanationDestinationInput` via: +// NetworkAclIngressInput is an input type that accepts NetworkAclIngressArgs and NetworkAclIngressOutput values. +// You can construct a concrete instance of `NetworkAclIngressInput` via: // -// NetworkInsightsAnalysisExplanationDestinationArgs{...} -type NetworkInsightsAnalysisExplanationDestinationInput interface { +// NetworkAclIngressArgs{...} +type NetworkAclIngressInput interface { pulumi.Input - ToNetworkInsightsAnalysisExplanationDestinationOutput() NetworkInsightsAnalysisExplanationDestinationOutput - ToNetworkInsightsAnalysisExplanationDestinationOutputWithContext(context.Context) NetworkInsightsAnalysisExplanationDestinationOutput + ToNetworkAclIngressOutput() NetworkAclIngressOutput + ToNetworkAclIngressOutputWithContext(context.Context) NetworkAclIngressOutput } -type NetworkInsightsAnalysisExplanationDestinationArgs struct { - // ARN of the Network Insights Analysis. - Arn pulumi.StringPtrInput `pulumi:"arn"` - // ID of the Network Insights Analysis. - Id pulumi.StringPtrInput `pulumi:"id"` - Name pulumi.StringPtrInput `pulumi:"name"` +type NetworkAclIngressArgs struct { + // The action to take. + Action pulumi.StringInput `pulumi:"action"` + // The CIDR block to match. This must be a + // valid network mask. + CidrBlock pulumi.StringPtrInput `pulumi:"cidrBlock"` + // The from port to match. + FromPort pulumi.IntInput `pulumi:"fromPort"` + // The ICMP type code to be used. Default 0. + // + // > Note: For more information on ICMP types and codes, see here: https://www.iana.org/assignments/icmp-parameters/icmp-parameters.xhtml + IcmpCode pulumi.IntPtrInput `pulumi:"icmpCode"` + // The ICMP type to be used. Default 0. + IcmpType pulumi.IntPtrInput `pulumi:"icmpType"` + // The IPv6 CIDR block. + Ipv6CidrBlock pulumi.StringPtrInput `pulumi:"ipv6CidrBlock"` + // The protocol to match. If using the -1 'all' + // protocol, you must specify a from and to port of 0. + Protocol pulumi.StringInput `pulumi:"protocol"` + // The rule number. Used for ordering. + RuleNo pulumi.IntInput `pulumi:"ruleNo"` + // The to port to match. + ToPort pulumi.IntInput `pulumi:"toPort"` } -func (NetworkInsightsAnalysisExplanationDestinationArgs) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkInsightsAnalysisExplanationDestination)(nil)).Elem() +func (NetworkAclIngressArgs) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkAclIngress)(nil)).Elem() } -func (i NetworkInsightsAnalysisExplanationDestinationArgs) ToNetworkInsightsAnalysisExplanationDestinationOutput() NetworkInsightsAnalysisExplanationDestinationOutput { - return i.ToNetworkInsightsAnalysisExplanationDestinationOutputWithContext(context.Background()) +func (i NetworkAclIngressArgs) ToNetworkAclIngressOutput() NetworkAclIngressOutput { + return i.ToNetworkAclIngressOutputWithContext(context.Background()) } -func (i NetworkInsightsAnalysisExplanationDestinationArgs) ToNetworkInsightsAnalysisExplanationDestinationOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationDestinationOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisExplanationDestinationOutput) +func (i NetworkAclIngressArgs) ToNetworkAclIngressOutputWithContext(ctx context.Context) NetworkAclIngressOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkAclIngressOutput) } -// NetworkInsightsAnalysisExplanationDestinationArrayInput is an input type that accepts NetworkInsightsAnalysisExplanationDestinationArray and NetworkInsightsAnalysisExplanationDestinationArrayOutput values. -// You can construct a concrete instance of `NetworkInsightsAnalysisExplanationDestinationArrayInput` via: +// NetworkAclIngressArrayInput is an input type that accepts NetworkAclIngressArray and NetworkAclIngressArrayOutput values. +// You can construct a concrete instance of `NetworkAclIngressArrayInput` via: // -// NetworkInsightsAnalysisExplanationDestinationArray{ NetworkInsightsAnalysisExplanationDestinationArgs{...} } -type NetworkInsightsAnalysisExplanationDestinationArrayInput interface { +// NetworkAclIngressArray{ NetworkAclIngressArgs{...} } +type NetworkAclIngressArrayInput interface { pulumi.Input - ToNetworkInsightsAnalysisExplanationDestinationArrayOutput() NetworkInsightsAnalysisExplanationDestinationArrayOutput - ToNetworkInsightsAnalysisExplanationDestinationArrayOutputWithContext(context.Context) NetworkInsightsAnalysisExplanationDestinationArrayOutput + ToNetworkAclIngressArrayOutput() NetworkAclIngressArrayOutput + ToNetworkAclIngressArrayOutputWithContext(context.Context) NetworkAclIngressArrayOutput } -type NetworkInsightsAnalysisExplanationDestinationArray []NetworkInsightsAnalysisExplanationDestinationInput +type NetworkAclIngressArray []NetworkAclIngressInput -func (NetworkInsightsAnalysisExplanationDestinationArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]NetworkInsightsAnalysisExplanationDestination)(nil)).Elem() +func (NetworkAclIngressArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkAclIngress)(nil)).Elem() } -func (i NetworkInsightsAnalysisExplanationDestinationArray) ToNetworkInsightsAnalysisExplanationDestinationArrayOutput() NetworkInsightsAnalysisExplanationDestinationArrayOutput { - return i.ToNetworkInsightsAnalysisExplanationDestinationArrayOutputWithContext(context.Background()) +func (i NetworkAclIngressArray) ToNetworkAclIngressArrayOutput() NetworkAclIngressArrayOutput { + return i.ToNetworkAclIngressArrayOutputWithContext(context.Background()) } -func (i NetworkInsightsAnalysisExplanationDestinationArray) ToNetworkInsightsAnalysisExplanationDestinationArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationDestinationArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisExplanationDestinationArrayOutput) +func (i NetworkAclIngressArray) ToNetworkAclIngressArrayOutputWithContext(ctx context.Context) NetworkAclIngressArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkAclIngressArrayOutput) } -type NetworkInsightsAnalysisExplanationDestinationOutput struct{ *pulumi.OutputState } +type NetworkAclIngressOutput struct{ *pulumi.OutputState } -func (NetworkInsightsAnalysisExplanationDestinationOutput) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkInsightsAnalysisExplanationDestination)(nil)).Elem() +func (NetworkAclIngressOutput) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkAclIngress)(nil)).Elem() } -func (o NetworkInsightsAnalysisExplanationDestinationOutput) ToNetworkInsightsAnalysisExplanationDestinationOutput() NetworkInsightsAnalysisExplanationDestinationOutput { +func (o NetworkAclIngressOutput) ToNetworkAclIngressOutput() NetworkAclIngressOutput { return o } -func (o NetworkInsightsAnalysisExplanationDestinationOutput) ToNetworkInsightsAnalysisExplanationDestinationOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationDestinationOutput { +func (o NetworkAclIngressOutput) ToNetworkAclIngressOutputWithContext(ctx context.Context) NetworkAclIngressOutput { return o } -// ARN of the Network Insights Analysis. -func (o NetworkInsightsAnalysisExplanationDestinationOutput) Arn() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisExplanationDestination) *string { return v.Arn }).(pulumi.StringPtrOutput) +// The action to take. +func (o NetworkAclIngressOutput) Action() pulumi.StringOutput { + return o.ApplyT(func(v NetworkAclIngress) string { return v.Action }).(pulumi.StringOutput) } -// ID of the Network Insights Analysis. -func (o NetworkInsightsAnalysisExplanationDestinationOutput) Id() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisExplanationDestination) *string { return v.Id }).(pulumi.StringPtrOutput) +// The CIDR block to match. This must be a +// valid network mask. +func (o NetworkAclIngressOutput) CidrBlock() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkAclIngress) *string { return v.CidrBlock }).(pulumi.StringPtrOutput) } -func (o NetworkInsightsAnalysisExplanationDestinationOutput) Name() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisExplanationDestination) *string { return v.Name }).(pulumi.StringPtrOutput) +// The from port to match. +func (o NetworkAclIngressOutput) FromPort() pulumi.IntOutput { + return o.ApplyT(func(v NetworkAclIngress) int { return v.FromPort }).(pulumi.IntOutput) } -type NetworkInsightsAnalysisExplanationDestinationArrayOutput struct{ *pulumi.OutputState } +// The ICMP type code to be used. Default 0. +// +// > Note: For more information on ICMP types and codes, see here: https://www.iana.org/assignments/icmp-parameters/icmp-parameters.xhtml +func (o NetworkAclIngressOutput) IcmpCode() pulumi.IntPtrOutput { + return o.ApplyT(func(v NetworkAclIngress) *int { return v.IcmpCode }).(pulumi.IntPtrOutput) +} -func (NetworkInsightsAnalysisExplanationDestinationArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]NetworkInsightsAnalysisExplanationDestination)(nil)).Elem() +// The ICMP type to be used. Default 0. +func (o NetworkAclIngressOutput) IcmpType() pulumi.IntPtrOutput { + return o.ApplyT(func(v NetworkAclIngress) *int { return v.IcmpType }).(pulumi.IntPtrOutput) } -func (o NetworkInsightsAnalysisExplanationDestinationArrayOutput) ToNetworkInsightsAnalysisExplanationDestinationArrayOutput() NetworkInsightsAnalysisExplanationDestinationArrayOutput { - return o +// The IPv6 CIDR block. +func (o NetworkAclIngressOutput) Ipv6CidrBlock() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkAclIngress) *string { return v.Ipv6CidrBlock }).(pulumi.StringPtrOutput) } -func (o NetworkInsightsAnalysisExplanationDestinationArrayOutput) ToNetworkInsightsAnalysisExplanationDestinationArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationDestinationArrayOutput { - return o +// The protocol to match. If using the -1 'all' +// protocol, you must specify a from and to port of 0. +func (o NetworkAclIngressOutput) Protocol() pulumi.StringOutput { + return o.ApplyT(func(v NetworkAclIngress) string { return v.Protocol }).(pulumi.StringOutput) } -func (o NetworkInsightsAnalysisExplanationDestinationArrayOutput) Index(i pulumi.IntInput) NetworkInsightsAnalysisExplanationDestinationOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkInsightsAnalysisExplanationDestination { - return vs[0].([]NetworkInsightsAnalysisExplanationDestination)[vs[1].(int)] - }).(NetworkInsightsAnalysisExplanationDestinationOutput) +// The rule number. Used for ordering. +func (o NetworkAclIngressOutput) RuleNo() pulumi.IntOutput { + return o.ApplyT(func(v NetworkAclIngress) int { return v.RuleNo }).(pulumi.IntOutput) } -type NetworkInsightsAnalysisExplanationDestinationVpc struct { - // ARN of the Network Insights Analysis. - Arn *string `pulumi:"arn"` - // ID of the Network Insights Analysis. - Id *string `pulumi:"id"` - Name *string `pulumi:"name"` +// The to port to match. +func (o NetworkAclIngressOutput) ToPort() pulumi.IntOutput { + return o.ApplyT(func(v NetworkAclIngress) int { return v.ToPort }).(pulumi.IntOutput) } -// NetworkInsightsAnalysisExplanationDestinationVpcInput is an input type that accepts NetworkInsightsAnalysisExplanationDestinationVpcArgs and NetworkInsightsAnalysisExplanationDestinationVpcOutput values. -// You can construct a concrete instance of `NetworkInsightsAnalysisExplanationDestinationVpcInput` via: -// -// NetworkInsightsAnalysisExplanationDestinationVpcArgs{...} -type NetworkInsightsAnalysisExplanationDestinationVpcInput interface { - pulumi.Input +type NetworkAclIngressArrayOutput struct{ *pulumi.OutputState } - ToNetworkInsightsAnalysisExplanationDestinationVpcOutput() NetworkInsightsAnalysisExplanationDestinationVpcOutput - ToNetworkInsightsAnalysisExplanationDestinationVpcOutputWithContext(context.Context) NetworkInsightsAnalysisExplanationDestinationVpcOutput +func (NetworkAclIngressArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkAclIngress)(nil)).Elem() } -type NetworkInsightsAnalysisExplanationDestinationVpcArgs struct { - // ARN of the Network Insights Analysis. - Arn pulumi.StringPtrInput `pulumi:"arn"` - // ID of the Network Insights Analysis. - Id pulumi.StringPtrInput `pulumi:"id"` - Name pulumi.StringPtrInput `pulumi:"name"` +func (o NetworkAclIngressArrayOutput) ToNetworkAclIngressArrayOutput() NetworkAclIngressArrayOutput { + return o } -func (NetworkInsightsAnalysisExplanationDestinationVpcArgs) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkInsightsAnalysisExplanationDestinationVpc)(nil)).Elem() +func (o NetworkAclIngressArrayOutput) ToNetworkAclIngressArrayOutputWithContext(ctx context.Context) NetworkAclIngressArrayOutput { + return o } -func (i NetworkInsightsAnalysisExplanationDestinationVpcArgs) ToNetworkInsightsAnalysisExplanationDestinationVpcOutput() NetworkInsightsAnalysisExplanationDestinationVpcOutput { - return i.ToNetworkInsightsAnalysisExplanationDestinationVpcOutputWithContext(context.Background()) +func (o NetworkAclIngressArrayOutput) Index(i pulumi.IntInput) NetworkAclIngressOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkAclIngress { + return vs[0].([]NetworkAclIngress)[vs[1].(int)] + }).(NetworkAclIngressOutput) } -func (i NetworkInsightsAnalysisExplanationDestinationVpcArgs) ToNetworkInsightsAnalysisExplanationDestinationVpcOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationDestinationVpcOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisExplanationDestinationVpcOutput) +type NetworkInsightsAnalysisAlternatePathHint struct { + // The Amazon Resource Name (ARN) of the component. + ComponentArn *string `pulumi:"componentArn"` + // The ID of the component. + ComponentId *string `pulumi:"componentId"` } -// NetworkInsightsAnalysisExplanationDestinationVpcArrayInput is an input type that accepts NetworkInsightsAnalysisExplanationDestinationVpcArray and NetworkInsightsAnalysisExplanationDestinationVpcArrayOutput values. -// You can construct a concrete instance of `NetworkInsightsAnalysisExplanationDestinationVpcArrayInput` via: +// NetworkInsightsAnalysisAlternatePathHintInput is an input type that accepts NetworkInsightsAnalysisAlternatePathHintArgs and NetworkInsightsAnalysisAlternatePathHintOutput values. +// You can construct a concrete instance of `NetworkInsightsAnalysisAlternatePathHintInput` via: // -// NetworkInsightsAnalysisExplanationDestinationVpcArray{ NetworkInsightsAnalysisExplanationDestinationVpcArgs{...} } -type NetworkInsightsAnalysisExplanationDestinationVpcArrayInput interface { +// NetworkInsightsAnalysisAlternatePathHintArgs{...} +type NetworkInsightsAnalysisAlternatePathHintInput interface { pulumi.Input - ToNetworkInsightsAnalysisExplanationDestinationVpcArrayOutput() NetworkInsightsAnalysisExplanationDestinationVpcArrayOutput - ToNetworkInsightsAnalysisExplanationDestinationVpcArrayOutputWithContext(context.Context) NetworkInsightsAnalysisExplanationDestinationVpcArrayOutput + ToNetworkInsightsAnalysisAlternatePathHintOutput() NetworkInsightsAnalysisAlternatePathHintOutput + ToNetworkInsightsAnalysisAlternatePathHintOutputWithContext(context.Context) NetworkInsightsAnalysisAlternatePathHintOutput } -type NetworkInsightsAnalysisExplanationDestinationVpcArray []NetworkInsightsAnalysisExplanationDestinationVpcInput +type NetworkInsightsAnalysisAlternatePathHintArgs struct { + // The Amazon Resource Name (ARN) of the component. + ComponentArn pulumi.StringPtrInput `pulumi:"componentArn"` + // The ID of the component. + ComponentId pulumi.StringPtrInput `pulumi:"componentId"` +} -func (NetworkInsightsAnalysisExplanationDestinationVpcArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]NetworkInsightsAnalysisExplanationDestinationVpc)(nil)).Elem() +func (NetworkInsightsAnalysisAlternatePathHintArgs) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInsightsAnalysisAlternatePathHint)(nil)).Elem() } -func (i NetworkInsightsAnalysisExplanationDestinationVpcArray) ToNetworkInsightsAnalysisExplanationDestinationVpcArrayOutput() NetworkInsightsAnalysisExplanationDestinationVpcArrayOutput { - return i.ToNetworkInsightsAnalysisExplanationDestinationVpcArrayOutputWithContext(context.Background()) +func (i NetworkInsightsAnalysisAlternatePathHintArgs) ToNetworkInsightsAnalysisAlternatePathHintOutput() NetworkInsightsAnalysisAlternatePathHintOutput { + return i.ToNetworkInsightsAnalysisAlternatePathHintOutputWithContext(context.Background()) } -func (i NetworkInsightsAnalysisExplanationDestinationVpcArray) ToNetworkInsightsAnalysisExplanationDestinationVpcArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationDestinationVpcArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisExplanationDestinationVpcArrayOutput) +func (i NetworkInsightsAnalysisAlternatePathHintArgs) ToNetworkInsightsAnalysisAlternatePathHintOutputWithContext(ctx context.Context) NetworkInsightsAnalysisAlternatePathHintOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisAlternatePathHintOutput) } -type NetworkInsightsAnalysisExplanationDestinationVpcOutput struct{ *pulumi.OutputState } +// NetworkInsightsAnalysisAlternatePathHintArrayInput is an input type that accepts NetworkInsightsAnalysisAlternatePathHintArray and NetworkInsightsAnalysisAlternatePathHintArrayOutput values. +// You can construct a concrete instance of `NetworkInsightsAnalysisAlternatePathHintArrayInput` via: +// +// NetworkInsightsAnalysisAlternatePathHintArray{ NetworkInsightsAnalysisAlternatePathHintArgs{...} } +type NetworkInsightsAnalysisAlternatePathHintArrayInput interface { + pulumi.Input -func (NetworkInsightsAnalysisExplanationDestinationVpcOutput) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkInsightsAnalysisExplanationDestinationVpc)(nil)).Elem() + ToNetworkInsightsAnalysisAlternatePathHintArrayOutput() NetworkInsightsAnalysisAlternatePathHintArrayOutput + ToNetworkInsightsAnalysisAlternatePathHintArrayOutputWithContext(context.Context) NetworkInsightsAnalysisAlternatePathHintArrayOutput } -func (o NetworkInsightsAnalysisExplanationDestinationVpcOutput) ToNetworkInsightsAnalysisExplanationDestinationVpcOutput() NetworkInsightsAnalysisExplanationDestinationVpcOutput { - return o +type NetworkInsightsAnalysisAlternatePathHintArray []NetworkInsightsAnalysisAlternatePathHintInput + +func (NetworkInsightsAnalysisAlternatePathHintArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkInsightsAnalysisAlternatePathHint)(nil)).Elem() } -func (o NetworkInsightsAnalysisExplanationDestinationVpcOutput) ToNetworkInsightsAnalysisExplanationDestinationVpcOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationDestinationVpcOutput { +func (i NetworkInsightsAnalysisAlternatePathHintArray) ToNetworkInsightsAnalysisAlternatePathHintArrayOutput() NetworkInsightsAnalysisAlternatePathHintArrayOutput { + return i.ToNetworkInsightsAnalysisAlternatePathHintArrayOutputWithContext(context.Background()) +} + +func (i NetworkInsightsAnalysisAlternatePathHintArray) ToNetworkInsightsAnalysisAlternatePathHintArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisAlternatePathHintArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisAlternatePathHintArrayOutput) +} + +type NetworkInsightsAnalysisAlternatePathHintOutput struct{ *pulumi.OutputState } + +func (NetworkInsightsAnalysisAlternatePathHintOutput) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInsightsAnalysisAlternatePathHint)(nil)).Elem() +} + +func (o NetworkInsightsAnalysisAlternatePathHintOutput) ToNetworkInsightsAnalysisAlternatePathHintOutput() NetworkInsightsAnalysisAlternatePathHintOutput { return o } -// ARN of the Network Insights Analysis. -func (o NetworkInsightsAnalysisExplanationDestinationVpcOutput) Arn() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisExplanationDestinationVpc) *string { return v.Arn }).(pulumi.StringPtrOutput) +func (o NetworkInsightsAnalysisAlternatePathHintOutput) ToNetworkInsightsAnalysisAlternatePathHintOutputWithContext(ctx context.Context) NetworkInsightsAnalysisAlternatePathHintOutput { + return o } -// ID of the Network Insights Analysis. -func (o NetworkInsightsAnalysisExplanationDestinationVpcOutput) Id() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisExplanationDestinationVpc) *string { return v.Id }).(pulumi.StringPtrOutput) +// The Amazon Resource Name (ARN) of the component. +func (o NetworkInsightsAnalysisAlternatePathHintOutput) ComponentArn() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisAlternatePathHint) *string { return v.ComponentArn }).(pulumi.StringPtrOutput) } -func (o NetworkInsightsAnalysisExplanationDestinationVpcOutput) Name() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisExplanationDestinationVpc) *string { return v.Name }).(pulumi.StringPtrOutput) +// The ID of the component. +func (o NetworkInsightsAnalysisAlternatePathHintOutput) ComponentId() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisAlternatePathHint) *string { return v.ComponentId }).(pulumi.StringPtrOutput) } -type NetworkInsightsAnalysisExplanationDestinationVpcArrayOutput struct{ *pulumi.OutputState } +type NetworkInsightsAnalysisAlternatePathHintArrayOutput struct{ *pulumi.OutputState } -func (NetworkInsightsAnalysisExplanationDestinationVpcArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]NetworkInsightsAnalysisExplanationDestinationVpc)(nil)).Elem() +func (NetworkInsightsAnalysisAlternatePathHintArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkInsightsAnalysisAlternatePathHint)(nil)).Elem() } -func (o NetworkInsightsAnalysisExplanationDestinationVpcArrayOutput) ToNetworkInsightsAnalysisExplanationDestinationVpcArrayOutput() NetworkInsightsAnalysisExplanationDestinationVpcArrayOutput { +func (o NetworkInsightsAnalysisAlternatePathHintArrayOutput) ToNetworkInsightsAnalysisAlternatePathHintArrayOutput() NetworkInsightsAnalysisAlternatePathHintArrayOutput { return o } -func (o NetworkInsightsAnalysisExplanationDestinationVpcArrayOutput) ToNetworkInsightsAnalysisExplanationDestinationVpcArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationDestinationVpcArrayOutput { +func (o NetworkInsightsAnalysisAlternatePathHintArrayOutput) ToNetworkInsightsAnalysisAlternatePathHintArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisAlternatePathHintArrayOutput { return o } -func (o NetworkInsightsAnalysisExplanationDestinationVpcArrayOutput) Index(i pulumi.IntInput) NetworkInsightsAnalysisExplanationDestinationVpcOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkInsightsAnalysisExplanationDestinationVpc { - return vs[0].([]NetworkInsightsAnalysisExplanationDestinationVpc)[vs[1].(int)] - }).(NetworkInsightsAnalysisExplanationDestinationVpcOutput) +func (o NetworkInsightsAnalysisAlternatePathHintArrayOutput) Index(i pulumi.IntInput) NetworkInsightsAnalysisAlternatePathHintOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkInsightsAnalysisAlternatePathHint { + return vs[0].([]NetworkInsightsAnalysisAlternatePathHint)[vs[1].(int)] + }).(NetworkInsightsAnalysisAlternatePathHintOutput) } -type NetworkInsightsAnalysisExplanationElasticLoadBalancerListener struct { - // ARN of the Network Insights Analysis. - Arn *string `pulumi:"arn"` - // ID of the Network Insights Analysis. - Id *string `pulumi:"id"` - Name *string `pulumi:"name"` +type NetworkInsightsAnalysisExplanation struct { + AclRules []NetworkInsightsAnalysisExplanationAclRule `pulumi:"aclRules"` + Acls []NetworkInsightsAnalysisExplanationAcl `pulumi:"acls"` + Address *string `pulumi:"address"` + Addresses []string `pulumi:"addresses"` + AttachedTos []NetworkInsightsAnalysisExplanationAttachedTo `pulumi:"attachedTos"` + AvailabilityZones []string `pulumi:"availabilityZones"` + Cidrs []string `pulumi:"cidrs"` + ClassicLoadBalancerListeners []NetworkInsightsAnalysisExplanationClassicLoadBalancerListener `pulumi:"classicLoadBalancerListeners"` + Components []NetworkInsightsAnalysisExplanationComponent `pulumi:"components"` + CustomerGateways []NetworkInsightsAnalysisExplanationCustomerGateway `pulumi:"customerGateways"` + DestinationVpcs []NetworkInsightsAnalysisExplanationDestinationVpc `pulumi:"destinationVpcs"` + Destinations []NetworkInsightsAnalysisExplanationDestination `pulumi:"destinations"` + Direction *string `pulumi:"direction"` + ElasticLoadBalancerListeners []NetworkInsightsAnalysisExplanationElasticLoadBalancerListener `pulumi:"elasticLoadBalancerListeners"` + ExplanationCode *string `pulumi:"explanationCode"` + IngressRouteTables []NetworkInsightsAnalysisExplanationIngressRouteTable `pulumi:"ingressRouteTables"` + InternetGateways []NetworkInsightsAnalysisExplanationInternetGateway `pulumi:"internetGateways"` + LoadBalancerArn *string `pulumi:"loadBalancerArn"` + LoadBalancerListenerPort *int `pulumi:"loadBalancerListenerPort"` + LoadBalancerTargetGroup []NetworkInsightsAnalysisExplanationLoadBalancerTargetGroup `pulumi:"loadBalancerTargetGroup"` + LoadBalancerTargetGroups []NetworkInsightsAnalysisExplanationLoadBalancerTargetGroup `pulumi:"loadBalancerTargetGroups"` + LoadBalancerTargetPort *int `pulumi:"loadBalancerTargetPort"` + MissingComponent *string `pulumi:"missingComponent"` + NatGateways []NetworkInsightsAnalysisExplanationNatGateway `pulumi:"natGateways"` + NetworkInterfaces []NetworkInsightsAnalysisExplanationNetworkInterface `pulumi:"networkInterfaces"` + PacketField *string `pulumi:"packetField"` + Port *int `pulumi:"port"` + PortRanges []NetworkInsightsAnalysisExplanationPortRange `pulumi:"portRanges"` + PrefixLists []NetworkInsightsAnalysisExplanationPrefixList `pulumi:"prefixLists"` + Protocols []string `pulumi:"protocols"` + RouteTableRoutes []NetworkInsightsAnalysisExplanationRouteTableRoute `pulumi:"routeTableRoutes"` + RouteTables []NetworkInsightsAnalysisExplanationRouteTable `pulumi:"routeTables"` + SecurityGroup []NetworkInsightsAnalysisExplanationSecurityGroup `pulumi:"securityGroup"` + SecurityGroupRules []NetworkInsightsAnalysisExplanationSecurityGroupRule `pulumi:"securityGroupRules"` + SecurityGroups []NetworkInsightsAnalysisExplanationSecurityGroup `pulumi:"securityGroups"` + SourceVpcs []NetworkInsightsAnalysisExplanationSourceVpc `pulumi:"sourceVpcs"` + State *string `pulumi:"state"` + SubnetRouteTables []NetworkInsightsAnalysisExplanationSubnetRouteTable `pulumi:"subnetRouteTables"` + Subnets []NetworkInsightsAnalysisExplanationSubnet `pulumi:"subnets"` + TransitGatewayAttachments []NetworkInsightsAnalysisExplanationTransitGatewayAttachment `pulumi:"transitGatewayAttachments"` + TransitGatewayRouteTableRoutes []NetworkInsightsAnalysisExplanationTransitGatewayRouteTableRoute `pulumi:"transitGatewayRouteTableRoutes"` + TransitGatewayRouteTables []NetworkInsightsAnalysisExplanationTransitGatewayRouteTable `pulumi:"transitGatewayRouteTables"` + TransitGateways []NetworkInsightsAnalysisExplanationTransitGateway `pulumi:"transitGateways"` + VpcEndpoints []NetworkInsightsAnalysisExplanationVpcEndpoint `pulumi:"vpcEndpoints"` + VpcPeeringConnections []NetworkInsightsAnalysisExplanationVpcPeeringConnection `pulumi:"vpcPeeringConnections"` + Vpcs []NetworkInsightsAnalysisExplanationVpc `pulumi:"vpcs"` + VpnConnections []NetworkInsightsAnalysisExplanationVpnConnection `pulumi:"vpnConnections"` + VpnGateways []NetworkInsightsAnalysisExplanationVpnGateway `pulumi:"vpnGateways"` } -// NetworkInsightsAnalysisExplanationElasticLoadBalancerListenerInput is an input type that accepts NetworkInsightsAnalysisExplanationElasticLoadBalancerListenerArgs and NetworkInsightsAnalysisExplanationElasticLoadBalancerListenerOutput values. -// You can construct a concrete instance of `NetworkInsightsAnalysisExplanationElasticLoadBalancerListenerInput` via: +// NetworkInsightsAnalysisExplanationInput is an input type that accepts NetworkInsightsAnalysisExplanationArgs and NetworkInsightsAnalysisExplanationOutput values. +// You can construct a concrete instance of `NetworkInsightsAnalysisExplanationInput` via: // -// NetworkInsightsAnalysisExplanationElasticLoadBalancerListenerArgs{...} -type NetworkInsightsAnalysisExplanationElasticLoadBalancerListenerInput interface { +// NetworkInsightsAnalysisExplanationArgs{...} +type NetworkInsightsAnalysisExplanationInput interface { pulumi.Input - ToNetworkInsightsAnalysisExplanationElasticLoadBalancerListenerOutput() NetworkInsightsAnalysisExplanationElasticLoadBalancerListenerOutput - ToNetworkInsightsAnalysisExplanationElasticLoadBalancerListenerOutputWithContext(context.Context) NetworkInsightsAnalysisExplanationElasticLoadBalancerListenerOutput + ToNetworkInsightsAnalysisExplanationOutput() NetworkInsightsAnalysisExplanationOutput + ToNetworkInsightsAnalysisExplanationOutputWithContext(context.Context) NetworkInsightsAnalysisExplanationOutput } -type NetworkInsightsAnalysisExplanationElasticLoadBalancerListenerArgs struct { - // ARN of the Network Insights Analysis. - Arn pulumi.StringPtrInput `pulumi:"arn"` - // ID of the Network Insights Analysis. - Id pulumi.StringPtrInput `pulumi:"id"` - Name pulumi.StringPtrInput `pulumi:"name"` +type NetworkInsightsAnalysisExplanationArgs struct { + AclRules NetworkInsightsAnalysisExplanationAclRuleArrayInput `pulumi:"aclRules"` + Acls NetworkInsightsAnalysisExplanationAclArrayInput `pulumi:"acls"` + Address pulumi.StringPtrInput `pulumi:"address"` + Addresses pulumi.StringArrayInput `pulumi:"addresses"` + AttachedTos NetworkInsightsAnalysisExplanationAttachedToArrayInput `pulumi:"attachedTos"` + AvailabilityZones pulumi.StringArrayInput `pulumi:"availabilityZones"` + Cidrs pulumi.StringArrayInput `pulumi:"cidrs"` + ClassicLoadBalancerListeners NetworkInsightsAnalysisExplanationClassicLoadBalancerListenerArrayInput `pulumi:"classicLoadBalancerListeners"` + Components NetworkInsightsAnalysisExplanationComponentArrayInput `pulumi:"components"` + CustomerGateways NetworkInsightsAnalysisExplanationCustomerGatewayArrayInput `pulumi:"customerGateways"` + DestinationVpcs NetworkInsightsAnalysisExplanationDestinationVpcArrayInput `pulumi:"destinationVpcs"` + Destinations NetworkInsightsAnalysisExplanationDestinationArrayInput `pulumi:"destinations"` + Direction pulumi.StringPtrInput `pulumi:"direction"` + ElasticLoadBalancerListeners NetworkInsightsAnalysisExplanationElasticLoadBalancerListenerArrayInput `pulumi:"elasticLoadBalancerListeners"` + ExplanationCode pulumi.StringPtrInput `pulumi:"explanationCode"` + IngressRouteTables NetworkInsightsAnalysisExplanationIngressRouteTableArrayInput `pulumi:"ingressRouteTables"` + InternetGateways NetworkInsightsAnalysisExplanationInternetGatewayArrayInput `pulumi:"internetGateways"` + LoadBalancerArn pulumi.StringPtrInput `pulumi:"loadBalancerArn"` + LoadBalancerListenerPort pulumi.IntPtrInput `pulumi:"loadBalancerListenerPort"` + LoadBalancerTargetGroup NetworkInsightsAnalysisExplanationLoadBalancerTargetGroupArrayInput `pulumi:"loadBalancerTargetGroup"` + LoadBalancerTargetGroups NetworkInsightsAnalysisExplanationLoadBalancerTargetGroupArrayInput `pulumi:"loadBalancerTargetGroups"` + LoadBalancerTargetPort pulumi.IntPtrInput `pulumi:"loadBalancerTargetPort"` + MissingComponent pulumi.StringPtrInput `pulumi:"missingComponent"` + NatGateways NetworkInsightsAnalysisExplanationNatGatewayArrayInput `pulumi:"natGateways"` + NetworkInterfaces NetworkInsightsAnalysisExplanationNetworkInterfaceArrayInput `pulumi:"networkInterfaces"` + PacketField pulumi.StringPtrInput `pulumi:"packetField"` + Port pulumi.IntPtrInput `pulumi:"port"` + PortRanges NetworkInsightsAnalysisExplanationPortRangeArrayInput `pulumi:"portRanges"` + PrefixLists NetworkInsightsAnalysisExplanationPrefixListArrayInput `pulumi:"prefixLists"` + Protocols pulumi.StringArrayInput `pulumi:"protocols"` + RouteTableRoutes NetworkInsightsAnalysisExplanationRouteTableRouteArrayInput `pulumi:"routeTableRoutes"` + RouteTables NetworkInsightsAnalysisExplanationRouteTableArrayInput `pulumi:"routeTables"` + SecurityGroup NetworkInsightsAnalysisExplanationSecurityGroupArrayInput `pulumi:"securityGroup"` + SecurityGroupRules NetworkInsightsAnalysisExplanationSecurityGroupRuleArrayInput `pulumi:"securityGroupRules"` + SecurityGroups NetworkInsightsAnalysisExplanationSecurityGroupArrayInput `pulumi:"securityGroups"` + SourceVpcs NetworkInsightsAnalysisExplanationSourceVpcArrayInput `pulumi:"sourceVpcs"` + State pulumi.StringPtrInput `pulumi:"state"` + SubnetRouteTables NetworkInsightsAnalysisExplanationSubnetRouteTableArrayInput `pulumi:"subnetRouteTables"` + Subnets NetworkInsightsAnalysisExplanationSubnetArrayInput `pulumi:"subnets"` + TransitGatewayAttachments NetworkInsightsAnalysisExplanationTransitGatewayAttachmentArrayInput `pulumi:"transitGatewayAttachments"` + TransitGatewayRouteTableRoutes NetworkInsightsAnalysisExplanationTransitGatewayRouteTableRouteArrayInput `pulumi:"transitGatewayRouteTableRoutes"` + TransitGatewayRouteTables NetworkInsightsAnalysisExplanationTransitGatewayRouteTableArrayInput `pulumi:"transitGatewayRouteTables"` + TransitGateways NetworkInsightsAnalysisExplanationTransitGatewayArrayInput `pulumi:"transitGateways"` + VpcEndpoints NetworkInsightsAnalysisExplanationVpcEndpointArrayInput `pulumi:"vpcEndpoints"` + VpcPeeringConnections NetworkInsightsAnalysisExplanationVpcPeeringConnectionArrayInput `pulumi:"vpcPeeringConnections"` + Vpcs NetworkInsightsAnalysisExplanationVpcArrayInput `pulumi:"vpcs"` + VpnConnections NetworkInsightsAnalysisExplanationVpnConnectionArrayInput `pulumi:"vpnConnections"` + VpnGateways NetworkInsightsAnalysisExplanationVpnGatewayArrayInput `pulumi:"vpnGateways"` } -func (NetworkInsightsAnalysisExplanationElasticLoadBalancerListenerArgs) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkInsightsAnalysisExplanationElasticLoadBalancerListener)(nil)).Elem() +func (NetworkInsightsAnalysisExplanationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInsightsAnalysisExplanation)(nil)).Elem() } -func (i NetworkInsightsAnalysisExplanationElasticLoadBalancerListenerArgs) ToNetworkInsightsAnalysisExplanationElasticLoadBalancerListenerOutput() NetworkInsightsAnalysisExplanationElasticLoadBalancerListenerOutput { - return i.ToNetworkInsightsAnalysisExplanationElasticLoadBalancerListenerOutputWithContext(context.Background()) +func (i NetworkInsightsAnalysisExplanationArgs) ToNetworkInsightsAnalysisExplanationOutput() NetworkInsightsAnalysisExplanationOutput { + return i.ToNetworkInsightsAnalysisExplanationOutputWithContext(context.Background()) } -func (i NetworkInsightsAnalysisExplanationElasticLoadBalancerListenerArgs) ToNetworkInsightsAnalysisExplanationElasticLoadBalancerListenerOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationElasticLoadBalancerListenerOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisExplanationElasticLoadBalancerListenerOutput) +func (i NetworkInsightsAnalysisExplanationArgs) ToNetworkInsightsAnalysisExplanationOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisExplanationOutput) } -// NetworkInsightsAnalysisExplanationElasticLoadBalancerListenerArrayInput is an input type that accepts NetworkInsightsAnalysisExplanationElasticLoadBalancerListenerArray and NetworkInsightsAnalysisExplanationElasticLoadBalancerListenerArrayOutput values. -// You can construct a concrete instance of `NetworkInsightsAnalysisExplanationElasticLoadBalancerListenerArrayInput` via: +// NetworkInsightsAnalysisExplanationArrayInput is an input type that accepts NetworkInsightsAnalysisExplanationArray and NetworkInsightsAnalysisExplanationArrayOutput values. +// You can construct a concrete instance of `NetworkInsightsAnalysisExplanationArrayInput` via: // -// NetworkInsightsAnalysisExplanationElasticLoadBalancerListenerArray{ NetworkInsightsAnalysisExplanationElasticLoadBalancerListenerArgs{...} } -type NetworkInsightsAnalysisExplanationElasticLoadBalancerListenerArrayInput interface { +// NetworkInsightsAnalysisExplanationArray{ NetworkInsightsAnalysisExplanationArgs{...} } +type NetworkInsightsAnalysisExplanationArrayInput interface { pulumi.Input - ToNetworkInsightsAnalysisExplanationElasticLoadBalancerListenerArrayOutput() NetworkInsightsAnalysisExplanationElasticLoadBalancerListenerArrayOutput - ToNetworkInsightsAnalysisExplanationElasticLoadBalancerListenerArrayOutputWithContext(context.Context) NetworkInsightsAnalysisExplanationElasticLoadBalancerListenerArrayOutput + ToNetworkInsightsAnalysisExplanationArrayOutput() NetworkInsightsAnalysisExplanationArrayOutput + ToNetworkInsightsAnalysisExplanationArrayOutputWithContext(context.Context) NetworkInsightsAnalysisExplanationArrayOutput } -type NetworkInsightsAnalysisExplanationElasticLoadBalancerListenerArray []NetworkInsightsAnalysisExplanationElasticLoadBalancerListenerInput +type NetworkInsightsAnalysisExplanationArray []NetworkInsightsAnalysisExplanationInput -func (NetworkInsightsAnalysisExplanationElasticLoadBalancerListenerArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]NetworkInsightsAnalysisExplanationElasticLoadBalancerListener)(nil)).Elem() +func (NetworkInsightsAnalysisExplanationArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkInsightsAnalysisExplanation)(nil)).Elem() } -func (i NetworkInsightsAnalysisExplanationElasticLoadBalancerListenerArray) ToNetworkInsightsAnalysisExplanationElasticLoadBalancerListenerArrayOutput() NetworkInsightsAnalysisExplanationElasticLoadBalancerListenerArrayOutput { - return i.ToNetworkInsightsAnalysisExplanationElasticLoadBalancerListenerArrayOutputWithContext(context.Background()) +func (i NetworkInsightsAnalysisExplanationArray) ToNetworkInsightsAnalysisExplanationArrayOutput() NetworkInsightsAnalysisExplanationArrayOutput { + return i.ToNetworkInsightsAnalysisExplanationArrayOutputWithContext(context.Background()) } -func (i NetworkInsightsAnalysisExplanationElasticLoadBalancerListenerArray) ToNetworkInsightsAnalysisExplanationElasticLoadBalancerListenerArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationElasticLoadBalancerListenerArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisExplanationElasticLoadBalancerListenerArrayOutput) +func (i NetworkInsightsAnalysisExplanationArray) ToNetworkInsightsAnalysisExplanationArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisExplanationArrayOutput) } -type NetworkInsightsAnalysisExplanationElasticLoadBalancerListenerOutput struct{ *pulumi.OutputState } +type NetworkInsightsAnalysisExplanationOutput struct{ *pulumi.OutputState } -func (NetworkInsightsAnalysisExplanationElasticLoadBalancerListenerOutput) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkInsightsAnalysisExplanationElasticLoadBalancerListener)(nil)).Elem() +func (NetworkInsightsAnalysisExplanationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInsightsAnalysisExplanation)(nil)).Elem() } -func (o NetworkInsightsAnalysisExplanationElasticLoadBalancerListenerOutput) ToNetworkInsightsAnalysisExplanationElasticLoadBalancerListenerOutput() NetworkInsightsAnalysisExplanationElasticLoadBalancerListenerOutput { +func (o NetworkInsightsAnalysisExplanationOutput) ToNetworkInsightsAnalysisExplanationOutput() NetworkInsightsAnalysisExplanationOutput { return o } -func (o NetworkInsightsAnalysisExplanationElasticLoadBalancerListenerOutput) ToNetworkInsightsAnalysisExplanationElasticLoadBalancerListenerOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationElasticLoadBalancerListenerOutput { +func (o NetworkInsightsAnalysisExplanationOutput) ToNetworkInsightsAnalysisExplanationOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationOutput { return o } -// ARN of the Network Insights Analysis. -func (o NetworkInsightsAnalysisExplanationElasticLoadBalancerListenerOutput) Arn() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisExplanationElasticLoadBalancerListener) *string { return v.Arn }).(pulumi.StringPtrOutput) +func (o NetworkInsightsAnalysisExplanationOutput) AclRules() NetworkInsightsAnalysisExplanationAclRuleArrayOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisExplanation) []NetworkInsightsAnalysisExplanationAclRule { + return v.AclRules + }).(NetworkInsightsAnalysisExplanationAclRuleArrayOutput) } -// ID of the Network Insights Analysis. -func (o NetworkInsightsAnalysisExplanationElasticLoadBalancerListenerOutput) Id() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisExplanationElasticLoadBalancerListener) *string { return v.Id }).(pulumi.StringPtrOutput) +func (o NetworkInsightsAnalysisExplanationOutput) Acls() NetworkInsightsAnalysisExplanationAclArrayOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisExplanation) []NetworkInsightsAnalysisExplanationAcl { return v.Acls }).(NetworkInsightsAnalysisExplanationAclArrayOutput) } -func (o NetworkInsightsAnalysisExplanationElasticLoadBalancerListenerOutput) Name() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisExplanationElasticLoadBalancerListener) *string { return v.Name }).(pulumi.StringPtrOutput) +func (o NetworkInsightsAnalysisExplanationOutput) Address() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisExplanation) *string { return v.Address }).(pulumi.StringPtrOutput) } -type NetworkInsightsAnalysisExplanationElasticLoadBalancerListenerArrayOutput struct{ *pulumi.OutputState } - -func (NetworkInsightsAnalysisExplanationElasticLoadBalancerListenerArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]NetworkInsightsAnalysisExplanationElasticLoadBalancerListener)(nil)).Elem() +func (o NetworkInsightsAnalysisExplanationOutput) Addresses() pulumi.StringArrayOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisExplanation) []string { return v.Addresses }).(pulumi.StringArrayOutput) } -func (o NetworkInsightsAnalysisExplanationElasticLoadBalancerListenerArrayOutput) ToNetworkInsightsAnalysisExplanationElasticLoadBalancerListenerArrayOutput() NetworkInsightsAnalysisExplanationElasticLoadBalancerListenerArrayOutput { - return o +func (o NetworkInsightsAnalysisExplanationOutput) AttachedTos() NetworkInsightsAnalysisExplanationAttachedToArrayOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisExplanation) []NetworkInsightsAnalysisExplanationAttachedTo { + return v.AttachedTos + }).(NetworkInsightsAnalysisExplanationAttachedToArrayOutput) } -func (o NetworkInsightsAnalysisExplanationElasticLoadBalancerListenerArrayOutput) ToNetworkInsightsAnalysisExplanationElasticLoadBalancerListenerArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationElasticLoadBalancerListenerArrayOutput { - return o +func (o NetworkInsightsAnalysisExplanationOutput) AvailabilityZones() pulumi.StringArrayOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisExplanation) []string { return v.AvailabilityZones }).(pulumi.StringArrayOutput) } -func (o NetworkInsightsAnalysisExplanationElasticLoadBalancerListenerArrayOutput) Index(i pulumi.IntInput) NetworkInsightsAnalysisExplanationElasticLoadBalancerListenerOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkInsightsAnalysisExplanationElasticLoadBalancerListener { - return vs[0].([]NetworkInsightsAnalysisExplanationElasticLoadBalancerListener)[vs[1].(int)] - }).(NetworkInsightsAnalysisExplanationElasticLoadBalancerListenerOutput) +func (o NetworkInsightsAnalysisExplanationOutput) Cidrs() pulumi.StringArrayOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisExplanation) []string { return v.Cidrs }).(pulumi.StringArrayOutput) } -type NetworkInsightsAnalysisExplanationIngressRouteTable struct { - // ARN of the Network Insights Analysis. - Arn *string `pulumi:"arn"` - // ID of the Network Insights Analysis. - Id *string `pulumi:"id"` - Name *string `pulumi:"name"` +func (o NetworkInsightsAnalysisExplanationOutput) ClassicLoadBalancerListeners() NetworkInsightsAnalysisExplanationClassicLoadBalancerListenerArrayOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisExplanation) []NetworkInsightsAnalysisExplanationClassicLoadBalancerListener { + return v.ClassicLoadBalancerListeners + }).(NetworkInsightsAnalysisExplanationClassicLoadBalancerListenerArrayOutput) } -// NetworkInsightsAnalysisExplanationIngressRouteTableInput is an input type that accepts NetworkInsightsAnalysisExplanationIngressRouteTableArgs and NetworkInsightsAnalysisExplanationIngressRouteTableOutput values. -// You can construct a concrete instance of `NetworkInsightsAnalysisExplanationIngressRouteTableInput` via: -// -// NetworkInsightsAnalysisExplanationIngressRouteTableArgs{...} -type NetworkInsightsAnalysisExplanationIngressRouteTableInput interface { - pulumi.Input - - ToNetworkInsightsAnalysisExplanationIngressRouteTableOutput() NetworkInsightsAnalysisExplanationIngressRouteTableOutput - ToNetworkInsightsAnalysisExplanationIngressRouteTableOutputWithContext(context.Context) NetworkInsightsAnalysisExplanationIngressRouteTableOutput +func (o NetworkInsightsAnalysisExplanationOutput) Components() NetworkInsightsAnalysisExplanationComponentArrayOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisExplanation) []NetworkInsightsAnalysisExplanationComponent { + return v.Components + }).(NetworkInsightsAnalysisExplanationComponentArrayOutput) } -type NetworkInsightsAnalysisExplanationIngressRouteTableArgs struct { - // ARN of the Network Insights Analysis. - Arn pulumi.StringPtrInput `pulumi:"arn"` - // ID of the Network Insights Analysis. - Id pulumi.StringPtrInput `pulumi:"id"` - Name pulumi.StringPtrInput `pulumi:"name"` +func (o NetworkInsightsAnalysisExplanationOutput) CustomerGateways() NetworkInsightsAnalysisExplanationCustomerGatewayArrayOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisExplanation) []NetworkInsightsAnalysisExplanationCustomerGateway { + return v.CustomerGateways + }).(NetworkInsightsAnalysisExplanationCustomerGatewayArrayOutput) } -func (NetworkInsightsAnalysisExplanationIngressRouteTableArgs) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkInsightsAnalysisExplanationIngressRouteTable)(nil)).Elem() +func (o NetworkInsightsAnalysisExplanationOutput) DestinationVpcs() NetworkInsightsAnalysisExplanationDestinationVpcArrayOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisExplanation) []NetworkInsightsAnalysisExplanationDestinationVpc { + return v.DestinationVpcs + }).(NetworkInsightsAnalysisExplanationDestinationVpcArrayOutput) } -func (i NetworkInsightsAnalysisExplanationIngressRouteTableArgs) ToNetworkInsightsAnalysisExplanationIngressRouteTableOutput() NetworkInsightsAnalysisExplanationIngressRouteTableOutput { - return i.ToNetworkInsightsAnalysisExplanationIngressRouteTableOutputWithContext(context.Background()) +func (o NetworkInsightsAnalysisExplanationOutput) Destinations() NetworkInsightsAnalysisExplanationDestinationArrayOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisExplanation) []NetworkInsightsAnalysisExplanationDestination { + return v.Destinations + }).(NetworkInsightsAnalysisExplanationDestinationArrayOutput) } -func (i NetworkInsightsAnalysisExplanationIngressRouteTableArgs) ToNetworkInsightsAnalysisExplanationIngressRouteTableOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationIngressRouteTableOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisExplanationIngressRouteTableOutput) +func (o NetworkInsightsAnalysisExplanationOutput) Direction() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisExplanation) *string { return v.Direction }).(pulumi.StringPtrOutput) } -// NetworkInsightsAnalysisExplanationIngressRouteTableArrayInput is an input type that accepts NetworkInsightsAnalysisExplanationIngressRouteTableArray and NetworkInsightsAnalysisExplanationIngressRouteTableArrayOutput values. -// You can construct a concrete instance of `NetworkInsightsAnalysisExplanationIngressRouteTableArrayInput` via: -// -// NetworkInsightsAnalysisExplanationIngressRouteTableArray{ NetworkInsightsAnalysisExplanationIngressRouteTableArgs{...} } -type NetworkInsightsAnalysisExplanationIngressRouteTableArrayInput interface { - pulumi.Input - - ToNetworkInsightsAnalysisExplanationIngressRouteTableArrayOutput() NetworkInsightsAnalysisExplanationIngressRouteTableArrayOutput - ToNetworkInsightsAnalysisExplanationIngressRouteTableArrayOutputWithContext(context.Context) NetworkInsightsAnalysisExplanationIngressRouteTableArrayOutput +func (o NetworkInsightsAnalysisExplanationOutput) ElasticLoadBalancerListeners() NetworkInsightsAnalysisExplanationElasticLoadBalancerListenerArrayOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisExplanation) []NetworkInsightsAnalysisExplanationElasticLoadBalancerListener { + return v.ElasticLoadBalancerListeners + }).(NetworkInsightsAnalysisExplanationElasticLoadBalancerListenerArrayOutput) } -type NetworkInsightsAnalysisExplanationIngressRouteTableArray []NetworkInsightsAnalysisExplanationIngressRouteTableInput - -func (NetworkInsightsAnalysisExplanationIngressRouteTableArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]NetworkInsightsAnalysisExplanationIngressRouteTable)(nil)).Elem() +func (o NetworkInsightsAnalysisExplanationOutput) ExplanationCode() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisExplanation) *string { return v.ExplanationCode }).(pulumi.StringPtrOutput) } -func (i NetworkInsightsAnalysisExplanationIngressRouteTableArray) ToNetworkInsightsAnalysisExplanationIngressRouteTableArrayOutput() NetworkInsightsAnalysisExplanationIngressRouteTableArrayOutput { - return i.ToNetworkInsightsAnalysisExplanationIngressRouteTableArrayOutputWithContext(context.Background()) +func (o NetworkInsightsAnalysisExplanationOutput) IngressRouteTables() NetworkInsightsAnalysisExplanationIngressRouteTableArrayOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisExplanation) []NetworkInsightsAnalysisExplanationIngressRouteTable { + return v.IngressRouteTables + }).(NetworkInsightsAnalysisExplanationIngressRouteTableArrayOutput) } -func (i NetworkInsightsAnalysisExplanationIngressRouteTableArray) ToNetworkInsightsAnalysisExplanationIngressRouteTableArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationIngressRouteTableArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisExplanationIngressRouteTableArrayOutput) +func (o NetworkInsightsAnalysisExplanationOutput) InternetGateways() NetworkInsightsAnalysisExplanationInternetGatewayArrayOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisExplanation) []NetworkInsightsAnalysisExplanationInternetGateway { + return v.InternetGateways + }).(NetworkInsightsAnalysisExplanationInternetGatewayArrayOutput) } -type NetworkInsightsAnalysisExplanationIngressRouteTableOutput struct{ *pulumi.OutputState } - -func (NetworkInsightsAnalysisExplanationIngressRouteTableOutput) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkInsightsAnalysisExplanationIngressRouteTable)(nil)).Elem() +func (o NetworkInsightsAnalysisExplanationOutput) LoadBalancerArn() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisExplanation) *string { return v.LoadBalancerArn }).(pulumi.StringPtrOutput) } -func (o NetworkInsightsAnalysisExplanationIngressRouteTableOutput) ToNetworkInsightsAnalysisExplanationIngressRouteTableOutput() NetworkInsightsAnalysisExplanationIngressRouteTableOutput { - return o +func (o NetworkInsightsAnalysisExplanationOutput) LoadBalancerListenerPort() pulumi.IntPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisExplanation) *int { return v.LoadBalancerListenerPort }).(pulumi.IntPtrOutput) } -func (o NetworkInsightsAnalysisExplanationIngressRouteTableOutput) ToNetworkInsightsAnalysisExplanationIngressRouteTableOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationIngressRouteTableOutput { - return o +func (o NetworkInsightsAnalysisExplanationOutput) LoadBalancerTargetGroup() NetworkInsightsAnalysisExplanationLoadBalancerTargetGroupArrayOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisExplanation) []NetworkInsightsAnalysisExplanationLoadBalancerTargetGroup { + return v.LoadBalancerTargetGroup + }).(NetworkInsightsAnalysisExplanationLoadBalancerTargetGroupArrayOutput) } -// ARN of the Network Insights Analysis. -func (o NetworkInsightsAnalysisExplanationIngressRouteTableOutput) Arn() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisExplanationIngressRouteTable) *string { return v.Arn }).(pulumi.StringPtrOutput) +func (o NetworkInsightsAnalysisExplanationOutput) LoadBalancerTargetGroups() NetworkInsightsAnalysisExplanationLoadBalancerTargetGroupArrayOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisExplanation) []NetworkInsightsAnalysisExplanationLoadBalancerTargetGroup { + return v.LoadBalancerTargetGroups + }).(NetworkInsightsAnalysisExplanationLoadBalancerTargetGroupArrayOutput) } -// ID of the Network Insights Analysis. -func (o NetworkInsightsAnalysisExplanationIngressRouteTableOutput) Id() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisExplanationIngressRouteTable) *string { return v.Id }).(pulumi.StringPtrOutput) +func (o NetworkInsightsAnalysisExplanationOutput) LoadBalancerTargetPort() pulumi.IntPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisExplanation) *int { return v.LoadBalancerTargetPort }).(pulumi.IntPtrOutput) } -func (o NetworkInsightsAnalysisExplanationIngressRouteTableOutput) Name() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisExplanationIngressRouteTable) *string { return v.Name }).(pulumi.StringPtrOutput) +func (o NetworkInsightsAnalysisExplanationOutput) MissingComponent() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisExplanation) *string { return v.MissingComponent }).(pulumi.StringPtrOutput) } -type NetworkInsightsAnalysisExplanationIngressRouteTableArrayOutput struct{ *pulumi.OutputState } - -func (NetworkInsightsAnalysisExplanationIngressRouteTableArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]NetworkInsightsAnalysisExplanationIngressRouteTable)(nil)).Elem() +func (o NetworkInsightsAnalysisExplanationOutput) NatGateways() NetworkInsightsAnalysisExplanationNatGatewayArrayOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisExplanation) []NetworkInsightsAnalysisExplanationNatGateway { + return v.NatGateways + }).(NetworkInsightsAnalysisExplanationNatGatewayArrayOutput) } -func (o NetworkInsightsAnalysisExplanationIngressRouteTableArrayOutput) ToNetworkInsightsAnalysisExplanationIngressRouteTableArrayOutput() NetworkInsightsAnalysisExplanationIngressRouteTableArrayOutput { - return o +func (o NetworkInsightsAnalysisExplanationOutput) NetworkInterfaces() NetworkInsightsAnalysisExplanationNetworkInterfaceArrayOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisExplanation) []NetworkInsightsAnalysisExplanationNetworkInterface { + return v.NetworkInterfaces + }).(NetworkInsightsAnalysisExplanationNetworkInterfaceArrayOutput) } -func (o NetworkInsightsAnalysisExplanationIngressRouteTableArrayOutput) ToNetworkInsightsAnalysisExplanationIngressRouteTableArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationIngressRouteTableArrayOutput { - return o +func (o NetworkInsightsAnalysisExplanationOutput) PacketField() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisExplanation) *string { return v.PacketField }).(pulumi.StringPtrOutput) } -func (o NetworkInsightsAnalysisExplanationIngressRouteTableArrayOutput) Index(i pulumi.IntInput) NetworkInsightsAnalysisExplanationIngressRouteTableOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkInsightsAnalysisExplanationIngressRouteTable { - return vs[0].([]NetworkInsightsAnalysisExplanationIngressRouteTable)[vs[1].(int)] - }).(NetworkInsightsAnalysisExplanationIngressRouteTableOutput) +func (o NetworkInsightsAnalysisExplanationOutput) Port() pulumi.IntPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisExplanation) *int { return v.Port }).(pulumi.IntPtrOutput) } -type NetworkInsightsAnalysisExplanationInternetGateway struct { - // ARN of the Network Insights Analysis. - Arn *string `pulumi:"arn"` - // ID of the Network Insights Analysis. - Id *string `pulumi:"id"` - Name *string `pulumi:"name"` +func (o NetworkInsightsAnalysisExplanationOutput) PortRanges() NetworkInsightsAnalysisExplanationPortRangeArrayOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisExplanation) []NetworkInsightsAnalysisExplanationPortRange { + return v.PortRanges + }).(NetworkInsightsAnalysisExplanationPortRangeArrayOutput) } -// NetworkInsightsAnalysisExplanationInternetGatewayInput is an input type that accepts NetworkInsightsAnalysisExplanationInternetGatewayArgs and NetworkInsightsAnalysisExplanationInternetGatewayOutput values. -// You can construct a concrete instance of `NetworkInsightsAnalysisExplanationInternetGatewayInput` via: -// -// NetworkInsightsAnalysisExplanationInternetGatewayArgs{...} -type NetworkInsightsAnalysisExplanationInternetGatewayInput interface { - pulumi.Input - - ToNetworkInsightsAnalysisExplanationInternetGatewayOutput() NetworkInsightsAnalysisExplanationInternetGatewayOutput - ToNetworkInsightsAnalysisExplanationInternetGatewayOutputWithContext(context.Context) NetworkInsightsAnalysisExplanationInternetGatewayOutput +func (o NetworkInsightsAnalysisExplanationOutput) PrefixLists() NetworkInsightsAnalysisExplanationPrefixListArrayOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisExplanation) []NetworkInsightsAnalysisExplanationPrefixList { + return v.PrefixLists + }).(NetworkInsightsAnalysisExplanationPrefixListArrayOutput) } -type NetworkInsightsAnalysisExplanationInternetGatewayArgs struct { - // ARN of the Network Insights Analysis. - Arn pulumi.StringPtrInput `pulumi:"arn"` - // ID of the Network Insights Analysis. - Id pulumi.StringPtrInput `pulumi:"id"` - Name pulumi.StringPtrInput `pulumi:"name"` +func (o NetworkInsightsAnalysisExplanationOutput) Protocols() pulumi.StringArrayOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisExplanation) []string { return v.Protocols }).(pulumi.StringArrayOutput) } -func (NetworkInsightsAnalysisExplanationInternetGatewayArgs) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkInsightsAnalysisExplanationInternetGateway)(nil)).Elem() +func (o NetworkInsightsAnalysisExplanationOutput) RouteTableRoutes() NetworkInsightsAnalysisExplanationRouteTableRouteArrayOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisExplanation) []NetworkInsightsAnalysisExplanationRouteTableRoute { + return v.RouteTableRoutes + }).(NetworkInsightsAnalysisExplanationRouteTableRouteArrayOutput) } -func (i NetworkInsightsAnalysisExplanationInternetGatewayArgs) ToNetworkInsightsAnalysisExplanationInternetGatewayOutput() NetworkInsightsAnalysisExplanationInternetGatewayOutput { - return i.ToNetworkInsightsAnalysisExplanationInternetGatewayOutputWithContext(context.Background()) +func (o NetworkInsightsAnalysisExplanationOutput) RouteTables() NetworkInsightsAnalysisExplanationRouteTableArrayOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisExplanation) []NetworkInsightsAnalysisExplanationRouteTable { + return v.RouteTables + }).(NetworkInsightsAnalysisExplanationRouteTableArrayOutput) } -func (i NetworkInsightsAnalysisExplanationInternetGatewayArgs) ToNetworkInsightsAnalysisExplanationInternetGatewayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationInternetGatewayOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisExplanationInternetGatewayOutput) +func (o NetworkInsightsAnalysisExplanationOutput) SecurityGroup() NetworkInsightsAnalysisExplanationSecurityGroupArrayOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisExplanation) []NetworkInsightsAnalysisExplanationSecurityGroup { + return v.SecurityGroup + }).(NetworkInsightsAnalysisExplanationSecurityGroupArrayOutput) } -// NetworkInsightsAnalysisExplanationInternetGatewayArrayInput is an input type that accepts NetworkInsightsAnalysisExplanationInternetGatewayArray and NetworkInsightsAnalysisExplanationInternetGatewayArrayOutput values. -// You can construct a concrete instance of `NetworkInsightsAnalysisExplanationInternetGatewayArrayInput` via: -// -// NetworkInsightsAnalysisExplanationInternetGatewayArray{ NetworkInsightsAnalysisExplanationInternetGatewayArgs{...} } -type NetworkInsightsAnalysisExplanationInternetGatewayArrayInput interface { - pulumi.Input +func (o NetworkInsightsAnalysisExplanationOutput) SecurityGroupRules() NetworkInsightsAnalysisExplanationSecurityGroupRuleArrayOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisExplanation) []NetworkInsightsAnalysisExplanationSecurityGroupRule { + return v.SecurityGroupRules + }).(NetworkInsightsAnalysisExplanationSecurityGroupRuleArrayOutput) +} - ToNetworkInsightsAnalysisExplanationInternetGatewayArrayOutput() NetworkInsightsAnalysisExplanationInternetGatewayArrayOutput - ToNetworkInsightsAnalysisExplanationInternetGatewayArrayOutputWithContext(context.Context) NetworkInsightsAnalysisExplanationInternetGatewayArrayOutput +func (o NetworkInsightsAnalysisExplanationOutput) SecurityGroups() NetworkInsightsAnalysisExplanationSecurityGroupArrayOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisExplanation) []NetworkInsightsAnalysisExplanationSecurityGroup { + return v.SecurityGroups + }).(NetworkInsightsAnalysisExplanationSecurityGroupArrayOutput) } -type NetworkInsightsAnalysisExplanationInternetGatewayArray []NetworkInsightsAnalysisExplanationInternetGatewayInput +func (o NetworkInsightsAnalysisExplanationOutput) SourceVpcs() NetworkInsightsAnalysisExplanationSourceVpcArrayOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisExplanation) []NetworkInsightsAnalysisExplanationSourceVpc { + return v.SourceVpcs + }).(NetworkInsightsAnalysisExplanationSourceVpcArrayOutput) +} -func (NetworkInsightsAnalysisExplanationInternetGatewayArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]NetworkInsightsAnalysisExplanationInternetGateway)(nil)).Elem() +func (o NetworkInsightsAnalysisExplanationOutput) State() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisExplanation) *string { return v.State }).(pulumi.StringPtrOutput) } -func (i NetworkInsightsAnalysisExplanationInternetGatewayArray) ToNetworkInsightsAnalysisExplanationInternetGatewayArrayOutput() NetworkInsightsAnalysisExplanationInternetGatewayArrayOutput { - return i.ToNetworkInsightsAnalysisExplanationInternetGatewayArrayOutputWithContext(context.Background()) +func (o NetworkInsightsAnalysisExplanationOutput) SubnetRouteTables() NetworkInsightsAnalysisExplanationSubnetRouteTableArrayOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisExplanation) []NetworkInsightsAnalysisExplanationSubnetRouteTable { + return v.SubnetRouteTables + }).(NetworkInsightsAnalysisExplanationSubnetRouteTableArrayOutput) } -func (i NetworkInsightsAnalysisExplanationInternetGatewayArray) ToNetworkInsightsAnalysisExplanationInternetGatewayArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationInternetGatewayArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisExplanationInternetGatewayArrayOutput) +func (o NetworkInsightsAnalysisExplanationOutput) Subnets() NetworkInsightsAnalysisExplanationSubnetArrayOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisExplanation) []NetworkInsightsAnalysisExplanationSubnet { + return v.Subnets + }).(NetworkInsightsAnalysisExplanationSubnetArrayOutput) } -type NetworkInsightsAnalysisExplanationInternetGatewayOutput struct{ *pulumi.OutputState } +func (o NetworkInsightsAnalysisExplanationOutput) TransitGatewayAttachments() NetworkInsightsAnalysisExplanationTransitGatewayAttachmentArrayOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisExplanation) []NetworkInsightsAnalysisExplanationTransitGatewayAttachment { + return v.TransitGatewayAttachments + }).(NetworkInsightsAnalysisExplanationTransitGatewayAttachmentArrayOutput) +} -func (NetworkInsightsAnalysisExplanationInternetGatewayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkInsightsAnalysisExplanationInternetGateway)(nil)).Elem() +func (o NetworkInsightsAnalysisExplanationOutput) TransitGatewayRouteTableRoutes() NetworkInsightsAnalysisExplanationTransitGatewayRouteTableRouteArrayOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisExplanation) []NetworkInsightsAnalysisExplanationTransitGatewayRouteTableRoute { + return v.TransitGatewayRouteTableRoutes + }).(NetworkInsightsAnalysisExplanationTransitGatewayRouteTableRouteArrayOutput) } -func (o NetworkInsightsAnalysisExplanationInternetGatewayOutput) ToNetworkInsightsAnalysisExplanationInternetGatewayOutput() NetworkInsightsAnalysisExplanationInternetGatewayOutput { - return o +func (o NetworkInsightsAnalysisExplanationOutput) TransitGatewayRouteTables() NetworkInsightsAnalysisExplanationTransitGatewayRouteTableArrayOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisExplanation) []NetworkInsightsAnalysisExplanationTransitGatewayRouteTable { + return v.TransitGatewayRouteTables + }).(NetworkInsightsAnalysisExplanationTransitGatewayRouteTableArrayOutput) } -func (o NetworkInsightsAnalysisExplanationInternetGatewayOutput) ToNetworkInsightsAnalysisExplanationInternetGatewayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationInternetGatewayOutput { - return o +func (o NetworkInsightsAnalysisExplanationOutput) TransitGateways() NetworkInsightsAnalysisExplanationTransitGatewayArrayOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisExplanation) []NetworkInsightsAnalysisExplanationTransitGateway { + return v.TransitGateways + }).(NetworkInsightsAnalysisExplanationTransitGatewayArrayOutput) } -// ARN of the Network Insights Analysis. -func (o NetworkInsightsAnalysisExplanationInternetGatewayOutput) Arn() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisExplanationInternetGateway) *string { return v.Arn }).(pulumi.StringPtrOutput) +func (o NetworkInsightsAnalysisExplanationOutput) VpcEndpoints() NetworkInsightsAnalysisExplanationVpcEndpointArrayOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisExplanation) []NetworkInsightsAnalysisExplanationVpcEndpoint { + return v.VpcEndpoints + }).(NetworkInsightsAnalysisExplanationVpcEndpointArrayOutput) } -// ID of the Network Insights Analysis. -func (o NetworkInsightsAnalysisExplanationInternetGatewayOutput) Id() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisExplanationInternetGateway) *string { return v.Id }).(pulumi.StringPtrOutput) +func (o NetworkInsightsAnalysisExplanationOutput) VpcPeeringConnections() NetworkInsightsAnalysisExplanationVpcPeeringConnectionArrayOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisExplanation) []NetworkInsightsAnalysisExplanationVpcPeeringConnection { + return v.VpcPeeringConnections + }).(NetworkInsightsAnalysisExplanationVpcPeeringConnectionArrayOutput) } -func (o NetworkInsightsAnalysisExplanationInternetGatewayOutput) Name() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisExplanationInternetGateway) *string { return v.Name }).(pulumi.StringPtrOutput) +func (o NetworkInsightsAnalysisExplanationOutput) Vpcs() NetworkInsightsAnalysisExplanationVpcArrayOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisExplanation) []NetworkInsightsAnalysisExplanationVpc { return v.Vpcs }).(NetworkInsightsAnalysisExplanationVpcArrayOutput) } -type NetworkInsightsAnalysisExplanationInternetGatewayArrayOutput struct{ *pulumi.OutputState } +func (o NetworkInsightsAnalysisExplanationOutput) VpnConnections() NetworkInsightsAnalysisExplanationVpnConnectionArrayOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisExplanation) []NetworkInsightsAnalysisExplanationVpnConnection { + return v.VpnConnections + }).(NetworkInsightsAnalysisExplanationVpnConnectionArrayOutput) +} -func (NetworkInsightsAnalysisExplanationInternetGatewayArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]NetworkInsightsAnalysisExplanationInternetGateway)(nil)).Elem() +func (o NetworkInsightsAnalysisExplanationOutput) VpnGateways() NetworkInsightsAnalysisExplanationVpnGatewayArrayOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisExplanation) []NetworkInsightsAnalysisExplanationVpnGateway { + return v.VpnGateways + }).(NetworkInsightsAnalysisExplanationVpnGatewayArrayOutput) } -func (o NetworkInsightsAnalysisExplanationInternetGatewayArrayOutput) ToNetworkInsightsAnalysisExplanationInternetGatewayArrayOutput() NetworkInsightsAnalysisExplanationInternetGatewayArrayOutput { +type NetworkInsightsAnalysisExplanationArrayOutput struct{ *pulumi.OutputState } + +func (NetworkInsightsAnalysisExplanationArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkInsightsAnalysisExplanation)(nil)).Elem() +} + +func (o NetworkInsightsAnalysisExplanationArrayOutput) ToNetworkInsightsAnalysisExplanationArrayOutput() NetworkInsightsAnalysisExplanationArrayOutput { return o } -func (o NetworkInsightsAnalysisExplanationInternetGatewayArrayOutput) ToNetworkInsightsAnalysisExplanationInternetGatewayArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationInternetGatewayArrayOutput { +func (o NetworkInsightsAnalysisExplanationArrayOutput) ToNetworkInsightsAnalysisExplanationArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationArrayOutput { return o } -func (o NetworkInsightsAnalysisExplanationInternetGatewayArrayOutput) Index(i pulumi.IntInput) NetworkInsightsAnalysisExplanationInternetGatewayOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkInsightsAnalysisExplanationInternetGateway { - return vs[0].([]NetworkInsightsAnalysisExplanationInternetGateway)[vs[1].(int)] - }).(NetworkInsightsAnalysisExplanationInternetGatewayOutput) +func (o NetworkInsightsAnalysisExplanationArrayOutput) Index(i pulumi.IntInput) NetworkInsightsAnalysisExplanationOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkInsightsAnalysisExplanation { + return vs[0].([]NetworkInsightsAnalysisExplanation)[vs[1].(int)] + }).(NetworkInsightsAnalysisExplanationOutput) } -type NetworkInsightsAnalysisExplanationLoadBalancerTargetGroup struct { +type NetworkInsightsAnalysisExplanationAcl struct { // ARN of the Network Insights Analysis. Arn *string `pulumi:"arn"` // ID of the Network Insights Analysis. @@ -18466,18 +19105,18 @@ type NetworkInsightsAnalysisExplanationLoadBalancerTargetGroup struct { Name *string `pulumi:"name"` } -// NetworkInsightsAnalysisExplanationLoadBalancerTargetGroupInput is an input type that accepts NetworkInsightsAnalysisExplanationLoadBalancerTargetGroupArgs and NetworkInsightsAnalysisExplanationLoadBalancerTargetGroupOutput values. -// You can construct a concrete instance of `NetworkInsightsAnalysisExplanationLoadBalancerTargetGroupInput` via: +// NetworkInsightsAnalysisExplanationAclInput is an input type that accepts NetworkInsightsAnalysisExplanationAclArgs and NetworkInsightsAnalysisExplanationAclOutput values. +// You can construct a concrete instance of `NetworkInsightsAnalysisExplanationAclInput` via: // -// NetworkInsightsAnalysisExplanationLoadBalancerTargetGroupArgs{...} -type NetworkInsightsAnalysisExplanationLoadBalancerTargetGroupInput interface { +// NetworkInsightsAnalysisExplanationAclArgs{...} +type NetworkInsightsAnalysisExplanationAclInput interface { pulumi.Input - ToNetworkInsightsAnalysisExplanationLoadBalancerTargetGroupOutput() NetworkInsightsAnalysisExplanationLoadBalancerTargetGroupOutput - ToNetworkInsightsAnalysisExplanationLoadBalancerTargetGroupOutputWithContext(context.Context) NetworkInsightsAnalysisExplanationLoadBalancerTargetGroupOutput + ToNetworkInsightsAnalysisExplanationAclOutput() NetworkInsightsAnalysisExplanationAclOutput + ToNetworkInsightsAnalysisExplanationAclOutputWithContext(context.Context) NetworkInsightsAnalysisExplanationAclOutput } -type NetworkInsightsAnalysisExplanationLoadBalancerTargetGroupArgs struct { +type NetworkInsightsAnalysisExplanationAclArgs struct { // ARN of the Network Insights Analysis. Arn pulumi.StringPtrInput `pulumi:"arn"` // ID of the Network Insights Analysis. @@ -18485,528 +19124,530 @@ type NetworkInsightsAnalysisExplanationLoadBalancerTargetGroupArgs struct { Name pulumi.StringPtrInput `pulumi:"name"` } -func (NetworkInsightsAnalysisExplanationLoadBalancerTargetGroupArgs) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkInsightsAnalysisExplanationLoadBalancerTargetGroup)(nil)).Elem() +func (NetworkInsightsAnalysisExplanationAclArgs) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInsightsAnalysisExplanationAcl)(nil)).Elem() } -func (i NetworkInsightsAnalysisExplanationLoadBalancerTargetGroupArgs) ToNetworkInsightsAnalysisExplanationLoadBalancerTargetGroupOutput() NetworkInsightsAnalysisExplanationLoadBalancerTargetGroupOutput { - return i.ToNetworkInsightsAnalysisExplanationLoadBalancerTargetGroupOutputWithContext(context.Background()) +func (i NetworkInsightsAnalysisExplanationAclArgs) ToNetworkInsightsAnalysisExplanationAclOutput() NetworkInsightsAnalysisExplanationAclOutput { + return i.ToNetworkInsightsAnalysisExplanationAclOutputWithContext(context.Background()) } -func (i NetworkInsightsAnalysisExplanationLoadBalancerTargetGroupArgs) ToNetworkInsightsAnalysisExplanationLoadBalancerTargetGroupOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationLoadBalancerTargetGroupOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisExplanationLoadBalancerTargetGroupOutput) +func (i NetworkInsightsAnalysisExplanationAclArgs) ToNetworkInsightsAnalysisExplanationAclOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationAclOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisExplanationAclOutput) } -// NetworkInsightsAnalysisExplanationLoadBalancerTargetGroupArrayInput is an input type that accepts NetworkInsightsAnalysisExplanationLoadBalancerTargetGroupArray and NetworkInsightsAnalysisExplanationLoadBalancerTargetGroupArrayOutput values. -// You can construct a concrete instance of `NetworkInsightsAnalysisExplanationLoadBalancerTargetGroupArrayInput` via: +// NetworkInsightsAnalysisExplanationAclArrayInput is an input type that accepts NetworkInsightsAnalysisExplanationAclArray and NetworkInsightsAnalysisExplanationAclArrayOutput values. +// You can construct a concrete instance of `NetworkInsightsAnalysisExplanationAclArrayInput` via: // -// NetworkInsightsAnalysisExplanationLoadBalancerTargetGroupArray{ NetworkInsightsAnalysisExplanationLoadBalancerTargetGroupArgs{...} } -type NetworkInsightsAnalysisExplanationLoadBalancerTargetGroupArrayInput interface { +// NetworkInsightsAnalysisExplanationAclArray{ NetworkInsightsAnalysisExplanationAclArgs{...} } +type NetworkInsightsAnalysisExplanationAclArrayInput interface { pulumi.Input - ToNetworkInsightsAnalysisExplanationLoadBalancerTargetGroupArrayOutput() NetworkInsightsAnalysisExplanationLoadBalancerTargetGroupArrayOutput - ToNetworkInsightsAnalysisExplanationLoadBalancerTargetGroupArrayOutputWithContext(context.Context) NetworkInsightsAnalysisExplanationLoadBalancerTargetGroupArrayOutput + ToNetworkInsightsAnalysisExplanationAclArrayOutput() NetworkInsightsAnalysisExplanationAclArrayOutput + ToNetworkInsightsAnalysisExplanationAclArrayOutputWithContext(context.Context) NetworkInsightsAnalysisExplanationAclArrayOutput } -type NetworkInsightsAnalysisExplanationLoadBalancerTargetGroupArray []NetworkInsightsAnalysisExplanationLoadBalancerTargetGroupInput +type NetworkInsightsAnalysisExplanationAclArray []NetworkInsightsAnalysisExplanationAclInput -func (NetworkInsightsAnalysisExplanationLoadBalancerTargetGroupArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]NetworkInsightsAnalysisExplanationLoadBalancerTargetGroup)(nil)).Elem() +func (NetworkInsightsAnalysisExplanationAclArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkInsightsAnalysisExplanationAcl)(nil)).Elem() } -func (i NetworkInsightsAnalysisExplanationLoadBalancerTargetGroupArray) ToNetworkInsightsAnalysisExplanationLoadBalancerTargetGroupArrayOutput() NetworkInsightsAnalysisExplanationLoadBalancerTargetGroupArrayOutput { - return i.ToNetworkInsightsAnalysisExplanationLoadBalancerTargetGroupArrayOutputWithContext(context.Background()) +func (i NetworkInsightsAnalysisExplanationAclArray) ToNetworkInsightsAnalysisExplanationAclArrayOutput() NetworkInsightsAnalysisExplanationAclArrayOutput { + return i.ToNetworkInsightsAnalysisExplanationAclArrayOutputWithContext(context.Background()) } -func (i NetworkInsightsAnalysisExplanationLoadBalancerTargetGroupArray) ToNetworkInsightsAnalysisExplanationLoadBalancerTargetGroupArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationLoadBalancerTargetGroupArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisExplanationLoadBalancerTargetGroupArrayOutput) +func (i NetworkInsightsAnalysisExplanationAclArray) ToNetworkInsightsAnalysisExplanationAclArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationAclArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisExplanationAclArrayOutput) } -type NetworkInsightsAnalysisExplanationLoadBalancerTargetGroupOutput struct{ *pulumi.OutputState } +type NetworkInsightsAnalysisExplanationAclOutput struct{ *pulumi.OutputState } -func (NetworkInsightsAnalysisExplanationLoadBalancerTargetGroupOutput) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkInsightsAnalysisExplanationLoadBalancerTargetGroup)(nil)).Elem() +func (NetworkInsightsAnalysisExplanationAclOutput) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInsightsAnalysisExplanationAcl)(nil)).Elem() } -func (o NetworkInsightsAnalysisExplanationLoadBalancerTargetGroupOutput) ToNetworkInsightsAnalysisExplanationLoadBalancerTargetGroupOutput() NetworkInsightsAnalysisExplanationLoadBalancerTargetGroupOutput { +func (o NetworkInsightsAnalysisExplanationAclOutput) ToNetworkInsightsAnalysisExplanationAclOutput() NetworkInsightsAnalysisExplanationAclOutput { return o } -func (o NetworkInsightsAnalysisExplanationLoadBalancerTargetGroupOutput) ToNetworkInsightsAnalysisExplanationLoadBalancerTargetGroupOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationLoadBalancerTargetGroupOutput { +func (o NetworkInsightsAnalysisExplanationAclOutput) ToNetworkInsightsAnalysisExplanationAclOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationAclOutput { return o } // ARN of the Network Insights Analysis. -func (o NetworkInsightsAnalysisExplanationLoadBalancerTargetGroupOutput) Arn() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisExplanationLoadBalancerTargetGroup) *string { return v.Arn }).(pulumi.StringPtrOutput) +func (o NetworkInsightsAnalysisExplanationAclOutput) Arn() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisExplanationAcl) *string { return v.Arn }).(pulumi.StringPtrOutput) } // ID of the Network Insights Analysis. -func (o NetworkInsightsAnalysisExplanationLoadBalancerTargetGroupOutput) Id() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisExplanationLoadBalancerTargetGroup) *string { return v.Id }).(pulumi.StringPtrOutput) +func (o NetworkInsightsAnalysisExplanationAclOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisExplanationAcl) *string { return v.Id }).(pulumi.StringPtrOutput) } -func (o NetworkInsightsAnalysisExplanationLoadBalancerTargetGroupOutput) Name() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisExplanationLoadBalancerTargetGroup) *string { return v.Name }).(pulumi.StringPtrOutput) +func (o NetworkInsightsAnalysisExplanationAclOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisExplanationAcl) *string { return v.Name }).(pulumi.StringPtrOutput) } -type NetworkInsightsAnalysisExplanationLoadBalancerTargetGroupArrayOutput struct{ *pulumi.OutputState } +type NetworkInsightsAnalysisExplanationAclArrayOutput struct{ *pulumi.OutputState } -func (NetworkInsightsAnalysisExplanationLoadBalancerTargetGroupArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]NetworkInsightsAnalysisExplanationLoadBalancerTargetGroup)(nil)).Elem() +func (NetworkInsightsAnalysisExplanationAclArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkInsightsAnalysisExplanationAcl)(nil)).Elem() } -func (o NetworkInsightsAnalysisExplanationLoadBalancerTargetGroupArrayOutput) ToNetworkInsightsAnalysisExplanationLoadBalancerTargetGroupArrayOutput() NetworkInsightsAnalysisExplanationLoadBalancerTargetGroupArrayOutput { +func (o NetworkInsightsAnalysisExplanationAclArrayOutput) ToNetworkInsightsAnalysisExplanationAclArrayOutput() NetworkInsightsAnalysisExplanationAclArrayOutput { return o } -func (o NetworkInsightsAnalysisExplanationLoadBalancerTargetGroupArrayOutput) ToNetworkInsightsAnalysisExplanationLoadBalancerTargetGroupArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationLoadBalancerTargetGroupArrayOutput { +func (o NetworkInsightsAnalysisExplanationAclArrayOutput) ToNetworkInsightsAnalysisExplanationAclArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationAclArrayOutput { return o } -func (o NetworkInsightsAnalysisExplanationLoadBalancerTargetGroupArrayOutput) Index(i pulumi.IntInput) NetworkInsightsAnalysisExplanationLoadBalancerTargetGroupOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkInsightsAnalysisExplanationLoadBalancerTargetGroup { - return vs[0].([]NetworkInsightsAnalysisExplanationLoadBalancerTargetGroup)[vs[1].(int)] - }).(NetworkInsightsAnalysisExplanationLoadBalancerTargetGroupOutput) +func (o NetworkInsightsAnalysisExplanationAclArrayOutput) Index(i pulumi.IntInput) NetworkInsightsAnalysisExplanationAclOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkInsightsAnalysisExplanationAcl { + return vs[0].([]NetworkInsightsAnalysisExplanationAcl)[vs[1].(int)] + }).(NetworkInsightsAnalysisExplanationAclOutput) } -type NetworkInsightsAnalysisExplanationNatGateway struct { - // ARN of the Network Insights Analysis. - Arn *string `pulumi:"arn"` - // ID of the Network Insights Analysis. - Id *string `pulumi:"id"` - Name *string `pulumi:"name"` +type NetworkInsightsAnalysisExplanationAclRule struct { + Cidr *string `pulumi:"cidr"` + Egress *bool `pulumi:"egress"` + PortRanges []NetworkInsightsAnalysisExplanationAclRulePortRange `pulumi:"portRanges"` + Protocol *string `pulumi:"protocol"` + RuleAction *string `pulumi:"ruleAction"` + RuleNumber *int `pulumi:"ruleNumber"` } -// NetworkInsightsAnalysisExplanationNatGatewayInput is an input type that accepts NetworkInsightsAnalysisExplanationNatGatewayArgs and NetworkInsightsAnalysisExplanationNatGatewayOutput values. -// You can construct a concrete instance of `NetworkInsightsAnalysisExplanationNatGatewayInput` via: +// NetworkInsightsAnalysisExplanationAclRuleInput is an input type that accepts NetworkInsightsAnalysisExplanationAclRuleArgs and NetworkInsightsAnalysisExplanationAclRuleOutput values. +// You can construct a concrete instance of `NetworkInsightsAnalysisExplanationAclRuleInput` via: // -// NetworkInsightsAnalysisExplanationNatGatewayArgs{...} -type NetworkInsightsAnalysisExplanationNatGatewayInput interface { +// NetworkInsightsAnalysisExplanationAclRuleArgs{...} +type NetworkInsightsAnalysisExplanationAclRuleInput interface { pulumi.Input - ToNetworkInsightsAnalysisExplanationNatGatewayOutput() NetworkInsightsAnalysisExplanationNatGatewayOutput - ToNetworkInsightsAnalysisExplanationNatGatewayOutputWithContext(context.Context) NetworkInsightsAnalysisExplanationNatGatewayOutput + ToNetworkInsightsAnalysisExplanationAclRuleOutput() NetworkInsightsAnalysisExplanationAclRuleOutput + ToNetworkInsightsAnalysisExplanationAclRuleOutputWithContext(context.Context) NetworkInsightsAnalysisExplanationAclRuleOutput } -type NetworkInsightsAnalysisExplanationNatGatewayArgs struct { - // ARN of the Network Insights Analysis. - Arn pulumi.StringPtrInput `pulumi:"arn"` - // ID of the Network Insights Analysis. - Id pulumi.StringPtrInput `pulumi:"id"` - Name pulumi.StringPtrInput `pulumi:"name"` +type NetworkInsightsAnalysisExplanationAclRuleArgs struct { + Cidr pulumi.StringPtrInput `pulumi:"cidr"` + Egress pulumi.BoolPtrInput `pulumi:"egress"` + PortRanges NetworkInsightsAnalysisExplanationAclRulePortRangeArrayInput `pulumi:"portRanges"` + Protocol pulumi.StringPtrInput `pulumi:"protocol"` + RuleAction pulumi.StringPtrInput `pulumi:"ruleAction"` + RuleNumber pulumi.IntPtrInput `pulumi:"ruleNumber"` } -func (NetworkInsightsAnalysisExplanationNatGatewayArgs) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkInsightsAnalysisExplanationNatGateway)(nil)).Elem() +func (NetworkInsightsAnalysisExplanationAclRuleArgs) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInsightsAnalysisExplanationAclRule)(nil)).Elem() } -func (i NetworkInsightsAnalysisExplanationNatGatewayArgs) ToNetworkInsightsAnalysisExplanationNatGatewayOutput() NetworkInsightsAnalysisExplanationNatGatewayOutput { - return i.ToNetworkInsightsAnalysisExplanationNatGatewayOutputWithContext(context.Background()) +func (i NetworkInsightsAnalysisExplanationAclRuleArgs) ToNetworkInsightsAnalysisExplanationAclRuleOutput() NetworkInsightsAnalysisExplanationAclRuleOutput { + return i.ToNetworkInsightsAnalysisExplanationAclRuleOutputWithContext(context.Background()) } -func (i NetworkInsightsAnalysisExplanationNatGatewayArgs) ToNetworkInsightsAnalysisExplanationNatGatewayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationNatGatewayOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisExplanationNatGatewayOutput) +func (i NetworkInsightsAnalysisExplanationAclRuleArgs) ToNetworkInsightsAnalysisExplanationAclRuleOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationAclRuleOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisExplanationAclRuleOutput) } -// NetworkInsightsAnalysisExplanationNatGatewayArrayInput is an input type that accepts NetworkInsightsAnalysisExplanationNatGatewayArray and NetworkInsightsAnalysisExplanationNatGatewayArrayOutput values. -// You can construct a concrete instance of `NetworkInsightsAnalysisExplanationNatGatewayArrayInput` via: +// NetworkInsightsAnalysisExplanationAclRuleArrayInput is an input type that accepts NetworkInsightsAnalysisExplanationAclRuleArray and NetworkInsightsAnalysisExplanationAclRuleArrayOutput values. +// You can construct a concrete instance of `NetworkInsightsAnalysisExplanationAclRuleArrayInput` via: // -// NetworkInsightsAnalysisExplanationNatGatewayArray{ NetworkInsightsAnalysisExplanationNatGatewayArgs{...} } -type NetworkInsightsAnalysisExplanationNatGatewayArrayInput interface { +// NetworkInsightsAnalysisExplanationAclRuleArray{ NetworkInsightsAnalysisExplanationAclRuleArgs{...} } +type NetworkInsightsAnalysisExplanationAclRuleArrayInput interface { pulumi.Input - ToNetworkInsightsAnalysisExplanationNatGatewayArrayOutput() NetworkInsightsAnalysisExplanationNatGatewayArrayOutput - ToNetworkInsightsAnalysisExplanationNatGatewayArrayOutputWithContext(context.Context) NetworkInsightsAnalysisExplanationNatGatewayArrayOutput + ToNetworkInsightsAnalysisExplanationAclRuleArrayOutput() NetworkInsightsAnalysisExplanationAclRuleArrayOutput + ToNetworkInsightsAnalysisExplanationAclRuleArrayOutputWithContext(context.Context) NetworkInsightsAnalysisExplanationAclRuleArrayOutput } -type NetworkInsightsAnalysisExplanationNatGatewayArray []NetworkInsightsAnalysisExplanationNatGatewayInput +type NetworkInsightsAnalysisExplanationAclRuleArray []NetworkInsightsAnalysisExplanationAclRuleInput -func (NetworkInsightsAnalysisExplanationNatGatewayArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]NetworkInsightsAnalysisExplanationNatGateway)(nil)).Elem() +func (NetworkInsightsAnalysisExplanationAclRuleArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkInsightsAnalysisExplanationAclRule)(nil)).Elem() } -func (i NetworkInsightsAnalysisExplanationNatGatewayArray) ToNetworkInsightsAnalysisExplanationNatGatewayArrayOutput() NetworkInsightsAnalysisExplanationNatGatewayArrayOutput { - return i.ToNetworkInsightsAnalysisExplanationNatGatewayArrayOutputWithContext(context.Background()) +func (i NetworkInsightsAnalysisExplanationAclRuleArray) ToNetworkInsightsAnalysisExplanationAclRuleArrayOutput() NetworkInsightsAnalysisExplanationAclRuleArrayOutput { + return i.ToNetworkInsightsAnalysisExplanationAclRuleArrayOutputWithContext(context.Background()) } -func (i NetworkInsightsAnalysisExplanationNatGatewayArray) ToNetworkInsightsAnalysisExplanationNatGatewayArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationNatGatewayArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisExplanationNatGatewayArrayOutput) +func (i NetworkInsightsAnalysisExplanationAclRuleArray) ToNetworkInsightsAnalysisExplanationAclRuleArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationAclRuleArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisExplanationAclRuleArrayOutput) } -type NetworkInsightsAnalysisExplanationNatGatewayOutput struct{ *pulumi.OutputState } +type NetworkInsightsAnalysisExplanationAclRuleOutput struct{ *pulumi.OutputState } -func (NetworkInsightsAnalysisExplanationNatGatewayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkInsightsAnalysisExplanationNatGateway)(nil)).Elem() +func (NetworkInsightsAnalysisExplanationAclRuleOutput) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInsightsAnalysisExplanationAclRule)(nil)).Elem() } -func (o NetworkInsightsAnalysisExplanationNatGatewayOutput) ToNetworkInsightsAnalysisExplanationNatGatewayOutput() NetworkInsightsAnalysisExplanationNatGatewayOutput { +func (o NetworkInsightsAnalysisExplanationAclRuleOutput) ToNetworkInsightsAnalysisExplanationAclRuleOutput() NetworkInsightsAnalysisExplanationAclRuleOutput { return o } -func (o NetworkInsightsAnalysisExplanationNatGatewayOutput) ToNetworkInsightsAnalysisExplanationNatGatewayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationNatGatewayOutput { +func (o NetworkInsightsAnalysisExplanationAclRuleOutput) ToNetworkInsightsAnalysisExplanationAclRuleOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationAclRuleOutput { return o } -// ARN of the Network Insights Analysis. -func (o NetworkInsightsAnalysisExplanationNatGatewayOutput) Arn() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisExplanationNatGateway) *string { return v.Arn }).(pulumi.StringPtrOutput) +func (o NetworkInsightsAnalysisExplanationAclRuleOutput) Cidr() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisExplanationAclRule) *string { return v.Cidr }).(pulumi.StringPtrOutput) } -// ID of the Network Insights Analysis. -func (o NetworkInsightsAnalysisExplanationNatGatewayOutput) Id() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisExplanationNatGateway) *string { return v.Id }).(pulumi.StringPtrOutput) +func (o NetworkInsightsAnalysisExplanationAclRuleOutput) Egress() pulumi.BoolPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisExplanationAclRule) *bool { return v.Egress }).(pulumi.BoolPtrOutput) } -func (o NetworkInsightsAnalysisExplanationNatGatewayOutput) Name() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisExplanationNatGateway) *string { return v.Name }).(pulumi.StringPtrOutput) +func (o NetworkInsightsAnalysisExplanationAclRuleOutput) PortRanges() NetworkInsightsAnalysisExplanationAclRulePortRangeArrayOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisExplanationAclRule) []NetworkInsightsAnalysisExplanationAclRulePortRange { + return v.PortRanges + }).(NetworkInsightsAnalysisExplanationAclRulePortRangeArrayOutput) } -type NetworkInsightsAnalysisExplanationNatGatewayArrayOutput struct{ *pulumi.OutputState } +func (o NetworkInsightsAnalysisExplanationAclRuleOutput) Protocol() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisExplanationAclRule) *string { return v.Protocol }).(pulumi.StringPtrOutput) +} -func (NetworkInsightsAnalysisExplanationNatGatewayArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]NetworkInsightsAnalysisExplanationNatGateway)(nil)).Elem() +func (o NetworkInsightsAnalysisExplanationAclRuleOutput) RuleAction() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisExplanationAclRule) *string { return v.RuleAction }).(pulumi.StringPtrOutput) } -func (o NetworkInsightsAnalysisExplanationNatGatewayArrayOutput) ToNetworkInsightsAnalysisExplanationNatGatewayArrayOutput() NetworkInsightsAnalysisExplanationNatGatewayArrayOutput { +func (o NetworkInsightsAnalysisExplanationAclRuleOutput) RuleNumber() pulumi.IntPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisExplanationAclRule) *int { return v.RuleNumber }).(pulumi.IntPtrOutput) +} + +type NetworkInsightsAnalysisExplanationAclRuleArrayOutput struct{ *pulumi.OutputState } + +func (NetworkInsightsAnalysisExplanationAclRuleArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkInsightsAnalysisExplanationAclRule)(nil)).Elem() +} + +func (o NetworkInsightsAnalysisExplanationAclRuleArrayOutput) ToNetworkInsightsAnalysisExplanationAclRuleArrayOutput() NetworkInsightsAnalysisExplanationAclRuleArrayOutput { return o } -func (o NetworkInsightsAnalysisExplanationNatGatewayArrayOutput) ToNetworkInsightsAnalysisExplanationNatGatewayArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationNatGatewayArrayOutput { +func (o NetworkInsightsAnalysisExplanationAclRuleArrayOutput) ToNetworkInsightsAnalysisExplanationAclRuleArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationAclRuleArrayOutput { return o } -func (o NetworkInsightsAnalysisExplanationNatGatewayArrayOutput) Index(i pulumi.IntInput) NetworkInsightsAnalysisExplanationNatGatewayOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkInsightsAnalysisExplanationNatGateway { - return vs[0].([]NetworkInsightsAnalysisExplanationNatGateway)[vs[1].(int)] - }).(NetworkInsightsAnalysisExplanationNatGatewayOutput) +func (o NetworkInsightsAnalysisExplanationAclRuleArrayOutput) Index(i pulumi.IntInput) NetworkInsightsAnalysisExplanationAclRuleOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkInsightsAnalysisExplanationAclRule { + return vs[0].([]NetworkInsightsAnalysisExplanationAclRule)[vs[1].(int)] + }).(NetworkInsightsAnalysisExplanationAclRuleOutput) } -type NetworkInsightsAnalysisExplanationNetworkInterface struct { - // ARN of the Network Insights Analysis. - Arn *string `pulumi:"arn"` - // ID of the Network Insights Analysis. - Id *string `pulumi:"id"` - Name *string `pulumi:"name"` +type NetworkInsightsAnalysisExplanationAclRulePortRange struct { + From *int `pulumi:"from"` + To *int `pulumi:"to"` } -// NetworkInsightsAnalysisExplanationNetworkInterfaceInput is an input type that accepts NetworkInsightsAnalysisExplanationNetworkInterfaceArgs and NetworkInsightsAnalysisExplanationNetworkInterfaceOutput values. -// You can construct a concrete instance of `NetworkInsightsAnalysisExplanationNetworkInterfaceInput` via: +// NetworkInsightsAnalysisExplanationAclRulePortRangeInput is an input type that accepts NetworkInsightsAnalysisExplanationAclRulePortRangeArgs and NetworkInsightsAnalysisExplanationAclRulePortRangeOutput values. +// You can construct a concrete instance of `NetworkInsightsAnalysisExplanationAclRulePortRangeInput` via: // -// NetworkInsightsAnalysisExplanationNetworkInterfaceArgs{...} -type NetworkInsightsAnalysisExplanationNetworkInterfaceInput interface { +// NetworkInsightsAnalysisExplanationAclRulePortRangeArgs{...} +type NetworkInsightsAnalysisExplanationAclRulePortRangeInput interface { pulumi.Input - ToNetworkInsightsAnalysisExplanationNetworkInterfaceOutput() NetworkInsightsAnalysisExplanationNetworkInterfaceOutput - ToNetworkInsightsAnalysisExplanationNetworkInterfaceOutputWithContext(context.Context) NetworkInsightsAnalysisExplanationNetworkInterfaceOutput + ToNetworkInsightsAnalysisExplanationAclRulePortRangeOutput() NetworkInsightsAnalysisExplanationAclRulePortRangeOutput + ToNetworkInsightsAnalysisExplanationAclRulePortRangeOutputWithContext(context.Context) NetworkInsightsAnalysisExplanationAclRulePortRangeOutput } -type NetworkInsightsAnalysisExplanationNetworkInterfaceArgs struct { - // ARN of the Network Insights Analysis. - Arn pulumi.StringPtrInput `pulumi:"arn"` - // ID of the Network Insights Analysis. - Id pulumi.StringPtrInput `pulumi:"id"` - Name pulumi.StringPtrInput `pulumi:"name"` +type NetworkInsightsAnalysisExplanationAclRulePortRangeArgs struct { + From pulumi.IntPtrInput `pulumi:"from"` + To pulumi.IntPtrInput `pulumi:"to"` } -func (NetworkInsightsAnalysisExplanationNetworkInterfaceArgs) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkInsightsAnalysisExplanationNetworkInterface)(nil)).Elem() +func (NetworkInsightsAnalysisExplanationAclRulePortRangeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInsightsAnalysisExplanationAclRulePortRange)(nil)).Elem() } -func (i NetworkInsightsAnalysisExplanationNetworkInterfaceArgs) ToNetworkInsightsAnalysisExplanationNetworkInterfaceOutput() NetworkInsightsAnalysisExplanationNetworkInterfaceOutput { - return i.ToNetworkInsightsAnalysisExplanationNetworkInterfaceOutputWithContext(context.Background()) +func (i NetworkInsightsAnalysisExplanationAclRulePortRangeArgs) ToNetworkInsightsAnalysisExplanationAclRulePortRangeOutput() NetworkInsightsAnalysisExplanationAclRulePortRangeOutput { + return i.ToNetworkInsightsAnalysisExplanationAclRulePortRangeOutputWithContext(context.Background()) } -func (i NetworkInsightsAnalysisExplanationNetworkInterfaceArgs) ToNetworkInsightsAnalysisExplanationNetworkInterfaceOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationNetworkInterfaceOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisExplanationNetworkInterfaceOutput) +func (i NetworkInsightsAnalysisExplanationAclRulePortRangeArgs) ToNetworkInsightsAnalysisExplanationAclRulePortRangeOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationAclRulePortRangeOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisExplanationAclRulePortRangeOutput) } -// NetworkInsightsAnalysisExplanationNetworkInterfaceArrayInput is an input type that accepts NetworkInsightsAnalysisExplanationNetworkInterfaceArray and NetworkInsightsAnalysisExplanationNetworkInterfaceArrayOutput values. -// You can construct a concrete instance of `NetworkInsightsAnalysisExplanationNetworkInterfaceArrayInput` via: +// NetworkInsightsAnalysisExplanationAclRulePortRangeArrayInput is an input type that accepts NetworkInsightsAnalysisExplanationAclRulePortRangeArray and NetworkInsightsAnalysisExplanationAclRulePortRangeArrayOutput values. +// You can construct a concrete instance of `NetworkInsightsAnalysisExplanationAclRulePortRangeArrayInput` via: // -// NetworkInsightsAnalysisExplanationNetworkInterfaceArray{ NetworkInsightsAnalysisExplanationNetworkInterfaceArgs{...} } -type NetworkInsightsAnalysisExplanationNetworkInterfaceArrayInput interface { +// NetworkInsightsAnalysisExplanationAclRulePortRangeArray{ NetworkInsightsAnalysisExplanationAclRulePortRangeArgs{...} } +type NetworkInsightsAnalysisExplanationAclRulePortRangeArrayInput interface { pulumi.Input - ToNetworkInsightsAnalysisExplanationNetworkInterfaceArrayOutput() NetworkInsightsAnalysisExplanationNetworkInterfaceArrayOutput - ToNetworkInsightsAnalysisExplanationNetworkInterfaceArrayOutputWithContext(context.Context) NetworkInsightsAnalysisExplanationNetworkInterfaceArrayOutput + ToNetworkInsightsAnalysisExplanationAclRulePortRangeArrayOutput() NetworkInsightsAnalysisExplanationAclRulePortRangeArrayOutput + ToNetworkInsightsAnalysisExplanationAclRulePortRangeArrayOutputWithContext(context.Context) NetworkInsightsAnalysisExplanationAclRulePortRangeArrayOutput } -type NetworkInsightsAnalysisExplanationNetworkInterfaceArray []NetworkInsightsAnalysisExplanationNetworkInterfaceInput +type NetworkInsightsAnalysisExplanationAclRulePortRangeArray []NetworkInsightsAnalysisExplanationAclRulePortRangeInput -func (NetworkInsightsAnalysisExplanationNetworkInterfaceArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]NetworkInsightsAnalysisExplanationNetworkInterface)(nil)).Elem() +func (NetworkInsightsAnalysisExplanationAclRulePortRangeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkInsightsAnalysisExplanationAclRulePortRange)(nil)).Elem() } -func (i NetworkInsightsAnalysisExplanationNetworkInterfaceArray) ToNetworkInsightsAnalysisExplanationNetworkInterfaceArrayOutput() NetworkInsightsAnalysisExplanationNetworkInterfaceArrayOutput { - return i.ToNetworkInsightsAnalysisExplanationNetworkInterfaceArrayOutputWithContext(context.Background()) +func (i NetworkInsightsAnalysisExplanationAclRulePortRangeArray) ToNetworkInsightsAnalysisExplanationAclRulePortRangeArrayOutput() NetworkInsightsAnalysisExplanationAclRulePortRangeArrayOutput { + return i.ToNetworkInsightsAnalysisExplanationAclRulePortRangeArrayOutputWithContext(context.Background()) } -func (i NetworkInsightsAnalysisExplanationNetworkInterfaceArray) ToNetworkInsightsAnalysisExplanationNetworkInterfaceArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationNetworkInterfaceArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisExplanationNetworkInterfaceArrayOutput) +func (i NetworkInsightsAnalysisExplanationAclRulePortRangeArray) ToNetworkInsightsAnalysisExplanationAclRulePortRangeArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationAclRulePortRangeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisExplanationAclRulePortRangeArrayOutput) } -type NetworkInsightsAnalysisExplanationNetworkInterfaceOutput struct{ *pulumi.OutputState } +type NetworkInsightsAnalysisExplanationAclRulePortRangeOutput struct{ *pulumi.OutputState } -func (NetworkInsightsAnalysisExplanationNetworkInterfaceOutput) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkInsightsAnalysisExplanationNetworkInterface)(nil)).Elem() +func (NetworkInsightsAnalysisExplanationAclRulePortRangeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInsightsAnalysisExplanationAclRulePortRange)(nil)).Elem() } -func (o NetworkInsightsAnalysisExplanationNetworkInterfaceOutput) ToNetworkInsightsAnalysisExplanationNetworkInterfaceOutput() NetworkInsightsAnalysisExplanationNetworkInterfaceOutput { +func (o NetworkInsightsAnalysisExplanationAclRulePortRangeOutput) ToNetworkInsightsAnalysisExplanationAclRulePortRangeOutput() NetworkInsightsAnalysisExplanationAclRulePortRangeOutput { return o } -func (o NetworkInsightsAnalysisExplanationNetworkInterfaceOutput) ToNetworkInsightsAnalysisExplanationNetworkInterfaceOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationNetworkInterfaceOutput { +func (o NetworkInsightsAnalysisExplanationAclRulePortRangeOutput) ToNetworkInsightsAnalysisExplanationAclRulePortRangeOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationAclRulePortRangeOutput { return o } -// ARN of the Network Insights Analysis. -func (o NetworkInsightsAnalysisExplanationNetworkInterfaceOutput) Arn() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisExplanationNetworkInterface) *string { return v.Arn }).(pulumi.StringPtrOutput) -} - -// ID of the Network Insights Analysis. -func (o NetworkInsightsAnalysisExplanationNetworkInterfaceOutput) Id() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisExplanationNetworkInterface) *string { return v.Id }).(pulumi.StringPtrOutput) +func (o NetworkInsightsAnalysisExplanationAclRulePortRangeOutput) From() pulumi.IntPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisExplanationAclRulePortRange) *int { return v.From }).(pulumi.IntPtrOutput) } -func (o NetworkInsightsAnalysisExplanationNetworkInterfaceOutput) Name() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisExplanationNetworkInterface) *string { return v.Name }).(pulumi.StringPtrOutput) +func (o NetworkInsightsAnalysisExplanationAclRulePortRangeOutput) To() pulumi.IntPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisExplanationAclRulePortRange) *int { return v.To }).(pulumi.IntPtrOutput) } -type NetworkInsightsAnalysisExplanationNetworkInterfaceArrayOutput struct{ *pulumi.OutputState } +type NetworkInsightsAnalysisExplanationAclRulePortRangeArrayOutput struct{ *pulumi.OutputState } -func (NetworkInsightsAnalysisExplanationNetworkInterfaceArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]NetworkInsightsAnalysisExplanationNetworkInterface)(nil)).Elem() +func (NetworkInsightsAnalysisExplanationAclRulePortRangeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkInsightsAnalysisExplanationAclRulePortRange)(nil)).Elem() } -func (o NetworkInsightsAnalysisExplanationNetworkInterfaceArrayOutput) ToNetworkInsightsAnalysisExplanationNetworkInterfaceArrayOutput() NetworkInsightsAnalysisExplanationNetworkInterfaceArrayOutput { +func (o NetworkInsightsAnalysisExplanationAclRulePortRangeArrayOutput) ToNetworkInsightsAnalysisExplanationAclRulePortRangeArrayOutput() NetworkInsightsAnalysisExplanationAclRulePortRangeArrayOutput { return o } -func (o NetworkInsightsAnalysisExplanationNetworkInterfaceArrayOutput) ToNetworkInsightsAnalysisExplanationNetworkInterfaceArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationNetworkInterfaceArrayOutput { +func (o NetworkInsightsAnalysisExplanationAclRulePortRangeArrayOutput) ToNetworkInsightsAnalysisExplanationAclRulePortRangeArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationAclRulePortRangeArrayOutput { return o } -func (o NetworkInsightsAnalysisExplanationNetworkInterfaceArrayOutput) Index(i pulumi.IntInput) NetworkInsightsAnalysisExplanationNetworkInterfaceOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkInsightsAnalysisExplanationNetworkInterface { - return vs[0].([]NetworkInsightsAnalysisExplanationNetworkInterface)[vs[1].(int)] - }).(NetworkInsightsAnalysisExplanationNetworkInterfaceOutput) +func (o NetworkInsightsAnalysisExplanationAclRulePortRangeArrayOutput) Index(i pulumi.IntInput) NetworkInsightsAnalysisExplanationAclRulePortRangeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkInsightsAnalysisExplanationAclRulePortRange { + return vs[0].([]NetworkInsightsAnalysisExplanationAclRulePortRange)[vs[1].(int)] + }).(NetworkInsightsAnalysisExplanationAclRulePortRangeOutput) } -type NetworkInsightsAnalysisExplanationPortRange struct { - From *int `pulumi:"from"` - To *int `pulumi:"to"` +type NetworkInsightsAnalysisExplanationAttachedTo struct { + // ARN of the Network Insights Analysis. + Arn *string `pulumi:"arn"` + // ID of the Network Insights Analysis. + Id *string `pulumi:"id"` + Name *string `pulumi:"name"` } -// NetworkInsightsAnalysisExplanationPortRangeInput is an input type that accepts NetworkInsightsAnalysisExplanationPortRangeArgs and NetworkInsightsAnalysisExplanationPortRangeOutput values. -// You can construct a concrete instance of `NetworkInsightsAnalysisExplanationPortRangeInput` via: +// NetworkInsightsAnalysisExplanationAttachedToInput is an input type that accepts NetworkInsightsAnalysisExplanationAttachedToArgs and NetworkInsightsAnalysisExplanationAttachedToOutput values. +// You can construct a concrete instance of `NetworkInsightsAnalysisExplanationAttachedToInput` via: // -// NetworkInsightsAnalysisExplanationPortRangeArgs{...} -type NetworkInsightsAnalysisExplanationPortRangeInput interface { +// NetworkInsightsAnalysisExplanationAttachedToArgs{...} +type NetworkInsightsAnalysisExplanationAttachedToInput interface { pulumi.Input - ToNetworkInsightsAnalysisExplanationPortRangeOutput() NetworkInsightsAnalysisExplanationPortRangeOutput - ToNetworkInsightsAnalysisExplanationPortRangeOutputWithContext(context.Context) NetworkInsightsAnalysisExplanationPortRangeOutput + ToNetworkInsightsAnalysisExplanationAttachedToOutput() NetworkInsightsAnalysisExplanationAttachedToOutput + ToNetworkInsightsAnalysisExplanationAttachedToOutputWithContext(context.Context) NetworkInsightsAnalysisExplanationAttachedToOutput } -type NetworkInsightsAnalysisExplanationPortRangeArgs struct { - From pulumi.IntPtrInput `pulumi:"from"` - To pulumi.IntPtrInput `pulumi:"to"` +type NetworkInsightsAnalysisExplanationAttachedToArgs struct { + // ARN of the Network Insights Analysis. + Arn pulumi.StringPtrInput `pulumi:"arn"` + // ID of the Network Insights Analysis. + Id pulumi.StringPtrInput `pulumi:"id"` + Name pulumi.StringPtrInput `pulumi:"name"` } -func (NetworkInsightsAnalysisExplanationPortRangeArgs) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkInsightsAnalysisExplanationPortRange)(nil)).Elem() +func (NetworkInsightsAnalysisExplanationAttachedToArgs) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInsightsAnalysisExplanationAttachedTo)(nil)).Elem() } -func (i NetworkInsightsAnalysisExplanationPortRangeArgs) ToNetworkInsightsAnalysisExplanationPortRangeOutput() NetworkInsightsAnalysisExplanationPortRangeOutput { - return i.ToNetworkInsightsAnalysisExplanationPortRangeOutputWithContext(context.Background()) +func (i NetworkInsightsAnalysisExplanationAttachedToArgs) ToNetworkInsightsAnalysisExplanationAttachedToOutput() NetworkInsightsAnalysisExplanationAttachedToOutput { + return i.ToNetworkInsightsAnalysisExplanationAttachedToOutputWithContext(context.Background()) } -func (i NetworkInsightsAnalysisExplanationPortRangeArgs) ToNetworkInsightsAnalysisExplanationPortRangeOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationPortRangeOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisExplanationPortRangeOutput) +func (i NetworkInsightsAnalysisExplanationAttachedToArgs) ToNetworkInsightsAnalysisExplanationAttachedToOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationAttachedToOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisExplanationAttachedToOutput) } -// NetworkInsightsAnalysisExplanationPortRangeArrayInput is an input type that accepts NetworkInsightsAnalysisExplanationPortRangeArray and NetworkInsightsAnalysisExplanationPortRangeArrayOutput values. -// You can construct a concrete instance of `NetworkInsightsAnalysisExplanationPortRangeArrayInput` via: +// NetworkInsightsAnalysisExplanationAttachedToArrayInput is an input type that accepts NetworkInsightsAnalysisExplanationAttachedToArray and NetworkInsightsAnalysisExplanationAttachedToArrayOutput values. +// You can construct a concrete instance of `NetworkInsightsAnalysisExplanationAttachedToArrayInput` via: // -// NetworkInsightsAnalysisExplanationPortRangeArray{ NetworkInsightsAnalysisExplanationPortRangeArgs{...} } -type NetworkInsightsAnalysisExplanationPortRangeArrayInput interface { +// NetworkInsightsAnalysisExplanationAttachedToArray{ NetworkInsightsAnalysisExplanationAttachedToArgs{...} } +type NetworkInsightsAnalysisExplanationAttachedToArrayInput interface { pulumi.Input - ToNetworkInsightsAnalysisExplanationPortRangeArrayOutput() NetworkInsightsAnalysisExplanationPortRangeArrayOutput - ToNetworkInsightsAnalysisExplanationPortRangeArrayOutputWithContext(context.Context) NetworkInsightsAnalysisExplanationPortRangeArrayOutput + ToNetworkInsightsAnalysisExplanationAttachedToArrayOutput() NetworkInsightsAnalysisExplanationAttachedToArrayOutput + ToNetworkInsightsAnalysisExplanationAttachedToArrayOutputWithContext(context.Context) NetworkInsightsAnalysisExplanationAttachedToArrayOutput } -type NetworkInsightsAnalysisExplanationPortRangeArray []NetworkInsightsAnalysisExplanationPortRangeInput +type NetworkInsightsAnalysisExplanationAttachedToArray []NetworkInsightsAnalysisExplanationAttachedToInput -func (NetworkInsightsAnalysisExplanationPortRangeArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]NetworkInsightsAnalysisExplanationPortRange)(nil)).Elem() +func (NetworkInsightsAnalysisExplanationAttachedToArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkInsightsAnalysisExplanationAttachedTo)(nil)).Elem() } -func (i NetworkInsightsAnalysisExplanationPortRangeArray) ToNetworkInsightsAnalysisExplanationPortRangeArrayOutput() NetworkInsightsAnalysisExplanationPortRangeArrayOutput { - return i.ToNetworkInsightsAnalysisExplanationPortRangeArrayOutputWithContext(context.Background()) +func (i NetworkInsightsAnalysisExplanationAttachedToArray) ToNetworkInsightsAnalysisExplanationAttachedToArrayOutput() NetworkInsightsAnalysisExplanationAttachedToArrayOutput { + return i.ToNetworkInsightsAnalysisExplanationAttachedToArrayOutputWithContext(context.Background()) } -func (i NetworkInsightsAnalysisExplanationPortRangeArray) ToNetworkInsightsAnalysisExplanationPortRangeArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationPortRangeArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisExplanationPortRangeArrayOutput) +func (i NetworkInsightsAnalysisExplanationAttachedToArray) ToNetworkInsightsAnalysisExplanationAttachedToArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationAttachedToArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisExplanationAttachedToArrayOutput) } -type NetworkInsightsAnalysisExplanationPortRangeOutput struct{ *pulumi.OutputState } +type NetworkInsightsAnalysisExplanationAttachedToOutput struct{ *pulumi.OutputState } -func (NetworkInsightsAnalysisExplanationPortRangeOutput) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkInsightsAnalysisExplanationPortRange)(nil)).Elem() +func (NetworkInsightsAnalysisExplanationAttachedToOutput) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInsightsAnalysisExplanationAttachedTo)(nil)).Elem() } -func (o NetworkInsightsAnalysisExplanationPortRangeOutput) ToNetworkInsightsAnalysisExplanationPortRangeOutput() NetworkInsightsAnalysisExplanationPortRangeOutput { +func (o NetworkInsightsAnalysisExplanationAttachedToOutput) ToNetworkInsightsAnalysisExplanationAttachedToOutput() NetworkInsightsAnalysisExplanationAttachedToOutput { return o } -func (o NetworkInsightsAnalysisExplanationPortRangeOutput) ToNetworkInsightsAnalysisExplanationPortRangeOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationPortRangeOutput { +func (o NetworkInsightsAnalysisExplanationAttachedToOutput) ToNetworkInsightsAnalysisExplanationAttachedToOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationAttachedToOutput { return o } -func (o NetworkInsightsAnalysisExplanationPortRangeOutput) From() pulumi.IntPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisExplanationPortRange) *int { return v.From }).(pulumi.IntPtrOutput) +// ARN of the Network Insights Analysis. +func (o NetworkInsightsAnalysisExplanationAttachedToOutput) Arn() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisExplanationAttachedTo) *string { return v.Arn }).(pulumi.StringPtrOutput) } -func (o NetworkInsightsAnalysisExplanationPortRangeOutput) To() pulumi.IntPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisExplanationPortRange) *int { return v.To }).(pulumi.IntPtrOutput) +// ID of the Network Insights Analysis. +func (o NetworkInsightsAnalysisExplanationAttachedToOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisExplanationAttachedTo) *string { return v.Id }).(pulumi.StringPtrOutput) } -type NetworkInsightsAnalysisExplanationPortRangeArrayOutput struct{ *pulumi.OutputState } +func (o NetworkInsightsAnalysisExplanationAttachedToOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisExplanationAttachedTo) *string { return v.Name }).(pulumi.StringPtrOutput) +} -func (NetworkInsightsAnalysisExplanationPortRangeArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]NetworkInsightsAnalysisExplanationPortRange)(nil)).Elem() +type NetworkInsightsAnalysisExplanationAttachedToArrayOutput struct{ *pulumi.OutputState } + +func (NetworkInsightsAnalysisExplanationAttachedToArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkInsightsAnalysisExplanationAttachedTo)(nil)).Elem() } -func (o NetworkInsightsAnalysisExplanationPortRangeArrayOutput) ToNetworkInsightsAnalysisExplanationPortRangeArrayOutput() NetworkInsightsAnalysisExplanationPortRangeArrayOutput { +func (o NetworkInsightsAnalysisExplanationAttachedToArrayOutput) ToNetworkInsightsAnalysisExplanationAttachedToArrayOutput() NetworkInsightsAnalysisExplanationAttachedToArrayOutput { return o } -func (o NetworkInsightsAnalysisExplanationPortRangeArrayOutput) ToNetworkInsightsAnalysisExplanationPortRangeArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationPortRangeArrayOutput { +func (o NetworkInsightsAnalysisExplanationAttachedToArrayOutput) ToNetworkInsightsAnalysisExplanationAttachedToArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationAttachedToArrayOutput { return o } -func (o NetworkInsightsAnalysisExplanationPortRangeArrayOutput) Index(i pulumi.IntInput) NetworkInsightsAnalysisExplanationPortRangeOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkInsightsAnalysisExplanationPortRange { - return vs[0].([]NetworkInsightsAnalysisExplanationPortRange)[vs[1].(int)] - }).(NetworkInsightsAnalysisExplanationPortRangeOutput) +func (o NetworkInsightsAnalysisExplanationAttachedToArrayOutput) Index(i pulumi.IntInput) NetworkInsightsAnalysisExplanationAttachedToOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkInsightsAnalysisExplanationAttachedTo { + return vs[0].([]NetworkInsightsAnalysisExplanationAttachedTo)[vs[1].(int)] + }).(NetworkInsightsAnalysisExplanationAttachedToOutput) } -type NetworkInsightsAnalysisExplanationPrefixList struct { - // ARN of the Network Insights Analysis. - Arn *string `pulumi:"arn"` - // ID of the Network Insights Analysis. - Id *string `pulumi:"id"` - Name *string `pulumi:"name"` +type NetworkInsightsAnalysisExplanationClassicLoadBalancerListener struct { + InstancePort *int `pulumi:"instancePort"` + LoadBalancerPort *int `pulumi:"loadBalancerPort"` } -// NetworkInsightsAnalysisExplanationPrefixListInput is an input type that accepts NetworkInsightsAnalysisExplanationPrefixListArgs and NetworkInsightsAnalysisExplanationPrefixListOutput values. -// You can construct a concrete instance of `NetworkInsightsAnalysisExplanationPrefixListInput` via: +// NetworkInsightsAnalysisExplanationClassicLoadBalancerListenerInput is an input type that accepts NetworkInsightsAnalysisExplanationClassicLoadBalancerListenerArgs and NetworkInsightsAnalysisExplanationClassicLoadBalancerListenerOutput values. +// You can construct a concrete instance of `NetworkInsightsAnalysisExplanationClassicLoadBalancerListenerInput` via: // -// NetworkInsightsAnalysisExplanationPrefixListArgs{...} -type NetworkInsightsAnalysisExplanationPrefixListInput interface { +// NetworkInsightsAnalysisExplanationClassicLoadBalancerListenerArgs{...} +type NetworkInsightsAnalysisExplanationClassicLoadBalancerListenerInput interface { pulumi.Input - ToNetworkInsightsAnalysisExplanationPrefixListOutput() NetworkInsightsAnalysisExplanationPrefixListOutput - ToNetworkInsightsAnalysisExplanationPrefixListOutputWithContext(context.Context) NetworkInsightsAnalysisExplanationPrefixListOutput + ToNetworkInsightsAnalysisExplanationClassicLoadBalancerListenerOutput() NetworkInsightsAnalysisExplanationClassicLoadBalancerListenerOutput + ToNetworkInsightsAnalysisExplanationClassicLoadBalancerListenerOutputWithContext(context.Context) NetworkInsightsAnalysisExplanationClassicLoadBalancerListenerOutput } -type NetworkInsightsAnalysisExplanationPrefixListArgs struct { - // ARN of the Network Insights Analysis. - Arn pulumi.StringPtrInput `pulumi:"arn"` - // ID of the Network Insights Analysis. - Id pulumi.StringPtrInput `pulumi:"id"` - Name pulumi.StringPtrInput `pulumi:"name"` +type NetworkInsightsAnalysisExplanationClassicLoadBalancerListenerArgs struct { + InstancePort pulumi.IntPtrInput `pulumi:"instancePort"` + LoadBalancerPort pulumi.IntPtrInput `pulumi:"loadBalancerPort"` } -func (NetworkInsightsAnalysisExplanationPrefixListArgs) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkInsightsAnalysisExplanationPrefixList)(nil)).Elem() +func (NetworkInsightsAnalysisExplanationClassicLoadBalancerListenerArgs) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInsightsAnalysisExplanationClassicLoadBalancerListener)(nil)).Elem() } -func (i NetworkInsightsAnalysisExplanationPrefixListArgs) ToNetworkInsightsAnalysisExplanationPrefixListOutput() NetworkInsightsAnalysisExplanationPrefixListOutput { - return i.ToNetworkInsightsAnalysisExplanationPrefixListOutputWithContext(context.Background()) +func (i NetworkInsightsAnalysisExplanationClassicLoadBalancerListenerArgs) ToNetworkInsightsAnalysisExplanationClassicLoadBalancerListenerOutput() NetworkInsightsAnalysisExplanationClassicLoadBalancerListenerOutput { + return i.ToNetworkInsightsAnalysisExplanationClassicLoadBalancerListenerOutputWithContext(context.Background()) } -func (i NetworkInsightsAnalysisExplanationPrefixListArgs) ToNetworkInsightsAnalysisExplanationPrefixListOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationPrefixListOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisExplanationPrefixListOutput) +func (i NetworkInsightsAnalysisExplanationClassicLoadBalancerListenerArgs) ToNetworkInsightsAnalysisExplanationClassicLoadBalancerListenerOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationClassicLoadBalancerListenerOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisExplanationClassicLoadBalancerListenerOutput) } -// NetworkInsightsAnalysisExplanationPrefixListArrayInput is an input type that accepts NetworkInsightsAnalysisExplanationPrefixListArray and NetworkInsightsAnalysisExplanationPrefixListArrayOutput values. -// You can construct a concrete instance of `NetworkInsightsAnalysisExplanationPrefixListArrayInput` via: +// NetworkInsightsAnalysisExplanationClassicLoadBalancerListenerArrayInput is an input type that accepts NetworkInsightsAnalysisExplanationClassicLoadBalancerListenerArray and NetworkInsightsAnalysisExplanationClassicLoadBalancerListenerArrayOutput values. +// You can construct a concrete instance of `NetworkInsightsAnalysisExplanationClassicLoadBalancerListenerArrayInput` via: // -// NetworkInsightsAnalysisExplanationPrefixListArray{ NetworkInsightsAnalysisExplanationPrefixListArgs{...} } -type NetworkInsightsAnalysisExplanationPrefixListArrayInput interface { +// NetworkInsightsAnalysisExplanationClassicLoadBalancerListenerArray{ NetworkInsightsAnalysisExplanationClassicLoadBalancerListenerArgs{...} } +type NetworkInsightsAnalysisExplanationClassicLoadBalancerListenerArrayInput interface { pulumi.Input - ToNetworkInsightsAnalysisExplanationPrefixListArrayOutput() NetworkInsightsAnalysisExplanationPrefixListArrayOutput - ToNetworkInsightsAnalysisExplanationPrefixListArrayOutputWithContext(context.Context) NetworkInsightsAnalysisExplanationPrefixListArrayOutput + ToNetworkInsightsAnalysisExplanationClassicLoadBalancerListenerArrayOutput() NetworkInsightsAnalysisExplanationClassicLoadBalancerListenerArrayOutput + ToNetworkInsightsAnalysisExplanationClassicLoadBalancerListenerArrayOutputWithContext(context.Context) NetworkInsightsAnalysisExplanationClassicLoadBalancerListenerArrayOutput } -type NetworkInsightsAnalysisExplanationPrefixListArray []NetworkInsightsAnalysisExplanationPrefixListInput +type NetworkInsightsAnalysisExplanationClassicLoadBalancerListenerArray []NetworkInsightsAnalysisExplanationClassicLoadBalancerListenerInput -func (NetworkInsightsAnalysisExplanationPrefixListArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]NetworkInsightsAnalysisExplanationPrefixList)(nil)).Elem() +func (NetworkInsightsAnalysisExplanationClassicLoadBalancerListenerArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkInsightsAnalysisExplanationClassicLoadBalancerListener)(nil)).Elem() } -func (i NetworkInsightsAnalysisExplanationPrefixListArray) ToNetworkInsightsAnalysisExplanationPrefixListArrayOutput() NetworkInsightsAnalysisExplanationPrefixListArrayOutput { - return i.ToNetworkInsightsAnalysisExplanationPrefixListArrayOutputWithContext(context.Background()) +func (i NetworkInsightsAnalysisExplanationClassicLoadBalancerListenerArray) ToNetworkInsightsAnalysisExplanationClassicLoadBalancerListenerArrayOutput() NetworkInsightsAnalysisExplanationClassicLoadBalancerListenerArrayOutput { + return i.ToNetworkInsightsAnalysisExplanationClassicLoadBalancerListenerArrayOutputWithContext(context.Background()) } -func (i NetworkInsightsAnalysisExplanationPrefixListArray) ToNetworkInsightsAnalysisExplanationPrefixListArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationPrefixListArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisExplanationPrefixListArrayOutput) +func (i NetworkInsightsAnalysisExplanationClassicLoadBalancerListenerArray) ToNetworkInsightsAnalysisExplanationClassicLoadBalancerListenerArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationClassicLoadBalancerListenerArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisExplanationClassicLoadBalancerListenerArrayOutput) } -type NetworkInsightsAnalysisExplanationPrefixListOutput struct{ *pulumi.OutputState } +type NetworkInsightsAnalysisExplanationClassicLoadBalancerListenerOutput struct{ *pulumi.OutputState } -func (NetworkInsightsAnalysisExplanationPrefixListOutput) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkInsightsAnalysisExplanationPrefixList)(nil)).Elem() +func (NetworkInsightsAnalysisExplanationClassicLoadBalancerListenerOutput) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInsightsAnalysisExplanationClassicLoadBalancerListener)(nil)).Elem() } -func (o NetworkInsightsAnalysisExplanationPrefixListOutput) ToNetworkInsightsAnalysisExplanationPrefixListOutput() NetworkInsightsAnalysisExplanationPrefixListOutput { +func (o NetworkInsightsAnalysisExplanationClassicLoadBalancerListenerOutput) ToNetworkInsightsAnalysisExplanationClassicLoadBalancerListenerOutput() NetworkInsightsAnalysisExplanationClassicLoadBalancerListenerOutput { return o } -func (o NetworkInsightsAnalysisExplanationPrefixListOutput) ToNetworkInsightsAnalysisExplanationPrefixListOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationPrefixListOutput { +func (o NetworkInsightsAnalysisExplanationClassicLoadBalancerListenerOutput) ToNetworkInsightsAnalysisExplanationClassicLoadBalancerListenerOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationClassicLoadBalancerListenerOutput { return o } -// ARN of the Network Insights Analysis. -func (o NetworkInsightsAnalysisExplanationPrefixListOutput) Arn() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisExplanationPrefixList) *string { return v.Arn }).(pulumi.StringPtrOutput) -} - -// ID of the Network Insights Analysis. -func (o NetworkInsightsAnalysisExplanationPrefixListOutput) Id() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisExplanationPrefixList) *string { return v.Id }).(pulumi.StringPtrOutput) +func (o NetworkInsightsAnalysisExplanationClassicLoadBalancerListenerOutput) InstancePort() pulumi.IntPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisExplanationClassicLoadBalancerListener) *int { return v.InstancePort }).(pulumi.IntPtrOutput) } -func (o NetworkInsightsAnalysisExplanationPrefixListOutput) Name() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisExplanationPrefixList) *string { return v.Name }).(pulumi.StringPtrOutput) +func (o NetworkInsightsAnalysisExplanationClassicLoadBalancerListenerOutput) LoadBalancerPort() pulumi.IntPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisExplanationClassicLoadBalancerListener) *int { return v.LoadBalancerPort }).(pulumi.IntPtrOutput) } -type NetworkInsightsAnalysisExplanationPrefixListArrayOutput struct{ *pulumi.OutputState } +type NetworkInsightsAnalysisExplanationClassicLoadBalancerListenerArrayOutput struct{ *pulumi.OutputState } -func (NetworkInsightsAnalysisExplanationPrefixListArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]NetworkInsightsAnalysisExplanationPrefixList)(nil)).Elem() +func (NetworkInsightsAnalysisExplanationClassicLoadBalancerListenerArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkInsightsAnalysisExplanationClassicLoadBalancerListener)(nil)).Elem() } -func (o NetworkInsightsAnalysisExplanationPrefixListArrayOutput) ToNetworkInsightsAnalysisExplanationPrefixListArrayOutput() NetworkInsightsAnalysisExplanationPrefixListArrayOutput { +func (o NetworkInsightsAnalysisExplanationClassicLoadBalancerListenerArrayOutput) ToNetworkInsightsAnalysisExplanationClassicLoadBalancerListenerArrayOutput() NetworkInsightsAnalysisExplanationClassicLoadBalancerListenerArrayOutput { return o } -func (o NetworkInsightsAnalysisExplanationPrefixListArrayOutput) ToNetworkInsightsAnalysisExplanationPrefixListArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationPrefixListArrayOutput { +func (o NetworkInsightsAnalysisExplanationClassicLoadBalancerListenerArrayOutput) ToNetworkInsightsAnalysisExplanationClassicLoadBalancerListenerArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationClassicLoadBalancerListenerArrayOutput { return o } -func (o NetworkInsightsAnalysisExplanationPrefixListArrayOutput) Index(i pulumi.IntInput) NetworkInsightsAnalysisExplanationPrefixListOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkInsightsAnalysisExplanationPrefixList { - return vs[0].([]NetworkInsightsAnalysisExplanationPrefixList)[vs[1].(int)] - }).(NetworkInsightsAnalysisExplanationPrefixListOutput) +func (o NetworkInsightsAnalysisExplanationClassicLoadBalancerListenerArrayOutput) Index(i pulumi.IntInput) NetworkInsightsAnalysisExplanationClassicLoadBalancerListenerOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkInsightsAnalysisExplanationClassicLoadBalancerListener { + return vs[0].([]NetworkInsightsAnalysisExplanationClassicLoadBalancerListener)[vs[1].(int)] + }).(NetworkInsightsAnalysisExplanationClassicLoadBalancerListenerOutput) } -type NetworkInsightsAnalysisExplanationRouteTable struct { +type NetworkInsightsAnalysisExplanationComponent struct { // ARN of the Network Insights Analysis. Arn *string `pulumi:"arn"` // ID of the Network Insights Analysis. @@ -19014,18 +19655,18 @@ type NetworkInsightsAnalysisExplanationRouteTable struct { Name *string `pulumi:"name"` } -// NetworkInsightsAnalysisExplanationRouteTableInput is an input type that accepts NetworkInsightsAnalysisExplanationRouteTableArgs and NetworkInsightsAnalysisExplanationRouteTableOutput values. -// You can construct a concrete instance of `NetworkInsightsAnalysisExplanationRouteTableInput` via: +// NetworkInsightsAnalysisExplanationComponentInput is an input type that accepts NetworkInsightsAnalysisExplanationComponentArgs and NetworkInsightsAnalysisExplanationComponentOutput values. +// You can construct a concrete instance of `NetworkInsightsAnalysisExplanationComponentInput` via: // -// NetworkInsightsAnalysisExplanationRouteTableArgs{...} -type NetworkInsightsAnalysisExplanationRouteTableInput interface { +// NetworkInsightsAnalysisExplanationComponentArgs{...} +type NetworkInsightsAnalysisExplanationComponentInput interface { pulumi.Input - ToNetworkInsightsAnalysisExplanationRouteTableOutput() NetworkInsightsAnalysisExplanationRouteTableOutput - ToNetworkInsightsAnalysisExplanationRouteTableOutputWithContext(context.Context) NetworkInsightsAnalysisExplanationRouteTableOutput + ToNetworkInsightsAnalysisExplanationComponentOutput() NetworkInsightsAnalysisExplanationComponentOutput + ToNetworkInsightsAnalysisExplanationComponentOutputWithContext(context.Context) NetworkInsightsAnalysisExplanationComponentOutput } -type NetworkInsightsAnalysisExplanationRouteTableArgs struct { +type NetworkInsightsAnalysisExplanationComponentArgs struct { // ARN of the Network Insights Analysis. Arn pulumi.StringPtrInput `pulumi:"arn"` // ID of the Network Insights Analysis. @@ -19033,242 +19674,204 @@ type NetworkInsightsAnalysisExplanationRouteTableArgs struct { Name pulumi.StringPtrInput `pulumi:"name"` } -func (NetworkInsightsAnalysisExplanationRouteTableArgs) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkInsightsAnalysisExplanationRouteTable)(nil)).Elem() +func (NetworkInsightsAnalysisExplanationComponentArgs) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInsightsAnalysisExplanationComponent)(nil)).Elem() } -func (i NetworkInsightsAnalysisExplanationRouteTableArgs) ToNetworkInsightsAnalysisExplanationRouteTableOutput() NetworkInsightsAnalysisExplanationRouteTableOutput { - return i.ToNetworkInsightsAnalysisExplanationRouteTableOutputWithContext(context.Background()) +func (i NetworkInsightsAnalysisExplanationComponentArgs) ToNetworkInsightsAnalysisExplanationComponentOutput() NetworkInsightsAnalysisExplanationComponentOutput { + return i.ToNetworkInsightsAnalysisExplanationComponentOutputWithContext(context.Background()) } -func (i NetworkInsightsAnalysisExplanationRouteTableArgs) ToNetworkInsightsAnalysisExplanationRouteTableOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationRouteTableOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisExplanationRouteTableOutput) +func (i NetworkInsightsAnalysisExplanationComponentArgs) ToNetworkInsightsAnalysisExplanationComponentOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationComponentOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisExplanationComponentOutput) } -// NetworkInsightsAnalysisExplanationRouteTableArrayInput is an input type that accepts NetworkInsightsAnalysisExplanationRouteTableArray and NetworkInsightsAnalysisExplanationRouteTableArrayOutput values. -// You can construct a concrete instance of `NetworkInsightsAnalysisExplanationRouteTableArrayInput` via: +// NetworkInsightsAnalysisExplanationComponentArrayInput is an input type that accepts NetworkInsightsAnalysisExplanationComponentArray and NetworkInsightsAnalysisExplanationComponentArrayOutput values. +// You can construct a concrete instance of `NetworkInsightsAnalysisExplanationComponentArrayInput` via: // -// NetworkInsightsAnalysisExplanationRouteTableArray{ NetworkInsightsAnalysisExplanationRouteTableArgs{...} } -type NetworkInsightsAnalysisExplanationRouteTableArrayInput interface { +// NetworkInsightsAnalysisExplanationComponentArray{ NetworkInsightsAnalysisExplanationComponentArgs{...} } +type NetworkInsightsAnalysisExplanationComponentArrayInput interface { pulumi.Input - ToNetworkInsightsAnalysisExplanationRouteTableArrayOutput() NetworkInsightsAnalysisExplanationRouteTableArrayOutput - ToNetworkInsightsAnalysisExplanationRouteTableArrayOutputWithContext(context.Context) NetworkInsightsAnalysisExplanationRouteTableArrayOutput + ToNetworkInsightsAnalysisExplanationComponentArrayOutput() NetworkInsightsAnalysisExplanationComponentArrayOutput + ToNetworkInsightsAnalysisExplanationComponentArrayOutputWithContext(context.Context) NetworkInsightsAnalysisExplanationComponentArrayOutput } -type NetworkInsightsAnalysisExplanationRouteTableArray []NetworkInsightsAnalysisExplanationRouteTableInput +type NetworkInsightsAnalysisExplanationComponentArray []NetworkInsightsAnalysisExplanationComponentInput -func (NetworkInsightsAnalysisExplanationRouteTableArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]NetworkInsightsAnalysisExplanationRouteTable)(nil)).Elem() +func (NetworkInsightsAnalysisExplanationComponentArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkInsightsAnalysisExplanationComponent)(nil)).Elem() } -func (i NetworkInsightsAnalysisExplanationRouteTableArray) ToNetworkInsightsAnalysisExplanationRouteTableArrayOutput() NetworkInsightsAnalysisExplanationRouteTableArrayOutput { - return i.ToNetworkInsightsAnalysisExplanationRouteTableArrayOutputWithContext(context.Background()) +func (i NetworkInsightsAnalysisExplanationComponentArray) ToNetworkInsightsAnalysisExplanationComponentArrayOutput() NetworkInsightsAnalysisExplanationComponentArrayOutput { + return i.ToNetworkInsightsAnalysisExplanationComponentArrayOutputWithContext(context.Background()) } -func (i NetworkInsightsAnalysisExplanationRouteTableArray) ToNetworkInsightsAnalysisExplanationRouteTableArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationRouteTableArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisExplanationRouteTableArrayOutput) +func (i NetworkInsightsAnalysisExplanationComponentArray) ToNetworkInsightsAnalysisExplanationComponentArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationComponentArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisExplanationComponentArrayOutput) } -type NetworkInsightsAnalysisExplanationRouteTableOutput struct{ *pulumi.OutputState } +type NetworkInsightsAnalysisExplanationComponentOutput struct{ *pulumi.OutputState } -func (NetworkInsightsAnalysisExplanationRouteTableOutput) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkInsightsAnalysisExplanationRouteTable)(nil)).Elem() +func (NetworkInsightsAnalysisExplanationComponentOutput) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInsightsAnalysisExplanationComponent)(nil)).Elem() } -func (o NetworkInsightsAnalysisExplanationRouteTableOutput) ToNetworkInsightsAnalysisExplanationRouteTableOutput() NetworkInsightsAnalysisExplanationRouteTableOutput { +func (o NetworkInsightsAnalysisExplanationComponentOutput) ToNetworkInsightsAnalysisExplanationComponentOutput() NetworkInsightsAnalysisExplanationComponentOutput { return o } -func (o NetworkInsightsAnalysisExplanationRouteTableOutput) ToNetworkInsightsAnalysisExplanationRouteTableOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationRouteTableOutput { +func (o NetworkInsightsAnalysisExplanationComponentOutput) ToNetworkInsightsAnalysisExplanationComponentOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationComponentOutput { return o } // ARN of the Network Insights Analysis. -func (o NetworkInsightsAnalysisExplanationRouteTableOutput) Arn() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisExplanationRouteTable) *string { return v.Arn }).(pulumi.StringPtrOutput) +func (o NetworkInsightsAnalysisExplanationComponentOutput) Arn() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisExplanationComponent) *string { return v.Arn }).(pulumi.StringPtrOutput) } // ID of the Network Insights Analysis. -func (o NetworkInsightsAnalysisExplanationRouteTableOutput) Id() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisExplanationRouteTable) *string { return v.Id }).(pulumi.StringPtrOutput) +func (o NetworkInsightsAnalysisExplanationComponentOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisExplanationComponent) *string { return v.Id }).(pulumi.StringPtrOutput) } -func (o NetworkInsightsAnalysisExplanationRouteTableOutput) Name() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisExplanationRouteTable) *string { return v.Name }).(pulumi.StringPtrOutput) +func (o NetworkInsightsAnalysisExplanationComponentOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisExplanationComponent) *string { return v.Name }).(pulumi.StringPtrOutput) } -type NetworkInsightsAnalysisExplanationRouteTableArrayOutput struct{ *pulumi.OutputState } +type NetworkInsightsAnalysisExplanationComponentArrayOutput struct{ *pulumi.OutputState } -func (NetworkInsightsAnalysisExplanationRouteTableArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]NetworkInsightsAnalysisExplanationRouteTable)(nil)).Elem() +func (NetworkInsightsAnalysisExplanationComponentArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkInsightsAnalysisExplanationComponent)(nil)).Elem() } -func (o NetworkInsightsAnalysisExplanationRouteTableArrayOutput) ToNetworkInsightsAnalysisExplanationRouteTableArrayOutput() NetworkInsightsAnalysisExplanationRouteTableArrayOutput { +func (o NetworkInsightsAnalysisExplanationComponentArrayOutput) ToNetworkInsightsAnalysisExplanationComponentArrayOutput() NetworkInsightsAnalysisExplanationComponentArrayOutput { return o } -func (o NetworkInsightsAnalysisExplanationRouteTableArrayOutput) ToNetworkInsightsAnalysisExplanationRouteTableArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationRouteTableArrayOutput { +func (o NetworkInsightsAnalysisExplanationComponentArrayOutput) ToNetworkInsightsAnalysisExplanationComponentArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationComponentArrayOutput { return o } -func (o NetworkInsightsAnalysisExplanationRouteTableArrayOutput) Index(i pulumi.IntInput) NetworkInsightsAnalysisExplanationRouteTableOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkInsightsAnalysisExplanationRouteTable { - return vs[0].([]NetworkInsightsAnalysisExplanationRouteTable)[vs[1].(int)] - }).(NetworkInsightsAnalysisExplanationRouteTableOutput) +func (o NetworkInsightsAnalysisExplanationComponentArrayOutput) Index(i pulumi.IntInput) NetworkInsightsAnalysisExplanationComponentOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkInsightsAnalysisExplanationComponent { + return vs[0].([]NetworkInsightsAnalysisExplanationComponent)[vs[1].(int)] + }).(NetworkInsightsAnalysisExplanationComponentOutput) } -type NetworkInsightsAnalysisExplanationRouteTableRoute struct { - DestinationCidr *string `pulumi:"destinationCidr"` - DestinationPrefixListId *string `pulumi:"destinationPrefixListId"` - EgressOnlyInternetGatewayId *string `pulumi:"egressOnlyInternetGatewayId"` - GatewayId *string `pulumi:"gatewayId"` - InstanceId *string `pulumi:"instanceId"` - NatGatewayId *string `pulumi:"natGatewayId"` - NetworkInterfaceId *string `pulumi:"networkInterfaceId"` - Origin *string `pulumi:"origin"` - TransitGatewayId *string `pulumi:"transitGatewayId"` - VpcPeeringConnectionId *string `pulumi:"vpcPeeringConnectionId"` +type NetworkInsightsAnalysisExplanationCustomerGateway struct { + // ARN of the Network Insights Analysis. + Arn *string `pulumi:"arn"` + // ID of the Network Insights Analysis. + Id *string `pulumi:"id"` + Name *string `pulumi:"name"` } -// NetworkInsightsAnalysisExplanationRouteTableRouteInput is an input type that accepts NetworkInsightsAnalysisExplanationRouteTableRouteArgs and NetworkInsightsAnalysisExplanationRouteTableRouteOutput values. -// You can construct a concrete instance of `NetworkInsightsAnalysisExplanationRouteTableRouteInput` via: +// NetworkInsightsAnalysisExplanationCustomerGatewayInput is an input type that accepts NetworkInsightsAnalysisExplanationCustomerGatewayArgs and NetworkInsightsAnalysisExplanationCustomerGatewayOutput values. +// You can construct a concrete instance of `NetworkInsightsAnalysisExplanationCustomerGatewayInput` via: // -// NetworkInsightsAnalysisExplanationRouteTableRouteArgs{...} -type NetworkInsightsAnalysisExplanationRouteTableRouteInput interface { +// NetworkInsightsAnalysisExplanationCustomerGatewayArgs{...} +type NetworkInsightsAnalysisExplanationCustomerGatewayInput interface { pulumi.Input - ToNetworkInsightsAnalysisExplanationRouteTableRouteOutput() NetworkInsightsAnalysisExplanationRouteTableRouteOutput - ToNetworkInsightsAnalysisExplanationRouteTableRouteOutputWithContext(context.Context) NetworkInsightsAnalysisExplanationRouteTableRouteOutput + ToNetworkInsightsAnalysisExplanationCustomerGatewayOutput() NetworkInsightsAnalysisExplanationCustomerGatewayOutput + ToNetworkInsightsAnalysisExplanationCustomerGatewayOutputWithContext(context.Context) NetworkInsightsAnalysisExplanationCustomerGatewayOutput } -type NetworkInsightsAnalysisExplanationRouteTableRouteArgs struct { - DestinationCidr pulumi.StringPtrInput `pulumi:"destinationCidr"` - DestinationPrefixListId pulumi.StringPtrInput `pulumi:"destinationPrefixListId"` - EgressOnlyInternetGatewayId pulumi.StringPtrInput `pulumi:"egressOnlyInternetGatewayId"` - GatewayId pulumi.StringPtrInput `pulumi:"gatewayId"` - InstanceId pulumi.StringPtrInput `pulumi:"instanceId"` - NatGatewayId pulumi.StringPtrInput `pulumi:"natGatewayId"` - NetworkInterfaceId pulumi.StringPtrInput `pulumi:"networkInterfaceId"` - Origin pulumi.StringPtrInput `pulumi:"origin"` - TransitGatewayId pulumi.StringPtrInput `pulumi:"transitGatewayId"` - VpcPeeringConnectionId pulumi.StringPtrInput `pulumi:"vpcPeeringConnectionId"` +type NetworkInsightsAnalysisExplanationCustomerGatewayArgs struct { + // ARN of the Network Insights Analysis. + Arn pulumi.StringPtrInput `pulumi:"arn"` + // ID of the Network Insights Analysis. + Id pulumi.StringPtrInput `pulumi:"id"` + Name pulumi.StringPtrInput `pulumi:"name"` } -func (NetworkInsightsAnalysisExplanationRouteTableRouteArgs) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkInsightsAnalysisExplanationRouteTableRoute)(nil)).Elem() +func (NetworkInsightsAnalysisExplanationCustomerGatewayArgs) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInsightsAnalysisExplanationCustomerGateway)(nil)).Elem() } -func (i NetworkInsightsAnalysisExplanationRouteTableRouteArgs) ToNetworkInsightsAnalysisExplanationRouteTableRouteOutput() NetworkInsightsAnalysisExplanationRouteTableRouteOutput { - return i.ToNetworkInsightsAnalysisExplanationRouteTableRouteOutputWithContext(context.Background()) +func (i NetworkInsightsAnalysisExplanationCustomerGatewayArgs) ToNetworkInsightsAnalysisExplanationCustomerGatewayOutput() NetworkInsightsAnalysisExplanationCustomerGatewayOutput { + return i.ToNetworkInsightsAnalysisExplanationCustomerGatewayOutputWithContext(context.Background()) } -func (i NetworkInsightsAnalysisExplanationRouteTableRouteArgs) ToNetworkInsightsAnalysisExplanationRouteTableRouteOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationRouteTableRouteOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisExplanationRouteTableRouteOutput) +func (i NetworkInsightsAnalysisExplanationCustomerGatewayArgs) ToNetworkInsightsAnalysisExplanationCustomerGatewayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationCustomerGatewayOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisExplanationCustomerGatewayOutput) } -// NetworkInsightsAnalysisExplanationRouteTableRouteArrayInput is an input type that accepts NetworkInsightsAnalysisExplanationRouteTableRouteArray and NetworkInsightsAnalysisExplanationRouteTableRouteArrayOutput values. -// You can construct a concrete instance of `NetworkInsightsAnalysisExplanationRouteTableRouteArrayInput` via: +// NetworkInsightsAnalysisExplanationCustomerGatewayArrayInput is an input type that accepts NetworkInsightsAnalysisExplanationCustomerGatewayArray and NetworkInsightsAnalysisExplanationCustomerGatewayArrayOutput values. +// You can construct a concrete instance of `NetworkInsightsAnalysisExplanationCustomerGatewayArrayInput` via: // -// NetworkInsightsAnalysisExplanationRouteTableRouteArray{ NetworkInsightsAnalysisExplanationRouteTableRouteArgs{...} } -type NetworkInsightsAnalysisExplanationRouteTableRouteArrayInput interface { +// NetworkInsightsAnalysisExplanationCustomerGatewayArray{ NetworkInsightsAnalysisExplanationCustomerGatewayArgs{...} } +type NetworkInsightsAnalysisExplanationCustomerGatewayArrayInput interface { pulumi.Input - ToNetworkInsightsAnalysisExplanationRouteTableRouteArrayOutput() NetworkInsightsAnalysisExplanationRouteTableRouteArrayOutput - ToNetworkInsightsAnalysisExplanationRouteTableRouteArrayOutputWithContext(context.Context) NetworkInsightsAnalysisExplanationRouteTableRouteArrayOutput + ToNetworkInsightsAnalysisExplanationCustomerGatewayArrayOutput() NetworkInsightsAnalysisExplanationCustomerGatewayArrayOutput + ToNetworkInsightsAnalysisExplanationCustomerGatewayArrayOutputWithContext(context.Context) NetworkInsightsAnalysisExplanationCustomerGatewayArrayOutput } -type NetworkInsightsAnalysisExplanationRouteTableRouteArray []NetworkInsightsAnalysisExplanationRouteTableRouteInput +type NetworkInsightsAnalysisExplanationCustomerGatewayArray []NetworkInsightsAnalysisExplanationCustomerGatewayInput -func (NetworkInsightsAnalysisExplanationRouteTableRouteArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]NetworkInsightsAnalysisExplanationRouteTableRoute)(nil)).Elem() +func (NetworkInsightsAnalysisExplanationCustomerGatewayArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkInsightsAnalysisExplanationCustomerGateway)(nil)).Elem() } -func (i NetworkInsightsAnalysisExplanationRouteTableRouteArray) ToNetworkInsightsAnalysisExplanationRouteTableRouteArrayOutput() NetworkInsightsAnalysisExplanationRouteTableRouteArrayOutput { - return i.ToNetworkInsightsAnalysisExplanationRouteTableRouteArrayOutputWithContext(context.Background()) +func (i NetworkInsightsAnalysisExplanationCustomerGatewayArray) ToNetworkInsightsAnalysisExplanationCustomerGatewayArrayOutput() NetworkInsightsAnalysisExplanationCustomerGatewayArrayOutput { + return i.ToNetworkInsightsAnalysisExplanationCustomerGatewayArrayOutputWithContext(context.Background()) } -func (i NetworkInsightsAnalysisExplanationRouteTableRouteArray) ToNetworkInsightsAnalysisExplanationRouteTableRouteArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationRouteTableRouteArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisExplanationRouteTableRouteArrayOutput) +func (i NetworkInsightsAnalysisExplanationCustomerGatewayArray) ToNetworkInsightsAnalysisExplanationCustomerGatewayArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationCustomerGatewayArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisExplanationCustomerGatewayArrayOutput) } -type NetworkInsightsAnalysisExplanationRouteTableRouteOutput struct{ *pulumi.OutputState } +type NetworkInsightsAnalysisExplanationCustomerGatewayOutput struct{ *pulumi.OutputState } -func (NetworkInsightsAnalysisExplanationRouteTableRouteOutput) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkInsightsAnalysisExplanationRouteTableRoute)(nil)).Elem() +func (NetworkInsightsAnalysisExplanationCustomerGatewayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInsightsAnalysisExplanationCustomerGateway)(nil)).Elem() } -func (o NetworkInsightsAnalysisExplanationRouteTableRouteOutput) ToNetworkInsightsAnalysisExplanationRouteTableRouteOutput() NetworkInsightsAnalysisExplanationRouteTableRouteOutput { +func (o NetworkInsightsAnalysisExplanationCustomerGatewayOutput) ToNetworkInsightsAnalysisExplanationCustomerGatewayOutput() NetworkInsightsAnalysisExplanationCustomerGatewayOutput { return o } -func (o NetworkInsightsAnalysisExplanationRouteTableRouteOutput) ToNetworkInsightsAnalysisExplanationRouteTableRouteOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationRouteTableRouteOutput { +func (o NetworkInsightsAnalysisExplanationCustomerGatewayOutput) ToNetworkInsightsAnalysisExplanationCustomerGatewayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationCustomerGatewayOutput { return o } -func (o NetworkInsightsAnalysisExplanationRouteTableRouteOutput) DestinationCidr() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisExplanationRouteTableRoute) *string { return v.DestinationCidr }).(pulumi.StringPtrOutput) -} - -func (o NetworkInsightsAnalysisExplanationRouteTableRouteOutput) DestinationPrefixListId() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisExplanationRouteTableRoute) *string { return v.DestinationPrefixListId }).(pulumi.StringPtrOutput) -} - -func (o NetworkInsightsAnalysisExplanationRouteTableRouteOutput) EgressOnlyInternetGatewayId() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisExplanationRouteTableRoute) *string { - return v.EgressOnlyInternetGatewayId - }).(pulumi.StringPtrOutput) -} - -func (o NetworkInsightsAnalysisExplanationRouteTableRouteOutput) GatewayId() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisExplanationRouteTableRoute) *string { return v.GatewayId }).(pulumi.StringPtrOutput) -} - -func (o NetworkInsightsAnalysisExplanationRouteTableRouteOutput) InstanceId() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisExplanationRouteTableRoute) *string { return v.InstanceId }).(pulumi.StringPtrOutput) -} - -func (o NetworkInsightsAnalysisExplanationRouteTableRouteOutput) NatGatewayId() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisExplanationRouteTableRoute) *string { return v.NatGatewayId }).(pulumi.StringPtrOutput) -} - -func (o NetworkInsightsAnalysisExplanationRouteTableRouteOutput) NetworkInterfaceId() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisExplanationRouteTableRoute) *string { return v.NetworkInterfaceId }).(pulumi.StringPtrOutput) -} - -func (o NetworkInsightsAnalysisExplanationRouteTableRouteOutput) Origin() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisExplanationRouteTableRoute) *string { return v.Origin }).(pulumi.StringPtrOutput) +// ARN of the Network Insights Analysis. +func (o NetworkInsightsAnalysisExplanationCustomerGatewayOutput) Arn() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisExplanationCustomerGateway) *string { return v.Arn }).(pulumi.StringPtrOutput) } -func (o NetworkInsightsAnalysisExplanationRouteTableRouteOutput) TransitGatewayId() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisExplanationRouteTableRoute) *string { return v.TransitGatewayId }).(pulumi.StringPtrOutput) +// ID of the Network Insights Analysis. +func (o NetworkInsightsAnalysisExplanationCustomerGatewayOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisExplanationCustomerGateway) *string { return v.Id }).(pulumi.StringPtrOutput) } -func (o NetworkInsightsAnalysisExplanationRouteTableRouteOutput) VpcPeeringConnectionId() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisExplanationRouteTableRoute) *string { return v.VpcPeeringConnectionId }).(pulumi.StringPtrOutput) +func (o NetworkInsightsAnalysisExplanationCustomerGatewayOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisExplanationCustomerGateway) *string { return v.Name }).(pulumi.StringPtrOutput) } -type NetworkInsightsAnalysisExplanationRouteTableRouteArrayOutput struct{ *pulumi.OutputState } +type NetworkInsightsAnalysisExplanationCustomerGatewayArrayOutput struct{ *pulumi.OutputState } -func (NetworkInsightsAnalysisExplanationRouteTableRouteArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]NetworkInsightsAnalysisExplanationRouteTableRoute)(nil)).Elem() +func (NetworkInsightsAnalysisExplanationCustomerGatewayArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkInsightsAnalysisExplanationCustomerGateway)(nil)).Elem() } -func (o NetworkInsightsAnalysisExplanationRouteTableRouteArrayOutput) ToNetworkInsightsAnalysisExplanationRouteTableRouteArrayOutput() NetworkInsightsAnalysisExplanationRouteTableRouteArrayOutput { +func (o NetworkInsightsAnalysisExplanationCustomerGatewayArrayOutput) ToNetworkInsightsAnalysisExplanationCustomerGatewayArrayOutput() NetworkInsightsAnalysisExplanationCustomerGatewayArrayOutput { return o } -func (o NetworkInsightsAnalysisExplanationRouteTableRouteArrayOutput) ToNetworkInsightsAnalysisExplanationRouteTableRouteArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationRouteTableRouteArrayOutput { +func (o NetworkInsightsAnalysisExplanationCustomerGatewayArrayOutput) ToNetworkInsightsAnalysisExplanationCustomerGatewayArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationCustomerGatewayArrayOutput { return o } -func (o NetworkInsightsAnalysisExplanationRouteTableRouteArrayOutput) Index(i pulumi.IntInput) NetworkInsightsAnalysisExplanationRouteTableRouteOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkInsightsAnalysisExplanationRouteTableRoute { - return vs[0].([]NetworkInsightsAnalysisExplanationRouteTableRoute)[vs[1].(int)] - }).(NetworkInsightsAnalysisExplanationRouteTableRouteOutput) +func (o NetworkInsightsAnalysisExplanationCustomerGatewayArrayOutput) Index(i pulumi.IntInput) NetworkInsightsAnalysisExplanationCustomerGatewayOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkInsightsAnalysisExplanationCustomerGateway { + return vs[0].([]NetworkInsightsAnalysisExplanationCustomerGateway)[vs[1].(int)] + }).(NetworkInsightsAnalysisExplanationCustomerGatewayOutput) } -type NetworkInsightsAnalysisExplanationSecurityGroup struct { +type NetworkInsightsAnalysisExplanationDestination struct { // ARN of the Network Insights Analysis. Arn *string `pulumi:"arn"` // ID of the Network Insights Analysis. @@ -19276,18 +19879,18 @@ type NetworkInsightsAnalysisExplanationSecurityGroup struct { Name *string `pulumi:"name"` } -// NetworkInsightsAnalysisExplanationSecurityGroupInput is an input type that accepts NetworkInsightsAnalysisExplanationSecurityGroupArgs and NetworkInsightsAnalysisExplanationSecurityGroupOutput values. -// You can construct a concrete instance of `NetworkInsightsAnalysisExplanationSecurityGroupInput` via: +// NetworkInsightsAnalysisExplanationDestinationInput is an input type that accepts NetworkInsightsAnalysisExplanationDestinationArgs and NetworkInsightsAnalysisExplanationDestinationOutput values. +// You can construct a concrete instance of `NetworkInsightsAnalysisExplanationDestinationInput` via: // -// NetworkInsightsAnalysisExplanationSecurityGroupArgs{...} -type NetworkInsightsAnalysisExplanationSecurityGroupInput interface { +// NetworkInsightsAnalysisExplanationDestinationArgs{...} +type NetworkInsightsAnalysisExplanationDestinationInput interface { pulumi.Input - ToNetworkInsightsAnalysisExplanationSecurityGroupOutput() NetworkInsightsAnalysisExplanationSecurityGroupOutput - ToNetworkInsightsAnalysisExplanationSecurityGroupOutputWithContext(context.Context) NetworkInsightsAnalysisExplanationSecurityGroupOutput + ToNetworkInsightsAnalysisExplanationDestinationOutput() NetworkInsightsAnalysisExplanationDestinationOutput + ToNetworkInsightsAnalysisExplanationDestinationOutputWithContext(context.Context) NetworkInsightsAnalysisExplanationDestinationOutput } -type NetworkInsightsAnalysisExplanationSecurityGroupArgs struct { +type NetworkInsightsAnalysisExplanationDestinationArgs struct { // ARN of the Network Insights Analysis. Arn pulumi.StringPtrInput `pulumi:"arn"` // ID of the Network Insights Analysis. @@ -19295,318 +19898,316 @@ type NetworkInsightsAnalysisExplanationSecurityGroupArgs struct { Name pulumi.StringPtrInput `pulumi:"name"` } -func (NetworkInsightsAnalysisExplanationSecurityGroupArgs) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkInsightsAnalysisExplanationSecurityGroup)(nil)).Elem() +func (NetworkInsightsAnalysisExplanationDestinationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInsightsAnalysisExplanationDestination)(nil)).Elem() } -func (i NetworkInsightsAnalysisExplanationSecurityGroupArgs) ToNetworkInsightsAnalysisExplanationSecurityGroupOutput() NetworkInsightsAnalysisExplanationSecurityGroupOutput { - return i.ToNetworkInsightsAnalysisExplanationSecurityGroupOutputWithContext(context.Background()) +func (i NetworkInsightsAnalysisExplanationDestinationArgs) ToNetworkInsightsAnalysisExplanationDestinationOutput() NetworkInsightsAnalysisExplanationDestinationOutput { + return i.ToNetworkInsightsAnalysisExplanationDestinationOutputWithContext(context.Background()) } -func (i NetworkInsightsAnalysisExplanationSecurityGroupArgs) ToNetworkInsightsAnalysisExplanationSecurityGroupOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationSecurityGroupOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisExplanationSecurityGroupOutput) +func (i NetworkInsightsAnalysisExplanationDestinationArgs) ToNetworkInsightsAnalysisExplanationDestinationOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationDestinationOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisExplanationDestinationOutput) } -// NetworkInsightsAnalysisExplanationSecurityGroupArrayInput is an input type that accepts NetworkInsightsAnalysisExplanationSecurityGroupArray and NetworkInsightsAnalysisExplanationSecurityGroupArrayOutput values. -// You can construct a concrete instance of `NetworkInsightsAnalysisExplanationSecurityGroupArrayInput` via: +// NetworkInsightsAnalysisExplanationDestinationArrayInput is an input type that accepts NetworkInsightsAnalysisExplanationDestinationArray and NetworkInsightsAnalysisExplanationDestinationArrayOutput values. +// You can construct a concrete instance of `NetworkInsightsAnalysisExplanationDestinationArrayInput` via: // -// NetworkInsightsAnalysisExplanationSecurityGroupArray{ NetworkInsightsAnalysisExplanationSecurityGroupArgs{...} } -type NetworkInsightsAnalysisExplanationSecurityGroupArrayInput interface { +// NetworkInsightsAnalysisExplanationDestinationArray{ NetworkInsightsAnalysisExplanationDestinationArgs{...} } +type NetworkInsightsAnalysisExplanationDestinationArrayInput interface { pulumi.Input - ToNetworkInsightsAnalysisExplanationSecurityGroupArrayOutput() NetworkInsightsAnalysisExplanationSecurityGroupArrayOutput - ToNetworkInsightsAnalysisExplanationSecurityGroupArrayOutputWithContext(context.Context) NetworkInsightsAnalysisExplanationSecurityGroupArrayOutput + ToNetworkInsightsAnalysisExplanationDestinationArrayOutput() NetworkInsightsAnalysisExplanationDestinationArrayOutput + ToNetworkInsightsAnalysisExplanationDestinationArrayOutputWithContext(context.Context) NetworkInsightsAnalysisExplanationDestinationArrayOutput } -type NetworkInsightsAnalysisExplanationSecurityGroupArray []NetworkInsightsAnalysisExplanationSecurityGroupInput +type NetworkInsightsAnalysisExplanationDestinationArray []NetworkInsightsAnalysisExplanationDestinationInput -func (NetworkInsightsAnalysisExplanationSecurityGroupArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]NetworkInsightsAnalysisExplanationSecurityGroup)(nil)).Elem() +func (NetworkInsightsAnalysisExplanationDestinationArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkInsightsAnalysisExplanationDestination)(nil)).Elem() } -func (i NetworkInsightsAnalysisExplanationSecurityGroupArray) ToNetworkInsightsAnalysisExplanationSecurityGroupArrayOutput() NetworkInsightsAnalysisExplanationSecurityGroupArrayOutput { - return i.ToNetworkInsightsAnalysisExplanationSecurityGroupArrayOutputWithContext(context.Background()) +func (i NetworkInsightsAnalysisExplanationDestinationArray) ToNetworkInsightsAnalysisExplanationDestinationArrayOutput() NetworkInsightsAnalysisExplanationDestinationArrayOutput { + return i.ToNetworkInsightsAnalysisExplanationDestinationArrayOutputWithContext(context.Background()) } -func (i NetworkInsightsAnalysisExplanationSecurityGroupArray) ToNetworkInsightsAnalysisExplanationSecurityGroupArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationSecurityGroupArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisExplanationSecurityGroupArrayOutput) +func (i NetworkInsightsAnalysisExplanationDestinationArray) ToNetworkInsightsAnalysisExplanationDestinationArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationDestinationArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisExplanationDestinationArrayOutput) } -type NetworkInsightsAnalysisExplanationSecurityGroupOutput struct{ *pulumi.OutputState } +type NetworkInsightsAnalysisExplanationDestinationOutput struct{ *pulumi.OutputState } -func (NetworkInsightsAnalysisExplanationSecurityGroupOutput) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkInsightsAnalysisExplanationSecurityGroup)(nil)).Elem() +func (NetworkInsightsAnalysisExplanationDestinationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInsightsAnalysisExplanationDestination)(nil)).Elem() } -func (o NetworkInsightsAnalysisExplanationSecurityGroupOutput) ToNetworkInsightsAnalysisExplanationSecurityGroupOutput() NetworkInsightsAnalysisExplanationSecurityGroupOutput { +func (o NetworkInsightsAnalysisExplanationDestinationOutput) ToNetworkInsightsAnalysisExplanationDestinationOutput() NetworkInsightsAnalysisExplanationDestinationOutput { return o } -func (o NetworkInsightsAnalysisExplanationSecurityGroupOutput) ToNetworkInsightsAnalysisExplanationSecurityGroupOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationSecurityGroupOutput { +func (o NetworkInsightsAnalysisExplanationDestinationOutput) ToNetworkInsightsAnalysisExplanationDestinationOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationDestinationOutput { return o } // ARN of the Network Insights Analysis. -func (o NetworkInsightsAnalysisExplanationSecurityGroupOutput) Arn() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisExplanationSecurityGroup) *string { return v.Arn }).(pulumi.StringPtrOutput) +func (o NetworkInsightsAnalysisExplanationDestinationOutput) Arn() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisExplanationDestination) *string { return v.Arn }).(pulumi.StringPtrOutput) } // ID of the Network Insights Analysis. -func (o NetworkInsightsAnalysisExplanationSecurityGroupOutput) Id() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisExplanationSecurityGroup) *string { return v.Id }).(pulumi.StringPtrOutput) +func (o NetworkInsightsAnalysisExplanationDestinationOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisExplanationDestination) *string { return v.Id }).(pulumi.StringPtrOutput) } -func (o NetworkInsightsAnalysisExplanationSecurityGroupOutput) Name() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisExplanationSecurityGroup) *string { return v.Name }).(pulumi.StringPtrOutput) +func (o NetworkInsightsAnalysisExplanationDestinationOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisExplanationDestination) *string { return v.Name }).(pulumi.StringPtrOutput) } -type NetworkInsightsAnalysisExplanationSecurityGroupArrayOutput struct{ *pulumi.OutputState } +type NetworkInsightsAnalysisExplanationDestinationArrayOutput struct{ *pulumi.OutputState } -func (NetworkInsightsAnalysisExplanationSecurityGroupArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]NetworkInsightsAnalysisExplanationSecurityGroup)(nil)).Elem() +func (NetworkInsightsAnalysisExplanationDestinationArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkInsightsAnalysisExplanationDestination)(nil)).Elem() } -func (o NetworkInsightsAnalysisExplanationSecurityGroupArrayOutput) ToNetworkInsightsAnalysisExplanationSecurityGroupArrayOutput() NetworkInsightsAnalysisExplanationSecurityGroupArrayOutput { +func (o NetworkInsightsAnalysisExplanationDestinationArrayOutput) ToNetworkInsightsAnalysisExplanationDestinationArrayOutput() NetworkInsightsAnalysisExplanationDestinationArrayOutput { return o } -func (o NetworkInsightsAnalysisExplanationSecurityGroupArrayOutput) ToNetworkInsightsAnalysisExplanationSecurityGroupArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationSecurityGroupArrayOutput { +func (o NetworkInsightsAnalysisExplanationDestinationArrayOutput) ToNetworkInsightsAnalysisExplanationDestinationArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationDestinationArrayOutput { return o } -func (o NetworkInsightsAnalysisExplanationSecurityGroupArrayOutput) Index(i pulumi.IntInput) NetworkInsightsAnalysisExplanationSecurityGroupOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkInsightsAnalysisExplanationSecurityGroup { - return vs[0].([]NetworkInsightsAnalysisExplanationSecurityGroup)[vs[1].(int)] - }).(NetworkInsightsAnalysisExplanationSecurityGroupOutput) +func (o NetworkInsightsAnalysisExplanationDestinationArrayOutput) Index(i pulumi.IntInput) NetworkInsightsAnalysisExplanationDestinationOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkInsightsAnalysisExplanationDestination { + return vs[0].([]NetworkInsightsAnalysisExplanationDestination)[vs[1].(int)] + }).(NetworkInsightsAnalysisExplanationDestinationOutput) } -type NetworkInsightsAnalysisExplanationSecurityGroupRule struct { - Cidr *string `pulumi:"cidr"` - Direction *string `pulumi:"direction"` - PortRanges []NetworkInsightsAnalysisExplanationSecurityGroupRulePortRange `pulumi:"portRanges"` - PrefixListId *string `pulumi:"prefixListId"` - Protocol *string `pulumi:"protocol"` - SecurityGroupId *string `pulumi:"securityGroupId"` +type NetworkInsightsAnalysisExplanationDestinationVpc struct { + // ARN of the Network Insights Analysis. + Arn *string `pulumi:"arn"` + // ID of the Network Insights Analysis. + Id *string `pulumi:"id"` + Name *string `pulumi:"name"` } -// NetworkInsightsAnalysisExplanationSecurityGroupRuleInput is an input type that accepts NetworkInsightsAnalysisExplanationSecurityGroupRuleArgs and NetworkInsightsAnalysisExplanationSecurityGroupRuleOutput values. -// You can construct a concrete instance of `NetworkInsightsAnalysisExplanationSecurityGroupRuleInput` via: +// NetworkInsightsAnalysisExplanationDestinationVpcInput is an input type that accepts NetworkInsightsAnalysisExplanationDestinationVpcArgs and NetworkInsightsAnalysisExplanationDestinationVpcOutput values. +// You can construct a concrete instance of `NetworkInsightsAnalysisExplanationDestinationVpcInput` via: // -// NetworkInsightsAnalysisExplanationSecurityGroupRuleArgs{...} -type NetworkInsightsAnalysisExplanationSecurityGroupRuleInput interface { +// NetworkInsightsAnalysisExplanationDestinationVpcArgs{...} +type NetworkInsightsAnalysisExplanationDestinationVpcInput interface { pulumi.Input - ToNetworkInsightsAnalysisExplanationSecurityGroupRuleOutput() NetworkInsightsAnalysisExplanationSecurityGroupRuleOutput - ToNetworkInsightsAnalysisExplanationSecurityGroupRuleOutputWithContext(context.Context) NetworkInsightsAnalysisExplanationSecurityGroupRuleOutput + ToNetworkInsightsAnalysisExplanationDestinationVpcOutput() NetworkInsightsAnalysisExplanationDestinationVpcOutput + ToNetworkInsightsAnalysisExplanationDestinationVpcOutputWithContext(context.Context) NetworkInsightsAnalysisExplanationDestinationVpcOutput } -type NetworkInsightsAnalysisExplanationSecurityGroupRuleArgs struct { - Cidr pulumi.StringPtrInput `pulumi:"cidr"` - Direction pulumi.StringPtrInput `pulumi:"direction"` - PortRanges NetworkInsightsAnalysisExplanationSecurityGroupRulePortRangeArrayInput `pulumi:"portRanges"` - PrefixListId pulumi.StringPtrInput `pulumi:"prefixListId"` - Protocol pulumi.StringPtrInput `pulumi:"protocol"` - SecurityGroupId pulumi.StringPtrInput `pulumi:"securityGroupId"` +type NetworkInsightsAnalysisExplanationDestinationVpcArgs struct { + // ARN of the Network Insights Analysis. + Arn pulumi.StringPtrInput `pulumi:"arn"` + // ID of the Network Insights Analysis. + Id pulumi.StringPtrInput `pulumi:"id"` + Name pulumi.StringPtrInput `pulumi:"name"` } -func (NetworkInsightsAnalysisExplanationSecurityGroupRuleArgs) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkInsightsAnalysisExplanationSecurityGroupRule)(nil)).Elem() +func (NetworkInsightsAnalysisExplanationDestinationVpcArgs) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInsightsAnalysisExplanationDestinationVpc)(nil)).Elem() } -func (i NetworkInsightsAnalysisExplanationSecurityGroupRuleArgs) ToNetworkInsightsAnalysisExplanationSecurityGroupRuleOutput() NetworkInsightsAnalysisExplanationSecurityGroupRuleOutput { - return i.ToNetworkInsightsAnalysisExplanationSecurityGroupRuleOutputWithContext(context.Background()) +func (i NetworkInsightsAnalysisExplanationDestinationVpcArgs) ToNetworkInsightsAnalysisExplanationDestinationVpcOutput() NetworkInsightsAnalysisExplanationDestinationVpcOutput { + return i.ToNetworkInsightsAnalysisExplanationDestinationVpcOutputWithContext(context.Background()) } -func (i NetworkInsightsAnalysisExplanationSecurityGroupRuleArgs) ToNetworkInsightsAnalysisExplanationSecurityGroupRuleOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationSecurityGroupRuleOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisExplanationSecurityGroupRuleOutput) +func (i NetworkInsightsAnalysisExplanationDestinationVpcArgs) ToNetworkInsightsAnalysisExplanationDestinationVpcOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationDestinationVpcOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisExplanationDestinationVpcOutput) } -// NetworkInsightsAnalysisExplanationSecurityGroupRuleArrayInput is an input type that accepts NetworkInsightsAnalysisExplanationSecurityGroupRuleArray and NetworkInsightsAnalysisExplanationSecurityGroupRuleArrayOutput values. -// You can construct a concrete instance of `NetworkInsightsAnalysisExplanationSecurityGroupRuleArrayInput` via: +// NetworkInsightsAnalysisExplanationDestinationVpcArrayInput is an input type that accepts NetworkInsightsAnalysisExplanationDestinationVpcArray and NetworkInsightsAnalysisExplanationDestinationVpcArrayOutput values. +// You can construct a concrete instance of `NetworkInsightsAnalysisExplanationDestinationVpcArrayInput` via: // -// NetworkInsightsAnalysisExplanationSecurityGroupRuleArray{ NetworkInsightsAnalysisExplanationSecurityGroupRuleArgs{...} } -type NetworkInsightsAnalysisExplanationSecurityGroupRuleArrayInput interface { +// NetworkInsightsAnalysisExplanationDestinationVpcArray{ NetworkInsightsAnalysisExplanationDestinationVpcArgs{...} } +type NetworkInsightsAnalysisExplanationDestinationVpcArrayInput interface { pulumi.Input - ToNetworkInsightsAnalysisExplanationSecurityGroupRuleArrayOutput() NetworkInsightsAnalysisExplanationSecurityGroupRuleArrayOutput - ToNetworkInsightsAnalysisExplanationSecurityGroupRuleArrayOutputWithContext(context.Context) NetworkInsightsAnalysisExplanationSecurityGroupRuleArrayOutput + ToNetworkInsightsAnalysisExplanationDestinationVpcArrayOutput() NetworkInsightsAnalysisExplanationDestinationVpcArrayOutput + ToNetworkInsightsAnalysisExplanationDestinationVpcArrayOutputWithContext(context.Context) NetworkInsightsAnalysisExplanationDestinationVpcArrayOutput } -type NetworkInsightsAnalysisExplanationSecurityGroupRuleArray []NetworkInsightsAnalysisExplanationSecurityGroupRuleInput +type NetworkInsightsAnalysisExplanationDestinationVpcArray []NetworkInsightsAnalysisExplanationDestinationVpcInput -func (NetworkInsightsAnalysisExplanationSecurityGroupRuleArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]NetworkInsightsAnalysisExplanationSecurityGroupRule)(nil)).Elem() +func (NetworkInsightsAnalysisExplanationDestinationVpcArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkInsightsAnalysisExplanationDestinationVpc)(nil)).Elem() } -func (i NetworkInsightsAnalysisExplanationSecurityGroupRuleArray) ToNetworkInsightsAnalysisExplanationSecurityGroupRuleArrayOutput() NetworkInsightsAnalysisExplanationSecurityGroupRuleArrayOutput { - return i.ToNetworkInsightsAnalysisExplanationSecurityGroupRuleArrayOutputWithContext(context.Background()) +func (i NetworkInsightsAnalysisExplanationDestinationVpcArray) ToNetworkInsightsAnalysisExplanationDestinationVpcArrayOutput() NetworkInsightsAnalysisExplanationDestinationVpcArrayOutput { + return i.ToNetworkInsightsAnalysisExplanationDestinationVpcArrayOutputWithContext(context.Background()) } -func (i NetworkInsightsAnalysisExplanationSecurityGroupRuleArray) ToNetworkInsightsAnalysisExplanationSecurityGroupRuleArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationSecurityGroupRuleArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisExplanationSecurityGroupRuleArrayOutput) +func (i NetworkInsightsAnalysisExplanationDestinationVpcArray) ToNetworkInsightsAnalysisExplanationDestinationVpcArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationDestinationVpcArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisExplanationDestinationVpcArrayOutput) } -type NetworkInsightsAnalysisExplanationSecurityGroupRuleOutput struct{ *pulumi.OutputState } +type NetworkInsightsAnalysisExplanationDestinationVpcOutput struct{ *pulumi.OutputState } -func (NetworkInsightsAnalysisExplanationSecurityGroupRuleOutput) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkInsightsAnalysisExplanationSecurityGroupRule)(nil)).Elem() +func (NetworkInsightsAnalysisExplanationDestinationVpcOutput) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInsightsAnalysisExplanationDestinationVpc)(nil)).Elem() } -func (o NetworkInsightsAnalysisExplanationSecurityGroupRuleOutput) ToNetworkInsightsAnalysisExplanationSecurityGroupRuleOutput() NetworkInsightsAnalysisExplanationSecurityGroupRuleOutput { +func (o NetworkInsightsAnalysisExplanationDestinationVpcOutput) ToNetworkInsightsAnalysisExplanationDestinationVpcOutput() NetworkInsightsAnalysisExplanationDestinationVpcOutput { return o } -func (o NetworkInsightsAnalysisExplanationSecurityGroupRuleOutput) ToNetworkInsightsAnalysisExplanationSecurityGroupRuleOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationSecurityGroupRuleOutput { +func (o NetworkInsightsAnalysisExplanationDestinationVpcOutput) ToNetworkInsightsAnalysisExplanationDestinationVpcOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationDestinationVpcOutput { return o } -func (o NetworkInsightsAnalysisExplanationSecurityGroupRuleOutput) Cidr() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisExplanationSecurityGroupRule) *string { return v.Cidr }).(pulumi.StringPtrOutput) -} - -func (o NetworkInsightsAnalysisExplanationSecurityGroupRuleOutput) Direction() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisExplanationSecurityGroupRule) *string { return v.Direction }).(pulumi.StringPtrOutput) -} - -func (o NetworkInsightsAnalysisExplanationSecurityGroupRuleOutput) PortRanges() NetworkInsightsAnalysisExplanationSecurityGroupRulePortRangeArrayOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisExplanationSecurityGroupRule) []NetworkInsightsAnalysisExplanationSecurityGroupRulePortRange { - return v.PortRanges - }).(NetworkInsightsAnalysisExplanationSecurityGroupRulePortRangeArrayOutput) -} - -func (o NetworkInsightsAnalysisExplanationSecurityGroupRuleOutput) PrefixListId() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisExplanationSecurityGroupRule) *string { return v.PrefixListId }).(pulumi.StringPtrOutput) +// ARN of the Network Insights Analysis. +func (o NetworkInsightsAnalysisExplanationDestinationVpcOutput) Arn() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisExplanationDestinationVpc) *string { return v.Arn }).(pulumi.StringPtrOutput) } -func (o NetworkInsightsAnalysisExplanationSecurityGroupRuleOutput) Protocol() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisExplanationSecurityGroupRule) *string { return v.Protocol }).(pulumi.StringPtrOutput) +// ID of the Network Insights Analysis. +func (o NetworkInsightsAnalysisExplanationDestinationVpcOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisExplanationDestinationVpc) *string { return v.Id }).(pulumi.StringPtrOutput) } -func (o NetworkInsightsAnalysisExplanationSecurityGroupRuleOutput) SecurityGroupId() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisExplanationSecurityGroupRule) *string { return v.SecurityGroupId }).(pulumi.StringPtrOutput) +func (o NetworkInsightsAnalysisExplanationDestinationVpcOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisExplanationDestinationVpc) *string { return v.Name }).(pulumi.StringPtrOutput) } -type NetworkInsightsAnalysisExplanationSecurityGroupRuleArrayOutput struct{ *pulumi.OutputState } +type NetworkInsightsAnalysisExplanationDestinationVpcArrayOutput struct{ *pulumi.OutputState } -func (NetworkInsightsAnalysisExplanationSecurityGroupRuleArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]NetworkInsightsAnalysisExplanationSecurityGroupRule)(nil)).Elem() +func (NetworkInsightsAnalysisExplanationDestinationVpcArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkInsightsAnalysisExplanationDestinationVpc)(nil)).Elem() } -func (o NetworkInsightsAnalysisExplanationSecurityGroupRuleArrayOutput) ToNetworkInsightsAnalysisExplanationSecurityGroupRuleArrayOutput() NetworkInsightsAnalysisExplanationSecurityGroupRuleArrayOutput { +func (o NetworkInsightsAnalysisExplanationDestinationVpcArrayOutput) ToNetworkInsightsAnalysisExplanationDestinationVpcArrayOutput() NetworkInsightsAnalysisExplanationDestinationVpcArrayOutput { return o } -func (o NetworkInsightsAnalysisExplanationSecurityGroupRuleArrayOutput) ToNetworkInsightsAnalysisExplanationSecurityGroupRuleArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationSecurityGroupRuleArrayOutput { +func (o NetworkInsightsAnalysisExplanationDestinationVpcArrayOutput) ToNetworkInsightsAnalysisExplanationDestinationVpcArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationDestinationVpcArrayOutput { return o } -func (o NetworkInsightsAnalysisExplanationSecurityGroupRuleArrayOutput) Index(i pulumi.IntInput) NetworkInsightsAnalysisExplanationSecurityGroupRuleOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkInsightsAnalysisExplanationSecurityGroupRule { - return vs[0].([]NetworkInsightsAnalysisExplanationSecurityGroupRule)[vs[1].(int)] - }).(NetworkInsightsAnalysisExplanationSecurityGroupRuleOutput) +func (o NetworkInsightsAnalysisExplanationDestinationVpcArrayOutput) Index(i pulumi.IntInput) NetworkInsightsAnalysisExplanationDestinationVpcOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkInsightsAnalysisExplanationDestinationVpc { + return vs[0].([]NetworkInsightsAnalysisExplanationDestinationVpc)[vs[1].(int)] + }).(NetworkInsightsAnalysisExplanationDestinationVpcOutput) } -type NetworkInsightsAnalysisExplanationSecurityGroupRulePortRange struct { - From *int `pulumi:"from"` - To *int `pulumi:"to"` +type NetworkInsightsAnalysisExplanationElasticLoadBalancerListener struct { + // ARN of the Network Insights Analysis. + Arn *string `pulumi:"arn"` + // ID of the Network Insights Analysis. + Id *string `pulumi:"id"` + Name *string `pulumi:"name"` } -// NetworkInsightsAnalysisExplanationSecurityGroupRulePortRangeInput is an input type that accepts NetworkInsightsAnalysisExplanationSecurityGroupRulePortRangeArgs and NetworkInsightsAnalysisExplanationSecurityGroupRulePortRangeOutput values. -// You can construct a concrete instance of `NetworkInsightsAnalysisExplanationSecurityGroupRulePortRangeInput` via: +// NetworkInsightsAnalysisExplanationElasticLoadBalancerListenerInput is an input type that accepts NetworkInsightsAnalysisExplanationElasticLoadBalancerListenerArgs and NetworkInsightsAnalysisExplanationElasticLoadBalancerListenerOutput values. +// You can construct a concrete instance of `NetworkInsightsAnalysisExplanationElasticLoadBalancerListenerInput` via: // -// NetworkInsightsAnalysisExplanationSecurityGroupRulePortRangeArgs{...} -type NetworkInsightsAnalysisExplanationSecurityGroupRulePortRangeInput interface { +// NetworkInsightsAnalysisExplanationElasticLoadBalancerListenerArgs{...} +type NetworkInsightsAnalysisExplanationElasticLoadBalancerListenerInput interface { pulumi.Input - ToNetworkInsightsAnalysisExplanationSecurityGroupRulePortRangeOutput() NetworkInsightsAnalysisExplanationSecurityGroupRulePortRangeOutput - ToNetworkInsightsAnalysisExplanationSecurityGroupRulePortRangeOutputWithContext(context.Context) NetworkInsightsAnalysisExplanationSecurityGroupRulePortRangeOutput + ToNetworkInsightsAnalysisExplanationElasticLoadBalancerListenerOutput() NetworkInsightsAnalysisExplanationElasticLoadBalancerListenerOutput + ToNetworkInsightsAnalysisExplanationElasticLoadBalancerListenerOutputWithContext(context.Context) NetworkInsightsAnalysisExplanationElasticLoadBalancerListenerOutput } -type NetworkInsightsAnalysisExplanationSecurityGroupRulePortRangeArgs struct { - From pulumi.IntPtrInput `pulumi:"from"` - To pulumi.IntPtrInput `pulumi:"to"` +type NetworkInsightsAnalysisExplanationElasticLoadBalancerListenerArgs struct { + // ARN of the Network Insights Analysis. + Arn pulumi.StringPtrInput `pulumi:"arn"` + // ID of the Network Insights Analysis. + Id pulumi.StringPtrInput `pulumi:"id"` + Name pulumi.StringPtrInput `pulumi:"name"` } -func (NetworkInsightsAnalysisExplanationSecurityGroupRulePortRangeArgs) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkInsightsAnalysisExplanationSecurityGroupRulePortRange)(nil)).Elem() +func (NetworkInsightsAnalysisExplanationElasticLoadBalancerListenerArgs) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInsightsAnalysisExplanationElasticLoadBalancerListener)(nil)).Elem() } -func (i NetworkInsightsAnalysisExplanationSecurityGroupRulePortRangeArgs) ToNetworkInsightsAnalysisExplanationSecurityGroupRulePortRangeOutput() NetworkInsightsAnalysisExplanationSecurityGroupRulePortRangeOutput { - return i.ToNetworkInsightsAnalysisExplanationSecurityGroupRulePortRangeOutputWithContext(context.Background()) +func (i NetworkInsightsAnalysisExplanationElasticLoadBalancerListenerArgs) ToNetworkInsightsAnalysisExplanationElasticLoadBalancerListenerOutput() NetworkInsightsAnalysisExplanationElasticLoadBalancerListenerOutput { + return i.ToNetworkInsightsAnalysisExplanationElasticLoadBalancerListenerOutputWithContext(context.Background()) } -func (i NetworkInsightsAnalysisExplanationSecurityGroupRulePortRangeArgs) ToNetworkInsightsAnalysisExplanationSecurityGroupRulePortRangeOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationSecurityGroupRulePortRangeOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisExplanationSecurityGroupRulePortRangeOutput) +func (i NetworkInsightsAnalysisExplanationElasticLoadBalancerListenerArgs) ToNetworkInsightsAnalysisExplanationElasticLoadBalancerListenerOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationElasticLoadBalancerListenerOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisExplanationElasticLoadBalancerListenerOutput) } -// NetworkInsightsAnalysisExplanationSecurityGroupRulePortRangeArrayInput is an input type that accepts NetworkInsightsAnalysisExplanationSecurityGroupRulePortRangeArray and NetworkInsightsAnalysisExplanationSecurityGroupRulePortRangeArrayOutput values. -// You can construct a concrete instance of `NetworkInsightsAnalysisExplanationSecurityGroupRulePortRangeArrayInput` via: +// NetworkInsightsAnalysisExplanationElasticLoadBalancerListenerArrayInput is an input type that accepts NetworkInsightsAnalysisExplanationElasticLoadBalancerListenerArray and NetworkInsightsAnalysisExplanationElasticLoadBalancerListenerArrayOutput values. +// You can construct a concrete instance of `NetworkInsightsAnalysisExplanationElasticLoadBalancerListenerArrayInput` via: // -// NetworkInsightsAnalysisExplanationSecurityGroupRulePortRangeArray{ NetworkInsightsAnalysisExplanationSecurityGroupRulePortRangeArgs{...} } -type NetworkInsightsAnalysisExplanationSecurityGroupRulePortRangeArrayInput interface { +// NetworkInsightsAnalysisExplanationElasticLoadBalancerListenerArray{ NetworkInsightsAnalysisExplanationElasticLoadBalancerListenerArgs{...} } +type NetworkInsightsAnalysisExplanationElasticLoadBalancerListenerArrayInput interface { pulumi.Input - ToNetworkInsightsAnalysisExplanationSecurityGroupRulePortRangeArrayOutput() NetworkInsightsAnalysisExplanationSecurityGroupRulePortRangeArrayOutput - ToNetworkInsightsAnalysisExplanationSecurityGroupRulePortRangeArrayOutputWithContext(context.Context) NetworkInsightsAnalysisExplanationSecurityGroupRulePortRangeArrayOutput + ToNetworkInsightsAnalysisExplanationElasticLoadBalancerListenerArrayOutput() NetworkInsightsAnalysisExplanationElasticLoadBalancerListenerArrayOutput + ToNetworkInsightsAnalysisExplanationElasticLoadBalancerListenerArrayOutputWithContext(context.Context) NetworkInsightsAnalysisExplanationElasticLoadBalancerListenerArrayOutput } -type NetworkInsightsAnalysisExplanationSecurityGroupRulePortRangeArray []NetworkInsightsAnalysisExplanationSecurityGroupRulePortRangeInput +type NetworkInsightsAnalysisExplanationElasticLoadBalancerListenerArray []NetworkInsightsAnalysisExplanationElasticLoadBalancerListenerInput -func (NetworkInsightsAnalysisExplanationSecurityGroupRulePortRangeArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]NetworkInsightsAnalysisExplanationSecurityGroupRulePortRange)(nil)).Elem() +func (NetworkInsightsAnalysisExplanationElasticLoadBalancerListenerArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkInsightsAnalysisExplanationElasticLoadBalancerListener)(nil)).Elem() } -func (i NetworkInsightsAnalysisExplanationSecurityGroupRulePortRangeArray) ToNetworkInsightsAnalysisExplanationSecurityGroupRulePortRangeArrayOutput() NetworkInsightsAnalysisExplanationSecurityGroupRulePortRangeArrayOutput { - return i.ToNetworkInsightsAnalysisExplanationSecurityGroupRulePortRangeArrayOutputWithContext(context.Background()) +func (i NetworkInsightsAnalysisExplanationElasticLoadBalancerListenerArray) ToNetworkInsightsAnalysisExplanationElasticLoadBalancerListenerArrayOutput() NetworkInsightsAnalysisExplanationElasticLoadBalancerListenerArrayOutput { + return i.ToNetworkInsightsAnalysisExplanationElasticLoadBalancerListenerArrayOutputWithContext(context.Background()) } -func (i NetworkInsightsAnalysisExplanationSecurityGroupRulePortRangeArray) ToNetworkInsightsAnalysisExplanationSecurityGroupRulePortRangeArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationSecurityGroupRulePortRangeArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisExplanationSecurityGroupRulePortRangeArrayOutput) +func (i NetworkInsightsAnalysisExplanationElasticLoadBalancerListenerArray) ToNetworkInsightsAnalysisExplanationElasticLoadBalancerListenerArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationElasticLoadBalancerListenerArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisExplanationElasticLoadBalancerListenerArrayOutput) } -type NetworkInsightsAnalysisExplanationSecurityGroupRulePortRangeOutput struct{ *pulumi.OutputState } +type NetworkInsightsAnalysisExplanationElasticLoadBalancerListenerOutput struct{ *pulumi.OutputState } -func (NetworkInsightsAnalysisExplanationSecurityGroupRulePortRangeOutput) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkInsightsAnalysisExplanationSecurityGroupRulePortRange)(nil)).Elem() +func (NetworkInsightsAnalysisExplanationElasticLoadBalancerListenerOutput) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInsightsAnalysisExplanationElasticLoadBalancerListener)(nil)).Elem() } -func (o NetworkInsightsAnalysisExplanationSecurityGroupRulePortRangeOutput) ToNetworkInsightsAnalysisExplanationSecurityGroupRulePortRangeOutput() NetworkInsightsAnalysisExplanationSecurityGroupRulePortRangeOutput { +func (o NetworkInsightsAnalysisExplanationElasticLoadBalancerListenerOutput) ToNetworkInsightsAnalysisExplanationElasticLoadBalancerListenerOutput() NetworkInsightsAnalysisExplanationElasticLoadBalancerListenerOutput { return o } -func (o NetworkInsightsAnalysisExplanationSecurityGroupRulePortRangeOutput) ToNetworkInsightsAnalysisExplanationSecurityGroupRulePortRangeOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationSecurityGroupRulePortRangeOutput { +func (o NetworkInsightsAnalysisExplanationElasticLoadBalancerListenerOutput) ToNetworkInsightsAnalysisExplanationElasticLoadBalancerListenerOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationElasticLoadBalancerListenerOutput { return o } -func (o NetworkInsightsAnalysisExplanationSecurityGroupRulePortRangeOutput) From() pulumi.IntPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisExplanationSecurityGroupRulePortRange) *int { return v.From }).(pulumi.IntPtrOutput) +// ARN of the Network Insights Analysis. +func (o NetworkInsightsAnalysisExplanationElasticLoadBalancerListenerOutput) Arn() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisExplanationElasticLoadBalancerListener) *string { return v.Arn }).(pulumi.StringPtrOutput) } -func (o NetworkInsightsAnalysisExplanationSecurityGroupRulePortRangeOutput) To() pulumi.IntPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisExplanationSecurityGroupRulePortRange) *int { return v.To }).(pulumi.IntPtrOutput) +// ID of the Network Insights Analysis. +func (o NetworkInsightsAnalysisExplanationElasticLoadBalancerListenerOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisExplanationElasticLoadBalancerListener) *string { return v.Id }).(pulumi.StringPtrOutput) } -type NetworkInsightsAnalysisExplanationSecurityGroupRulePortRangeArrayOutput struct{ *pulumi.OutputState } +func (o NetworkInsightsAnalysisExplanationElasticLoadBalancerListenerOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisExplanationElasticLoadBalancerListener) *string { return v.Name }).(pulumi.StringPtrOutput) +} -func (NetworkInsightsAnalysisExplanationSecurityGroupRulePortRangeArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]NetworkInsightsAnalysisExplanationSecurityGroupRulePortRange)(nil)).Elem() +type NetworkInsightsAnalysisExplanationElasticLoadBalancerListenerArrayOutput struct{ *pulumi.OutputState } + +func (NetworkInsightsAnalysisExplanationElasticLoadBalancerListenerArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkInsightsAnalysisExplanationElasticLoadBalancerListener)(nil)).Elem() } -func (o NetworkInsightsAnalysisExplanationSecurityGroupRulePortRangeArrayOutput) ToNetworkInsightsAnalysisExplanationSecurityGroupRulePortRangeArrayOutput() NetworkInsightsAnalysisExplanationSecurityGroupRulePortRangeArrayOutput { +func (o NetworkInsightsAnalysisExplanationElasticLoadBalancerListenerArrayOutput) ToNetworkInsightsAnalysisExplanationElasticLoadBalancerListenerArrayOutput() NetworkInsightsAnalysisExplanationElasticLoadBalancerListenerArrayOutput { return o } -func (o NetworkInsightsAnalysisExplanationSecurityGroupRulePortRangeArrayOutput) ToNetworkInsightsAnalysisExplanationSecurityGroupRulePortRangeArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationSecurityGroupRulePortRangeArrayOutput { +func (o NetworkInsightsAnalysisExplanationElasticLoadBalancerListenerArrayOutput) ToNetworkInsightsAnalysisExplanationElasticLoadBalancerListenerArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationElasticLoadBalancerListenerArrayOutput { return o } -func (o NetworkInsightsAnalysisExplanationSecurityGroupRulePortRangeArrayOutput) Index(i pulumi.IntInput) NetworkInsightsAnalysisExplanationSecurityGroupRulePortRangeOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkInsightsAnalysisExplanationSecurityGroupRulePortRange { - return vs[0].([]NetworkInsightsAnalysisExplanationSecurityGroupRulePortRange)[vs[1].(int)] - }).(NetworkInsightsAnalysisExplanationSecurityGroupRulePortRangeOutput) +func (o NetworkInsightsAnalysisExplanationElasticLoadBalancerListenerArrayOutput) Index(i pulumi.IntInput) NetworkInsightsAnalysisExplanationElasticLoadBalancerListenerOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkInsightsAnalysisExplanationElasticLoadBalancerListener { + return vs[0].([]NetworkInsightsAnalysisExplanationElasticLoadBalancerListener)[vs[1].(int)] + }).(NetworkInsightsAnalysisExplanationElasticLoadBalancerListenerOutput) } -type NetworkInsightsAnalysisExplanationSourceVpc struct { +type NetworkInsightsAnalysisExplanationIngressRouteTable struct { // ARN of the Network Insights Analysis. Arn *string `pulumi:"arn"` // ID of the Network Insights Analysis. @@ -19614,18 +20215,18 @@ type NetworkInsightsAnalysisExplanationSourceVpc struct { Name *string `pulumi:"name"` } -// NetworkInsightsAnalysisExplanationSourceVpcInput is an input type that accepts NetworkInsightsAnalysisExplanationSourceVpcArgs and NetworkInsightsAnalysisExplanationSourceVpcOutput values. -// You can construct a concrete instance of `NetworkInsightsAnalysisExplanationSourceVpcInput` via: +// NetworkInsightsAnalysisExplanationIngressRouteTableInput is an input type that accepts NetworkInsightsAnalysisExplanationIngressRouteTableArgs and NetworkInsightsAnalysisExplanationIngressRouteTableOutput values. +// You can construct a concrete instance of `NetworkInsightsAnalysisExplanationIngressRouteTableInput` via: // -// NetworkInsightsAnalysisExplanationSourceVpcArgs{...} -type NetworkInsightsAnalysisExplanationSourceVpcInput interface { +// NetworkInsightsAnalysisExplanationIngressRouteTableArgs{...} +type NetworkInsightsAnalysisExplanationIngressRouteTableInput interface { pulumi.Input - ToNetworkInsightsAnalysisExplanationSourceVpcOutput() NetworkInsightsAnalysisExplanationSourceVpcOutput - ToNetworkInsightsAnalysisExplanationSourceVpcOutputWithContext(context.Context) NetworkInsightsAnalysisExplanationSourceVpcOutput + ToNetworkInsightsAnalysisExplanationIngressRouteTableOutput() NetworkInsightsAnalysisExplanationIngressRouteTableOutput + ToNetworkInsightsAnalysisExplanationIngressRouteTableOutputWithContext(context.Context) NetworkInsightsAnalysisExplanationIngressRouteTableOutput } -type NetworkInsightsAnalysisExplanationSourceVpcArgs struct { +type NetworkInsightsAnalysisExplanationIngressRouteTableArgs struct { // ARN of the Network Insights Analysis. Arn pulumi.StringPtrInput `pulumi:"arn"` // ID of the Network Insights Analysis. @@ -19633,92 +20234,92 @@ type NetworkInsightsAnalysisExplanationSourceVpcArgs struct { Name pulumi.StringPtrInput `pulumi:"name"` } -func (NetworkInsightsAnalysisExplanationSourceVpcArgs) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkInsightsAnalysisExplanationSourceVpc)(nil)).Elem() +func (NetworkInsightsAnalysisExplanationIngressRouteTableArgs) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInsightsAnalysisExplanationIngressRouteTable)(nil)).Elem() } -func (i NetworkInsightsAnalysisExplanationSourceVpcArgs) ToNetworkInsightsAnalysisExplanationSourceVpcOutput() NetworkInsightsAnalysisExplanationSourceVpcOutput { - return i.ToNetworkInsightsAnalysisExplanationSourceVpcOutputWithContext(context.Background()) +func (i NetworkInsightsAnalysisExplanationIngressRouteTableArgs) ToNetworkInsightsAnalysisExplanationIngressRouteTableOutput() NetworkInsightsAnalysisExplanationIngressRouteTableOutput { + return i.ToNetworkInsightsAnalysisExplanationIngressRouteTableOutputWithContext(context.Background()) } -func (i NetworkInsightsAnalysisExplanationSourceVpcArgs) ToNetworkInsightsAnalysisExplanationSourceVpcOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationSourceVpcOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisExplanationSourceVpcOutput) +func (i NetworkInsightsAnalysisExplanationIngressRouteTableArgs) ToNetworkInsightsAnalysisExplanationIngressRouteTableOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationIngressRouteTableOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisExplanationIngressRouteTableOutput) } -// NetworkInsightsAnalysisExplanationSourceVpcArrayInput is an input type that accepts NetworkInsightsAnalysisExplanationSourceVpcArray and NetworkInsightsAnalysisExplanationSourceVpcArrayOutput values. -// You can construct a concrete instance of `NetworkInsightsAnalysisExplanationSourceVpcArrayInput` via: +// NetworkInsightsAnalysisExplanationIngressRouteTableArrayInput is an input type that accepts NetworkInsightsAnalysisExplanationIngressRouteTableArray and NetworkInsightsAnalysisExplanationIngressRouteTableArrayOutput values. +// You can construct a concrete instance of `NetworkInsightsAnalysisExplanationIngressRouteTableArrayInput` via: // -// NetworkInsightsAnalysisExplanationSourceVpcArray{ NetworkInsightsAnalysisExplanationSourceVpcArgs{...} } -type NetworkInsightsAnalysisExplanationSourceVpcArrayInput interface { +// NetworkInsightsAnalysisExplanationIngressRouteTableArray{ NetworkInsightsAnalysisExplanationIngressRouteTableArgs{...} } +type NetworkInsightsAnalysisExplanationIngressRouteTableArrayInput interface { pulumi.Input - ToNetworkInsightsAnalysisExplanationSourceVpcArrayOutput() NetworkInsightsAnalysisExplanationSourceVpcArrayOutput - ToNetworkInsightsAnalysisExplanationSourceVpcArrayOutputWithContext(context.Context) NetworkInsightsAnalysisExplanationSourceVpcArrayOutput + ToNetworkInsightsAnalysisExplanationIngressRouteTableArrayOutput() NetworkInsightsAnalysisExplanationIngressRouteTableArrayOutput + ToNetworkInsightsAnalysisExplanationIngressRouteTableArrayOutputWithContext(context.Context) NetworkInsightsAnalysisExplanationIngressRouteTableArrayOutput } -type NetworkInsightsAnalysisExplanationSourceVpcArray []NetworkInsightsAnalysisExplanationSourceVpcInput +type NetworkInsightsAnalysisExplanationIngressRouteTableArray []NetworkInsightsAnalysisExplanationIngressRouteTableInput -func (NetworkInsightsAnalysisExplanationSourceVpcArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]NetworkInsightsAnalysisExplanationSourceVpc)(nil)).Elem() +func (NetworkInsightsAnalysisExplanationIngressRouteTableArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkInsightsAnalysisExplanationIngressRouteTable)(nil)).Elem() } -func (i NetworkInsightsAnalysisExplanationSourceVpcArray) ToNetworkInsightsAnalysisExplanationSourceVpcArrayOutput() NetworkInsightsAnalysisExplanationSourceVpcArrayOutput { - return i.ToNetworkInsightsAnalysisExplanationSourceVpcArrayOutputWithContext(context.Background()) +func (i NetworkInsightsAnalysisExplanationIngressRouteTableArray) ToNetworkInsightsAnalysisExplanationIngressRouteTableArrayOutput() NetworkInsightsAnalysisExplanationIngressRouteTableArrayOutput { + return i.ToNetworkInsightsAnalysisExplanationIngressRouteTableArrayOutputWithContext(context.Background()) } -func (i NetworkInsightsAnalysisExplanationSourceVpcArray) ToNetworkInsightsAnalysisExplanationSourceVpcArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationSourceVpcArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisExplanationSourceVpcArrayOutput) +func (i NetworkInsightsAnalysisExplanationIngressRouteTableArray) ToNetworkInsightsAnalysisExplanationIngressRouteTableArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationIngressRouteTableArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisExplanationIngressRouteTableArrayOutput) } -type NetworkInsightsAnalysisExplanationSourceVpcOutput struct{ *pulumi.OutputState } +type NetworkInsightsAnalysisExplanationIngressRouteTableOutput struct{ *pulumi.OutputState } -func (NetworkInsightsAnalysisExplanationSourceVpcOutput) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkInsightsAnalysisExplanationSourceVpc)(nil)).Elem() +func (NetworkInsightsAnalysisExplanationIngressRouteTableOutput) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInsightsAnalysisExplanationIngressRouteTable)(nil)).Elem() } -func (o NetworkInsightsAnalysisExplanationSourceVpcOutput) ToNetworkInsightsAnalysisExplanationSourceVpcOutput() NetworkInsightsAnalysisExplanationSourceVpcOutput { +func (o NetworkInsightsAnalysisExplanationIngressRouteTableOutput) ToNetworkInsightsAnalysisExplanationIngressRouteTableOutput() NetworkInsightsAnalysisExplanationIngressRouteTableOutput { return o } -func (o NetworkInsightsAnalysisExplanationSourceVpcOutput) ToNetworkInsightsAnalysisExplanationSourceVpcOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationSourceVpcOutput { +func (o NetworkInsightsAnalysisExplanationIngressRouteTableOutput) ToNetworkInsightsAnalysisExplanationIngressRouteTableOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationIngressRouteTableOutput { return o } // ARN of the Network Insights Analysis. -func (o NetworkInsightsAnalysisExplanationSourceVpcOutput) Arn() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisExplanationSourceVpc) *string { return v.Arn }).(pulumi.StringPtrOutput) +func (o NetworkInsightsAnalysisExplanationIngressRouteTableOutput) Arn() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisExplanationIngressRouteTable) *string { return v.Arn }).(pulumi.StringPtrOutput) } // ID of the Network Insights Analysis. -func (o NetworkInsightsAnalysisExplanationSourceVpcOutput) Id() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisExplanationSourceVpc) *string { return v.Id }).(pulumi.StringPtrOutput) +func (o NetworkInsightsAnalysisExplanationIngressRouteTableOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisExplanationIngressRouteTable) *string { return v.Id }).(pulumi.StringPtrOutput) } -func (o NetworkInsightsAnalysisExplanationSourceVpcOutput) Name() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisExplanationSourceVpc) *string { return v.Name }).(pulumi.StringPtrOutput) +func (o NetworkInsightsAnalysisExplanationIngressRouteTableOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisExplanationIngressRouteTable) *string { return v.Name }).(pulumi.StringPtrOutput) } -type NetworkInsightsAnalysisExplanationSourceVpcArrayOutput struct{ *pulumi.OutputState } +type NetworkInsightsAnalysisExplanationIngressRouteTableArrayOutput struct{ *pulumi.OutputState } -func (NetworkInsightsAnalysisExplanationSourceVpcArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]NetworkInsightsAnalysisExplanationSourceVpc)(nil)).Elem() +func (NetworkInsightsAnalysisExplanationIngressRouteTableArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkInsightsAnalysisExplanationIngressRouteTable)(nil)).Elem() } -func (o NetworkInsightsAnalysisExplanationSourceVpcArrayOutput) ToNetworkInsightsAnalysisExplanationSourceVpcArrayOutput() NetworkInsightsAnalysisExplanationSourceVpcArrayOutput { +func (o NetworkInsightsAnalysisExplanationIngressRouteTableArrayOutput) ToNetworkInsightsAnalysisExplanationIngressRouteTableArrayOutput() NetworkInsightsAnalysisExplanationIngressRouteTableArrayOutput { return o } -func (o NetworkInsightsAnalysisExplanationSourceVpcArrayOutput) ToNetworkInsightsAnalysisExplanationSourceVpcArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationSourceVpcArrayOutput { +func (o NetworkInsightsAnalysisExplanationIngressRouteTableArrayOutput) ToNetworkInsightsAnalysisExplanationIngressRouteTableArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationIngressRouteTableArrayOutput { return o } -func (o NetworkInsightsAnalysisExplanationSourceVpcArrayOutput) Index(i pulumi.IntInput) NetworkInsightsAnalysisExplanationSourceVpcOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkInsightsAnalysisExplanationSourceVpc { - return vs[0].([]NetworkInsightsAnalysisExplanationSourceVpc)[vs[1].(int)] - }).(NetworkInsightsAnalysisExplanationSourceVpcOutput) +func (o NetworkInsightsAnalysisExplanationIngressRouteTableArrayOutput) Index(i pulumi.IntInput) NetworkInsightsAnalysisExplanationIngressRouteTableOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkInsightsAnalysisExplanationIngressRouteTable { + return vs[0].([]NetworkInsightsAnalysisExplanationIngressRouteTable)[vs[1].(int)] + }).(NetworkInsightsAnalysisExplanationIngressRouteTableOutput) } -type NetworkInsightsAnalysisExplanationSubnet struct { +type NetworkInsightsAnalysisExplanationInternetGateway struct { // ARN of the Network Insights Analysis. Arn *string `pulumi:"arn"` // ID of the Network Insights Analysis. @@ -19726,18 +20327,18 @@ type NetworkInsightsAnalysisExplanationSubnet struct { Name *string `pulumi:"name"` } -// NetworkInsightsAnalysisExplanationSubnetInput is an input type that accepts NetworkInsightsAnalysisExplanationSubnetArgs and NetworkInsightsAnalysisExplanationSubnetOutput values. -// You can construct a concrete instance of `NetworkInsightsAnalysisExplanationSubnetInput` via: +// NetworkInsightsAnalysisExplanationInternetGatewayInput is an input type that accepts NetworkInsightsAnalysisExplanationInternetGatewayArgs and NetworkInsightsAnalysisExplanationInternetGatewayOutput values. +// You can construct a concrete instance of `NetworkInsightsAnalysisExplanationInternetGatewayInput` via: // -// NetworkInsightsAnalysisExplanationSubnetArgs{...} -type NetworkInsightsAnalysisExplanationSubnetInput interface { +// NetworkInsightsAnalysisExplanationInternetGatewayArgs{...} +type NetworkInsightsAnalysisExplanationInternetGatewayInput interface { pulumi.Input - ToNetworkInsightsAnalysisExplanationSubnetOutput() NetworkInsightsAnalysisExplanationSubnetOutput - ToNetworkInsightsAnalysisExplanationSubnetOutputWithContext(context.Context) NetworkInsightsAnalysisExplanationSubnetOutput + ToNetworkInsightsAnalysisExplanationInternetGatewayOutput() NetworkInsightsAnalysisExplanationInternetGatewayOutput + ToNetworkInsightsAnalysisExplanationInternetGatewayOutputWithContext(context.Context) NetworkInsightsAnalysisExplanationInternetGatewayOutput } -type NetworkInsightsAnalysisExplanationSubnetArgs struct { +type NetworkInsightsAnalysisExplanationInternetGatewayArgs struct { // ARN of the Network Insights Analysis. Arn pulumi.StringPtrInput `pulumi:"arn"` // ID of the Network Insights Analysis. @@ -19745,92 +20346,92 @@ type NetworkInsightsAnalysisExplanationSubnetArgs struct { Name pulumi.StringPtrInput `pulumi:"name"` } -func (NetworkInsightsAnalysisExplanationSubnetArgs) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkInsightsAnalysisExplanationSubnet)(nil)).Elem() +func (NetworkInsightsAnalysisExplanationInternetGatewayArgs) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInsightsAnalysisExplanationInternetGateway)(nil)).Elem() } -func (i NetworkInsightsAnalysisExplanationSubnetArgs) ToNetworkInsightsAnalysisExplanationSubnetOutput() NetworkInsightsAnalysisExplanationSubnetOutput { - return i.ToNetworkInsightsAnalysisExplanationSubnetOutputWithContext(context.Background()) +func (i NetworkInsightsAnalysisExplanationInternetGatewayArgs) ToNetworkInsightsAnalysisExplanationInternetGatewayOutput() NetworkInsightsAnalysisExplanationInternetGatewayOutput { + return i.ToNetworkInsightsAnalysisExplanationInternetGatewayOutputWithContext(context.Background()) } -func (i NetworkInsightsAnalysisExplanationSubnetArgs) ToNetworkInsightsAnalysisExplanationSubnetOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationSubnetOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisExplanationSubnetOutput) +func (i NetworkInsightsAnalysisExplanationInternetGatewayArgs) ToNetworkInsightsAnalysisExplanationInternetGatewayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationInternetGatewayOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisExplanationInternetGatewayOutput) } -// NetworkInsightsAnalysisExplanationSubnetArrayInput is an input type that accepts NetworkInsightsAnalysisExplanationSubnetArray and NetworkInsightsAnalysisExplanationSubnetArrayOutput values. -// You can construct a concrete instance of `NetworkInsightsAnalysisExplanationSubnetArrayInput` via: +// NetworkInsightsAnalysisExplanationInternetGatewayArrayInput is an input type that accepts NetworkInsightsAnalysisExplanationInternetGatewayArray and NetworkInsightsAnalysisExplanationInternetGatewayArrayOutput values. +// You can construct a concrete instance of `NetworkInsightsAnalysisExplanationInternetGatewayArrayInput` via: // -// NetworkInsightsAnalysisExplanationSubnetArray{ NetworkInsightsAnalysisExplanationSubnetArgs{...} } -type NetworkInsightsAnalysisExplanationSubnetArrayInput interface { +// NetworkInsightsAnalysisExplanationInternetGatewayArray{ NetworkInsightsAnalysisExplanationInternetGatewayArgs{...} } +type NetworkInsightsAnalysisExplanationInternetGatewayArrayInput interface { pulumi.Input - ToNetworkInsightsAnalysisExplanationSubnetArrayOutput() NetworkInsightsAnalysisExplanationSubnetArrayOutput - ToNetworkInsightsAnalysisExplanationSubnetArrayOutputWithContext(context.Context) NetworkInsightsAnalysisExplanationSubnetArrayOutput + ToNetworkInsightsAnalysisExplanationInternetGatewayArrayOutput() NetworkInsightsAnalysisExplanationInternetGatewayArrayOutput + ToNetworkInsightsAnalysisExplanationInternetGatewayArrayOutputWithContext(context.Context) NetworkInsightsAnalysisExplanationInternetGatewayArrayOutput } -type NetworkInsightsAnalysisExplanationSubnetArray []NetworkInsightsAnalysisExplanationSubnetInput +type NetworkInsightsAnalysisExplanationInternetGatewayArray []NetworkInsightsAnalysisExplanationInternetGatewayInput -func (NetworkInsightsAnalysisExplanationSubnetArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]NetworkInsightsAnalysisExplanationSubnet)(nil)).Elem() +func (NetworkInsightsAnalysisExplanationInternetGatewayArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkInsightsAnalysisExplanationInternetGateway)(nil)).Elem() } -func (i NetworkInsightsAnalysisExplanationSubnetArray) ToNetworkInsightsAnalysisExplanationSubnetArrayOutput() NetworkInsightsAnalysisExplanationSubnetArrayOutput { - return i.ToNetworkInsightsAnalysisExplanationSubnetArrayOutputWithContext(context.Background()) +func (i NetworkInsightsAnalysisExplanationInternetGatewayArray) ToNetworkInsightsAnalysisExplanationInternetGatewayArrayOutput() NetworkInsightsAnalysisExplanationInternetGatewayArrayOutput { + return i.ToNetworkInsightsAnalysisExplanationInternetGatewayArrayOutputWithContext(context.Background()) } -func (i NetworkInsightsAnalysisExplanationSubnetArray) ToNetworkInsightsAnalysisExplanationSubnetArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationSubnetArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisExplanationSubnetArrayOutput) +func (i NetworkInsightsAnalysisExplanationInternetGatewayArray) ToNetworkInsightsAnalysisExplanationInternetGatewayArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationInternetGatewayArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisExplanationInternetGatewayArrayOutput) } -type NetworkInsightsAnalysisExplanationSubnetOutput struct{ *pulumi.OutputState } +type NetworkInsightsAnalysisExplanationInternetGatewayOutput struct{ *pulumi.OutputState } -func (NetworkInsightsAnalysisExplanationSubnetOutput) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkInsightsAnalysisExplanationSubnet)(nil)).Elem() +func (NetworkInsightsAnalysisExplanationInternetGatewayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInsightsAnalysisExplanationInternetGateway)(nil)).Elem() } -func (o NetworkInsightsAnalysisExplanationSubnetOutput) ToNetworkInsightsAnalysisExplanationSubnetOutput() NetworkInsightsAnalysisExplanationSubnetOutput { +func (o NetworkInsightsAnalysisExplanationInternetGatewayOutput) ToNetworkInsightsAnalysisExplanationInternetGatewayOutput() NetworkInsightsAnalysisExplanationInternetGatewayOutput { return o } -func (o NetworkInsightsAnalysisExplanationSubnetOutput) ToNetworkInsightsAnalysisExplanationSubnetOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationSubnetOutput { +func (o NetworkInsightsAnalysisExplanationInternetGatewayOutput) ToNetworkInsightsAnalysisExplanationInternetGatewayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationInternetGatewayOutput { return o } // ARN of the Network Insights Analysis. -func (o NetworkInsightsAnalysisExplanationSubnetOutput) Arn() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisExplanationSubnet) *string { return v.Arn }).(pulumi.StringPtrOutput) +func (o NetworkInsightsAnalysisExplanationInternetGatewayOutput) Arn() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisExplanationInternetGateway) *string { return v.Arn }).(pulumi.StringPtrOutput) } // ID of the Network Insights Analysis. -func (o NetworkInsightsAnalysisExplanationSubnetOutput) Id() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisExplanationSubnet) *string { return v.Id }).(pulumi.StringPtrOutput) +func (o NetworkInsightsAnalysisExplanationInternetGatewayOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisExplanationInternetGateway) *string { return v.Id }).(pulumi.StringPtrOutput) } -func (o NetworkInsightsAnalysisExplanationSubnetOutput) Name() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisExplanationSubnet) *string { return v.Name }).(pulumi.StringPtrOutput) +func (o NetworkInsightsAnalysisExplanationInternetGatewayOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisExplanationInternetGateway) *string { return v.Name }).(pulumi.StringPtrOutput) } -type NetworkInsightsAnalysisExplanationSubnetArrayOutput struct{ *pulumi.OutputState } +type NetworkInsightsAnalysisExplanationInternetGatewayArrayOutput struct{ *pulumi.OutputState } -func (NetworkInsightsAnalysisExplanationSubnetArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]NetworkInsightsAnalysisExplanationSubnet)(nil)).Elem() +func (NetworkInsightsAnalysisExplanationInternetGatewayArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkInsightsAnalysisExplanationInternetGateway)(nil)).Elem() } -func (o NetworkInsightsAnalysisExplanationSubnetArrayOutput) ToNetworkInsightsAnalysisExplanationSubnetArrayOutput() NetworkInsightsAnalysisExplanationSubnetArrayOutput { +func (o NetworkInsightsAnalysisExplanationInternetGatewayArrayOutput) ToNetworkInsightsAnalysisExplanationInternetGatewayArrayOutput() NetworkInsightsAnalysisExplanationInternetGatewayArrayOutput { return o } -func (o NetworkInsightsAnalysisExplanationSubnetArrayOutput) ToNetworkInsightsAnalysisExplanationSubnetArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationSubnetArrayOutput { +func (o NetworkInsightsAnalysisExplanationInternetGatewayArrayOutput) ToNetworkInsightsAnalysisExplanationInternetGatewayArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationInternetGatewayArrayOutput { return o } -func (o NetworkInsightsAnalysisExplanationSubnetArrayOutput) Index(i pulumi.IntInput) NetworkInsightsAnalysisExplanationSubnetOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkInsightsAnalysisExplanationSubnet { - return vs[0].([]NetworkInsightsAnalysisExplanationSubnet)[vs[1].(int)] - }).(NetworkInsightsAnalysisExplanationSubnetOutput) +func (o NetworkInsightsAnalysisExplanationInternetGatewayArrayOutput) Index(i pulumi.IntInput) NetworkInsightsAnalysisExplanationInternetGatewayOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkInsightsAnalysisExplanationInternetGateway { + return vs[0].([]NetworkInsightsAnalysisExplanationInternetGateway)[vs[1].(int)] + }).(NetworkInsightsAnalysisExplanationInternetGatewayOutput) } -type NetworkInsightsAnalysisExplanationSubnetRouteTable struct { +type NetworkInsightsAnalysisExplanationLoadBalancerTargetGroup struct { // ARN of the Network Insights Analysis. Arn *string `pulumi:"arn"` // ID of the Network Insights Analysis. @@ -19838,18 +20439,18 @@ type NetworkInsightsAnalysisExplanationSubnetRouteTable struct { Name *string `pulumi:"name"` } -// NetworkInsightsAnalysisExplanationSubnetRouteTableInput is an input type that accepts NetworkInsightsAnalysisExplanationSubnetRouteTableArgs and NetworkInsightsAnalysisExplanationSubnetRouteTableOutput values. -// You can construct a concrete instance of `NetworkInsightsAnalysisExplanationSubnetRouteTableInput` via: +// NetworkInsightsAnalysisExplanationLoadBalancerTargetGroupInput is an input type that accepts NetworkInsightsAnalysisExplanationLoadBalancerTargetGroupArgs and NetworkInsightsAnalysisExplanationLoadBalancerTargetGroupOutput values. +// You can construct a concrete instance of `NetworkInsightsAnalysisExplanationLoadBalancerTargetGroupInput` via: // -// NetworkInsightsAnalysisExplanationSubnetRouteTableArgs{...} -type NetworkInsightsAnalysisExplanationSubnetRouteTableInput interface { +// NetworkInsightsAnalysisExplanationLoadBalancerTargetGroupArgs{...} +type NetworkInsightsAnalysisExplanationLoadBalancerTargetGroupInput interface { pulumi.Input - ToNetworkInsightsAnalysisExplanationSubnetRouteTableOutput() NetworkInsightsAnalysisExplanationSubnetRouteTableOutput - ToNetworkInsightsAnalysisExplanationSubnetRouteTableOutputWithContext(context.Context) NetworkInsightsAnalysisExplanationSubnetRouteTableOutput + ToNetworkInsightsAnalysisExplanationLoadBalancerTargetGroupOutput() NetworkInsightsAnalysisExplanationLoadBalancerTargetGroupOutput + ToNetworkInsightsAnalysisExplanationLoadBalancerTargetGroupOutputWithContext(context.Context) NetworkInsightsAnalysisExplanationLoadBalancerTargetGroupOutput } -type NetworkInsightsAnalysisExplanationSubnetRouteTableArgs struct { +type NetworkInsightsAnalysisExplanationLoadBalancerTargetGroupArgs struct { // ARN of the Network Insights Analysis. Arn pulumi.StringPtrInput `pulumi:"arn"` // ID of the Network Insights Analysis. @@ -19857,92 +20458,92 @@ type NetworkInsightsAnalysisExplanationSubnetRouteTableArgs struct { Name pulumi.StringPtrInput `pulumi:"name"` } -func (NetworkInsightsAnalysisExplanationSubnetRouteTableArgs) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkInsightsAnalysisExplanationSubnetRouteTable)(nil)).Elem() +func (NetworkInsightsAnalysisExplanationLoadBalancerTargetGroupArgs) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInsightsAnalysisExplanationLoadBalancerTargetGroup)(nil)).Elem() } -func (i NetworkInsightsAnalysisExplanationSubnetRouteTableArgs) ToNetworkInsightsAnalysisExplanationSubnetRouteTableOutput() NetworkInsightsAnalysisExplanationSubnetRouteTableOutput { - return i.ToNetworkInsightsAnalysisExplanationSubnetRouteTableOutputWithContext(context.Background()) +func (i NetworkInsightsAnalysisExplanationLoadBalancerTargetGroupArgs) ToNetworkInsightsAnalysisExplanationLoadBalancerTargetGroupOutput() NetworkInsightsAnalysisExplanationLoadBalancerTargetGroupOutput { + return i.ToNetworkInsightsAnalysisExplanationLoadBalancerTargetGroupOutputWithContext(context.Background()) } -func (i NetworkInsightsAnalysisExplanationSubnetRouteTableArgs) ToNetworkInsightsAnalysisExplanationSubnetRouteTableOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationSubnetRouteTableOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisExplanationSubnetRouteTableOutput) +func (i NetworkInsightsAnalysisExplanationLoadBalancerTargetGroupArgs) ToNetworkInsightsAnalysisExplanationLoadBalancerTargetGroupOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationLoadBalancerTargetGroupOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisExplanationLoadBalancerTargetGroupOutput) } -// NetworkInsightsAnalysisExplanationSubnetRouteTableArrayInput is an input type that accepts NetworkInsightsAnalysisExplanationSubnetRouteTableArray and NetworkInsightsAnalysisExplanationSubnetRouteTableArrayOutput values. -// You can construct a concrete instance of `NetworkInsightsAnalysisExplanationSubnetRouteTableArrayInput` via: +// NetworkInsightsAnalysisExplanationLoadBalancerTargetGroupArrayInput is an input type that accepts NetworkInsightsAnalysisExplanationLoadBalancerTargetGroupArray and NetworkInsightsAnalysisExplanationLoadBalancerTargetGroupArrayOutput values. +// You can construct a concrete instance of `NetworkInsightsAnalysisExplanationLoadBalancerTargetGroupArrayInput` via: // -// NetworkInsightsAnalysisExplanationSubnetRouteTableArray{ NetworkInsightsAnalysisExplanationSubnetRouteTableArgs{...} } -type NetworkInsightsAnalysisExplanationSubnetRouteTableArrayInput interface { +// NetworkInsightsAnalysisExplanationLoadBalancerTargetGroupArray{ NetworkInsightsAnalysisExplanationLoadBalancerTargetGroupArgs{...} } +type NetworkInsightsAnalysisExplanationLoadBalancerTargetGroupArrayInput interface { pulumi.Input - ToNetworkInsightsAnalysisExplanationSubnetRouteTableArrayOutput() NetworkInsightsAnalysisExplanationSubnetRouteTableArrayOutput - ToNetworkInsightsAnalysisExplanationSubnetRouteTableArrayOutputWithContext(context.Context) NetworkInsightsAnalysisExplanationSubnetRouteTableArrayOutput + ToNetworkInsightsAnalysisExplanationLoadBalancerTargetGroupArrayOutput() NetworkInsightsAnalysisExplanationLoadBalancerTargetGroupArrayOutput + ToNetworkInsightsAnalysisExplanationLoadBalancerTargetGroupArrayOutputWithContext(context.Context) NetworkInsightsAnalysisExplanationLoadBalancerTargetGroupArrayOutput } -type NetworkInsightsAnalysisExplanationSubnetRouteTableArray []NetworkInsightsAnalysisExplanationSubnetRouteTableInput +type NetworkInsightsAnalysisExplanationLoadBalancerTargetGroupArray []NetworkInsightsAnalysisExplanationLoadBalancerTargetGroupInput -func (NetworkInsightsAnalysisExplanationSubnetRouteTableArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]NetworkInsightsAnalysisExplanationSubnetRouteTable)(nil)).Elem() +func (NetworkInsightsAnalysisExplanationLoadBalancerTargetGroupArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkInsightsAnalysisExplanationLoadBalancerTargetGroup)(nil)).Elem() } -func (i NetworkInsightsAnalysisExplanationSubnetRouteTableArray) ToNetworkInsightsAnalysisExplanationSubnetRouteTableArrayOutput() NetworkInsightsAnalysisExplanationSubnetRouteTableArrayOutput { - return i.ToNetworkInsightsAnalysisExplanationSubnetRouteTableArrayOutputWithContext(context.Background()) +func (i NetworkInsightsAnalysisExplanationLoadBalancerTargetGroupArray) ToNetworkInsightsAnalysisExplanationLoadBalancerTargetGroupArrayOutput() NetworkInsightsAnalysisExplanationLoadBalancerTargetGroupArrayOutput { + return i.ToNetworkInsightsAnalysisExplanationLoadBalancerTargetGroupArrayOutputWithContext(context.Background()) } -func (i NetworkInsightsAnalysisExplanationSubnetRouteTableArray) ToNetworkInsightsAnalysisExplanationSubnetRouteTableArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationSubnetRouteTableArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisExplanationSubnetRouteTableArrayOutput) +func (i NetworkInsightsAnalysisExplanationLoadBalancerTargetGroupArray) ToNetworkInsightsAnalysisExplanationLoadBalancerTargetGroupArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationLoadBalancerTargetGroupArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisExplanationLoadBalancerTargetGroupArrayOutput) } -type NetworkInsightsAnalysisExplanationSubnetRouteTableOutput struct{ *pulumi.OutputState } +type NetworkInsightsAnalysisExplanationLoadBalancerTargetGroupOutput struct{ *pulumi.OutputState } -func (NetworkInsightsAnalysisExplanationSubnetRouteTableOutput) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkInsightsAnalysisExplanationSubnetRouteTable)(nil)).Elem() +func (NetworkInsightsAnalysisExplanationLoadBalancerTargetGroupOutput) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInsightsAnalysisExplanationLoadBalancerTargetGroup)(nil)).Elem() } -func (o NetworkInsightsAnalysisExplanationSubnetRouteTableOutput) ToNetworkInsightsAnalysisExplanationSubnetRouteTableOutput() NetworkInsightsAnalysisExplanationSubnetRouteTableOutput { +func (o NetworkInsightsAnalysisExplanationLoadBalancerTargetGroupOutput) ToNetworkInsightsAnalysisExplanationLoadBalancerTargetGroupOutput() NetworkInsightsAnalysisExplanationLoadBalancerTargetGroupOutput { return o } -func (o NetworkInsightsAnalysisExplanationSubnetRouteTableOutput) ToNetworkInsightsAnalysisExplanationSubnetRouteTableOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationSubnetRouteTableOutput { +func (o NetworkInsightsAnalysisExplanationLoadBalancerTargetGroupOutput) ToNetworkInsightsAnalysisExplanationLoadBalancerTargetGroupOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationLoadBalancerTargetGroupOutput { return o } // ARN of the Network Insights Analysis. -func (o NetworkInsightsAnalysisExplanationSubnetRouteTableOutput) Arn() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisExplanationSubnetRouteTable) *string { return v.Arn }).(pulumi.StringPtrOutput) +func (o NetworkInsightsAnalysisExplanationLoadBalancerTargetGroupOutput) Arn() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisExplanationLoadBalancerTargetGroup) *string { return v.Arn }).(pulumi.StringPtrOutput) } // ID of the Network Insights Analysis. -func (o NetworkInsightsAnalysisExplanationSubnetRouteTableOutput) Id() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisExplanationSubnetRouteTable) *string { return v.Id }).(pulumi.StringPtrOutput) +func (o NetworkInsightsAnalysisExplanationLoadBalancerTargetGroupOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisExplanationLoadBalancerTargetGroup) *string { return v.Id }).(pulumi.StringPtrOutput) } -func (o NetworkInsightsAnalysisExplanationSubnetRouteTableOutput) Name() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisExplanationSubnetRouteTable) *string { return v.Name }).(pulumi.StringPtrOutput) +func (o NetworkInsightsAnalysisExplanationLoadBalancerTargetGroupOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisExplanationLoadBalancerTargetGroup) *string { return v.Name }).(pulumi.StringPtrOutput) } -type NetworkInsightsAnalysisExplanationSubnetRouteTableArrayOutput struct{ *pulumi.OutputState } +type NetworkInsightsAnalysisExplanationLoadBalancerTargetGroupArrayOutput struct{ *pulumi.OutputState } -func (NetworkInsightsAnalysisExplanationSubnetRouteTableArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]NetworkInsightsAnalysisExplanationSubnetRouteTable)(nil)).Elem() +func (NetworkInsightsAnalysisExplanationLoadBalancerTargetGroupArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkInsightsAnalysisExplanationLoadBalancerTargetGroup)(nil)).Elem() } -func (o NetworkInsightsAnalysisExplanationSubnetRouteTableArrayOutput) ToNetworkInsightsAnalysisExplanationSubnetRouteTableArrayOutput() NetworkInsightsAnalysisExplanationSubnetRouteTableArrayOutput { +func (o NetworkInsightsAnalysisExplanationLoadBalancerTargetGroupArrayOutput) ToNetworkInsightsAnalysisExplanationLoadBalancerTargetGroupArrayOutput() NetworkInsightsAnalysisExplanationLoadBalancerTargetGroupArrayOutput { return o } -func (o NetworkInsightsAnalysisExplanationSubnetRouteTableArrayOutput) ToNetworkInsightsAnalysisExplanationSubnetRouteTableArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationSubnetRouteTableArrayOutput { +func (o NetworkInsightsAnalysisExplanationLoadBalancerTargetGroupArrayOutput) ToNetworkInsightsAnalysisExplanationLoadBalancerTargetGroupArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationLoadBalancerTargetGroupArrayOutput { return o } -func (o NetworkInsightsAnalysisExplanationSubnetRouteTableArrayOutput) Index(i pulumi.IntInput) NetworkInsightsAnalysisExplanationSubnetRouteTableOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkInsightsAnalysisExplanationSubnetRouteTable { - return vs[0].([]NetworkInsightsAnalysisExplanationSubnetRouteTable)[vs[1].(int)] - }).(NetworkInsightsAnalysisExplanationSubnetRouteTableOutput) +func (o NetworkInsightsAnalysisExplanationLoadBalancerTargetGroupArrayOutput) Index(i pulumi.IntInput) NetworkInsightsAnalysisExplanationLoadBalancerTargetGroupOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkInsightsAnalysisExplanationLoadBalancerTargetGroup { + return vs[0].([]NetworkInsightsAnalysisExplanationLoadBalancerTargetGroup)[vs[1].(int)] + }).(NetworkInsightsAnalysisExplanationLoadBalancerTargetGroupOutput) } -type NetworkInsightsAnalysisExplanationTransitGateway struct { +type NetworkInsightsAnalysisExplanationNatGateway struct { // ARN of the Network Insights Analysis. Arn *string `pulumi:"arn"` // ID of the Network Insights Analysis. @@ -19950,18 +20551,18 @@ type NetworkInsightsAnalysisExplanationTransitGateway struct { Name *string `pulumi:"name"` } -// NetworkInsightsAnalysisExplanationTransitGatewayInput is an input type that accepts NetworkInsightsAnalysisExplanationTransitGatewayArgs and NetworkInsightsAnalysisExplanationTransitGatewayOutput values. -// You can construct a concrete instance of `NetworkInsightsAnalysisExplanationTransitGatewayInput` via: +// NetworkInsightsAnalysisExplanationNatGatewayInput is an input type that accepts NetworkInsightsAnalysisExplanationNatGatewayArgs and NetworkInsightsAnalysisExplanationNatGatewayOutput values. +// You can construct a concrete instance of `NetworkInsightsAnalysisExplanationNatGatewayInput` via: // -// NetworkInsightsAnalysisExplanationTransitGatewayArgs{...} -type NetworkInsightsAnalysisExplanationTransitGatewayInput interface { +// NetworkInsightsAnalysisExplanationNatGatewayArgs{...} +type NetworkInsightsAnalysisExplanationNatGatewayInput interface { pulumi.Input - ToNetworkInsightsAnalysisExplanationTransitGatewayOutput() NetworkInsightsAnalysisExplanationTransitGatewayOutput - ToNetworkInsightsAnalysisExplanationTransitGatewayOutputWithContext(context.Context) NetworkInsightsAnalysisExplanationTransitGatewayOutput + ToNetworkInsightsAnalysisExplanationNatGatewayOutput() NetworkInsightsAnalysisExplanationNatGatewayOutput + ToNetworkInsightsAnalysisExplanationNatGatewayOutputWithContext(context.Context) NetworkInsightsAnalysisExplanationNatGatewayOutput } -type NetworkInsightsAnalysisExplanationTransitGatewayArgs struct { +type NetworkInsightsAnalysisExplanationNatGatewayArgs struct { // ARN of the Network Insights Analysis. Arn pulumi.StringPtrInput `pulumi:"arn"` // ID of the Network Insights Analysis. @@ -19969,92 +20570,92 @@ type NetworkInsightsAnalysisExplanationTransitGatewayArgs struct { Name pulumi.StringPtrInput `pulumi:"name"` } -func (NetworkInsightsAnalysisExplanationTransitGatewayArgs) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkInsightsAnalysisExplanationTransitGateway)(nil)).Elem() +func (NetworkInsightsAnalysisExplanationNatGatewayArgs) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInsightsAnalysisExplanationNatGateway)(nil)).Elem() } -func (i NetworkInsightsAnalysisExplanationTransitGatewayArgs) ToNetworkInsightsAnalysisExplanationTransitGatewayOutput() NetworkInsightsAnalysisExplanationTransitGatewayOutput { - return i.ToNetworkInsightsAnalysisExplanationTransitGatewayOutputWithContext(context.Background()) +func (i NetworkInsightsAnalysisExplanationNatGatewayArgs) ToNetworkInsightsAnalysisExplanationNatGatewayOutput() NetworkInsightsAnalysisExplanationNatGatewayOutput { + return i.ToNetworkInsightsAnalysisExplanationNatGatewayOutputWithContext(context.Background()) } -func (i NetworkInsightsAnalysisExplanationTransitGatewayArgs) ToNetworkInsightsAnalysisExplanationTransitGatewayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationTransitGatewayOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisExplanationTransitGatewayOutput) +func (i NetworkInsightsAnalysisExplanationNatGatewayArgs) ToNetworkInsightsAnalysisExplanationNatGatewayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationNatGatewayOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisExplanationNatGatewayOutput) } -// NetworkInsightsAnalysisExplanationTransitGatewayArrayInput is an input type that accepts NetworkInsightsAnalysisExplanationTransitGatewayArray and NetworkInsightsAnalysisExplanationTransitGatewayArrayOutput values. -// You can construct a concrete instance of `NetworkInsightsAnalysisExplanationTransitGatewayArrayInput` via: +// NetworkInsightsAnalysisExplanationNatGatewayArrayInput is an input type that accepts NetworkInsightsAnalysisExplanationNatGatewayArray and NetworkInsightsAnalysisExplanationNatGatewayArrayOutput values. +// You can construct a concrete instance of `NetworkInsightsAnalysisExplanationNatGatewayArrayInput` via: // -// NetworkInsightsAnalysisExplanationTransitGatewayArray{ NetworkInsightsAnalysisExplanationTransitGatewayArgs{...} } -type NetworkInsightsAnalysisExplanationTransitGatewayArrayInput interface { +// NetworkInsightsAnalysisExplanationNatGatewayArray{ NetworkInsightsAnalysisExplanationNatGatewayArgs{...} } +type NetworkInsightsAnalysisExplanationNatGatewayArrayInput interface { pulumi.Input - ToNetworkInsightsAnalysisExplanationTransitGatewayArrayOutput() NetworkInsightsAnalysisExplanationTransitGatewayArrayOutput - ToNetworkInsightsAnalysisExplanationTransitGatewayArrayOutputWithContext(context.Context) NetworkInsightsAnalysisExplanationTransitGatewayArrayOutput + ToNetworkInsightsAnalysisExplanationNatGatewayArrayOutput() NetworkInsightsAnalysisExplanationNatGatewayArrayOutput + ToNetworkInsightsAnalysisExplanationNatGatewayArrayOutputWithContext(context.Context) NetworkInsightsAnalysisExplanationNatGatewayArrayOutput } -type NetworkInsightsAnalysisExplanationTransitGatewayArray []NetworkInsightsAnalysisExplanationTransitGatewayInput +type NetworkInsightsAnalysisExplanationNatGatewayArray []NetworkInsightsAnalysisExplanationNatGatewayInput -func (NetworkInsightsAnalysisExplanationTransitGatewayArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]NetworkInsightsAnalysisExplanationTransitGateway)(nil)).Elem() +func (NetworkInsightsAnalysisExplanationNatGatewayArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkInsightsAnalysisExplanationNatGateway)(nil)).Elem() } -func (i NetworkInsightsAnalysisExplanationTransitGatewayArray) ToNetworkInsightsAnalysisExplanationTransitGatewayArrayOutput() NetworkInsightsAnalysisExplanationTransitGatewayArrayOutput { - return i.ToNetworkInsightsAnalysisExplanationTransitGatewayArrayOutputWithContext(context.Background()) +func (i NetworkInsightsAnalysisExplanationNatGatewayArray) ToNetworkInsightsAnalysisExplanationNatGatewayArrayOutput() NetworkInsightsAnalysisExplanationNatGatewayArrayOutput { + return i.ToNetworkInsightsAnalysisExplanationNatGatewayArrayOutputWithContext(context.Background()) } -func (i NetworkInsightsAnalysisExplanationTransitGatewayArray) ToNetworkInsightsAnalysisExplanationTransitGatewayArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationTransitGatewayArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisExplanationTransitGatewayArrayOutput) +func (i NetworkInsightsAnalysisExplanationNatGatewayArray) ToNetworkInsightsAnalysisExplanationNatGatewayArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationNatGatewayArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisExplanationNatGatewayArrayOutput) } -type NetworkInsightsAnalysisExplanationTransitGatewayOutput struct{ *pulumi.OutputState } +type NetworkInsightsAnalysisExplanationNatGatewayOutput struct{ *pulumi.OutputState } -func (NetworkInsightsAnalysisExplanationTransitGatewayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkInsightsAnalysisExplanationTransitGateway)(nil)).Elem() +func (NetworkInsightsAnalysisExplanationNatGatewayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInsightsAnalysisExplanationNatGateway)(nil)).Elem() } -func (o NetworkInsightsAnalysisExplanationTransitGatewayOutput) ToNetworkInsightsAnalysisExplanationTransitGatewayOutput() NetworkInsightsAnalysisExplanationTransitGatewayOutput { +func (o NetworkInsightsAnalysisExplanationNatGatewayOutput) ToNetworkInsightsAnalysisExplanationNatGatewayOutput() NetworkInsightsAnalysisExplanationNatGatewayOutput { return o } -func (o NetworkInsightsAnalysisExplanationTransitGatewayOutput) ToNetworkInsightsAnalysisExplanationTransitGatewayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationTransitGatewayOutput { +func (o NetworkInsightsAnalysisExplanationNatGatewayOutput) ToNetworkInsightsAnalysisExplanationNatGatewayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationNatGatewayOutput { return o } // ARN of the Network Insights Analysis. -func (o NetworkInsightsAnalysisExplanationTransitGatewayOutput) Arn() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisExplanationTransitGateway) *string { return v.Arn }).(pulumi.StringPtrOutput) +func (o NetworkInsightsAnalysisExplanationNatGatewayOutput) Arn() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisExplanationNatGateway) *string { return v.Arn }).(pulumi.StringPtrOutput) } // ID of the Network Insights Analysis. -func (o NetworkInsightsAnalysisExplanationTransitGatewayOutput) Id() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisExplanationTransitGateway) *string { return v.Id }).(pulumi.StringPtrOutput) +func (o NetworkInsightsAnalysisExplanationNatGatewayOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisExplanationNatGateway) *string { return v.Id }).(pulumi.StringPtrOutput) } -func (o NetworkInsightsAnalysisExplanationTransitGatewayOutput) Name() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisExplanationTransitGateway) *string { return v.Name }).(pulumi.StringPtrOutput) +func (o NetworkInsightsAnalysisExplanationNatGatewayOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisExplanationNatGateway) *string { return v.Name }).(pulumi.StringPtrOutput) } -type NetworkInsightsAnalysisExplanationTransitGatewayArrayOutput struct{ *pulumi.OutputState } +type NetworkInsightsAnalysisExplanationNatGatewayArrayOutput struct{ *pulumi.OutputState } -func (NetworkInsightsAnalysisExplanationTransitGatewayArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]NetworkInsightsAnalysisExplanationTransitGateway)(nil)).Elem() +func (NetworkInsightsAnalysisExplanationNatGatewayArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkInsightsAnalysisExplanationNatGateway)(nil)).Elem() } -func (o NetworkInsightsAnalysisExplanationTransitGatewayArrayOutput) ToNetworkInsightsAnalysisExplanationTransitGatewayArrayOutput() NetworkInsightsAnalysisExplanationTransitGatewayArrayOutput { +func (o NetworkInsightsAnalysisExplanationNatGatewayArrayOutput) ToNetworkInsightsAnalysisExplanationNatGatewayArrayOutput() NetworkInsightsAnalysisExplanationNatGatewayArrayOutput { return o } -func (o NetworkInsightsAnalysisExplanationTransitGatewayArrayOutput) ToNetworkInsightsAnalysisExplanationTransitGatewayArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationTransitGatewayArrayOutput { +func (o NetworkInsightsAnalysisExplanationNatGatewayArrayOutput) ToNetworkInsightsAnalysisExplanationNatGatewayArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationNatGatewayArrayOutput { return o } -func (o NetworkInsightsAnalysisExplanationTransitGatewayArrayOutput) Index(i pulumi.IntInput) NetworkInsightsAnalysisExplanationTransitGatewayOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkInsightsAnalysisExplanationTransitGateway { - return vs[0].([]NetworkInsightsAnalysisExplanationTransitGateway)[vs[1].(int)] - }).(NetworkInsightsAnalysisExplanationTransitGatewayOutput) +func (o NetworkInsightsAnalysisExplanationNatGatewayArrayOutput) Index(i pulumi.IntInput) NetworkInsightsAnalysisExplanationNatGatewayOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkInsightsAnalysisExplanationNatGateway { + return vs[0].([]NetworkInsightsAnalysisExplanationNatGateway)[vs[1].(int)] + }).(NetworkInsightsAnalysisExplanationNatGatewayOutput) } -type NetworkInsightsAnalysisExplanationTransitGatewayAttachment struct { +type NetworkInsightsAnalysisExplanationNetworkInterface struct { // ARN of the Network Insights Analysis. Arn *string `pulumi:"arn"` // ID of the Network Insights Analysis. @@ -20062,18 +20663,18 @@ type NetworkInsightsAnalysisExplanationTransitGatewayAttachment struct { Name *string `pulumi:"name"` } -// NetworkInsightsAnalysisExplanationTransitGatewayAttachmentInput is an input type that accepts NetworkInsightsAnalysisExplanationTransitGatewayAttachmentArgs and NetworkInsightsAnalysisExplanationTransitGatewayAttachmentOutput values. -// You can construct a concrete instance of `NetworkInsightsAnalysisExplanationTransitGatewayAttachmentInput` via: +// NetworkInsightsAnalysisExplanationNetworkInterfaceInput is an input type that accepts NetworkInsightsAnalysisExplanationNetworkInterfaceArgs and NetworkInsightsAnalysisExplanationNetworkInterfaceOutput values. +// You can construct a concrete instance of `NetworkInsightsAnalysisExplanationNetworkInterfaceInput` via: // -// NetworkInsightsAnalysisExplanationTransitGatewayAttachmentArgs{...} -type NetworkInsightsAnalysisExplanationTransitGatewayAttachmentInput interface { +// NetworkInsightsAnalysisExplanationNetworkInterfaceArgs{...} +type NetworkInsightsAnalysisExplanationNetworkInterfaceInput interface { pulumi.Input - ToNetworkInsightsAnalysisExplanationTransitGatewayAttachmentOutput() NetworkInsightsAnalysisExplanationTransitGatewayAttachmentOutput - ToNetworkInsightsAnalysisExplanationTransitGatewayAttachmentOutputWithContext(context.Context) NetworkInsightsAnalysisExplanationTransitGatewayAttachmentOutput + ToNetworkInsightsAnalysisExplanationNetworkInterfaceOutput() NetworkInsightsAnalysisExplanationNetworkInterfaceOutput + ToNetworkInsightsAnalysisExplanationNetworkInterfaceOutputWithContext(context.Context) NetworkInsightsAnalysisExplanationNetworkInterfaceOutput } -type NetworkInsightsAnalysisExplanationTransitGatewayAttachmentArgs struct { +type NetworkInsightsAnalysisExplanationNetworkInterfaceArgs struct { // ARN of the Network Insights Analysis. Arn pulumi.StringPtrInput `pulumi:"arn"` // ID of the Network Insights Analysis. @@ -20081,336 +20682,304 @@ type NetworkInsightsAnalysisExplanationTransitGatewayAttachmentArgs struct { Name pulumi.StringPtrInput `pulumi:"name"` } -func (NetworkInsightsAnalysisExplanationTransitGatewayAttachmentArgs) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkInsightsAnalysisExplanationTransitGatewayAttachment)(nil)).Elem() +func (NetworkInsightsAnalysisExplanationNetworkInterfaceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInsightsAnalysisExplanationNetworkInterface)(nil)).Elem() } -func (i NetworkInsightsAnalysisExplanationTransitGatewayAttachmentArgs) ToNetworkInsightsAnalysisExplanationTransitGatewayAttachmentOutput() NetworkInsightsAnalysisExplanationTransitGatewayAttachmentOutput { - return i.ToNetworkInsightsAnalysisExplanationTransitGatewayAttachmentOutputWithContext(context.Background()) +func (i NetworkInsightsAnalysisExplanationNetworkInterfaceArgs) ToNetworkInsightsAnalysisExplanationNetworkInterfaceOutput() NetworkInsightsAnalysisExplanationNetworkInterfaceOutput { + return i.ToNetworkInsightsAnalysisExplanationNetworkInterfaceOutputWithContext(context.Background()) } -func (i NetworkInsightsAnalysisExplanationTransitGatewayAttachmentArgs) ToNetworkInsightsAnalysisExplanationTransitGatewayAttachmentOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationTransitGatewayAttachmentOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisExplanationTransitGatewayAttachmentOutput) +func (i NetworkInsightsAnalysisExplanationNetworkInterfaceArgs) ToNetworkInsightsAnalysisExplanationNetworkInterfaceOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationNetworkInterfaceOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisExplanationNetworkInterfaceOutput) } -// NetworkInsightsAnalysisExplanationTransitGatewayAttachmentArrayInput is an input type that accepts NetworkInsightsAnalysisExplanationTransitGatewayAttachmentArray and NetworkInsightsAnalysisExplanationTransitGatewayAttachmentArrayOutput values. -// You can construct a concrete instance of `NetworkInsightsAnalysisExplanationTransitGatewayAttachmentArrayInput` via: +// NetworkInsightsAnalysisExplanationNetworkInterfaceArrayInput is an input type that accepts NetworkInsightsAnalysisExplanationNetworkInterfaceArray and NetworkInsightsAnalysisExplanationNetworkInterfaceArrayOutput values. +// You can construct a concrete instance of `NetworkInsightsAnalysisExplanationNetworkInterfaceArrayInput` via: // -// NetworkInsightsAnalysisExplanationTransitGatewayAttachmentArray{ NetworkInsightsAnalysisExplanationTransitGatewayAttachmentArgs{...} } -type NetworkInsightsAnalysisExplanationTransitGatewayAttachmentArrayInput interface { +// NetworkInsightsAnalysisExplanationNetworkInterfaceArray{ NetworkInsightsAnalysisExplanationNetworkInterfaceArgs{...} } +type NetworkInsightsAnalysisExplanationNetworkInterfaceArrayInput interface { pulumi.Input - ToNetworkInsightsAnalysisExplanationTransitGatewayAttachmentArrayOutput() NetworkInsightsAnalysisExplanationTransitGatewayAttachmentArrayOutput - ToNetworkInsightsAnalysisExplanationTransitGatewayAttachmentArrayOutputWithContext(context.Context) NetworkInsightsAnalysisExplanationTransitGatewayAttachmentArrayOutput + ToNetworkInsightsAnalysisExplanationNetworkInterfaceArrayOutput() NetworkInsightsAnalysisExplanationNetworkInterfaceArrayOutput + ToNetworkInsightsAnalysisExplanationNetworkInterfaceArrayOutputWithContext(context.Context) NetworkInsightsAnalysisExplanationNetworkInterfaceArrayOutput } -type NetworkInsightsAnalysisExplanationTransitGatewayAttachmentArray []NetworkInsightsAnalysisExplanationTransitGatewayAttachmentInput +type NetworkInsightsAnalysisExplanationNetworkInterfaceArray []NetworkInsightsAnalysisExplanationNetworkInterfaceInput -func (NetworkInsightsAnalysisExplanationTransitGatewayAttachmentArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]NetworkInsightsAnalysisExplanationTransitGatewayAttachment)(nil)).Elem() +func (NetworkInsightsAnalysisExplanationNetworkInterfaceArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkInsightsAnalysisExplanationNetworkInterface)(nil)).Elem() } -func (i NetworkInsightsAnalysisExplanationTransitGatewayAttachmentArray) ToNetworkInsightsAnalysisExplanationTransitGatewayAttachmentArrayOutput() NetworkInsightsAnalysisExplanationTransitGatewayAttachmentArrayOutput { - return i.ToNetworkInsightsAnalysisExplanationTransitGatewayAttachmentArrayOutputWithContext(context.Background()) +func (i NetworkInsightsAnalysisExplanationNetworkInterfaceArray) ToNetworkInsightsAnalysisExplanationNetworkInterfaceArrayOutput() NetworkInsightsAnalysisExplanationNetworkInterfaceArrayOutput { + return i.ToNetworkInsightsAnalysisExplanationNetworkInterfaceArrayOutputWithContext(context.Background()) } -func (i NetworkInsightsAnalysisExplanationTransitGatewayAttachmentArray) ToNetworkInsightsAnalysisExplanationTransitGatewayAttachmentArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationTransitGatewayAttachmentArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisExplanationTransitGatewayAttachmentArrayOutput) +func (i NetworkInsightsAnalysisExplanationNetworkInterfaceArray) ToNetworkInsightsAnalysisExplanationNetworkInterfaceArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationNetworkInterfaceArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisExplanationNetworkInterfaceArrayOutput) } -type NetworkInsightsAnalysisExplanationTransitGatewayAttachmentOutput struct{ *pulumi.OutputState } +type NetworkInsightsAnalysisExplanationNetworkInterfaceOutput struct{ *pulumi.OutputState } -func (NetworkInsightsAnalysisExplanationTransitGatewayAttachmentOutput) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkInsightsAnalysisExplanationTransitGatewayAttachment)(nil)).Elem() +func (NetworkInsightsAnalysisExplanationNetworkInterfaceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInsightsAnalysisExplanationNetworkInterface)(nil)).Elem() } -func (o NetworkInsightsAnalysisExplanationTransitGatewayAttachmentOutput) ToNetworkInsightsAnalysisExplanationTransitGatewayAttachmentOutput() NetworkInsightsAnalysisExplanationTransitGatewayAttachmentOutput { +func (o NetworkInsightsAnalysisExplanationNetworkInterfaceOutput) ToNetworkInsightsAnalysisExplanationNetworkInterfaceOutput() NetworkInsightsAnalysisExplanationNetworkInterfaceOutput { return o } -func (o NetworkInsightsAnalysisExplanationTransitGatewayAttachmentOutput) ToNetworkInsightsAnalysisExplanationTransitGatewayAttachmentOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationTransitGatewayAttachmentOutput { +func (o NetworkInsightsAnalysisExplanationNetworkInterfaceOutput) ToNetworkInsightsAnalysisExplanationNetworkInterfaceOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationNetworkInterfaceOutput { return o } // ARN of the Network Insights Analysis. -func (o NetworkInsightsAnalysisExplanationTransitGatewayAttachmentOutput) Arn() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisExplanationTransitGatewayAttachment) *string { return v.Arn }).(pulumi.StringPtrOutput) +func (o NetworkInsightsAnalysisExplanationNetworkInterfaceOutput) Arn() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisExplanationNetworkInterface) *string { return v.Arn }).(pulumi.StringPtrOutput) } // ID of the Network Insights Analysis. -func (o NetworkInsightsAnalysisExplanationTransitGatewayAttachmentOutput) Id() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisExplanationTransitGatewayAttachment) *string { return v.Id }).(pulumi.StringPtrOutput) +func (o NetworkInsightsAnalysisExplanationNetworkInterfaceOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisExplanationNetworkInterface) *string { return v.Id }).(pulumi.StringPtrOutput) } -func (o NetworkInsightsAnalysisExplanationTransitGatewayAttachmentOutput) Name() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisExplanationTransitGatewayAttachment) *string { return v.Name }).(pulumi.StringPtrOutput) +func (o NetworkInsightsAnalysisExplanationNetworkInterfaceOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisExplanationNetworkInterface) *string { return v.Name }).(pulumi.StringPtrOutput) } -type NetworkInsightsAnalysisExplanationTransitGatewayAttachmentArrayOutput struct{ *pulumi.OutputState } +type NetworkInsightsAnalysisExplanationNetworkInterfaceArrayOutput struct{ *pulumi.OutputState } -func (NetworkInsightsAnalysisExplanationTransitGatewayAttachmentArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]NetworkInsightsAnalysisExplanationTransitGatewayAttachment)(nil)).Elem() +func (NetworkInsightsAnalysisExplanationNetworkInterfaceArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkInsightsAnalysisExplanationNetworkInterface)(nil)).Elem() } -func (o NetworkInsightsAnalysisExplanationTransitGatewayAttachmentArrayOutput) ToNetworkInsightsAnalysisExplanationTransitGatewayAttachmentArrayOutput() NetworkInsightsAnalysisExplanationTransitGatewayAttachmentArrayOutput { +func (o NetworkInsightsAnalysisExplanationNetworkInterfaceArrayOutput) ToNetworkInsightsAnalysisExplanationNetworkInterfaceArrayOutput() NetworkInsightsAnalysisExplanationNetworkInterfaceArrayOutput { return o } -func (o NetworkInsightsAnalysisExplanationTransitGatewayAttachmentArrayOutput) ToNetworkInsightsAnalysisExplanationTransitGatewayAttachmentArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationTransitGatewayAttachmentArrayOutput { +func (o NetworkInsightsAnalysisExplanationNetworkInterfaceArrayOutput) ToNetworkInsightsAnalysisExplanationNetworkInterfaceArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationNetworkInterfaceArrayOutput { return o } -func (o NetworkInsightsAnalysisExplanationTransitGatewayAttachmentArrayOutput) Index(i pulumi.IntInput) NetworkInsightsAnalysisExplanationTransitGatewayAttachmentOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkInsightsAnalysisExplanationTransitGatewayAttachment { - return vs[0].([]NetworkInsightsAnalysisExplanationTransitGatewayAttachment)[vs[1].(int)] - }).(NetworkInsightsAnalysisExplanationTransitGatewayAttachmentOutput) +func (o NetworkInsightsAnalysisExplanationNetworkInterfaceArrayOutput) Index(i pulumi.IntInput) NetworkInsightsAnalysisExplanationNetworkInterfaceOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkInsightsAnalysisExplanationNetworkInterface { + return vs[0].([]NetworkInsightsAnalysisExplanationNetworkInterface)[vs[1].(int)] + }).(NetworkInsightsAnalysisExplanationNetworkInterfaceOutput) } -type NetworkInsightsAnalysisExplanationTransitGatewayRouteTable struct { - // ARN of the Network Insights Analysis. - Arn *string `pulumi:"arn"` - // ID of the Network Insights Analysis. - Id *string `pulumi:"id"` - Name *string `pulumi:"name"` +type NetworkInsightsAnalysisExplanationPortRange struct { + From *int `pulumi:"from"` + To *int `pulumi:"to"` } -// NetworkInsightsAnalysisExplanationTransitGatewayRouteTableInput is an input type that accepts NetworkInsightsAnalysisExplanationTransitGatewayRouteTableArgs and NetworkInsightsAnalysisExplanationTransitGatewayRouteTableOutput values. -// You can construct a concrete instance of `NetworkInsightsAnalysisExplanationTransitGatewayRouteTableInput` via: +// NetworkInsightsAnalysisExplanationPortRangeInput is an input type that accepts NetworkInsightsAnalysisExplanationPortRangeArgs and NetworkInsightsAnalysisExplanationPortRangeOutput values. +// You can construct a concrete instance of `NetworkInsightsAnalysisExplanationPortRangeInput` via: // -// NetworkInsightsAnalysisExplanationTransitGatewayRouteTableArgs{...} -type NetworkInsightsAnalysisExplanationTransitGatewayRouteTableInput interface { +// NetworkInsightsAnalysisExplanationPortRangeArgs{...} +type NetworkInsightsAnalysisExplanationPortRangeInput interface { pulumi.Input - ToNetworkInsightsAnalysisExplanationTransitGatewayRouteTableOutput() NetworkInsightsAnalysisExplanationTransitGatewayRouteTableOutput - ToNetworkInsightsAnalysisExplanationTransitGatewayRouteTableOutputWithContext(context.Context) NetworkInsightsAnalysisExplanationTransitGatewayRouteTableOutput + ToNetworkInsightsAnalysisExplanationPortRangeOutput() NetworkInsightsAnalysisExplanationPortRangeOutput + ToNetworkInsightsAnalysisExplanationPortRangeOutputWithContext(context.Context) NetworkInsightsAnalysisExplanationPortRangeOutput } -type NetworkInsightsAnalysisExplanationTransitGatewayRouteTableArgs struct { - // ARN of the Network Insights Analysis. - Arn pulumi.StringPtrInput `pulumi:"arn"` - // ID of the Network Insights Analysis. - Id pulumi.StringPtrInput `pulumi:"id"` - Name pulumi.StringPtrInput `pulumi:"name"` +type NetworkInsightsAnalysisExplanationPortRangeArgs struct { + From pulumi.IntPtrInput `pulumi:"from"` + To pulumi.IntPtrInput `pulumi:"to"` } -func (NetworkInsightsAnalysisExplanationTransitGatewayRouteTableArgs) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkInsightsAnalysisExplanationTransitGatewayRouteTable)(nil)).Elem() +func (NetworkInsightsAnalysisExplanationPortRangeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInsightsAnalysisExplanationPortRange)(nil)).Elem() } -func (i NetworkInsightsAnalysisExplanationTransitGatewayRouteTableArgs) ToNetworkInsightsAnalysisExplanationTransitGatewayRouteTableOutput() NetworkInsightsAnalysisExplanationTransitGatewayRouteTableOutput { - return i.ToNetworkInsightsAnalysisExplanationTransitGatewayRouteTableOutputWithContext(context.Background()) +func (i NetworkInsightsAnalysisExplanationPortRangeArgs) ToNetworkInsightsAnalysisExplanationPortRangeOutput() NetworkInsightsAnalysisExplanationPortRangeOutput { + return i.ToNetworkInsightsAnalysisExplanationPortRangeOutputWithContext(context.Background()) } -func (i NetworkInsightsAnalysisExplanationTransitGatewayRouteTableArgs) ToNetworkInsightsAnalysisExplanationTransitGatewayRouteTableOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationTransitGatewayRouteTableOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisExplanationTransitGatewayRouteTableOutput) +func (i NetworkInsightsAnalysisExplanationPortRangeArgs) ToNetworkInsightsAnalysisExplanationPortRangeOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationPortRangeOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisExplanationPortRangeOutput) } -// NetworkInsightsAnalysisExplanationTransitGatewayRouteTableArrayInput is an input type that accepts NetworkInsightsAnalysisExplanationTransitGatewayRouteTableArray and NetworkInsightsAnalysisExplanationTransitGatewayRouteTableArrayOutput values. -// You can construct a concrete instance of `NetworkInsightsAnalysisExplanationTransitGatewayRouteTableArrayInput` via: +// NetworkInsightsAnalysisExplanationPortRangeArrayInput is an input type that accepts NetworkInsightsAnalysisExplanationPortRangeArray and NetworkInsightsAnalysisExplanationPortRangeArrayOutput values. +// You can construct a concrete instance of `NetworkInsightsAnalysisExplanationPortRangeArrayInput` via: // -// NetworkInsightsAnalysisExplanationTransitGatewayRouteTableArray{ NetworkInsightsAnalysisExplanationTransitGatewayRouteTableArgs{...} } -type NetworkInsightsAnalysisExplanationTransitGatewayRouteTableArrayInput interface { +// NetworkInsightsAnalysisExplanationPortRangeArray{ NetworkInsightsAnalysisExplanationPortRangeArgs{...} } +type NetworkInsightsAnalysisExplanationPortRangeArrayInput interface { pulumi.Input - ToNetworkInsightsAnalysisExplanationTransitGatewayRouteTableArrayOutput() NetworkInsightsAnalysisExplanationTransitGatewayRouteTableArrayOutput - ToNetworkInsightsAnalysisExplanationTransitGatewayRouteTableArrayOutputWithContext(context.Context) NetworkInsightsAnalysisExplanationTransitGatewayRouteTableArrayOutput + ToNetworkInsightsAnalysisExplanationPortRangeArrayOutput() NetworkInsightsAnalysisExplanationPortRangeArrayOutput + ToNetworkInsightsAnalysisExplanationPortRangeArrayOutputWithContext(context.Context) NetworkInsightsAnalysisExplanationPortRangeArrayOutput } -type NetworkInsightsAnalysisExplanationTransitGatewayRouteTableArray []NetworkInsightsAnalysisExplanationTransitGatewayRouteTableInput +type NetworkInsightsAnalysisExplanationPortRangeArray []NetworkInsightsAnalysisExplanationPortRangeInput -func (NetworkInsightsAnalysisExplanationTransitGatewayRouteTableArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]NetworkInsightsAnalysisExplanationTransitGatewayRouteTable)(nil)).Elem() +func (NetworkInsightsAnalysisExplanationPortRangeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkInsightsAnalysisExplanationPortRange)(nil)).Elem() } -func (i NetworkInsightsAnalysisExplanationTransitGatewayRouteTableArray) ToNetworkInsightsAnalysisExplanationTransitGatewayRouteTableArrayOutput() NetworkInsightsAnalysisExplanationTransitGatewayRouteTableArrayOutput { - return i.ToNetworkInsightsAnalysisExplanationTransitGatewayRouteTableArrayOutputWithContext(context.Background()) +func (i NetworkInsightsAnalysisExplanationPortRangeArray) ToNetworkInsightsAnalysisExplanationPortRangeArrayOutput() NetworkInsightsAnalysisExplanationPortRangeArrayOutput { + return i.ToNetworkInsightsAnalysisExplanationPortRangeArrayOutputWithContext(context.Background()) } -func (i NetworkInsightsAnalysisExplanationTransitGatewayRouteTableArray) ToNetworkInsightsAnalysisExplanationTransitGatewayRouteTableArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationTransitGatewayRouteTableArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisExplanationTransitGatewayRouteTableArrayOutput) +func (i NetworkInsightsAnalysisExplanationPortRangeArray) ToNetworkInsightsAnalysisExplanationPortRangeArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationPortRangeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisExplanationPortRangeArrayOutput) } -type NetworkInsightsAnalysisExplanationTransitGatewayRouteTableOutput struct{ *pulumi.OutputState } +type NetworkInsightsAnalysisExplanationPortRangeOutput struct{ *pulumi.OutputState } -func (NetworkInsightsAnalysisExplanationTransitGatewayRouteTableOutput) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkInsightsAnalysisExplanationTransitGatewayRouteTable)(nil)).Elem() +func (NetworkInsightsAnalysisExplanationPortRangeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInsightsAnalysisExplanationPortRange)(nil)).Elem() } -func (o NetworkInsightsAnalysisExplanationTransitGatewayRouteTableOutput) ToNetworkInsightsAnalysisExplanationTransitGatewayRouteTableOutput() NetworkInsightsAnalysisExplanationTransitGatewayRouteTableOutput { +func (o NetworkInsightsAnalysisExplanationPortRangeOutput) ToNetworkInsightsAnalysisExplanationPortRangeOutput() NetworkInsightsAnalysisExplanationPortRangeOutput { return o } -func (o NetworkInsightsAnalysisExplanationTransitGatewayRouteTableOutput) ToNetworkInsightsAnalysisExplanationTransitGatewayRouteTableOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationTransitGatewayRouteTableOutput { +func (o NetworkInsightsAnalysisExplanationPortRangeOutput) ToNetworkInsightsAnalysisExplanationPortRangeOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationPortRangeOutput { return o } -// ARN of the Network Insights Analysis. -func (o NetworkInsightsAnalysisExplanationTransitGatewayRouteTableOutput) Arn() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisExplanationTransitGatewayRouteTable) *string { return v.Arn }).(pulumi.StringPtrOutput) -} - -// ID of the Network Insights Analysis. -func (o NetworkInsightsAnalysisExplanationTransitGatewayRouteTableOutput) Id() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisExplanationTransitGatewayRouteTable) *string { return v.Id }).(pulumi.StringPtrOutput) +func (o NetworkInsightsAnalysisExplanationPortRangeOutput) From() pulumi.IntPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisExplanationPortRange) *int { return v.From }).(pulumi.IntPtrOutput) } -func (o NetworkInsightsAnalysisExplanationTransitGatewayRouteTableOutput) Name() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisExplanationTransitGatewayRouteTable) *string { return v.Name }).(pulumi.StringPtrOutput) +func (o NetworkInsightsAnalysisExplanationPortRangeOutput) To() pulumi.IntPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisExplanationPortRange) *int { return v.To }).(pulumi.IntPtrOutput) } -type NetworkInsightsAnalysisExplanationTransitGatewayRouteTableArrayOutput struct{ *pulumi.OutputState } +type NetworkInsightsAnalysisExplanationPortRangeArrayOutput struct{ *pulumi.OutputState } -func (NetworkInsightsAnalysisExplanationTransitGatewayRouteTableArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]NetworkInsightsAnalysisExplanationTransitGatewayRouteTable)(nil)).Elem() +func (NetworkInsightsAnalysisExplanationPortRangeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkInsightsAnalysisExplanationPortRange)(nil)).Elem() } -func (o NetworkInsightsAnalysisExplanationTransitGatewayRouteTableArrayOutput) ToNetworkInsightsAnalysisExplanationTransitGatewayRouteTableArrayOutput() NetworkInsightsAnalysisExplanationTransitGatewayRouteTableArrayOutput { +func (o NetworkInsightsAnalysisExplanationPortRangeArrayOutput) ToNetworkInsightsAnalysisExplanationPortRangeArrayOutput() NetworkInsightsAnalysisExplanationPortRangeArrayOutput { return o } -func (o NetworkInsightsAnalysisExplanationTransitGatewayRouteTableArrayOutput) ToNetworkInsightsAnalysisExplanationTransitGatewayRouteTableArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationTransitGatewayRouteTableArrayOutput { +func (o NetworkInsightsAnalysisExplanationPortRangeArrayOutput) ToNetworkInsightsAnalysisExplanationPortRangeArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationPortRangeArrayOutput { return o } -func (o NetworkInsightsAnalysisExplanationTransitGatewayRouteTableArrayOutput) Index(i pulumi.IntInput) NetworkInsightsAnalysisExplanationTransitGatewayRouteTableOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkInsightsAnalysisExplanationTransitGatewayRouteTable { - return vs[0].([]NetworkInsightsAnalysisExplanationTransitGatewayRouteTable)[vs[1].(int)] - }).(NetworkInsightsAnalysisExplanationTransitGatewayRouteTableOutput) +func (o NetworkInsightsAnalysisExplanationPortRangeArrayOutput) Index(i pulumi.IntInput) NetworkInsightsAnalysisExplanationPortRangeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkInsightsAnalysisExplanationPortRange { + return vs[0].([]NetworkInsightsAnalysisExplanationPortRange)[vs[1].(int)] + }).(NetworkInsightsAnalysisExplanationPortRangeOutput) } -type NetworkInsightsAnalysisExplanationTransitGatewayRouteTableRoute struct { - AttachmentId *string `pulumi:"attachmentId"` - DestinationCidr *string `pulumi:"destinationCidr"` - PrefixListId *string `pulumi:"prefixListId"` - ResourceId *string `pulumi:"resourceId"` - ResourceType *string `pulumi:"resourceType"` - RouteOrigin *string `pulumi:"routeOrigin"` - State *string `pulumi:"state"` +type NetworkInsightsAnalysisExplanationPrefixList struct { + // ARN of the Network Insights Analysis. + Arn *string `pulumi:"arn"` + // ID of the Network Insights Analysis. + Id *string `pulumi:"id"` + Name *string `pulumi:"name"` } -// NetworkInsightsAnalysisExplanationTransitGatewayRouteTableRouteInput is an input type that accepts NetworkInsightsAnalysisExplanationTransitGatewayRouteTableRouteArgs and NetworkInsightsAnalysisExplanationTransitGatewayRouteTableRouteOutput values. -// You can construct a concrete instance of `NetworkInsightsAnalysisExplanationTransitGatewayRouteTableRouteInput` via: +// NetworkInsightsAnalysisExplanationPrefixListInput is an input type that accepts NetworkInsightsAnalysisExplanationPrefixListArgs and NetworkInsightsAnalysisExplanationPrefixListOutput values. +// You can construct a concrete instance of `NetworkInsightsAnalysisExplanationPrefixListInput` via: // -// NetworkInsightsAnalysisExplanationTransitGatewayRouteTableRouteArgs{...} -type NetworkInsightsAnalysisExplanationTransitGatewayRouteTableRouteInput interface { +// NetworkInsightsAnalysisExplanationPrefixListArgs{...} +type NetworkInsightsAnalysisExplanationPrefixListInput interface { pulumi.Input - ToNetworkInsightsAnalysisExplanationTransitGatewayRouteTableRouteOutput() NetworkInsightsAnalysisExplanationTransitGatewayRouteTableRouteOutput - ToNetworkInsightsAnalysisExplanationTransitGatewayRouteTableRouteOutputWithContext(context.Context) NetworkInsightsAnalysisExplanationTransitGatewayRouteTableRouteOutput + ToNetworkInsightsAnalysisExplanationPrefixListOutput() NetworkInsightsAnalysisExplanationPrefixListOutput + ToNetworkInsightsAnalysisExplanationPrefixListOutputWithContext(context.Context) NetworkInsightsAnalysisExplanationPrefixListOutput } -type NetworkInsightsAnalysisExplanationTransitGatewayRouteTableRouteArgs struct { - AttachmentId pulumi.StringPtrInput `pulumi:"attachmentId"` - DestinationCidr pulumi.StringPtrInput `pulumi:"destinationCidr"` - PrefixListId pulumi.StringPtrInput `pulumi:"prefixListId"` - ResourceId pulumi.StringPtrInput `pulumi:"resourceId"` - ResourceType pulumi.StringPtrInput `pulumi:"resourceType"` - RouteOrigin pulumi.StringPtrInput `pulumi:"routeOrigin"` - State pulumi.StringPtrInput `pulumi:"state"` +type NetworkInsightsAnalysisExplanationPrefixListArgs struct { + // ARN of the Network Insights Analysis. + Arn pulumi.StringPtrInput `pulumi:"arn"` + // ID of the Network Insights Analysis. + Id pulumi.StringPtrInput `pulumi:"id"` + Name pulumi.StringPtrInput `pulumi:"name"` } -func (NetworkInsightsAnalysisExplanationTransitGatewayRouteTableRouteArgs) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkInsightsAnalysisExplanationTransitGatewayRouteTableRoute)(nil)).Elem() +func (NetworkInsightsAnalysisExplanationPrefixListArgs) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInsightsAnalysisExplanationPrefixList)(nil)).Elem() } -func (i NetworkInsightsAnalysisExplanationTransitGatewayRouteTableRouteArgs) ToNetworkInsightsAnalysisExplanationTransitGatewayRouteTableRouteOutput() NetworkInsightsAnalysisExplanationTransitGatewayRouteTableRouteOutput { - return i.ToNetworkInsightsAnalysisExplanationTransitGatewayRouteTableRouteOutputWithContext(context.Background()) +func (i NetworkInsightsAnalysisExplanationPrefixListArgs) ToNetworkInsightsAnalysisExplanationPrefixListOutput() NetworkInsightsAnalysisExplanationPrefixListOutput { + return i.ToNetworkInsightsAnalysisExplanationPrefixListOutputWithContext(context.Background()) } -func (i NetworkInsightsAnalysisExplanationTransitGatewayRouteTableRouteArgs) ToNetworkInsightsAnalysisExplanationTransitGatewayRouteTableRouteOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationTransitGatewayRouteTableRouteOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisExplanationTransitGatewayRouteTableRouteOutput) +func (i NetworkInsightsAnalysisExplanationPrefixListArgs) ToNetworkInsightsAnalysisExplanationPrefixListOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationPrefixListOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisExplanationPrefixListOutput) } -// NetworkInsightsAnalysisExplanationTransitGatewayRouteTableRouteArrayInput is an input type that accepts NetworkInsightsAnalysisExplanationTransitGatewayRouteTableRouteArray and NetworkInsightsAnalysisExplanationTransitGatewayRouteTableRouteArrayOutput values. -// You can construct a concrete instance of `NetworkInsightsAnalysisExplanationTransitGatewayRouteTableRouteArrayInput` via: +// NetworkInsightsAnalysisExplanationPrefixListArrayInput is an input type that accepts NetworkInsightsAnalysisExplanationPrefixListArray and NetworkInsightsAnalysisExplanationPrefixListArrayOutput values. +// You can construct a concrete instance of `NetworkInsightsAnalysisExplanationPrefixListArrayInput` via: // -// NetworkInsightsAnalysisExplanationTransitGatewayRouteTableRouteArray{ NetworkInsightsAnalysisExplanationTransitGatewayRouteTableRouteArgs{...} } -type NetworkInsightsAnalysisExplanationTransitGatewayRouteTableRouteArrayInput interface { +// NetworkInsightsAnalysisExplanationPrefixListArray{ NetworkInsightsAnalysisExplanationPrefixListArgs{...} } +type NetworkInsightsAnalysisExplanationPrefixListArrayInput interface { pulumi.Input - ToNetworkInsightsAnalysisExplanationTransitGatewayRouteTableRouteArrayOutput() NetworkInsightsAnalysisExplanationTransitGatewayRouteTableRouteArrayOutput - ToNetworkInsightsAnalysisExplanationTransitGatewayRouteTableRouteArrayOutputWithContext(context.Context) NetworkInsightsAnalysisExplanationTransitGatewayRouteTableRouteArrayOutput + ToNetworkInsightsAnalysisExplanationPrefixListArrayOutput() NetworkInsightsAnalysisExplanationPrefixListArrayOutput + ToNetworkInsightsAnalysisExplanationPrefixListArrayOutputWithContext(context.Context) NetworkInsightsAnalysisExplanationPrefixListArrayOutput } -type NetworkInsightsAnalysisExplanationTransitGatewayRouteTableRouteArray []NetworkInsightsAnalysisExplanationTransitGatewayRouteTableRouteInput +type NetworkInsightsAnalysisExplanationPrefixListArray []NetworkInsightsAnalysisExplanationPrefixListInput -func (NetworkInsightsAnalysisExplanationTransitGatewayRouteTableRouteArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]NetworkInsightsAnalysisExplanationTransitGatewayRouteTableRoute)(nil)).Elem() +func (NetworkInsightsAnalysisExplanationPrefixListArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkInsightsAnalysisExplanationPrefixList)(nil)).Elem() } -func (i NetworkInsightsAnalysisExplanationTransitGatewayRouteTableRouteArray) ToNetworkInsightsAnalysisExplanationTransitGatewayRouteTableRouteArrayOutput() NetworkInsightsAnalysisExplanationTransitGatewayRouteTableRouteArrayOutput { - return i.ToNetworkInsightsAnalysisExplanationTransitGatewayRouteTableRouteArrayOutputWithContext(context.Background()) +func (i NetworkInsightsAnalysisExplanationPrefixListArray) ToNetworkInsightsAnalysisExplanationPrefixListArrayOutput() NetworkInsightsAnalysisExplanationPrefixListArrayOutput { + return i.ToNetworkInsightsAnalysisExplanationPrefixListArrayOutputWithContext(context.Background()) } -func (i NetworkInsightsAnalysisExplanationTransitGatewayRouteTableRouteArray) ToNetworkInsightsAnalysisExplanationTransitGatewayRouteTableRouteArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationTransitGatewayRouteTableRouteArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisExplanationTransitGatewayRouteTableRouteArrayOutput) +func (i NetworkInsightsAnalysisExplanationPrefixListArray) ToNetworkInsightsAnalysisExplanationPrefixListArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationPrefixListArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisExplanationPrefixListArrayOutput) } -type NetworkInsightsAnalysisExplanationTransitGatewayRouteTableRouteOutput struct{ *pulumi.OutputState } +type NetworkInsightsAnalysisExplanationPrefixListOutput struct{ *pulumi.OutputState } -func (NetworkInsightsAnalysisExplanationTransitGatewayRouteTableRouteOutput) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkInsightsAnalysisExplanationTransitGatewayRouteTableRoute)(nil)).Elem() +func (NetworkInsightsAnalysisExplanationPrefixListOutput) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInsightsAnalysisExplanationPrefixList)(nil)).Elem() } -func (o NetworkInsightsAnalysisExplanationTransitGatewayRouteTableRouteOutput) ToNetworkInsightsAnalysisExplanationTransitGatewayRouteTableRouteOutput() NetworkInsightsAnalysisExplanationTransitGatewayRouteTableRouteOutput { +func (o NetworkInsightsAnalysisExplanationPrefixListOutput) ToNetworkInsightsAnalysisExplanationPrefixListOutput() NetworkInsightsAnalysisExplanationPrefixListOutput { return o } -func (o NetworkInsightsAnalysisExplanationTransitGatewayRouteTableRouteOutput) ToNetworkInsightsAnalysisExplanationTransitGatewayRouteTableRouteOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationTransitGatewayRouteTableRouteOutput { +func (o NetworkInsightsAnalysisExplanationPrefixListOutput) ToNetworkInsightsAnalysisExplanationPrefixListOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationPrefixListOutput { return o } -func (o NetworkInsightsAnalysisExplanationTransitGatewayRouteTableRouteOutput) AttachmentId() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisExplanationTransitGatewayRouteTableRoute) *string { return v.AttachmentId }).(pulumi.StringPtrOutput) -} - -func (o NetworkInsightsAnalysisExplanationTransitGatewayRouteTableRouteOutput) DestinationCidr() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisExplanationTransitGatewayRouteTableRoute) *string { - return v.DestinationCidr - }).(pulumi.StringPtrOutput) -} - -func (o NetworkInsightsAnalysisExplanationTransitGatewayRouteTableRouteOutput) PrefixListId() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisExplanationTransitGatewayRouteTableRoute) *string { return v.PrefixListId }).(pulumi.StringPtrOutput) -} - -func (o NetworkInsightsAnalysisExplanationTransitGatewayRouteTableRouteOutput) ResourceId() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisExplanationTransitGatewayRouteTableRoute) *string { return v.ResourceId }).(pulumi.StringPtrOutput) -} - -func (o NetworkInsightsAnalysisExplanationTransitGatewayRouteTableRouteOutput) ResourceType() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisExplanationTransitGatewayRouteTableRoute) *string { return v.ResourceType }).(pulumi.StringPtrOutput) +// ARN of the Network Insights Analysis. +func (o NetworkInsightsAnalysisExplanationPrefixListOutput) Arn() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisExplanationPrefixList) *string { return v.Arn }).(pulumi.StringPtrOutput) } -func (o NetworkInsightsAnalysisExplanationTransitGatewayRouteTableRouteOutput) RouteOrigin() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisExplanationTransitGatewayRouteTableRoute) *string { return v.RouteOrigin }).(pulumi.StringPtrOutput) +// ID of the Network Insights Analysis. +func (o NetworkInsightsAnalysisExplanationPrefixListOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisExplanationPrefixList) *string { return v.Id }).(pulumi.StringPtrOutput) } -func (o NetworkInsightsAnalysisExplanationTransitGatewayRouteTableRouteOutput) State() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisExplanationTransitGatewayRouteTableRoute) *string { return v.State }).(pulumi.StringPtrOutput) +func (o NetworkInsightsAnalysisExplanationPrefixListOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisExplanationPrefixList) *string { return v.Name }).(pulumi.StringPtrOutput) } -type NetworkInsightsAnalysisExplanationTransitGatewayRouteTableRouteArrayOutput struct{ *pulumi.OutputState } +type NetworkInsightsAnalysisExplanationPrefixListArrayOutput struct{ *pulumi.OutputState } -func (NetworkInsightsAnalysisExplanationTransitGatewayRouteTableRouteArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]NetworkInsightsAnalysisExplanationTransitGatewayRouteTableRoute)(nil)).Elem() +func (NetworkInsightsAnalysisExplanationPrefixListArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkInsightsAnalysisExplanationPrefixList)(nil)).Elem() } -func (o NetworkInsightsAnalysisExplanationTransitGatewayRouteTableRouteArrayOutput) ToNetworkInsightsAnalysisExplanationTransitGatewayRouteTableRouteArrayOutput() NetworkInsightsAnalysisExplanationTransitGatewayRouteTableRouteArrayOutput { +func (o NetworkInsightsAnalysisExplanationPrefixListArrayOutput) ToNetworkInsightsAnalysisExplanationPrefixListArrayOutput() NetworkInsightsAnalysisExplanationPrefixListArrayOutput { return o } -func (o NetworkInsightsAnalysisExplanationTransitGatewayRouteTableRouteArrayOutput) ToNetworkInsightsAnalysisExplanationTransitGatewayRouteTableRouteArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationTransitGatewayRouteTableRouteArrayOutput { +func (o NetworkInsightsAnalysisExplanationPrefixListArrayOutput) ToNetworkInsightsAnalysisExplanationPrefixListArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationPrefixListArrayOutput { return o } -func (o NetworkInsightsAnalysisExplanationTransitGatewayRouteTableRouteArrayOutput) Index(i pulumi.IntInput) NetworkInsightsAnalysisExplanationTransitGatewayRouteTableRouteOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkInsightsAnalysisExplanationTransitGatewayRouteTableRoute { - return vs[0].([]NetworkInsightsAnalysisExplanationTransitGatewayRouteTableRoute)[vs[1].(int)] - }).(NetworkInsightsAnalysisExplanationTransitGatewayRouteTableRouteOutput) +func (o NetworkInsightsAnalysisExplanationPrefixListArrayOutput) Index(i pulumi.IntInput) NetworkInsightsAnalysisExplanationPrefixListOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkInsightsAnalysisExplanationPrefixList { + return vs[0].([]NetworkInsightsAnalysisExplanationPrefixList)[vs[1].(int)] + }).(NetworkInsightsAnalysisExplanationPrefixListOutput) } -type NetworkInsightsAnalysisExplanationVpc struct { +type NetworkInsightsAnalysisExplanationRouteTable struct { // ARN of the Network Insights Analysis. Arn *string `pulumi:"arn"` // ID of the Network Insights Analysis. @@ -20418,18 +20987,18 @@ type NetworkInsightsAnalysisExplanationVpc struct { Name *string `pulumi:"name"` } -// NetworkInsightsAnalysisExplanationVpcInput is an input type that accepts NetworkInsightsAnalysisExplanationVpcArgs and NetworkInsightsAnalysisExplanationVpcOutput values. -// You can construct a concrete instance of `NetworkInsightsAnalysisExplanationVpcInput` via: +// NetworkInsightsAnalysisExplanationRouteTableInput is an input type that accepts NetworkInsightsAnalysisExplanationRouteTableArgs and NetworkInsightsAnalysisExplanationRouteTableOutput values. +// You can construct a concrete instance of `NetworkInsightsAnalysisExplanationRouteTableInput` via: // -// NetworkInsightsAnalysisExplanationVpcArgs{...} -type NetworkInsightsAnalysisExplanationVpcInput interface { +// NetworkInsightsAnalysisExplanationRouteTableArgs{...} +type NetworkInsightsAnalysisExplanationRouteTableInput interface { pulumi.Input - ToNetworkInsightsAnalysisExplanationVpcOutput() NetworkInsightsAnalysisExplanationVpcOutput - ToNetworkInsightsAnalysisExplanationVpcOutputWithContext(context.Context) NetworkInsightsAnalysisExplanationVpcOutput + ToNetworkInsightsAnalysisExplanationRouteTableOutput() NetworkInsightsAnalysisExplanationRouteTableOutput + ToNetworkInsightsAnalysisExplanationRouteTableOutputWithContext(context.Context) NetworkInsightsAnalysisExplanationRouteTableOutput } -type NetworkInsightsAnalysisExplanationVpcArgs struct { +type NetworkInsightsAnalysisExplanationRouteTableArgs struct { // ARN of the Network Insights Analysis. Arn pulumi.StringPtrInput `pulumi:"arn"` // ID of the Network Insights Analysis. @@ -20437,204 +21006,242 @@ type NetworkInsightsAnalysisExplanationVpcArgs struct { Name pulumi.StringPtrInput `pulumi:"name"` } -func (NetworkInsightsAnalysisExplanationVpcArgs) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkInsightsAnalysisExplanationVpc)(nil)).Elem() +func (NetworkInsightsAnalysisExplanationRouteTableArgs) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInsightsAnalysisExplanationRouteTable)(nil)).Elem() } -func (i NetworkInsightsAnalysisExplanationVpcArgs) ToNetworkInsightsAnalysisExplanationVpcOutput() NetworkInsightsAnalysisExplanationVpcOutput { - return i.ToNetworkInsightsAnalysisExplanationVpcOutputWithContext(context.Background()) +func (i NetworkInsightsAnalysisExplanationRouteTableArgs) ToNetworkInsightsAnalysisExplanationRouteTableOutput() NetworkInsightsAnalysisExplanationRouteTableOutput { + return i.ToNetworkInsightsAnalysisExplanationRouteTableOutputWithContext(context.Background()) } -func (i NetworkInsightsAnalysisExplanationVpcArgs) ToNetworkInsightsAnalysisExplanationVpcOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationVpcOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisExplanationVpcOutput) +func (i NetworkInsightsAnalysisExplanationRouteTableArgs) ToNetworkInsightsAnalysisExplanationRouteTableOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationRouteTableOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisExplanationRouteTableOutput) } -// NetworkInsightsAnalysisExplanationVpcArrayInput is an input type that accepts NetworkInsightsAnalysisExplanationVpcArray and NetworkInsightsAnalysisExplanationVpcArrayOutput values. -// You can construct a concrete instance of `NetworkInsightsAnalysisExplanationVpcArrayInput` via: +// NetworkInsightsAnalysisExplanationRouteTableArrayInput is an input type that accepts NetworkInsightsAnalysisExplanationRouteTableArray and NetworkInsightsAnalysisExplanationRouteTableArrayOutput values. +// You can construct a concrete instance of `NetworkInsightsAnalysisExplanationRouteTableArrayInput` via: // -// NetworkInsightsAnalysisExplanationVpcArray{ NetworkInsightsAnalysisExplanationVpcArgs{...} } -type NetworkInsightsAnalysisExplanationVpcArrayInput interface { +// NetworkInsightsAnalysisExplanationRouteTableArray{ NetworkInsightsAnalysisExplanationRouteTableArgs{...} } +type NetworkInsightsAnalysisExplanationRouteTableArrayInput interface { pulumi.Input - ToNetworkInsightsAnalysisExplanationVpcArrayOutput() NetworkInsightsAnalysisExplanationVpcArrayOutput - ToNetworkInsightsAnalysisExplanationVpcArrayOutputWithContext(context.Context) NetworkInsightsAnalysisExplanationVpcArrayOutput + ToNetworkInsightsAnalysisExplanationRouteTableArrayOutput() NetworkInsightsAnalysisExplanationRouteTableArrayOutput + ToNetworkInsightsAnalysisExplanationRouteTableArrayOutputWithContext(context.Context) NetworkInsightsAnalysisExplanationRouteTableArrayOutput } -type NetworkInsightsAnalysisExplanationVpcArray []NetworkInsightsAnalysisExplanationVpcInput +type NetworkInsightsAnalysisExplanationRouteTableArray []NetworkInsightsAnalysisExplanationRouteTableInput -func (NetworkInsightsAnalysisExplanationVpcArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]NetworkInsightsAnalysisExplanationVpc)(nil)).Elem() +func (NetworkInsightsAnalysisExplanationRouteTableArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkInsightsAnalysisExplanationRouteTable)(nil)).Elem() } -func (i NetworkInsightsAnalysisExplanationVpcArray) ToNetworkInsightsAnalysisExplanationVpcArrayOutput() NetworkInsightsAnalysisExplanationVpcArrayOutput { - return i.ToNetworkInsightsAnalysisExplanationVpcArrayOutputWithContext(context.Background()) +func (i NetworkInsightsAnalysisExplanationRouteTableArray) ToNetworkInsightsAnalysisExplanationRouteTableArrayOutput() NetworkInsightsAnalysisExplanationRouteTableArrayOutput { + return i.ToNetworkInsightsAnalysisExplanationRouteTableArrayOutputWithContext(context.Background()) } -func (i NetworkInsightsAnalysisExplanationVpcArray) ToNetworkInsightsAnalysisExplanationVpcArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationVpcArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisExplanationVpcArrayOutput) +func (i NetworkInsightsAnalysisExplanationRouteTableArray) ToNetworkInsightsAnalysisExplanationRouteTableArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationRouteTableArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisExplanationRouteTableArrayOutput) } -type NetworkInsightsAnalysisExplanationVpcOutput struct{ *pulumi.OutputState } +type NetworkInsightsAnalysisExplanationRouteTableOutput struct{ *pulumi.OutputState } -func (NetworkInsightsAnalysisExplanationVpcOutput) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkInsightsAnalysisExplanationVpc)(nil)).Elem() +func (NetworkInsightsAnalysisExplanationRouteTableOutput) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInsightsAnalysisExplanationRouteTable)(nil)).Elem() } -func (o NetworkInsightsAnalysisExplanationVpcOutput) ToNetworkInsightsAnalysisExplanationVpcOutput() NetworkInsightsAnalysisExplanationVpcOutput { +func (o NetworkInsightsAnalysisExplanationRouteTableOutput) ToNetworkInsightsAnalysisExplanationRouteTableOutput() NetworkInsightsAnalysisExplanationRouteTableOutput { return o } -func (o NetworkInsightsAnalysisExplanationVpcOutput) ToNetworkInsightsAnalysisExplanationVpcOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationVpcOutput { +func (o NetworkInsightsAnalysisExplanationRouteTableOutput) ToNetworkInsightsAnalysisExplanationRouteTableOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationRouteTableOutput { return o } // ARN of the Network Insights Analysis. -func (o NetworkInsightsAnalysisExplanationVpcOutput) Arn() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisExplanationVpc) *string { return v.Arn }).(pulumi.StringPtrOutput) -} +func (o NetworkInsightsAnalysisExplanationRouteTableOutput) Arn() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisExplanationRouteTable) *string { return v.Arn }).(pulumi.StringPtrOutput) +} // ID of the Network Insights Analysis. -func (o NetworkInsightsAnalysisExplanationVpcOutput) Id() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisExplanationVpc) *string { return v.Id }).(pulumi.StringPtrOutput) +func (o NetworkInsightsAnalysisExplanationRouteTableOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisExplanationRouteTable) *string { return v.Id }).(pulumi.StringPtrOutput) } -func (o NetworkInsightsAnalysisExplanationVpcOutput) Name() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisExplanationVpc) *string { return v.Name }).(pulumi.StringPtrOutput) +func (o NetworkInsightsAnalysisExplanationRouteTableOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisExplanationRouteTable) *string { return v.Name }).(pulumi.StringPtrOutput) } -type NetworkInsightsAnalysisExplanationVpcArrayOutput struct{ *pulumi.OutputState } +type NetworkInsightsAnalysisExplanationRouteTableArrayOutput struct{ *pulumi.OutputState } -func (NetworkInsightsAnalysisExplanationVpcArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]NetworkInsightsAnalysisExplanationVpc)(nil)).Elem() +func (NetworkInsightsAnalysisExplanationRouteTableArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkInsightsAnalysisExplanationRouteTable)(nil)).Elem() } -func (o NetworkInsightsAnalysisExplanationVpcArrayOutput) ToNetworkInsightsAnalysisExplanationVpcArrayOutput() NetworkInsightsAnalysisExplanationVpcArrayOutput { +func (o NetworkInsightsAnalysisExplanationRouteTableArrayOutput) ToNetworkInsightsAnalysisExplanationRouteTableArrayOutput() NetworkInsightsAnalysisExplanationRouteTableArrayOutput { return o } -func (o NetworkInsightsAnalysisExplanationVpcArrayOutput) ToNetworkInsightsAnalysisExplanationVpcArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationVpcArrayOutput { +func (o NetworkInsightsAnalysisExplanationRouteTableArrayOutput) ToNetworkInsightsAnalysisExplanationRouteTableArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationRouteTableArrayOutput { return o } -func (o NetworkInsightsAnalysisExplanationVpcArrayOutput) Index(i pulumi.IntInput) NetworkInsightsAnalysisExplanationVpcOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkInsightsAnalysisExplanationVpc { - return vs[0].([]NetworkInsightsAnalysisExplanationVpc)[vs[1].(int)] - }).(NetworkInsightsAnalysisExplanationVpcOutput) +func (o NetworkInsightsAnalysisExplanationRouteTableArrayOutput) Index(i pulumi.IntInput) NetworkInsightsAnalysisExplanationRouteTableOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkInsightsAnalysisExplanationRouteTable { + return vs[0].([]NetworkInsightsAnalysisExplanationRouteTable)[vs[1].(int)] + }).(NetworkInsightsAnalysisExplanationRouteTableOutput) } -type NetworkInsightsAnalysisExplanationVpcEndpoint struct { - // ARN of the Network Insights Analysis. - Arn *string `pulumi:"arn"` - // ID of the Network Insights Analysis. - Id *string `pulumi:"id"` - Name *string `pulumi:"name"` +type NetworkInsightsAnalysisExplanationRouteTableRoute struct { + DestinationCidr *string `pulumi:"destinationCidr"` + DestinationPrefixListId *string `pulumi:"destinationPrefixListId"` + EgressOnlyInternetGatewayId *string `pulumi:"egressOnlyInternetGatewayId"` + GatewayId *string `pulumi:"gatewayId"` + InstanceId *string `pulumi:"instanceId"` + NatGatewayId *string `pulumi:"natGatewayId"` + NetworkInterfaceId *string `pulumi:"networkInterfaceId"` + Origin *string `pulumi:"origin"` + TransitGatewayId *string `pulumi:"transitGatewayId"` + VpcPeeringConnectionId *string `pulumi:"vpcPeeringConnectionId"` } -// NetworkInsightsAnalysisExplanationVpcEndpointInput is an input type that accepts NetworkInsightsAnalysisExplanationVpcEndpointArgs and NetworkInsightsAnalysisExplanationVpcEndpointOutput values. -// You can construct a concrete instance of `NetworkInsightsAnalysisExplanationVpcEndpointInput` via: +// NetworkInsightsAnalysisExplanationRouteTableRouteInput is an input type that accepts NetworkInsightsAnalysisExplanationRouteTableRouteArgs and NetworkInsightsAnalysisExplanationRouteTableRouteOutput values. +// You can construct a concrete instance of `NetworkInsightsAnalysisExplanationRouteTableRouteInput` via: // -// NetworkInsightsAnalysisExplanationVpcEndpointArgs{...} -type NetworkInsightsAnalysisExplanationVpcEndpointInput interface { +// NetworkInsightsAnalysisExplanationRouteTableRouteArgs{...} +type NetworkInsightsAnalysisExplanationRouteTableRouteInput interface { pulumi.Input - ToNetworkInsightsAnalysisExplanationVpcEndpointOutput() NetworkInsightsAnalysisExplanationVpcEndpointOutput - ToNetworkInsightsAnalysisExplanationVpcEndpointOutputWithContext(context.Context) NetworkInsightsAnalysisExplanationVpcEndpointOutput + ToNetworkInsightsAnalysisExplanationRouteTableRouteOutput() NetworkInsightsAnalysisExplanationRouteTableRouteOutput + ToNetworkInsightsAnalysisExplanationRouteTableRouteOutputWithContext(context.Context) NetworkInsightsAnalysisExplanationRouteTableRouteOutput } -type NetworkInsightsAnalysisExplanationVpcEndpointArgs struct { - // ARN of the Network Insights Analysis. - Arn pulumi.StringPtrInput `pulumi:"arn"` - // ID of the Network Insights Analysis. - Id pulumi.StringPtrInput `pulumi:"id"` - Name pulumi.StringPtrInput `pulumi:"name"` +type NetworkInsightsAnalysisExplanationRouteTableRouteArgs struct { + DestinationCidr pulumi.StringPtrInput `pulumi:"destinationCidr"` + DestinationPrefixListId pulumi.StringPtrInput `pulumi:"destinationPrefixListId"` + EgressOnlyInternetGatewayId pulumi.StringPtrInput `pulumi:"egressOnlyInternetGatewayId"` + GatewayId pulumi.StringPtrInput `pulumi:"gatewayId"` + InstanceId pulumi.StringPtrInput `pulumi:"instanceId"` + NatGatewayId pulumi.StringPtrInput `pulumi:"natGatewayId"` + NetworkInterfaceId pulumi.StringPtrInput `pulumi:"networkInterfaceId"` + Origin pulumi.StringPtrInput `pulumi:"origin"` + TransitGatewayId pulumi.StringPtrInput `pulumi:"transitGatewayId"` + VpcPeeringConnectionId pulumi.StringPtrInput `pulumi:"vpcPeeringConnectionId"` } -func (NetworkInsightsAnalysisExplanationVpcEndpointArgs) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkInsightsAnalysisExplanationVpcEndpoint)(nil)).Elem() +func (NetworkInsightsAnalysisExplanationRouteTableRouteArgs) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInsightsAnalysisExplanationRouteTableRoute)(nil)).Elem() } -func (i NetworkInsightsAnalysisExplanationVpcEndpointArgs) ToNetworkInsightsAnalysisExplanationVpcEndpointOutput() NetworkInsightsAnalysisExplanationVpcEndpointOutput { - return i.ToNetworkInsightsAnalysisExplanationVpcEndpointOutputWithContext(context.Background()) +func (i NetworkInsightsAnalysisExplanationRouteTableRouteArgs) ToNetworkInsightsAnalysisExplanationRouteTableRouteOutput() NetworkInsightsAnalysisExplanationRouteTableRouteOutput { + return i.ToNetworkInsightsAnalysisExplanationRouteTableRouteOutputWithContext(context.Background()) } -func (i NetworkInsightsAnalysisExplanationVpcEndpointArgs) ToNetworkInsightsAnalysisExplanationVpcEndpointOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationVpcEndpointOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisExplanationVpcEndpointOutput) +func (i NetworkInsightsAnalysisExplanationRouteTableRouteArgs) ToNetworkInsightsAnalysisExplanationRouteTableRouteOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationRouteTableRouteOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisExplanationRouteTableRouteOutput) } -// NetworkInsightsAnalysisExplanationVpcEndpointArrayInput is an input type that accepts NetworkInsightsAnalysisExplanationVpcEndpointArray and NetworkInsightsAnalysisExplanationVpcEndpointArrayOutput values. -// You can construct a concrete instance of `NetworkInsightsAnalysisExplanationVpcEndpointArrayInput` via: +// NetworkInsightsAnalysisExplanationRouteTableRouteArrayInput is an input type that accepts NetworkInsightsAnalysisExplanationRouteTableRouteArray and NetworkInsightsAnalysisExplanationRouteTableRouteArrayOutput values. +// You can construct a concrete instance of `NetworkInsightsAnalysisExplanationRouteTableRouteArrayInput` via: // -// NetworkInsightsAnalysisExplanationVpcEndpointArray{ NetworkInsightsAnalysisExplanationVpcEndpointArgs{...} } -type NetworkInsightsAnalysisExplanationVpcEndpointArrayInput interface { +// NetworkInsightsAnalysisExplanationRouteTableRouteArray{ NetworkInsightsAnalysisExplanationRouteTableRouteArgs{...} } +type NetworkInsightsAnalysisExplanationRouteTableRouteArrayInput interface { pulumi.Input - ToNetworkInsightsAnalysisExplanationVpcEndpointArrayOutput() NetworkInsightsAnalysisExplanationVpcEndpointArrayOutput - ToNetworkInsightsAnalysisExplanationVpcEndpointArrayOutputWithContext(context.Context) NetworkInsightsAnalysisExplanationVpcEndpointArrayOutput + ToNetworkInsightsAnalysisExplanationRouteTableRouteArrayOutput() NetworkInsightsAnalysisExplanationRouteTableRouteArrayOutput + ToNetworkInsightsAnalysisExplanationRouteTableRouteArrayOutputWithContext(context.Context) NetworkInsightsAnalysisExplanationRouteTableRouteArrayOutput } -type NetworkInsightsAnalysisExplanationVpcEndpointArray []NetworkInsightsAnalysisExplanationVpcEndpointInput +type NetworkInsightsAnalysisExplanationRouteTableRouteArray []NetworkInsightsAnalysisExplanationRouteTableRouteInput -func (NetworkInsightsAnalysisExplanationVpcEndpointArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]NetworkInsightsAnalysisExplanationVpcEndpoint)(nil)).Elem() +func (NetworkInsightsAnalysisExplanationRouteTableRouteArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkInsightsAnalysisExplanationRouteTableRoute)(nil)).Elem() } -func (i NetworkInsightsAnalysisExplanationVpcEndpointArray) ToNetworkInsightsAnalysisExplanationVpcEndpointArrayOutput() NetworkInsightsAnalysisExplanationVpcEndpointArrayOutput { - return i.ToNetworkInsightsAnalysisExplanationVpcEndpointArrayOutputWithContext(context.Background()) +func (i NetworkInsightsAnalysisExplanationRouteTableRouteArray) ToNetworkInsightsAnalysisExplanationRouteTableRouteArrayOutput() NetworkInsightsAnalysisExplanationRouteTableRouteArrayOutput { + return i.ToNetworkInsightsAnalysisExplanationRouteTableRouteArrayOutputWithContext(context.Background()) } -func (i NetworkInsightsAnalysisExplanationVpcEndpointArray) ToNetworkInsightsAnalysisExplanationVpcEndpointArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationVpcEndpointArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisExplanationVpcEndpointArrayOutput) +func (i NetworkInsightsAnalysisExplanationRouteTableRouteArray) ToNetworkInsightsAnalysisExplanationRouteTableRouteArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationRouteTableRouteArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisExplanationRouteTableRouteArrayOutput) } -type NetworkInsightsAnalysisExplanationVpcEndpointOutput struct{ *pulumi.OutputState } +type NetworkInsightsAnalysisExplanationRouteTableRouteOutput struct{ *pulumi.OutputState } -func (NetworkInsightsAnalysisExplanationVpcEndpointOutput) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkInsightsAnalysisExplanationVpcEndpoint)(nil)).Elem() +func (NetworkInsightsAnalysisExplanationRouteTableRouteOutput) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInsightsAnalysisExplanationRouteTableRoute)(nil)).Elem() } -func (o NetworkInsightsAnalysisExplanationVpcEndpointOutput) ToNetworkInsightsAnalysisExplanationVpcEndpointOutput() NetworkInsightsAnalysisExplanationVpcEndpointOutput { +func (o NetworkInsightsAnalysisExplanationRouteTableRouteOutput) ToNetworkInsightsAnalysisExplanationRouteTableRouteOutput() NetworkInsightsAnalysisExplanationRouteTableRouteOutput { return o } -func (o NetworkInsightsAnalysisExplanationVpcEndpointOutput) ToNetworkInsightsAnalysisExplanationVpcEndpointOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationVpcEndpointOutput { +func (o NetworkInsightsAnalysisExplanationRouteTableRouteOutput) ToNetworkInsightsAnalysisExplanationRouteTableRouteOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationRouteTableRouteOutput { return o } -// ARN of the Network Insights Analysis. -func (o NetworkInsightsAnalysisExplanationVpcEndpointOutput) Arn() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisExplanationVpcEndpoint) *string { return v.Arn }).(pulumi.StringPtrOutput) +func (o NetworkInsightsAnalysisExplanationRouteTableRouteOutput) DestinationCidr() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisExplanationRouteTableRoute) *string { return v.DestinationCidr }).(pulumi.StringPtrOutput) } -// ID of the Network Insights Analysis. -func (o NetworkInsightsAnalysisExplanationVpcEndpointOutput) Id() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisExplanationVpcEndpoint) *string { return v.Id }).(pulumi.StringPtrOutput) +func (o NetworkInsightsAnalysisExplanationRouteTableRouteOutput) DestinationPrefixListId() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisExplanationRouteTableRoute) *string { return v.DestinationPrefixListId }).(pulumi.StringPtrOutput) } -func (o NetworkInsightsAnalysisExplanationVpcEndpointOutput) Name() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisExplanationVpcEndpoint) *string { return v.Name }).(pulumi.StringPtrOutput) +func (o NetworkInsightsAnalysisExplanationRouteTableRouteOutput) EgressOnlyInternetGatewayId() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisExplanationRouteTableRoute) *string { + return v.EgressOnlyInternetGatewayId + }).(pulumi.StringPtrOutput) } -type NetworkInsightsAnalysisExplanationVpcEndpointArrayOutput struct{ *pulumi.OutputState } +func (o NetworkInsightsAnalysisExplanationRouteTableRouteOutput) GatewayId() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisExplanationRouteTableRoute) *string { return v.GatewayId }).(pulumi.StringPtrOutput) +} -func (NetworkInsightsAnalysisExplanationVpcEndpointArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]NetworkInsightsAnalysisExplanationVpcEndpoint)(nil)).Elem() +func (o NetworkInsightsAnalysisExplanationRouteTableRouteOutput) InstanceId() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisExplanationRouteTableRoute) *string { return v.InstanceId }).(pulumi.StringPtrOutput) } -func (o NetworkInsightsAnalysisExplanationVpcEndpointArrayOutput) ToNetworkInsightsAnalysisExplanationVpcEndpointArrayOutput() NetworkInsightsAnalysisExplanationVpcEndpointArrayOutput { +func (o NetworkInsightsAnalysisExplanationRouteTableRouteOutput) NatGatewayId() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisExplanationRouteTableRoute) *string { return v.NatGatewayId }).(pulumi.StringPtrOutput) +} + +func (o NetworkInsightsAnalysisExplanationRouteTableRouteOutput) NetworkInterfaceId() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisExplanationRouteTableRoute) *string { return v.NetworkInterfaceId }).(pulumi.StringPtrOutput) +} + +func (o NetworkInsightsAnalysisExplanationRouteTableRouteOutput) Origin() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisExplanationRouteTableRoute) *string { return v.Origin }).(pulumi.StringPtrOutput) +} + +func (o NetworkInsightsAnalysisExplanationRouteTableRouteOutput) TransitGatewayId() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisExplanationRouteTableRoute) *string { return v.TransitGatewayId }).(pulumi.StringPtrOutput) +} + +func (o NetworkInsightsAnalysisExplanationRouteTableRouteOutput) VpcPeeringConnectionId() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisExplanationRouteTableRoute) *string { return v.VpcPeeringConnectionId }).(pulumi.StringPtrOutput) +} + +type NetworkInsightsAnalysisExplanationRouteTableRouteArrayOutput struct{ *pulumi.OutputState } + +func (NetworkInsightsAnalysisExplanationRouteTableRouteArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkInsightsAnalysisExplanationRouteTableRoute)(nil)).Elem() +} + +func (o NetworkInsightsAnalysisExplanationRouteTableRouteArrayOutput) ToNetworkInsightsAnalysisExplanationRouteTableRouteArrayOutput() NetworkInsightsAnalysisExplanationRouteTableRouteArrayOutput { return o } -func (o NetworkInsightsAnalysisExplanationVpcEndpointArrayOutput) ToNetworkInsightsAnalysisExplanationVpcEndpointArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationVpcEndpointArrayOutput { +func (o NetworkInsightsAnalysisExplanationRouteTableRouteArrayOutput) ToNetworkInsightsAnalysisExplanationRouteTableRouteArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationRouteTableRouteArrayOutput { return o } -func (o NetworkInsightsAnalysisExplanationVpcEndpointArrayOutput) Index(i pulumi.IntInput) NetworkInsightsAnalysisExplanationVpcEndpointOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkInsightsAnalysisExplanationVpcEndpoint { - return vs[0].([]NetworkInsightsAnalysisExplanationVpcEndpoint)[vs[1].(int)] - }).(NetworkInsightsAnalysisExplanationVpcEndpointOutput) +func (o NetworkInsightsAnalysisExplanationRouteTableRouteArrayOutput) Index(i pulumi.IntInput) NetworkInsightsAnalysisExplanationRouteTableRouteOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkInsightsAnalysisExplanationRouteTableRoute { + return vs[0].([]NetworkInsightsAnalysisExplanationRouteTableRoute)[vs[1].(int)] + }).(NetworkInsightsAnalysisExplanationRouteTableRouteOutput) } -type NetworkInsightsAnalysisExplanationVpcPeeringConnection struct { +type NetworkInsightsAnalysisExplanationSecurityGroup struct { // ARN of the Network Insights Analysis. Arn *string `pulumi:"arn"` // ID of the Network Insights Analysis. @@ -20642,18 +21249,18 @@ type NetworkInsightsAnalysisExplanationVpcPeeringConnection struct { Name *string `pulumi:"name"` } -// NetworkInsightsAnalysisExplanationVpcPeeringConnectionInput is an input type that accepts NetworkInsightsAnalysisExplanationVpcPeeringConnectionArgs and NetworkInsightsAnalysisExplanationVpcPeeringConnectionOutput values. -// You can construct a concrete instance of `NetworkInsightsAnalysisExplanationVpcPeeringConnectionInput` via: +// NetworkInsightsAnalysisExplanationSecurityGroupInput is an input type that accepts NetworkInsightsAnalysisExplanationSecurityGroupArgs and NetworkInsightsAnalysisExplanationSecurityGroupOutput values. +// You can construct a concrete instance of `NetworkInsightsAnalysisExplanationSecurityGroupInput` via: // -// NetworkInsightsAnalysisExplanationVpcPeeringConnectionArgs{...} -type NetworkInsightsAnalysisExplanationVpcPeeringConnectionInput interface { +// NetworkInsightsAnalysisExplanationSecurityGroupArgs{...} +type NetworkInsightsAnalysisExplanationSecurityGroupInput interface { pulumi.Input - ToNetworkInsightsAnalysisExplanationVpcPeeringConnectionOutput() NetworkInsightsAnalysisExplanationVpcPeeringConnectionOutput - ToNetworkInsightsAnalysisExplanationVpcPeeringConnectionOutputWithContext(context.Context) NetworkInsightsAnalysisExplanationVpcPeeringConnectionOutput + ToNetworkInsightsAnalysisExplanationSecurityGroupOutput() NetworkInsightsAnalysisExplanationSecurityGroupOutput + ToNetworkInsightsAnalysisExplanationSecurityGroupOutputWithContext(context.Context) NetworkInsightsAnalysisExplanationSecurityGroupOutput } -type NetworkInsightsAnalysisExplanationVpcPeeringConnectionArgs struct { +type NetworkInsightsAnalysisExplanationSecurityGroupArgs struct { // ARN of the Network Insights Analysis. Arn pulumi.StringPtrInput `pulumi:"arn"` // ID of the Network Insights Analysis. @@ -20661,852 +21268,878 @@ type NetworkInsightsAnalysisExplanationVpcPeeringConnectionArgs struct { Name pulumi.StringPtrInput `pulumi:"name"` } -func (NetworkInsightsAnalysisExplanationVpcPeeringConnectionArgs) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkInsightsAnalysisExplanationVpcPeeringConnection)(nil)).Elem() +func (NetworkInsightsAnalysisExplanationSecurityGroupArgs) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInsightsAnalysisExplanationSecurityGroup)(nil)).Elem() } -func (i NetworkInsightsAnalysisExplanationVpcPeeringConnectionArgs) ToNetworkInsightsAnalysisExplanationVpcPeeringConnectionOutput() NetworkInsightsAnalysisExplanationVpcPeeringConnectionOutput { - return i.ToNetworkInsightsAnalysisExplanationVpcPeeringConnectionOutputWithContext(context.Background()) +func (i NetworkInsightsAnalysisExplanationSecurityGroupArgs) ToNetworkInsightsAnalysisExplanationSecurityGroupOutput() NetworkInsightsAnalysisExplanationSecurityGroupOutput { + return i.ToNetworkInsightsAnalysisExplanationSecurityGroupOutputWithContext(context.Background()) } -func (i NetworkInsightsAnalysisExplanationVpcPeeringConnectionArgs) ToNetworkInsightsAnalysisExplanationVpcPeeringConnectionOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationVpcPeeringConnectionOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisExplanationVpcPeeringConnectionOutput) +func (i NetworkInsightsAnalysisExplanationSecurityGroupArgs) ToNetworkInsightsAnalysisExplanationSecurityGroupOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationSecurityGroupOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisExplanationSecurityGroupOutput) } -// NetworkInsightsAnalysisExplanationVpcPeeringConnectionArrayInput is an input type that accepts NetworkInsightsAnalysisExplanationVpcPeeringConnectionArray and NetworkInsightsAnalysisExplanationVpcPeeringConnectionArrayOutput values. -// You can construct a concrete instance of `NetworkInsightsAnalysisExplanationVpcPeeringConnectionArrayInput` via: +// NetworkInsightsAnalysisExplanationSecurityGroupArrayInput is an input type that accepts NetworkInsightsAnalysisExplanationSecurityGroupArray and NetworkInsightsAnalysisExplanationSecurityGroupArrayOutput values. +// You can construct a concrete instance of `NetworkInsightsAnalysisExplanationSecurityGroupArrayInput` via: // -// NetworkInsightsAnalysisExplanationVpcPeeringConnectionArray{ NetworkInsightsAnalysisExplanationVpcPeeringConnectionArgs{...} } -type NetworkInsightsAnalysisExplanationVpcPeeringConnectionArrayInput interface { +// NetworkInsightsAnalysisExplanationSecurityGroupArray{ NetworkInsightsAnalysisExplanationSecurityGroupArgs{...} } +type NetworkInsightsAnalysisExplanationSecurityGroupArrayInput interface { pulumi.Input - ToNetworkInsightsAnalysisExplanationVpcPeeringConnectionArrayOutput() NetworkInsightsAnalysisExplanationVpcPeeringConnectionArrayOutput - ToNetworkInsightsAnalysisExplanationVpcPeeringConnectionArrayOutputWithContext(context.Context) NetworkInsightsAnalysisExplanationVpcPeeringConnectionArrayOutput + ToNetworkInsightsAnalysisExplanationSecurityGroupArrayOutput() NetworkInsightsAnalysisExplanationSecurityGroupArrayOutput + ToNetworkInsightsAnalysisExplanationSecurityGroupArrayOutputWithContext(context.Context) NetworkInsightsAnalysisExplanationSecurityGroupArrayOutput } -type NetworkInsightsAnalysisExplanationVpcPeeringConnectionArray []NetworkInsightsAnalysisExplanationVpcPeeringConnectionInput +type NetworkInsightsAnalysisExplanationSecurityGroupArray []NetworkInsightsAnalysisExplanationSecurityGroupInput -func (NetworkInsightsAnalysisExplanationVpcPeeringConnectionArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]NetworkInsightsAnalysisExplanationVpcPeeringConnection)(nil)).Elem() +func (NetworkInsightsAnalysisExplanationSecurityGroupArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkInsightsAnalysisExplanationSecurityGroup)(nil)).Elem() } -func (i NetworkInsightsAnalysisExplanationVpcPeeringConnectionArray) ToNetworkInsightsAnalysisExplanationVpcPeeringConnectionArrayOutput() NetworkInsightsAnalysisExplanationVpcPeeringConnectionArrayOutput { - return i.ToNetworkInsightsAnalysisExplanationVpcPeeringConnectionArrayOutputWithContext(context.Background()) +func (i NetworkInsightsAnalysisExplanationSecurityGroupArray) ToNetworkInsightsAnalysisExplanationSecurityGroupArrayOutput() NetworkInsightsAnalysisExplanationSecurityGroupArrayOutput { + return i.ToNetworkInsightsAnalysisExplanationSecurityGroupArrayOutputWithContext(context.Background()) } -func (i NetworkInsightsAnalysisExplanationVpcPeeringConnectionArray) ToNetworkInsightsAnalysisExplanationVpcPeeringConnectionArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationVpcPeeringConnectionArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisExplanationVpcPeeringConnectionArrayOutput) +func (i NetworkInsightsAnalysisExplanationSecurityGroupArray) ToNetworkInsightsAnalysisExplanationSecurityGroupArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationSecurityGroupArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisExplanationSecurityGroupArrayOutput) } -type NetworkInsightsAnalysisExplanationVpcPeeringConnectionOutput struct{ *pulumi.OutputState } +type NetworkInsightsAnalysisExplanationSecurityGroupOutput struct{ *pulumi.OutputState } -func (NetworkInsightsAnalysisExplanationVpcPeeringConnectionOutput) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkInsightsAnalysisExplanationVpcPeeringConnection)(nil)).Elem() +func (NetworkInsightsAnalysisExplanationSecurityGroupOutput) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInsightsAnalysisExplanationSecurityGroup)(nil)).Elem() } -func (o NetworkInsightsAnalysisExplanationVpcPeeringConnectionOutput) ToNetworkInsightsAnalysisExplanationVpcPeeringConnectionOutput() NetworkInsightsAnalysisExplanationVpcPeeringConnectionOutput { +func (o NetworkInsightsAnalysisExplanationSecurityGroupOutput) ToNetworkInsightsAnalysisExplanationSecurityGroupOutput() NetworkInsightsAnalysisExplanationSecurityGroupOutput { return o } -func (o NetworkInsightsAnalysisExplanationVpcPeeringConnectionOutput) ToNetworkInsightsAnalysisExplanationVpcPeeringConnectionOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationVpcPeeringConnectionOutput { +func (o NetworkInsightsAnalysisExplanationSecurityGroupOutput) ToNetworkInsightsAnalysisExplanationSecurityGroupOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationSecurityGroupOutput { return o } // ARN of the Network Insights Analysis. -func (o NetworkInsightsAnalysisExplanationVpcPeeringConnectionOutput) Arn() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisExplanationVpcPeeringConnection) *string { return v.Arn }).(pulumi.StringPtrOutput) +func (o NetworkInsightsAnalysisExplanationSecurityGroupOutput) Arn() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisExplanationSecurityGroup) *string { return v.Arn }).(pulumi.StringPtrOutput) } // ID of the Network Insights Analysis. -func (o NetworkInsightsAnalysisExplanationVpcPeeringConnectionOutput) Id() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisExplanationVpcPeeringConnection) *string { return v.Id }).(pulumi.StringPtrOutput) +func (o NetworkInsightsAnalysisExplanationSecurityGroupOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisExplanationSecurityGroup) *string { return v.Id }).(pulumi.StringPtrOutput) } -func (o NetworkInsightsAnalysisExplanationVpcPeeringConnectionOutput) Name() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisExplanationVpcPeeringConnection) *string { return v.Name }).(pulumi.StringPtrOutput) +func (o NetworkInsightsAnalysisExplanationSecurityGroupOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisExplanationSecurityGroup) *string { return v.Name }).(pulumi.StringPtrOutput) } -type NetworkInsightsAnalysisExplanationVpcPeeringConnectionArrayOutput struct{ *pulumi.OutputState } +type NetworkInsightsAnalysisExplanationSecurityGroupArrayOutput struct{ *pulumi.OutputState } -func (NetworkInsightsAnalysisExplanationVpcPeeringConnectionArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]NetworkInsightsAnalysisExplanationVpcPeeringConnection)(nil)).Elem() +func (NetworkInsightsAnalysisExplanationSecurityGroupArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkInsightsAnalysisExplanationSecurityGroup)(nil)).Elem() } -func (o NetworkInsightsAnalysisExplanationVpcPeeringConnectionArrayOutput) ToNetworkInsightsAnalysisExplanationVpcPeeringConnectionArrayOutput() NetworkInsightsAnalysisExplanationVpcPeeringConnectionArrayOutput { +func (o NetworkInsightsAnalysisExplanationSecurityGroupArrayOutput) ToNetworkInsightsAnalysisExplanationSecurityGroupArrayOutput() NetworkInsightsAnalysisExplanationSecurityGroupArrayOutput { return o } -func (o NetworkInsightsAnalysisExplanationVpcPeeringConnectionArrayOutput) ToNetworkInsightsAnalysisExplanationVpcPeeringConnectionArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationVpcPeeringConnectionArrayOutput { +func (o NetworkInsightsAnalysisExplanationSecurityGroupArrayOutput) ToNetworkInsightsAnalysisExplanationSecurityGroupArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationSecurityGroupArrayOutput { return o } -func (o NetworkInsightsAnalysisExplanationVpcPeeringConnectionArrayOutput) Index(i pulumi.IntInput) NetworkInsightsAnalysisExplanationVpcPeeringConnectionOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkInsightsAnalysisExplanationVpcPeeringConnection { - return vs[0].([]NetworkInsightsAnalysisExplanationVpcPeeringConnection)[vs[1].(int)] - }).(NetworkInsightsAnalysisExplanationVpcPeeringConnectionOutput) +func (o NetworkInsightsAnalysisExplanationSecurityGroupArrayOutput) Index(i pulumi.IntInput) NetworkInsightsAnalysisExplanationSecurityGroupOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkInsightsAnalysisExplanationSecurityGroup { + return vs[0].([]NetworkInsightsAnalysisExplanationSecurityGroup)[vs[1].(int)] + }).(NetworkInsightsAnalysisExplanationSecurityGroupOutput) } -type NetworkInsightsAnalysisExplanationVpnConnection struct { - // ARN of the Network Insights Analysis. - Arn *string `pulumi:"arn"` - // ID of the Network Insights Analysis. - Id *string `pulumi:"id"` - Name *string `pulumi:"name"` +type NetworkInsightsAnalysisExplanationSecurityGroupRule struct { + Cidr *string `pulumi:"cidr"` + Direction *string `pulumi:"direction"` + PortRanges []NetworkInsightsAnalysisExplanationSecurityGroupRulePortRange `pulumi:"portRanges"` + PrefixListId *string `pulumi:"prefixListId"` + Protocol *string `pulumi:"protocol"` + SecurityGroupId *string `pulumi:"securityGroupId"` } -// NetworkInsightsAnalysisExplanationVpnConnectionInput is an input type that accepts NetworkInsightsAnalysisExplanationVpnConnectionArgs and NetworkInsightsAnalysisExplanationVpnConnectionOutput values. -// You can construct a concrete instance of `NetworkInsightsAnalysisExplanationVpnConnectionInput` via: +// NetworkInsightsAnalysisExplanationSecurityGroupRuleInput is an input type that accepts NetworkInsightsAnalysisExplanationSecurityGroupRuleArgs and NetworkInsightsAnalysisExplanationSecurityGroupRuleOutput values. +// You can construct a concrete instance of `NetworkInsightsAnalysisExplanationSecurityGroupRuleInput` via: // -// NetworkInsightsAnalysisExplanationVpnConnectionArgs{...} -type NetworkInsightsAnalysisExplanationVpnConnectionInput interface { +// NetworkInsightsAnalysisExplanationSecurityGroupRuleArgs{...} +type NetworkInsightsAnalysisExplanationSecurityGroupRuleInput interface { pulumi.Input - ToNetworkInsightsAnalysisExplanationVpnConnectionOutput() NetworkInsightsAnalysisExplanationVpnConnectionOutput - ToNetworkInsightsAnalysisExplanationVpnConnectionOutputWithContext(context.Context) NetworkInsightsAnalysisExplanationVpnConnectionOutput + ToNetworkInsightsAnalysisExplanationSecurityGroupRuleOutput() NetworkInsightsAnalysisExplanationSecurityGroupRuleOutput + ToNetworkInsightsAnalysisExplanationSecurityGroupRuleOutputWithContext(context.Context) NetworkInsightsAnalysisExplanationSecurityGroupRuleOutput } -type NetworkInsightsAnalysisExplanationVpnConnectionArgs struct { - // ARN of the Network Insights Analysis. - Arn pulumi.StringPtrInput `pulumi:"arn"` - // ID of the Network Insights Analysis. - Id pulumi.StringPtrInput `pulumi:"id"` - Name pulumi.StringPtrInput `pulumi:"name"` +type NetworkInsightsAnalysisExplanationSecurityGroupRuleArgs struct { + Cidr pulumi.StringPtrInput `pulumi:"cidr"` + Direction pulumi.StringPtrInput `pulumi:"direction"` + PortRanges NetworkInsightsAnalysisExplanationSecurityGroupRulePortRangeArrayInput `pulumi:"portRanges"` + PrefixListId pulumi.StringPtrInput `pulumi:"prefixListId"` + Protocol pulumi.StringPtrInput `pulumi:"protocol"` + SecurityGroupId pulumi.StringPtrInput `pulumi:"securityGroupId"` } -func (NetworkInsightsAnalysisExplanationVpnConnectionArgs) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkInsightsAnalysisExplanationVpnConnection)(nil)).Elem() +func (NetworkInsightsAnalysisExplanationSecurityGroupRuleArgs) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInsightsAnalysisExplanationSecurityGroupRule)(nil)).Elem() } -func (i NetworkInsightsAnalysisExplanationVpnConnectionArgs) ToNetworkInsightsAnalysisExplanationVpnConnectionOutput() NetworkInsightsAnalysisExplanationVpnConnectionOutput { - return i.ToNetworkInsightsAnalysisExplanationVpnConnectionOutputWithContext(context.Background()) +func (i NetworkInsightsAnalysisExplanationSecurityGroupRuleArgs) ToNetworkInsightsAnalysisExplanationSecurityGroupRuleOutput() NetworkInsightsAnalysisExplanationSecurityGroupRuleOutput { + return i.ToNetworkInsightsAnalysisExplanationSecurityGroupRuleOutputWithContext(context.Background()) } -func (i NetworkInsightsAnalysisExplanationVpnConnectionArgs) ToNetworkInsightsAnalysisExplanationVpnConnectionOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationVpnConnectionOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisExplanationVpnConnectionOutput) +func (i NetworkInsightsAnalysisExplanationSecurityGroupRuleArgs) ToNetworkInsightsAnalysisExplanationSecurityGroupRuleOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationSecurityGroupRuleOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisExplanationSecurityGroupRuleOutput) } -// NetworkInsightsAnalysisExplanationVpnConnectionArrayInput is an input type that accepts NetworkInsightsAnalysisExplanationVpnConnectionArray and NetworkInsightsAnalysisExplanationVpnConnectionArrayOutput values. -// You can construct a concrete instance of `NetworkInsightsAnalysisExplanationVpnConnectionArrayInput` via: +// NetworkInsightsAnalysisExplanationSecurityGroupRuleArrayInput is an input type that accepts NetworkInsightsAnalysisExplanationSecurityGroupRuleArray and NetworkInsightsAnalysisExplanationSecurityGroupRuleArrayOutput values. +// You can construct a concrete instance of `NetworkInsightsAnalysisExplanationSecurityGroupRuleArrayInput` via: // -// NetworkInsightsAnalysisExplanationVpnConnectionArray{ NetworkInsightsAnalysisExplanationVpnConnectionArgs{...} } -type NetworkInsightsAnalysisExplanationVpnConnectionArrayInput interface { +// NetworkInsightsAnalysisExplanationSecurityGroupRuleArray{ NetworkInsightsAnalysisExplanationSecurityGroupRuleArgs{...} } +type NetworkInsightsAnalysisExplanationSecurityGroupRuleArrayInput interface { pulumi.Input - ToNetworkInsightsAnalysisExplanationVpnConnectionArrayOutput() NetworkInsightsAnalysisExplanationVpnConnectionArrayOutput - ToNetworkInsightsAnalysisExplanationVpnConnectionArrayOutputWithContext(context.Context) NetworkInsightsAnalysisExplanationVpnConnectionArrayOutput + ToNetworkInsightsAnalysisExplanationSecurityGroupRuleArrayOutput() NetworkInsightsAnalysisExplanationSecurityGroupRuleArrayOutput + ToNetworkInsightsAnalysisExplanationSecurityGroupRuleArrayOutputWithContext(context.Context) NetworkInsightsAnalysisExplanationSecurityGroupRuleArrayOutput } -type NetworkInsightsAnalysisExplanationVpnConnectionArray []NetworkInsightsAnalysisExplanationVpnConnectionInput +type NetworkInsightsAnalysisExplanationSecurityGroupRuleArray []NetworkInsightsAnalysisExplanationSecurityGroupRuleInput -func (NetworkInsightsAnalysisExplanationVpnConnectionArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]NetworkInsightsAnalysisExplanationVpnConnection)(nil)).Elem() +func (NetworkInsightsAnalysisExplanationSecurityGroupRuleArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkInsightsAnalysisExplanationSecurityGroupRule)(nil)).Elem() } -func (i NetworkInsightsAnalysisExplanationVpnConnectionArray) ToNetworkInsightsAnalysisExplanationVpnConnectionArrayOutput() NetworkInsightsAnalysisExplanationVpnConnectionArrayOutput { - return i.ToNetworkInsightsAnalysisExplanationVpnConnectionArrayOutputWithContext(context.Background()) +func (i NetworkInsightsAnalysisExplanationSecurityGroupRuleArray) ToNetworkInsightsAnalysisExplanationSecurityGroupRuleArrayOutput() NetworkInsightsAnalysisExplanationSecurityGroupRuleArrayOutput { + return i.ToNetworkInsightsAnalysisExplanationSecurityGroupRuleArrayOutputWithContext(context.Background()) } -func (i NetworkInsightsAnalysisExplanationVpnConnectionArray) ToNetworkInsightsAnalysisExplanationVpnConnectionArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationVpnConnectionArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisExplanationVpnConnectionArrayOutput) +func (i NetworkInsightsAnalysisExplanationSecurityGroupRuleArray) ToNetworkInsightsAnalysisExplanationSecurityGroupRuleArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationSecurityGroupRuleArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisExplanationSecurityGroupRuleArrayOutput) } -type NetworkInsightsAnalysisExplanationVpnConnectionOutput struct{ *pulumi.OutputState } +type NetworkInsightsAnalysisExplanationSecurityGroupRuleOutput struct{ *pulumi.OutputState } -func (NetworkInsightsAnalysisExplanationVpnConnectionOutput) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkInsightsAnalysisExplanationVpnConnection)(nil)).Elem() +func (NetworkInsightsAnalysisExplanationSecurityGroupRuleOutput) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInsightsAnalysisExplanationSecurityGroupRule)(nil)).Elem() } -func (o NetworkInsightsAnalysisExplanationVpnConnectionOutput) ToNetworkInsightsAnalysisExplanationVpnConnectionOutput() NetworkInsightsAnalysisExplanationVpnConnectionOutput { +func (o NetworkInsightsAnalysisExplanationSecurityGroupRuleOutput) ToNetworkInsightsAnalysisExplanationSecurityGroupRuleOutput() NetworkInsightsAnalysisExplanationSecurityGroupRuleOutput { return o } -func (o NetworkInsightsAnalysisExplanationVpnConnectionOutput) ToNetworkInsightsAnalysisExplanationVpnConnectionOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationVpnConnectionOutput { +func (o NetworkInsightsAnalysisExplanationSecurityGroupRuleOutput) ToNetworkInsightsAnalysisExplanationSecurityGroupRuleOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationSecurityGroupRuleOutput { return o } -// ARN of the Network Insights Analysis. -func (o NetworkInsightsAnalysisExplanationVpnConnectionOutput) Arn() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisExplanationVpnConnection) *string { return v.Arn }).(pulumi.StringPtrOutput) +func (o NetworkInsightsAnalysisExplanationSecurityGroupRuleOutput) Cidr() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisExplanationSecurityGroupRule) *string { return v.Cidr }).(pulumi.StringPtrOutput) } -// ID of the Network Insights Analysis. -func (o NetworkInsightsAnalysisExplanationVpnConnectionOutput) Id() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisExplanationVpnConnection) *string { return v.Id }).(pulumi.StringPtrOutput) +func (o NetworkInsightsAnalysisExplanationSecurityGroupRuleOutput) Direction() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisExplanationSecurityGroupRule) *string { return v.Direction }).(pulumi.StringPtrOutput) } -func (o NetworkInsightsAnalysisExplanationVpnConnectionOutput) Name() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisExplanationVpnConnection) *string { return v.Name }).(pulumi.StringPtrOutput) +func (o NetworkInsightsAnalysisExplanationSecurityGroupRuleOutput) PortRanges() NetworkInsightsAnalysisExplanationSecurityGroupRulePortRangeArrayOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisExplanationSecurityGroupRule) []NetworkInsightsAnalysisExplanationSecurityGroupRulePortRange { + return v.PortRanges + }).(NetworkInsightsAnalysisExplanationSecurityGroupRulePortRangeArrayOutput) } -type NetworkInsightsAnalysisExplanationVpnConnectionArrayOutput struct{ *pulumi.OutputState } +func (o NetworkInsightsAnalysisExplanationSecurityGroupRuleOutput) PrefixListId() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisExplanationSecurityGroupRule) *string { return v.PrefixListId }).(pulumi.StringPtrOutput) +} -func (NetworkInsightsAnalysisExplanationVpnConnectionArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]NetworkInsightsAnalysisExplanationVpnConnection)(nil)).Elem() +func (o NetworkInsightsAnalysisExplanationSecurityGroupRuleOutput) Protocol() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisExplanationSecurityGroupRule) *string { return v.Protocol }).(pulumi.StringPtrOutput) } -func (o NetworkInsightsAnalysisExplanationVpnConnectionArrayOutput) ToNetworkInsightsAnalysisExplanationVpnConnectionArrayOutput() NetworkInsightsAnalysisExplanationVpnConnectionArrayOutput { +func (o NetworkInsightsAnalysisExplanationSecurityGroupRuleOutput) SecurityGroupId() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisExplanationSecurityGroupRule) *string { return v.SecurityGroupId }).(pulumi.StringPtrOutput) +} + +type NetworkInsightsAnalysisExplanationSecurityGroupRuleArrayOutput struct{ *pulumi.OutputState } + +func (NetworkInsightsAnalysisExplanationSecurityGroupRuleArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkInsightsAnalysisExplanationSecurityGroupRule)(nil)).Elem() +} + +func (o NetworkInsightsAnalysisExplanationSecurityGroupRuleArrayOutput) ToNetworkInsightsAnalysisExplanationSecurityGroupRuleArrayOutput() NetworkInsightsAnalysisExplanationSecurityGroupRuleArrayOutput { return o } -func (o NetworkInsightsAnalysisExplanationVpnConnectionArrayOutput) ToNetworkInsightsAnalysisExplanationVpnConnectionArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationVpnConnectionArrayOutput { +func (o NetworkInsightsAnalysisExplanationSecurityGroupRuleArrayOutput) ToNetworkInsightsAnalysisExplanationSecurityGroupRuleArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationSecurityGroupRuleArrayOutput { return o } -func (o NetworkInsightsAnalysisExplanationVpnConnectionArrayOutput) Index(i pulumi.IntInput) NetworkInsightsAnalysisExplanationVpnConnectionOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkInsightsAnalysisExplanationVpnConnection { - return vs[0].([]NetworkInsightsAnalysisExplanationVpnConnection)[vs[1].(int)] - }).(NetworkInsightsAnalysisExplanationVpnConnectionOutput) +func (o NetworkInsightsAnalysisExplanationSecurityGroupRuleArrayOutput) Index(i pulumi.IntInput) NetworkInsightsAnalysisExplanationSecurityGroupRuleOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkInsightsAnalysisExplanationSecurityGroupRule { + return vs[0].([]NetworkInsightsAnalysisExplanationSecurityGroupRule)[vs[1].(int)] + }).(NetworkInsightsAnalysisExplanationSecurityGroupRuleOutput) } -type NetworkInsightsAnalysisExplanationVpnGateway struct { - // ARN of the Network Insights Analysis. - Arn *string `pulumi:"arn"` - // ID of the Network Insights Analysis. - Id *string `pulumi:"id"` - Name *string `pulumi:"name"` +type NetworkInsightsAnalysisExplanationSecurityGroupRulePortRange struct { + From *int `pulumi:"from"` + To *int `pulumi:"to"` } -// NetworkInsightsAnalysisExplanationVpnGatewayInput is an input type that accepts NetworkInsightsAnalysisExplanationVpnGatewayArgs and NetworkInsightsAnalysisExplanationVpnGatewayOutput values. -// You can construct a concrete instance of `NetworkInsightsAnalysisExplanationVpnGatewayInput` via: +// NetworkInsightsAnalysisExplanationSecurityGroupRulePortRangeInput is an input type that accepts NetworkInsightsAnalysisExplanationSecurityGroupRulePortRangeArgs and NetworkInsightsAnalysisExplanationSecurityGroupRulePortRangeOutput values. +// You can construct a concrete instance of `NetworkInsightsAnalysisExplanationSecurityGroupRulePortRangeInput` via: // -// NetworkInsightsAnalysisExplanationVpnGatewayArgs{...} -type NetworkInsightsAnalysisExplanationVpnGatewayInput interface { +// NetworkInsightsAnalysisExplanationSecurityGroupRulePortRangeArgs{...} +type NetworkInsightsAnalysisExplanationSecurityGroupRulePortRangeInput interface { pulumi.Input - ToNetworkInsightsAnalysisExplanationVpnGatewayOutput() NetworkInsightsAnalysisExplanationVpnGatewayOutput - ToNetworkInsightsAnalysisExplanationVpnGatewayOutputWithContext(context.Context) NetworkInsightsAnalysisExplanationVpnGatewayOutput + ToNetworkInsightsAnalysisExplanationSecurityGroupRulePortRangeOutput() NetworkInsightsAnalysisExplanationSecurityGroupRulePortRangeOutput + ToNetworkInsightsAnalysisExplanationSecurityGroupRulePortRangeOutputWithContext(context.Context) NetworkInsightsAnalysisExplanationSecurityGroupRulePortRangeOutput } -type NetworkInsightsAnalysisExplanationVpnGatewayArgs struct { - // ARN of the Network Insights Analysis. - Arn pulumi.StringPtrInput `pulumi:"arn"` - // ID of the Network Insights Analysis. - Id pulumi.StringPtrInput `pulumi:"id"` - Name pulumi.StringPtrInput `pulumi:"name"` +type NetworkInsightsAnalysisExplanationSecurityGroupRulePortRangeArgs struct { + From pulumi.IntPtrInput `pulumi:"from"` + To pulumi.IntPtrInput `pulumi:"to"` } -func (NetworkInsightsAnalysisExplanationVpnGatewayArgs) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkInsightsAnalysisExplanationVpnGateway)(nil)).Elem() +func (NetworkInsightsAnalysisExplanationSecurityGroupRulePortRangeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInsightsAnalysisExplanationSecurityGroupRulePortRange)(nil)).Elem() } -func (i NetworkInsightsAnalysisExplanationVpnGatewayArgs) ToNetworkInsightsAnalysisExplanationVpnGatewayOutput() NetworkInsightsAnalysisExplanationVpnGatewayOutput { - return i.ToNetworkInsightsAnalysisExplanationVpnGatewayOutputWithContext(context.Background()) +func (i NetworkInsightsAnalysisExplanationSecurityGroupRulePortRangeArgs) ToNetworkInsightsAnalysisExplanationSecurityGroupRulePortRangeOutput() NetworkInsightsAnalysisExplanationSecurityGroupRulePortRangeOutput { + return i.ToNetworkInsightsAnalysisExplanationSecurityGroupRulePortRangeOutputWithContext(context.Background()) } -func (i NetworkInsightsAnalysisExplanationVpnGatewayArgs) ToNetworkInsightsAnalysisExplanationVpnGatewayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationVpnGatewayOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisExplanationVpnGatewayOutput) +func (i NetworkInsightsAnalysisExplanationSecurityGroupRulePortRangeArgs) ToNetworkInsightsAnalysisExplanationSecurityGroupRulePortRangeOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationSecurityGroupRulePortRangeOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisExplanationSecurityGroupRulePortRangeOutput) } -// NetworkInsightsAnalysisExplanationVpnGatewayArrayInput is an input type that accepts NetworkInsightsAnalysisExplanationVpnGatewayArray and NetworkInsightsAnalysisExplanationVpnGatewayArrayOutput values. -// You can construct a concrete instance of `NetworkInsightsAnalysisExplanationVpnGatewayArrayInput` via: +// NetworkInsightsAnalysisExplanationSecurityGroupRulePortRangeArrayInput is an input type that accepts NetworkInsightsAnalysisExplanationSecurityGroupRulePortRangeArray and NetworkInsightsAnalysisExplanationSecurityGroupRulePortRangeArrayOutput values. +// You can construct a concrete instance of `NetworkInsightsAnalysisExplanationSecurityGroupRulePortRangeArrayInput` via: // -// NetworkInsightsAnalysisExplanationVpnGatewayArray{ NetworkInsightsAnalysisExplanationVpnGatewayArgs{...} } -type NetworkInsightsAnalysisExplanationVpnGatewayArrayInput interface { +// NetworkInsightsAnalysisExplanationSecurityGroupRulePortRangeArray{ NetworkInsightsAnalysisExplanationSecurityGroupRulePortRangeArgs{...} } +type NetworkInsightsAnalysisExplanationSecurityGroupRulePortRangeArrayInput interface { pulumi.Input - ToNetworkInsightsAnalysisExplanationVpnGatewayArrayOutput() NetworkInsightsAnalysisExplanationVpnGatewayArrayOutput - ToNetworkInsightsAnalysisExplanationVpnGatewayArrayOutputWithContext(context.Context) NetworkInsightsAnalysisExplanationVpnGatewayArrayOutput + ToNetworkInsightsAnalysisExplanationSecurityGroupRulePortRangeArrayOutput() NetworkInsightsAnalysisExplanationSecurityGroupRulePortRangeArrayOutput + ToNetworkInsightsAnalysisExplanationSecurityGroupRulePortRangeArrayOutputWithContext(context.Context) NetworkInsightsAnalysisExplanationSecurityGroupRulePortRangeArrayOutput } -type NetworkInsightsAnalysisExplanationVpnGatewayArray []NetworkInsightsAnalysisExplanationVpnGatewayInput +type NetworkInsightsAnalysisExplanationSecurityGroupRulePortRangeArray []NetworkInsightsAnalysisExplanationSecurityGroupRulePortRangeInput -func (NetworkInsightsAnalysisExplanationVpnGatewayArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]NetworkInsightsAnalysisExplanationVpnGateway)(nil)).Elem() +func (NetworkInsightsAnalysisExplanationSecurityGroupRulePortRangeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkInsightsAnalysisExplanationSecurityGroupRulePortRange)(nil)).Elem() } -func (i NetworkInsightsAnalysisExplanationVpnGatewayArray) ToNetworkInsightsAnalysisExplanationVpnGatewayArrayOutput() NetworkInsightsAnalysisExplanationVpnGatewayArrayOutput { - return i.ToNetworkInsightsAnalysisExplanationVpnGatewayArrayOutputWithContext(context.Background()) +func (i NetworkInsightsAnalysisExplanationSecurityGroupRulePortRangeArray) ToNetworkInsightsAnalysisExplanationSecurityGroupRulePortRangeArrayOutput() NetworkInsightsAnalysisExplanationSecurityGroupRulePortRangeArrayOutput { + return i.ToNetworkInsightsAnalysisExplanationSecurityGroupRulePortRangeArrayOutputWithContext(context.Background()) } -func (i NetworkInsightsAnalysisExplanationVpnGatewayArray) ToNetworkInsightsAnalysisExplanationVpnGatewayArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationVpnGatewayArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisExplanationVpnGatewayArrayOutput) +func (i NetworkInsightsAnalysisExplanationSecurityGroupRulePortRangeArray) ToNetworkInsightsAnalysisExplanationSecurityGroupRulePortRangeArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationSecurityGroupRulePortRangeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisExplanationSecurityGroupRulePortRangeArrayOutput) } -type NetworkInsightsAnalysisExplanationVpnGatewayOutput struct{ *pulumi.OutputState } +type NetworkInsightsAnalysisExplanationSecurityGroupRulePortRangeOutput struct{ *pulumi.OutputState } -func (NetworkInsightsAnalysisExplanationVpnGatewayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkInsightsAnalysisExplanationVpnGateway)(nil)).Elem() +func (NetworkInsightsAnalysisExplanationSecurityGroupRulePortRangeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInsightsAnalysisExplanationSecurityGroupRulePortRange)(nil)).Elem() } -func (o NetworkInsightsAnalysisExplanationVpnGatewayOutput) ToNetworkInsightsAnalysisExplanationVpnGatewayOutput() NetworkInsightsAnalysisExplanationVpnGatewayOutput { +func (o NetworkInsightsAnalysisExplanationSecurityGroupRulePortRangeOutput) ToNetworkInsightsAnalysisExplanationSecurityGroupRulePortRangeOutput() NetworkInsightsAnalysisExplanationSecurityGroupRulePortRangeOutput { return o } -func (o NetworkInsightsAnalysisExplanationVpnGatewayOutput) ToNetworkInsightsAnalysisExplanationVpnGatewayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationVpnGatewayOutput { +func (o NetworkInsightsAnalysisExplanationSecurityGroupRulePortRangeOutput) ToNetworkInsightsAnalysisExplanationSecurityGroupRulePortRangeOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationSecurityGroupRulePortRangeOutput { return o } -// ARN of the Network Insights Analysis. -func (o NetworkInsightsAnalysisExplanationVpnGatewayOutput) Arn() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisExplanationVpnGateway) *string { return v.Arn }).(pulumi.StringPtrOutput) -} - -// ID of the Network Insights Analysis. -func (o NetworkInsightsAnalysisExplanationVpnGatewayOutput) Id() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisExplanationVpnGateway) *string { return v.Id }).(pulumi.StringPtrOutput) +func (o NetworkInsightsAnalysisExplanationSecurityGroupRulePortRangeOutput) From() pulumi.IntPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisExplanationSecurityGroupRulePortRange) *int { return v.From }).(pulumi.IntPtrOutput) } -func (o NetworkInsightsAnalysisExplanationVpnGatewayOutput) Name() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisExplanationVpnGateway) *string { return v.Name }).(pulumi.StringPtrOutput) +func (o NetworkInsightsAnalysisExplanationSecurityGroupRulePortRangeOutput) To() pulumi.IntPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisExplanationSecurityGroupRulePortRange) *int { return v.To }).(pulumi.IntPtrOutput) } -type NetworkInsightsAnalysisExplanationVpnGatewayArrayOutput struct{ *pulumi.OutputState } +type NetworkInsightsAnalysisExplanationSecurityGroupRulePortRangeArrayOutput struct{ *pulumi.OutputState } -func (NetworkInsightsAnalysisExplanationVpnGatewayArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]NetworkInsightsAnalysisExplanationVpnGateway)(nil)).Elem() +func (NetworkInsightsAnalysisExplanationSecurityGroupRulePortRangeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkInsightsAnalysisExplanationSecurityGroupRulePortRange)(nil)).Elem() } -func (o NetworkInsightsAnalysisExplanationVpnGatewayArrayOutput) ToNetworkInsightsAnalysisExplanationVpnGatewayArrayOutput() NetworkInsightsAnalysisExplanationVpnGatewayArrayOutput { +func (o NetworkInsightsAnalysisExplanationSecurityGroupRulePortRangeArrayOutput) ToNetworkInsightsAnalysisExplanationSecurityGroupRulePortRangeArrayOutput() NetworkInsightsAnalysisExplanationSecurityGroupRulePortRangeArrayOutput { return o } -func (o NetworkInsightsAnalysisExplanationVpnGatewayArrayOutput) ToNetworkInsightsAnalysisExplanationVpnGatewayArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationVpnGatewayArrayOutput { +func (o NetworkInsightsAnalysisExplanationSecurityGroupRulePortRangeArrayOutput) ToNetworkInsightsAnalysisExplanationSecurityGroupRulePortRangeArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationSecurityGroupRulePortRangeArrayOutput { return o } -func (o NetworkInsightsAnalysisExplanationVpnGatewayArrayOutput) Index(i pulumi.IntInput) NetworkInsightsAnalysisExplanationVpnGatewayOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkInsightsAnalysisExplanationVpnGateway { - return vs[0].([]NetworkInsightsAnalysisExplanationVpnGateway)[vs[1].(int)] - }).(NetworkInsightsAnalysisExplanationVpnGatewayOutput) +func (o NetworkInsightsAnalysisExplanationSecurityGroupRulePortRangeArrayOutput) Index(i pulumi.IntInput) NetworkInsightsAnalysisExplanationSecurityGroupRulePortRangeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkInsightsAnalysisExplanationSecurityGroupRulePortRange { + return vs[0].([]NetworkInsightsAnalysisExplanationSecurityGroupRulePortRange)[vs[1].(int)] + }).(NetworkInsightsAnalysisExplanationSecurityGroupRulePortRangeOutput) } -type NetworkInsightsAnalysisForwardPathComponent struct { - AclRules []NetworkInsightsAnalysisForwardPathComponentAclRule `pulumi:"aclRules"` - AdditionalDetails []NetworkInsightsAnalysisForwardPathComponentAdditionalDetail `pulumi:"additionalDetails"` - AttachedTos []NetworkInsightsAnalysisForwardPathComponentAttachedTo `pulumi:"attachedTos"` - Components []NetworkInsightsAnalysisForwardPathComponentComponent `pulumi:"components"` - DestinationVpcs []NetworkInsightsAnalysisForwardPathComponentDestinationVpc `pulumi:"destinationVpcs"` - InboundHeaders []NetworkInsightsAnalysisForwardPathComponentInboundHeader `pulumi:"inboundHeaders"` - OutboundHeaders []NetworkInsightsAnalysisForwardPathComponentOutboundHeader `pulumi:"outboundHeaders"` - RouteTableRoutes []NetworkInsightsAnalysisForwardPathComponentRouteTableRoute `pulumi:"routeTableRoutes"` - SecurityGroupRules []NetworkInsightsAnalysisForwardPathComponentSecurityGroupRule `pulumi:"securityGroupRules"` - SequenceNumber *int `pulumi:"sequenceNumber"` - SourceVpcs []NetworkInsightsAnalysisForwardPathComponentSourceVpc `pulumi:"sourceVpcs"` - Subnets []NetworkInsightsAnalysisForwardPathComponentSubnet `pulumi:"subnets"` - TransitGatewayRouteTableRoutes []NetworkInsightsAnalysisForwardPathComponentTransitGatewayRouteTableRoute `pulumi:"transitGatewayRouteTableRoutes"` - TransitGateways []NetworkInsightsAnalysisForwardPathComponentTransitGateway `pulumi:"transitGateways"` - Vpcs []NetworkInsightsAnalysisForwardPathComponentVpc `pulumi:"vpcs"` +type NetworkInsightsAnalysisExplanationSourceVpc struct { + // ARN of the Network Insights Analysis. + Arn *string `pulumi:"arn"` + // ID of the Network Insights Analysis. + Id *string `pulumi:"id"` + Name *string `pulumi:"name"` } -// NetworkInsightsAnalysisForwardPathComponentInput is an input type that accepts NetworkInsightsAnalysisForwardPathComponentArgs and NetworkInsightsAnalysisForwardPathComponentOutput values. -// You can construct a concrete instance of `NetworkInsightsAnalysisForwardPathComponentInput` via: +// NetworkInsightsAnalysisExplanationSourceVpcInput is an input type that accepts NetworkInsightsAnalysisExplanationSourceVpcArgs and NetworkInsightsAnalysisExplanationSourceVpcOutput values. +// You can construct a concrete instance of `NetworkInsightsAnalysisExplanationSourceVpcInput` via: // -// NetworkInsightsAnalysisForwardPathComponentArgs{...} -type NetworkInsightsAnalysisForwardPathComponentInput interface { +// NetworkInsightsAnalysisExplanationSourceVpcArgs{...} +type NetworkInsightsAnalysisExplanationSourceVpcInput interface { pulumi.Input - ToNetworkInsightsAnalysisForwardPathComponentOutput() NetworkInsightsAnalysisForwardPathComponentOutput - ToNetworkInsightsAnalysisForwardPathComponentOutputWithContext(context.Context) NetworkInsightsAnalysisForwardPathComponentOutput + ToNetworkInsightsAnalysisExplanationSourceVpcOutput() NetworkInsightsAnalysisExplanationSourceVpcOutput + ToNetworkInsightsAnalysisExplanationSourceVpcOutputWithContext(context.Context) NetworkInsightsAnalysisExplanationSourceVpcOutput } -type NetworkInsightsAnalysisForwardPathComponentArgs struct { - AclRules NetworkInsightsAnalysisForwardPathComponentAclRuleArrayInput `pulumi:"aclRules"` - AdditionalDetails NetworkInsightsAnalysisForwardPathComponentAdditionalDetailArrayInput `pulumi:"additionalDetails"` - AttachedTos NetworkInsightsAnalysisForwardPathComponentAttachedToArrayInput `pulumi:"attachedTos"` - Components NetworkInsightsAnalysisForwardPathComponentComponentArrayInput `pulumi:"components"` - DestinationVpcs NetworkInsightsAnalysisForwardPathComponentDestinationVpcArrayInput `pulumi:"destinationVpcs"` - InboundHeaders NetworkInsightsAnalysisForwardPathComponentInboundHeaderArrayInput `pulumi:"inboundHeaders"` - OutboundHeaders NetworkInsightsAnalysisForwardPathComponentOutboundHeaderArrayInput `pulumi:"outboundHeaders"` - RouteTableRoutes NetworkInsightsAnalysisForwardPathComponentRouteTableRouteArrayInput `pulumi:"routeTableRoutes"` - SecurityGroupRules NetworkInsightsAnalysisForwardPathComponentSecurityGroupRuleArrayInput `pulumi:"securityGroupRules"` - SequenceNumber pulumi.IntPtrInput `pulumi:"sequenceNumber"` - SourceVpcs NetworkInsightsAnalysisForwardPathComponentSourceVpcArrayInput `pulumi:"sourceVpcs"` - Subnets NetworkInsightsAnalysisForwardPathComponentSubnetArrayInput `pulumi:"subnets"` - TransitGatewayRouteTableRoutes NetworkInsightsAnalysisForwardPathComponentTransitGatewayRouteTableRouteArrayInput `pulumi:"transitGatewayRouteTableRoutes"` - TransitGateways NetworkInsightsAnalysisForwardPathComponentTransitGatewayArrayInput `pulumi:"transitGateways"` - Vpcs NetworkInsightsAnalysisForwardPathComponentVpcArrayInput `pulumi:"vpcs"` +type NetworkInsightsAnalysisExplanationSourceVpcArgs struct { + // ARN of the Network Insights Analysis. + Arn pulumi.StringPtrInput `pulumi:"arn"` + // ID of the Network Insights Analysis. + Id pulumi.StringPtrInput `pulumi:"id"` + Name pulumi.StringPtrInput `pulumi:"name"` } -func (NetworkInsightsAnalysisForwardPathComponentArgs) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkInsightsAnalysisForwardPathComponent)(nil)).Elem() +func (NetworkInsightsAnalysisExplanationSourceVpcArgs) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInsightsAnalysisExplanationSourceVpc)(nil)).Elem() } -func (i NetworkInsightsAnalysisForwardPathComponentArgs) ToNetworkInsightsAnalysisForwardPathComponentOutput() NetworkInsightsAnalysisForwardPathComponentOutput { - return i.ToNetworkInsightsAnalysisForwardPathComponentOutputWithContext(context.Background()) +func (i NetworkInsightsAnalysisExplanationSourceVpcArgs) ToNetworkInsightsAnalysisExplanationSourceVpcOutput() NetworkInsightsAnalysisExplanationSourceVpcOutput { + return i.ToNetworkInsightsAnalysisExplanationSourceVpcOutputWithContext(context.Background()) } -func (i NetworkInsightsAnalysisForwardPathComponentArgs) ToNetworkInsightsAnalysisForwardPathComponentOutputWithContext(ctx context.Context) NetworkInsightsAnalysisForwardPathComponentOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisForwardPathComponentOutput) +func (i NetworkInsightsAnalysisExplanationSourceVpcArgs) ToNetworkInsightsAnalysisExplanationSourceVpcOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationSourceVpcOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisExplanationSourceVpcOutput) } -// NetworkInsightsAnalysisForwardPathComponentArrayInput is an input type that accepts NetworkInsightsAnalysisForwardPathComponentArray and NetworkInsightsAnalysisForwardPathComponentArrayOutput values. -// You can construct a concrete instance of `NetworkInsightsAnalysisForwardPathComponentArrayInput` via: +// NetworkInsightsAnalysisExplanationSourceVpcArrayInput is an input type that accepts NetworkInsightsAnalysisExplanationSourceVpcArray and NetworkInsightsAnalysisExplanationSourceVpcArrayOutput values. +// You can construct a concrete instance of `NetworkInsightsAnalysisExplanationSourceVpcArrayInput` via: // -// NetworkInsightsAnalysisForwardPathComponentArray{ NetworkInsightsAnalysisForwardPathComponentArgs{...} } -type NetworkInsightsAnalysisForwardPathComponentArrayInput interface { +// NetworkInsightsAnalysisExplanationSourceVpcArray{ NetworkInsightsAnalysisExplanationSourceVpcArgs{...} } +type NetworkInsightsAnalysisExplanationSourceVpcArrayInput interface { pulumi.Input - ToNetworkInsightsAnalysisForwardPathComponentArrayOutput() NetworkInsightsAnalysisForwardPathComponentArrayOutput - ToNetworkInsightsAnalysisForwardPathComponentArrayOutputWithContext(context.Context) NetworkInsightsAnalysisForwardPathComponentArrayOutput + ToNetworkInsightsAnalysisExplanationSourceVpcArrayOutput() NetworkInsightsAnalysisExplanationSourceVpcArrayOutput + ToNetworkInsightsAnalysisExplanationSourceVpcArrayOutputWithContext(context.Context) NetworkInsightsAnalysisExplanationSourceVpcArrayOutput } -type NetworkInsightsAnalysisForwardPathComponentArray []NetworkInsightsAnalysisForwardPathComponentInput +type NetworkInsightsAnalysisExplanationSourceVpcArray []NetworkInsightsAnalysisExplanationSourceVpcInput -func (NetworkInsightsAnalysisForwardPathComponentArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]NetworkInsightsAnalysisForwardPathComponent)(nil)).Elem() +func (NetworkInsightsAnalysisExplanationSourceVpcArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkInsightsAnalysisExplanationSourceVpc)(nil)).Elem() } -func (i NetworkInsightsAnalysisForwardPathComponentArray) ToNetworkInsightsAnalysisForwardPathComponentArrayOutput() NetworkInsightsAnalysisForwardPathComponentArrayOutput { - return i.ToNetworkInsightsAnalysisForwardPathComponentArrayOutputWithContext(context.Background()) +func (i NetworkInsightsAnalysisExplanationSourceVpcArray) ToNetworkInsightsAnalysisExplanationSourceVpcArrayOutput() NetworkInsightsAnalysisExplanationSourceVpcArrayOutput { + return i.ToNetworkInsightsAnalysisExplanationSourceVpcArrayOutputWithContext(context.Background()) } -func (i NetworkInsightsAnalysisForwardPathComponentArray) ToNetworkInsightsAnalysisForwardPathComponentArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisForwardPathComponentArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisForwardPathComponentArrayOutput) +func (i NetworkInsightsAnalysisExplanationSourceVpcArray) ToNetworkInsightsAnalysisExplanationSourceVpcArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationSourceVpcArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisExplanationSourceVpcArrayOutput) } -type NetworkInsightsAnalysisForwardPathComponentOutput struct{ *pulumi.OutputState } +type NetworkInsightsAnalysisExplanationSourceVpcOutput struct{ *pulumi.OutputState } -func (NetworkInsightsAnalysisForwardPathComponentOutput) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkInsightsAnalysisForwardPathComponent)(nil)).Elem() +func (NetworkInsightsAnalysisExplanationSourceVpcOutput) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInsightsAnalysisExplanationSourceVpc)(nil)).Elem() } -func (o NetworkInsightsAnalysisForwardPathComponentOutput) ToNetworkInsightsAnalysisForwardPathComponentOutput() NetworkInsightsAnalysisForwardPathComponentOutput { +func (o NetworkInsightsAnalysisExplanationSourceVpcOutput) ToNetworkInsightsAnalysisExplanationSourceVpcOutput() NetworkInsightsAnalysisExplanationSourceVpcOutput { return o } -func (o NetworkInsightsAnalysisForwardPathComponentOutput) ToNetworkInsightsAnalysisForwardPathComponentOutputWithContext(ctx context.Context) NetworkInsightsAnalysisForwardPathComponentOutput { +func (o NetworkInsightsAnalysisExplanationSourceVpcOutput) ToNetworkInsightsAnalysisExplanationSourceVpcOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationSourceVpcOutput { return o } -func (o NetworkInsightsAnalysisForwardPathComponentOutput) AclRules() NetworkInsightsAnalysisForwardPathComponentAclRuleArrayOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponent) []NetworkInsightsAnalysisForwardPathComponentAclRule { - return v.AclRules - }).(NetworkInsightsAnalysisForwardPathComponentAclRuleArrayOutput) +// ARN of the Network Insights Analysis. +func (o NetworkInsightsAnalysisExplanationSourceVpcOutput) Arn() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisExplanationSourceVpc) *string { return v.Arn }).(pulumi.StringPtrOutput) } -func (o NetworkInsightsAnalysisForwardPathComponentOutput) AdditionalDetails() NetworkInsightsAnalysisForwardPathComponentAdditionalDetailArrayOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponent) []NetworkInsightsAnalysisForwardPathComponentAdditionalDetail { - return v.AdditionalDetails - }).(NetworkInsightsAnalysisForwardPathComponentAdditionalDetailArrayOutput) +// ID of the Network Insights Analysis. +func (o NetworkInsightsAnalysisExplanationSourceVpcOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisExplanationSourceVpc) *string { return v.Id }).(pulumi.StringPtrOutput) } -func (o NetworkInsightsAnalysisForwardPathComponentOutput) AttachedTos() NetworkInsightsAnalysisForwardPathComponentAttachedToArrayOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponent) []NetworkInsightsAnalysisForwardPathComponentAttachedTo { - return v.AttachedTos - }).(NetworkInsightsAnalysisForwardPathComponentAttachedToArrayOutput) +func (o NetworkInsightsAnalysisExplanationSourceVpcOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisExplanationSourceVpc) *string { return v.Name }).(pulumi.StringPtrOutput) } -func (o NetworkInsightsAnalysisForwardPathComponentOutput) Components() NetworkInsightsAnalysisForwardPathComponentComponentArrayOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponent) []NetworkInsightsAnalysisForwardPathComponentComponent { - return v.Components - }).(NetworkInsightsAnalysisForwardPathComponentComponentArrayOutput) +type NetworkInsightsAnalysisExplanationSourceVpcArrayOutput struct{ *pulumi.OutputState } + +func (NetworkInsightsAnalysisExplanationSourceVpcArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkInsightsAnalysisExplanationSourceVpc)(nil)).Elem() } -func (o NetworkInsightsAnalysisForwardPathComponentOutput) DestinationVpcs() NetworkInsightsAnalysisForwardPathComponentDestinationVpcArrayOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponent) []NetworkInsightsAnalysisForwardPathComponentDestinationVpc { - return v.DestinationVpcs - }).(NetworkInsightsAnalysisForwardPathComponentDestinationVpcArrayOutput) +func (o NetworkInsightsAnalysisExplanationSourceVpcArrayOutput) ToNetworkInsightsAnalysisExplanationSourceVpcArrayOutput() NetworkInsightsAnalysisExplanationSourceVpcArrayOutput { + return o } -func (o NetworkInsightsAnalysisForwardPathComponentOutput) InboundHeaders() NetworkInsightsAnalysisForwardPathComponentInboundHeaderArrayOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponent) []NetworkInsightsAnalysisForwardPathComponentInboundHeader { - return v.InboundHeaders - }).(NetworkInsightsAnalysisForwardPathComponentInboundHeaderArrayOutput) +func (o NetworkInsightsAnalysisExplanationSourceVpcArrayOutput) ToNetworkInsightsAnalysisExplanationSourceVpcArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationSourceVpcArrayOutput { + return o } -func (o NetworkInsightsAnalysisForwardPathComponentOutput) OutboundHeaders() NetworkInsightsAnalysisForwardPathComponentOutboundHeaderArrayOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponent) []NetworkInsightsAnalysisForwardPathComponentOutboundHeader { - return v.OutboundHeaders - }).(NetworkInsightsAnalysisForwardPathComponentOutboundHeaderArrayOutput) +func (o NetworkInsightsAnalysisExplanationSourceVpcArrayOutput) Index(i pulumi.IntInput) NetworkInsightsAnalysisExplanationSourceVpcOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkInsightsAnalysisExplanationSourceVpc { + return vs[0].([]NetworkInsightsAnalysisExplanationSourceVpc)[vs[1].(int)] + }).(NetworkInsightsAnalysisExplanationSourceVpcOutput) } -func (o NetworkInsightsAnalysisForwardPathComponentOutput) RouteTableRoutes() NetworkInsightsAnalysisForwardPathComponentRouteTableRouteArrayOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponent) []NetworkInsightsAnalysisForwardPathComponentRouteTableRoute { - return v.RouteTableRoutes - }).(NetworkInsightsAnalysisForwardPathComponentRouteTableRouteArrayOutput) +type NetworkInsightsAnalysisExplanationSubnet struct { + // ARN of the Network Insights Analysis. + Arn *string `pulumi:"arn"` + // ID of the Network Insights Analysis. + Id *string `pulumi:"id"` + Name *string `pulumi:"name"` } -func (o NetworkInsightsAnalysisForwardPathComponentOutput) SecurityGroupRules() NetworkInsightsAnalysisForwardPathComponentSecurityGroupRuleArrayOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponent) []NetworkInsightsAnalysisForwardPathComponentSecurityGroupRule { - return v.SecurityGroupRules - }).(NetworkInsightsAnalysisForwardPathComponentSecurityGroupRuleArrayOutput) +// NetworkInsightsAnalysisExplanationSubnetInput is an input type that accepts NetworkInsightsAnalysisExplanationSubnetArgs and NetworkInsightsAnalysisExplanationSubnetOutput values. +// You can construct a concrete instance of `NetworkInsightsAnalysisExplanationSubnetInput` via: +// +// NetworkInsightsAnalysisExplanationSubnetArgs{...} +type NetworkInsightsAnalysisExplanationSubnetInput interface { + pulumi.Input + + ToNetworkInsightsAnalysisExplanationSubnetOutput() NetworkInsightsAnalysisExplanationSubnetOutput + ToNetworkInsightsAnalysisExplanationSubnetOutputWithContext(context.Context) NetworkInsightsAnalysisExplanationSubnetOutput } -func (o NetworkInsightsAnalysisForwardPathComponentOutput) SequenceNumber() pulumi.IntPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponent) *int { return v.SequenceNumber }).(pulumi.IntPtrOutput) +type NetworkInsightsAnalysisExplanationSubnetArgs struct { + // ARN of the Network Insights Analysis. + Arn pulumi.StringPtrInput `pulumi:"arn"` + // ID of the Network Insights Analysis. + Id pulumi.StringPtrInput `pulumi:"id"` + Name pulumi.StringPtrInput `pulumi:"name"` } -func (o NetworkInsightsAnalysisForwardPathComponentOutput) SourceVpcs() NetworkInsightsAnalysisForwardPathComponentSourceVpcArrayOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponent) []NetworkInsightsAnalysisForwardPathComponentSourceVpc { - return v.SourceVpcs - }).(NetworkInsightsAnalysisForwardPathComponentSourceVpcArrayOutput) +func (NetworkInsightsAnalysisExplanationSubnetArgs) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInsightsAnalysisExplanationSubnet)(nil)).Elem() } -func (o NetworkInsightsAnalysisForwardPathComponentOutput) Subnets() NetworkInsightsAnalysisForwardPathComponentSubnetArrayOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponent) []NetworkInsightsAnalysisForwardPathComponentSubnet { - return v.Subnets - }).(NetworkInsightsAnalysisForwardPathComponentSubnetArrayOutput) +func (i NetworkInsightsAnalysisExplanationSubnetArgs) ToNetworkInsightsAnalysisExplanationSubnetOutput() NetworkInsightsAnalysisExplanationSubnetOutput { + return i.ToNetworkInsightsAnalysisExplanationSubnetOutputWithContext(context.Background()) } -func (o NetworkInsightsAnalysisForwardPathComponentOutput) TransitGatewayRouteTableRoutes() NetworkInsightsAnalysisForwardPathComponentTransitGatewayRouteTableRouteArrayOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponent) []NetworkInsightsAnalysisForwardPathComponentTransitGatewayRouteTableRoute { - return v.TransitGatewayRouteTableRoutes - }).(NetworkInsightsAnalysisForwardPathComponentTransitGatewayRouteTableRouteArrayOutput) +func (i NetworkInsightsAnalysisExplanationSubnetArgs) ToNetworkInsightsAnalysisExplanationSubnetOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationSubnetOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisExplanationSubnetOutput) } -func (o NetworkInsightsAnalysisForwardPathComponentOutput) TransitGateways() NetworkInsightsAnalysisForwardPathComponentTransitGatewayArrayOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponent) []NetworkInsightsAnalysisForwardPathComponentTransitGateway { - return v.TransitGateways - }).(NetworkInsightsAnalysisForwardPathComponentTransitGatewayArrayOutput) +// NetworkInsightsAnalysisExplanationSubnetArrayInput is an input type that accepts NetworkInsightsAnalysisExplanationSubnetArray and NetworkInsightsAnalysisExplanationSubnetArrayOutput values. +// You can construct a concrete instance of `NetworkInsightsAnalysisExplanationSubnetArrayInput` via: +// +// NetworkInsightsAnalysisExplanationSubnetArray{ NetworkInsightsAnalysisExplanationSubnetArgs{...} } +type NetworkInsightsAnalysisExplanationSubnetArrayInput interface { + pulumi.Input + + ToNetworkInsightsAnalysisExplanationSubnetArrayOutput() NetworkInsightsAnalysisExplanationSubnetArrayOutput + ToNetworkInsightsAnalysisExplanationSubnetArrayOutputWithContext(context.Context) NetworkInsightsAnalysisExplanationSubnetArrayOutput } -func (o NetworkInsightsAnalysisForwardPathComponentOutput) Vpcs() NetworkInsightsAnalysisForwardPathComponentVpcArrayOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponent) []NetworkInsightsAnalysisForwardPathComponentVpc { - return v.Vpcs - }).(NetworkInsightsAnalysisForwardPathComponentVpcArrayOutput) +type NetworkInsightsAnalysisExplanationSubnetArray []NetworkInsightsAnalysisExplanationSubnetInput + +func (NetworkInsightsAnalysisExplanationSubnetArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkInsightsAnalysisExplanationSubnet)(nil)).Elem() } -type NetworkInsightsAnalysisForwardPathComponentArrayOutput struct{ *pulumi.OutputState } +func (i NetworkInsightsAnalysisExplanationSubnetArray) ToNetworkInsightsAnalysisExplanationSubnetArrayOutput() NetworkInsightsAnalysisExplanationSubnetArrayOutput { + return i.ToNetworkInsightsAnalysisExplanationSubnetArrayOutputWithContext(context.Background()) +} -func (NetworkInsightsAnalysisForwardPathComponentArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]NetworkInsightsAnalysisForwardPathComponent)(nil)).Elem() +func (i NetworkInsightsAnalysisExplanationSubnetArray) ToNetworkInsightsAnalysisExplanationSubnetArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationSubnetArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisExplanationSubnetArrayOutput) } -func (o NetworkInsightsAnalysisForwardPathComponentArrayOutput) ToNetworkInsightsAnalysisForwardPathComponentArrayOutput() NetworkInsightsAnalysisForwardPathComponentArrayOutput { +type NetworkInsightsAnalysisExplanationSubnetOutput struct{ *pulumi.OutputState } + +func (NetworkInsightsAnalysisExplanationSubnetOutput) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInsightsAnalysisExplanationSubnet)(nil)).Elem() +} + +func (o NetworkInsightsAnalysisExplanationSubnetOutput) ToNetworkInsightsAnalysisExplanationSubnetOutput() NetworkInsightsAnalysisExplanationSubnetOutput { return o } -func (o NetworkInsightsAnalysisForwardPathComponentArrayOutput) ToNetworkInsightsAnalysisForwardPathComponentArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisForwardPathComponentArrayOutput { +func (o NetworkInsightsAnalysisExplanationSubnetOutput) ToNetworkInsightsAnalysisExplanationSubnetOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationSubnetOutput { return o } -func (o NetworkInsightsAnalysisForwardPathComponentArrayOutput) Index(i pulumi.IntInput) NetworkInsightsAnalysisForwardPathComponentOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkInsightsAnalysisForwardPathComponent { - return vs[0].([]NetworkInsightsAnalysisForwardPathComponent)[vs[1].(int)] - }).(NetworkInsightsAnalysisForwardPathComponentOutput) +// ARN of the Network Insights Analysis. +func (o NetworkInsightsAnalysisExplanationSubnetOutput) Arn() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisExplanationSubnet) *string { return v.Arn }).(pulumi.StringPtrOutput) } -type NetworkInsightsAnalysisForwardPathComponentAclRule struct { - Cidr *string `pulumi:"cidr"` - Egress *bool `pulumi:"egress"` - PortRanges []NetworkInsightsAnalysisForwardPathComponentAclRulePortRange `pulumi:"portRanges"` - Protocol *string `pulumi:"protocol"` - RuleAction *string `pulumi:"ruleAction"` - RuleNumber *int `pulumi:"ruleNumber"` +// ID of the Network Insights Analysis. +func (o NetworkInsightsAnalysisExplanationSubnetOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisExplanationSubnet) *string { return v.Id }).(pulumi.StringPtrOutput) } -// NetworkInsightsAnalysisForwardPathComponentAclRuleInput is an input type that accepts NetworkInsightsAnalysisForwardPathComponentAclRuleArgs and NetworkInsightsAnalysisForwardPathComponentAclRuleOutput values. -// You can construct a concrete instance of `NetworkInsightsAnalysisForwardPathComponentAclRuleInput` via: -// -// NetworkInsightsAnalysisForwardPathComponentAclRuleArgs{...} -type NetworkInsightsAnalysisForwardPathComponentAclRuleInput interface { - pulumi.Input +func (o NetworkInsightsAnalysisExplanationSubnetOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisExplanationSubnet) *string { return v.Name }).(pulumi.StringPtrOutput) +} - ToNetworkInsightsAnalysisForwardPathComponentAclRuleOutput() NetworkInsightsAnalysisForwardPathComponentAclRuleOutput - ToNetworkInsightsAnalysisForwardPathComponentAclRuleOutputWithContext(context.Context) NetworkInsightsAnalysisForwardPathComponentAclRuleOutput +type NetworkInsightsAnalysisExplanationSubnetArrayOutput struct{ *pulumi.OutputState } + +func (NetworkInsightsAnalysisExplanationSubnetArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkInsightsAnalysisExplanationSubnet)(nil)).Elem() } -type NetworkInsightsAnalysisForwardPathComponentAclRuleArgs struct { - Cidr pulumi.StringPtrInput `pulumi:"cidr"` - Egress pulumi.BoolPtrInput `pulumi:"egress"` - PortRanges NetworkInsightsAnalysisForwardPathComponentAclRulePortRangeArrayInput `pulumi:"portRanges"` - Protocol pulumi.StringPtrInput `pulumi:"protocol"` - RuleAction pulumi.StringPtrInput `pulumi:"ruleAction"` - RuleNumber pulumi.IntPtrInput `pulumi:"ruleNumber"` +func (o NetworkInsightsAnalysisExplanationSubnetArrayOutput) ToNetworkInsightsAnalysisExplanationSubnetArrayOutput() NetworkInsightsAnalysisExplanationSubnetArrayOutput { + return o } -func (NetworkInsightsAnalysisForwardPathComponentAclRuleArgs) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkInsightsAnalysisForwardPathComponentAclRule)(nil)).Elem() +func (o NetworkInsightsAnalysisExplanationSubnetArrayOutput) ToNetworkInsightsAnalysisExplanationSubnetArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationSubnetArrayOutput { + return o } -func (i NetworkInsightsAnalysisForwardPathComponentAclRuleArgs) ToNetworkInsightsAnalysisForwardPathComponentAclRuleOutput() NetworkInsightsAnalysisForwardPathComponentAclRuleOutput { - return i.ToNetworkInsightsAnalysisForwardPathComponentAclRuleOutputWithContext(context.Background()) +func (o NetworkInsightsAnalysisExplanationSubnetArrayOutput) Index(i pulumi.IntInput) NetworkInsightsAnalysisExplanationSubnetOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkInsightsAnalysisExplanationSubnet { + return vs[0].([]NetworkInsightsAnalysisExplanationSubnet)[vs[1].(int)] + }).(NetworkInsightsAnalysisExplanationSubnetOutput) } -func (i NetworkInsightsAnalysisForwardPathComponentAclRuleArgs) ToNetworkInsightsAnalysisForwardPathComponentAclRuleOutputWithContext(ctx context.Context) NetworkInsightsAnalysisForwardPathComponentAclRuleOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisForwardPathComponentAclRuleOutput) +type NetworkInsightsAnalysisExplanationSubnetRouteTable struct { + // ARN of the Network Insights Analysis. + Arn *string `pulumi:"arn"` + // ID of the Network Insights Analysis. + Id *string `pulumi:"id"` + Name *string `pulumi:"name"` } -// NetworkInsightsAnalysisForwardPathComponentAclRuleArrayInput is an input type that accepts NetworkInsightsAnalysisForwardPathComponentAclRuleArray and NetworkInsightsAnalysisForwardPathComponentAclRuleArrayOutput values. -// You can construct a concrete instance of `NetworkInsightsAnalysisForwardPathComponentAclRuleArrayInput` via: +// NetworkInsightsAnalysisExplanationSubnetRouteTableInput is an input type that accepts NetworkInsightsAnalysisExplanationSubnetRouteTableArgs and NetworkInsightsAnalysisExplanationSubnetRouteTableOutput values. +// You can construct a concrete instance of `NetworkInsightsAnalysisExplanationSubnetRouteTableInput` via: // -// NetworkInsightsAnalysisForwardPathComponentAclRuleArray{ NetworkInsightsAnalysisForwardPathComponentAclRuleArgs{...} } -type NetworkInsightsAnalysisForwardPathComponentAclRuleArrayInput interface { +// NetworkInsightsAnalysisExplanationSubnetRouteTableArgs{...} +type NetworkInsightsAnalysisExplanationSubnetRouteTableInput interface { pulumi.Input - ToNetworkInsightsAnalysisForwardPathComponentAclRuleArrayOutput() NetworkInsightsAnalysisForwardPathComponentAclRuleArrayOutput - ToNetworkInsightsAnalysisForwardPathComponentAclRuleArrayOutputWithContext(context.Context) NetworkInsightsAnalysisForwardPathComponentAclRuleArrayOutput + ToNetworkInsightsAnalysisExplanationSubnetRouteTableOutput() NetworkInsightsAnalysisExplanationSubnetRouteTableOutput + ToNetworkInsightsAnalysisExplanationSubnetRouteTableOutputWithContext(context.Context) NetworkInsightsAnalysisExplanationSubnetRouteTableOutput } -type NetworkInsightsAnalysisForwardPathComponentAclRuleArray []NetworkInsightsAnalysisForwardPathComponentAclRuleInput +type NetworkInsightsAnalysisExplanationSubnetRouteTableArgs struct { + // ARN of the Network Insights Analysis. + Arn pulumi.StringPtrInput `pulumi:"arn"` + // ID of the Network Insights Analysis. + Id pulumi.StringPtrInput `pulumi:"id"` + Name pulumi.StringPtrInput `pulumi:"name"` +} -func (NetworkInsightsAnalysisForwardPathComponentAclRuleArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]NetworkInsightsAnalysisForwardPathComponentAclRule)(nil)).Elem() +func (NetworkInsightsAnalysisExplanationSubnetRouteTableArgs) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInsightsAnalysisExplanationSubnetRouteTable)(nil)).Elem() } -func (i NetworkInsightsAnalysisForwardPathComponentAclRuleArray) ToNetworkInsightsAnalysisForwardPathComponentAclRuleArrayOutput() NetworkInsightsAnalysisForwardPathComponentAclRuleArrayOutput { - return i.ToNetworkInsightsAnalysisForwardPathComponentAclRuleArrayOutputWithContext(context.Background()) +func (i NetworkInsightsAnalysisExplanationSubnetRouteTableArgs) ToNetworkInsightsAnalysisExplanationSubnetRouteTableOutput() NetworkInsightsAnalysisExplanationSubnetRouteTableOutput { + return i.ToNetworkInsightsAnalysisExplanationSubnetRouteTableOutputWithContext(context.Background()) } -func (i NetworkInsightsAnalysisForwardPathComponentAclRuleArray) ToNetworkInsightsAnalysisForwardPathComponentAclRuleArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisForwardPathComponentAclRuleArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisForwardPathComponentAclRuleArrayOutput) +func (i NetworkInsightsAnalysisExplanationSubnetRouteTableArgs) ToNetworkInsightsAnalysisExplanationSubnetRouteTableOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationSubnetRouteTableOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisExplanationSubnetRouteTableOutput) } -type NetworkInsightsAnalysisForwardPathComponentAclRuleOutput struct{ *pulumi.OutputState } +// NetworkInsightsAnalysisExplanationSubnetRouteTableArrayInput is an input type that accepts NetworkInsightsAnalysisExplanationSubnetRouteTableArray and NetworkInsightsAnalysisExplanationSubnetRouteTableArrayOutput values. +// You can construct a concrete instance of `NetworkInsightsAnalysisExplanationSubnetRouteTableArrayInput` via: +// +// NetworkInsightsAnalysisExplanationSubnetRouteTableArray{ NetworkInsightsAnalysisExplanationSubnetRouteTableArgs{...} } +type NetworkInsightsAnalysisExplanationSubnetRouteTableArrayInput interface { + pulumi.Input -func (NetworkInsightsAnalysisForwardPathComponentAclRuleOutput) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkInsightsAnalysisForwardPathComponentAclRule)(nil)).Elem() + ToNetworkInsightsAnalysisExplanationSubnetRouteTableArrayOutput() NetworkInsightsAnalysisExplanationSubnetRouteTableArrayOutput + ToNetworkInsightsAnalysisExplanationSubnetRouteTableArrayOutputWithContext(context.Context) NetworkInsightsAnalysisExplanationSubnetRouteTableArrayOutput } -func (o NetworkInsightsAnalysisForwardPathComponentAclRuleOutput) ToNetworkInsightsAnalysisForwardPathComponentAclRuleOutput() NetworkInsightsAnalysisForwardPathComponentAclRuleOutput { - return o +type NetworkInsightsAnalysisExplanationSubnetRouteTableArray []NetworkInsightsAnalysisExplanationSubnetRouteTableInput + +func (NetworkInsightsAnalysisExplanationSubnetRouteTableArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkInsightsAnalysisExplanationSubnetRouteTable)(nil)).Elem() } -func (o NetworkInsightsAnalysisForwardPathComponentAclRuleOutput) ToNetworkInsightsAnalysisForwardPathComponentAclRuleOutputWithContext(ctx context.Context) NetworkInsightsAnalysisForwardPathComponentAclRuleOutput { - return o +func (i NetworkInsightsAnalysisExplanationSubnetRouteTableArray) ToNetworkInsightsAnalysisExplanationSubnetRouteTableArrayOutput() NetworkInsightsAnalysisExplanationSubnetRouteTableArrayOutput { + return i.ToNetworkInsightsAnalysisExplanationSubnetRouteTableArrayOutputWithContext(context.Background()) } -func (o NetworkInsightsAnalysisForwardPathComponentAclRuleOutput) Cidr() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponentAclRule) *string { return v.Cidr }).(pulumi.StringPtrOutput) +func (i NetworkInsightsAnalysisExplanationSubnetRouteTableArray) ToNetworkInsightsAnalysisExplanationSubnetRouteTableArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationSubnetRouteTableArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisExplanationSubnetRouteTableArrayOutput) } -func (o NetworkInsightsAnalysisForwardPathComponentAclRuleOutput) Egress() pulumi.BoolPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponentAclRule) *bool { return v.Egress }).(pulumi.BoolPtrOutput) +type NetworkInsightsAnalysisExplanationSubnetRouteTableOutput struct{ *pulumi.OutputState } + +func (NetworkInsightsAnalysisExplanationSubnetRouteTableOutput) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInsightsAnalysisExplanationSubnetRouteTable)(nil)).Elem() } -func (o NetworkInsightsAnalysisForwardPathComponentAclRuleOutput) PortRanges() NetworkInsightsAnalysisForwardPathComponentAclRulePortRangeArrayOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponentAclRule) []NetworkInsightsAnalysisForwardPathComponentAclRulePortRange { - return v.PortRanges - }).(NetworkInsightsAnalysisForwardPathComponentAclRulePortRangeArrayOutput) +func (o NetworkInsightsAnalysisExplanationSubnetRouteTableOutput) ToNetworkInsightsAnalysisExplanationSubnetRouteTableOutput() NetworkInsightsAnalysisExplanationSubnetRouteTableOutput { + return o } -func (o NetworkInsightsAnalysisForwardPathComponentAclRuleOutput) Protocol() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponentAclRule) *string { return v.Protocol }).(pulumi.StringPtrOutput) +func (o NetworkInsightsAnalysisExplanationSubnetRouteTableOutput) ToNetworkInsightsAnalysisExplanationSubnetRouteTableOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationSubnetRouteTableOutput { + return o } -func (o NetworkInsightsAnalysisForwardPathComponentAclRuleOutput) RuleAction() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponentAclRule) *string { return v.RuleAction }).(pulumi.StringPtrOutput) +// ARN of the Network Insights Analysis. +func (o NetworkInsightsAnalysisExplanationSubnetRouteTableOutput) Arn() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisExplanationSubnetRouteTable) *string { return v.Arn }).(pulumi.StringPtrOutput) } -func (o NetworkInsightsAnalysisForwardPathComponentAclRuleOutput) RuleNumber() pulumi.IntPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponentAclRule) *int { return v.RuleNumber }).(pulumi.IntPtrOutput) +// ID of the Network Insights Analysis. +func (o NetworkInsightsAnalysisExplanationSubnetRouteTableOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisExplanationSubnetRouteTable) *string { return v.Id }).(pulumi.StringPtrOutput) } -type NetworkInsightsAnalysisForwardPathComponentAclRuleArrayOutput struct{ *pulumi.OutputState } +func (o NetworkInsightsAnalysisExplanationSubnetRouteTableOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisExplanationSubnetRouteTable) *string { return v.Name }).(pulumi.StringPtrOutput) +} -func (NetworkInsightsAnalysisForwardPathComponentAclRuleArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]NetworkInsightsAnalysisForwardPathComponentAclRule)(nil)).Elem() +type NetworkInsightsAnalysisExplanationSubnetRouteTableArrayOutput struct{ *pulumi.OutputState } + +func (NetworkInsightsAnalysisExplanationSubnetRouteTableArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkInsightsAnalysisExplanationSubnetRouteTable)(nil)).Elem() } -func (o NetworkInsightsAnalysisForwardPathComponentAclRuleArrayOutput) ToNetworkInsightsAnalysisForwardPathComponentAclRuleArrayOutput() NetworkInsightsAnalysisForwardPathComponentAclRuleArrayOutput { +func (o NetworkInsightsAnalysisExplanationSubnetRouteTableArrayOutput) ToNetworkInsightsAnalysisExplanationSubnetRouteTableArrayOutput() NetworkInsightsAnalysisExplanationSubnetRouteTableArrayOutput { return o } -func (o NetworkInsightsAnalysisForwardPathComponentAclRuleArrayOutput) ToNetworkInsightsAnalysisForwardPathComponentAclRuleArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisForwardPathComponentAclRuleArrayOutput { +func (o NetworkInsightsAnalysisExplanationSubnetRouteTableArrayOutput) ToNetworkInsightsAnalysisExplanationSubnetRouteTableArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationSubnetRouteTableArrayOutput { return o } -func (o NetworkInsightsAnalysisForwardPathComponentAclRuleArrayOutput) Index(i pulumi.IntInput) NetworkInsightsAnalysisForwardPathComponentAclRuleOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkInsightsAnalysisForwardPathComponentAclRule { - return vs[0].([]NetworkInsightsAnalysisForwardPathComponentAclRule)[vs[1].(int)] - }).(NetworkInsightsAnalysisForwardPathComponentAclRuleOutput) +func (o NetworkInsightsAnalysisExplanationSubnetRouteTableArrayOutput) Index(i pulumi.IntInput) NetworkInsightsAnalysisExplanationSubnetRouteTableOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkInsightsAnalysisExplanationSubnetRouteTable { + return vs[0].([]NetworkInsightsAnalysisExplanationSubnetRouteTable)[vs[1].(int)] + }).(NetworkInsightsAnalysisExplanationSubnetRouteTableOutput) } -type NetworkInsightsAnalysisForwardPathComponentAclRulePortRange struct { - From *int `pulumi:"from"` - To *int `pulumi:"to"` +type NetworkInsightsAnalysisExplanationTransitGateway struct { + // ARN of the Network Insights Analysis. + Arn *string `pulumi:"arn"` + // ID of the Network Insights Analysis. + Id *string `pulumi:"id"` + Name *string `pulumi:"name"` } -// NetworkInsightsAnalysisForwardPathComponentAclRulePortRangeInput is an input type that accepts NetworkInsightsAnalysisForwardPathComponentAclRulePortRangeArgs and NetworkInsightsAnalysisForwardPathComponentAclRulePortRangeOutput values. -// You can construct a concrete instance of `NetworkInsightsAnalysisForwardPathComponentAclRulePortRangeInput` via: +// NetworkInsightsAnalysisExplanationTransitGatewayInput is an input type that accepts NetworkInsightsAnalysisExplanationTransitGatewayArgs and NetworkInsightsAnalysisExplanationTransitGatewayOutput values. +// You can construct a concrete instance of `NetworkInsightsAnalysisExplanationTransitGatewayInput` via: // -// NetworkInsightsAnalysisForwardPathComponentAclRulePortRangeArgs{...} -type NetworkInsightsAnalysisForwardPathComponentAclRulePortRangeInput interface { +// NetworkInsightsAnalysisExplanationTransitGatewayArgs{...} +type NetworkInsightsAnalysisExplanationTransitGatewayInput interface { pulumi.Input - ToNetworkInsightsAnalysisForwardPathComponentAclRulePortRangeOutput() NetworkInsightsAnalysisForwardPathComponentAclRulePortRangeOutput - ToNetworkInsightsAnalysisForwardPathComponentAclRulePortRangeOutputWithContext(context.Context) NetworkInsightsAnalysisForwardPathComponentAclRulePortRangeOutput + ToNetworkInsightsAnalysisExplanationTransitGatewayOutput() NetworkInsightsAnalysisExplanationTransitGatewayOutput + ToNetworkInsightsAnalysisExplanationTransitGatewayOutputWithContext(context.Context) NetworkInsightsAnalysisExplanationTransitGatewayOutput } -type NetworkInsightsAnalysisForwardPathComponentAclRulePortRangeArgs struct { - From pulumi.IntPtrInput `pulumi:"from"` - To pulumi.IntPtrInput `pulumi:"to"` +type NetworkInsightsAnalysisExplanationTransitGatewayArgs struct { + // ARN of the Network Insights Analysis. + Arn pulumi.StringPtrInput `pulumi:"arn"` + // ID of the Network Insights Analysis. + Id pulumi.StringPtrInput `pulumi:"id"` + Name pulumi.StringPtrInput `pulumi:"name"` } -func (NetworkInsightsAnalysisForwardPathComponentAclRulePortRangeArgs) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkInsightsAnalysisForwardPathComponentAclRulePortRange)(nil)).Elem() +func (NetworkInsightsAnalysisExplanationTransitGatewayArgs) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInsightsAnalysisExplanationTransitGateway)(nil)).Elem() } -func (i NetworkInsightsAnalysisForwardPathComponentAclRulePortRangeArgs) ToNetworkInsightsAnalysisForwardPathComponentAclRulePortRangeOutput() NetworkInsightsAnalysisForwardPathComponentAclRulePortRangeOutput { - return i.ToNetworkInsightsAnalysisForwardPathComponentAclRulePortRangeOutputWithContext(context.Background()) +func (i NetworkInsightsAnalysisExplanationTransitGatewayArgs) ToNetworkInsightsAnalysisExplanationTransitGatewayOutput() NetworkInsightsAnalysisExplanationTransitGatewayOutput { + return i.ToNetworkInsightsAnalysisExplanationTransitGatewayOutputWithContext(context.Background()) } -func (i NetworkInsightsAnalysisForwardPathComponentAclRulePortRangeArgs) ToNetworkInsightsAnalysisForwardPathComponentAclRulePortRangeOutputWithContext(ctx context.Context) NetworkInsightsAnalysisForwardPathComponentAclRulePortRangeOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisForwardPathComponentAclRulePortRangeOutput) +func (i NetworkInsightsAnalysisExplanationTransitGatewayArgs) ToNetworkInsightsAnalysisExplanationTransitGatewayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationTransitGatewayOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisExplanationTransitGatewayOutput) } -// NetworkInsightsAnalysisForwardPathComponentAclRulePortRangeArrayInput is an input type that accepts NetworkInsightsAnalysisForwardPathComponentAclRulePortRangeArray and NetworkInsightsAnalysisForwardPathComponentAclRulePortRangeArrayOutput values. -// You can construct a concrete instance of `NetworkInsightsAnalysisForwardPathComponentAclRulePortRangeArrayInput` via: +// NetworkInsightsAnalysisExplanationTransitGatewayArrayInput is an input type that accepts NetworkInsightsAnalysisExplanationTransitGatewayArray and NetworkInsightsAnalysisExplanationTransitGatewayArrayOutput values. +// You can construct a concrete instance of `NetworkInsightsAnalysisExplanationTransitGatewayArrayInput` via: // -// NetworkInsightsAnalysisForwardPathComponentAclRulePortRangeArray{ NetworkInsightsAnalysisForwardPathComponentAclRulePortRangeArgs{...} } -type NetworkInsightsAnalysisForwardPathComponentAclRulePortRangeArrayInput interface { +// NetworkInsightsAnalysisExplanationTransitGatewayArray{ NetworkInsightsAnalysisExplanationTransitGatewayArgs{...} } +type NetworkInsightsAnalysisExplanationTransitGatewayArrayInput interface { pulumi.Input - ToNetworkInsightsAnalysisForwardPathComponentAclRulePortRangeArrayOutput() NetworkInsightsAnalysisForwardPathComponentAclRulePortRangeArrayOutput - ToNetworkInsightsAnalysisForwardPathComponentAclRulePortRangeArrayOutputWithContext(context.Context) NetworkInsightsAnalysisForwardPathComponentAclRulePortRangeArrayOutput + ToNetworkInsightsAnalysisExplanationTransitGatewayArrayOutput() NetworkInsightsAnalysisExplanationTransitGatewayArrayOutput + ToNetworkInsightsAnalysisExplanationTransitGatewayArrayOutputWithContext(context.Context) NetworkInsightsAnalysisExplanationTransitGatewayArrayOutput } -type NetworkInsightsAnalysisForwardPathComponentAclRulePortRangeArray []NetworkInsightsAnalysisForwardPathComponentAclRulePortRangeInput +type NetworkInsightsAnalysisExplanationTransitGatewayArray []NetworkInsightsAnalysisExplanationTransitGatewayInput -func (NetworkInsightsAnalysisForwardPathComponentAclRulePortRangeArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]NetworkInsightsAnalysisForwardPathComponentAclRulePortRange)(nil)).Elem() +func (NetworkInsightsAnalysisExplanationTransitGatewayArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkInsightsAnalysisExplanationTransitGateway)(nil)).Elem() } -func (i NetworkInsightsAnalysisForwardPathComponentAclRulePortRangeArray) ToNetworkInsightsAnalysisForwardPathComponentAclRulePortRangeArrayOutput() NetworkInsightsAnalysisForwardPathComponentAclRulePortRangeArrayOutput { - return i.ToNetworkInsightsAnalysisForwardPathComponentAclRulePortRangeArrayOutputWithContext(context.Background()) +func (i NetworkInsightsAnalysisExplanationTransitGatewayArray) ToNetworkInsightsAnalysisExplanationTransitGatewayArrayOutput() NetworkInsightsAnalysisExplanationTransitGatewayArrayOutput { + return i.ToNetworkInsightsAnalysisExplanationTransitGatewayArrayOutputWithContext(context.Background()) } -func (i NetworkInsightsAnalysisForwardPathComponentAclRulePortRangeArray) ToNetworkInsightsAnalysisForwardPathComponentAclRulePortRangeArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisForwardPathComponentAclRulePortRangeArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisForwardPathComponentAclRulePortRangeArrayOutput) +func (i NetworkInsightsAnalysisExplanationTransitGatewayArray) ToNetworkInsightsAnalysisExplanationTransitGatewayArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationTransitGatewayArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisExplanationTransitGatewayArrayOutput) } -type NetworkInsightsAnalysisForwardPathComponentAclRulePortRangeOutput struct{ *pulumi.OutputState } +type NetworkInsightsAnalysisExplanationTransitGatewayOutput struct{ *pulumi.OutputState } -func (NetworkInsightsAnalysisForwardPathComponentAclRulePortRangeOutput) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkInsightsAnalysisForwardPathComponentAclRulePortRange)(nil)).Elem() +func (NetworkInsightsAnalysisExplanationTransitGatewayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInsightsAnalysisExplanationTransitGateway)(nil)).Elem() } -func (o NetworkInsightsAnalysisForwardPathComponentAclRulePortRangeOutput) ToNetworkInsightsAnalysisForwardPathComponentAclRulePortRangeOutput() NetworkInsightsAnalysisForwardPathComponentAclRulePortRangeOutput { +func (o NetworkInsightsAnalysisExplanationTransitGatewayOutput) ToNetworkInsightsAnalysisExplanationTransitGatewayOutput() NetworkInsightsAnalysisExplanationTransitGatewayOutput { return o } -func (o NetworkInsightsAnalysisForwardPathComponentAclRulePortRangeOutput) ToNetworkInsightsAnalysisForwardPathComponentAclRulePortRangeOutputWithContext(ctx context.Context) NetworkInsightsAnalysisForwardPathComponentAclRulePortRangeOutput { +func (o NetworkInsightsAnalysisExplanationTransitGatewayOutput) ToNetworkInsightsAnalysisExplanationTransitGatewayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationTransitGatewayOutput { return o } -func (o NetworkInsightsAnalysisForwardPathComponentAclRulePortRangeOutput) From() pulumi.IntPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponentAclRulePortRange) *int { return v.From }).(pulumi.IntPtrOutput) +// ARN of the Network Insights Analysis. +func (o NetworkInsightsAnalysisExplanationTransitGatewayOutput) Arn() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisExplanationTransitGateway) *string { return v.Arn }).(pulumi.StringPtrOutput) } -func (o NetworkInsightsAnalysisForwardPathComponentAclRulePortRangeOutput) To() pulumi.IntPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponentAclRulePortRange) *int { return v.To }).(pulumi.IntPtrOutput) +// ID of the Network Insights Analysis. +func (o NetworkInsightsAnalysisExplanationTransitGatewayOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisExplanationTransitGateway) *string { return v.Id }).(pulumi.StringPtrOutput) } -type NetworkInsightsAnalysisForwardPathComponentAclRulePortRangeArrayOutput struct{ *pulumi.OutputState } - -func (NetworkInsightsAnalysisForwardPathComponentAclRulePortRangeArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]NetworkInsightsAnalysisForwardPathComponentAclRulePortRange)(nil)).Elem() +func (o NetworkInsightsAnalysisExplanationTransitGatewayOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisExplanationTransitGateway) *string { return v.Name }).(pulumi.StringPtrOutput) } -func (o NetworkInsightsAnalysisForwardPathComponentAclRulePortRangeArrayOutput) ToNetworkInsightsAnalysisForwardPathComponentAclRulePortRangeArrayOutput() NetworkInsightsAnalysisForwardPathComponentAclRulePortRangeArrayOutput { - return o -} +type NetworkInsightsAnalysisExplanationTransitGatewayArrayOutput struct{ *pulumi.OutputState } -func (o NetworkInsightsAnalysisForwardPathComponentAclRulePortRangeArrayOutput) ToNetworkInsightsAnalysisForwardPathComponentAclRulePortRangeArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisForwardPathComponentAclRulePortRangeArrayOutput { +func (NetworkInsightsAnalysisExplanationTransitGatewayArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkInsightsAnalysisExplanationTransitGateway)(nil)).Elem() +} + +func (o NetworkInsightsAnalysisExplanationTransitGatewayArrayOutput) ToNetworkInsightsAnalysisExplanationTransitGatewayArrayOutput() NetworkInsightsAnalysisExplanationTransitGatewayArrayOutput { return o } -func (o NetworkInsightsAnalysisForwardPathComponentAclRulePortRangeArrayOutput) Index(i pulumi.IntInput) NetworkInsightsAnalysisForwardPathComponentAclRulePortRangeOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkInsightsAnalysisForwardPathComponentAclRulePortRange { - return vs[0].([]NetworkInsightsAnalysisForwardPathComponentAclRulePortRange)[vs[1].(int)] - }).(NetworkInsightsAnalysisForwardPathComponentAclRulePortRangeOutput) +func (o NetworkInsightsAnalysisExplanationTransitGatewayArrayOutput) ToNetworkInsightsAnalysisExplanationTransitGatewayArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationTransitGatewayArrayOutput { + return o } -type NetworkInsightsAnalysisForwardPathComponentAdditionalDetail struct { - AdditionalDetailType *string `pulumi:"additionalDetailType"` - Components []NetworkInsightsAnalysisForwardPathComponentAdditionalDetailComponent `pulumi:"components"` +func (o NetworkInsightsAnalysisExplanationTransitGatewayArrayOutput) Index(i pulumi.IntInput) NetworkInsightsAnalysisExplanationTransitGatewayOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkInsightsAnalysisExplanationTransitGateway { + return vs[0].([]NetworkInsightsAnalysisExplanationTransitGateway)[vs[1].(int)] + }).(NetworkInsightsAnalysisExplanationTransitGatewayOutput) } -// NetworkInsightsAnalysisForwardPathComponentAdditionalDetailInput is an input type that accepts NetworkInsightsAnalysisForwardPathComponentAdditionalDetailArgs and NetworkInsightsAnalysisForwardPathComponentAdditionalDetailOutput values. -// You can construct a concrete instance of `NetworkInsightsAnalysisForwardPathComponentAdditionalDetailInput` via: +type NetworkInsightsAnalysisExplanationTransitGatewayAttachment struct { + // ARN of the Network Insights Analysis. + Arn *string `pulumi:"arn"` + // ID of the Network Insights Analysis. + Id *string `pulumi:"id"` + Name *string `pulumi:"name"` +} + +// NetworkInsightsAnalysisExplanationTransitGatewayAttachmentInput is an input type that accepts NetworkInsightsAnalysisExplanationTransitGatewayAttachmentArgs and NetworkInsightsAnalysisExplanationTransitGatewayAttachmentOutput values. +// You can construct a concrete instance of `NetworkInsightsAnalysisExplanationTransitGatewayAttachmentInput` via: // -// NetworkInsightsAnalysisForwardPathComponentAdditionalDetailArgs{...} -type NetworkInsightsAnalysisForwardPathComponentAdditionalDetailInput interface { +// NetworkInsightsAnalysisExplanationTransitGatewayAttachmentArgs{...} +type NetworkInsightsAnalysisExplanationTransitGatewayAttachmentInput interface { pulumi.Input - ToNetworkInsightsAnalysisForwardPathComponentAdditionalDetailOutput() NetworkInsightsAnalysisForwardPathComponentAdditionalDetailOutput - ToNetworkInsightsAnalysisForwardPathComponentAdditionalDetailOutputWithContext(context.Context) NetworkInsightsAnalysisForwardPathComponentAdditionalDetailOutput + ToNetworkInsightsAnalysisExplanationTransitGatewayAttachmentOutput() NetworkInsightsAnalysisExplanationTransitGatewayAttachmentOutput + ToNetworkInsightsAnalysisExplanationTransitGatewayAttachmentOutputWithContext(context.Context) NetworkInsightsAnalysisExplanationTransitGatewayAttachmentOutput } -type NetworkInsightsAnalysisForwardPathComponentAdditionalDetailArgs struct { - AdditionalDetailType pulumi.StringPtrInput `pulumi:"additionalDetailType"` - Components NetworkInsightsAnalysisForwardPathComponentAdditionalDetailComponentArrayInput `pulumi:"components"` +type NetworkInsightsAnalysisExplanationTransitGatewayAttachmentArgs struct { + // ARN of the Network Insights Analysis. + Arn pulumi.StringPtrInput `pulumi:"arn"` + // ID of the Network Insights Analysis. + Id pulumi.StringPtrInput `pulumi:"id"` + Name pulumi.StringPtrInput `pulumi:"name"` } -func (NetworkInsightsAnalysisForwardPathComponentAdditionalDetailArgs) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkInsightsAnalysisForwardPathComponentAdditionalDetail)(nil)).Elem() +func (NetworkInsightsAnalysisExplanationTransitGatewayAttachmentArgs) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInsightsAnalysisExplanationTransitGatewayAttachment)(nil)).Elem() } -func (i NetworkInsightsAnalysisForwardPathComponentAdditionalDetailArgs) ToNetworkInsightsAnalysisForwardPathComponentAdditionalDetailOutput() NetworkInsightsAnalysisForwardPathComponentAdditionalDetailOutput { - return i.ToNetworkInsightsAnalysisForwardPathComponentAdditionalDetailOutputWithContext(context.Background()) +func (i NetworkInsightsAnalysisExplanationTransitGatewayAttachmentArgs) ToNetworkInsightsAnalysisExplanationTransitGatewayAttachmentOutput() NetworkInsightsAnalysisExplanationTransitGatewayAttachmentOutput { + return i.ToNetworkInsightsAnalysisExplanationTransitGatewayAttachmentOutputWithContext(context.Background()) } -func (i NetworkInsightsAnalysisForwardPathComponentAdditionalDetailArgs) ToNetworkInsightsAnalysisForwardPathComponentAdditionalDetailOutputWithContext(ctx context.Context) NetworkInsightsAnalysisForwardPathComponentAdditionalDetailOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisForwardPathComponentAdditionalDetailOutput) +func (i NetworkInsightsAnalysisExplanationTransitGatewayAttachmentArgs) ToNetworkInsightsAnalysisExplanationTransitGatewayAttachmentOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationTransitGatewayAttachmentOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisExplanationTransitGatewayAttachmentOutput) } -// NetworkInsightsAnalysisForwardPathComponentAdditionalDetailArrayInput is an input type that accepts NetworkInsightsAnalysisForwardPathComponentAdditionalDetailArray and NetworkInsightsAnalysisForwardPathComponentAdditionalDetailArrayOutput values. -// You can construct a concrete instance of `NetworkInsightsAnalysisForwardPathComponentAdditionalDetailArrayInput` via: +// NetworkInsightsAnalysisExplanationTransitGatewayAttachmentArrayInput is an input type that accepts NetworkInsightsAnalysisExplanationTransitGatewayAttachmentArray and NetworkInsightsAnalysisExplanationTransitGatewayAttachmentArrayOutput values. +// You can construct a concrete instance of `NetworkInsightsAnalysisExplanationTransitGatewayAttachmentArrayInput` via: // -// NetworkInsightsAnalysisForwardPathComponentAdditionalDetailArray{ NetworkInsightsAnalysisForwardPathComponentAdditionalDetailArgs{...} } -type NetworkInsightsAnalysisForwardPathComponentAdditionalDetailArrayInput interface { +// NetworkInsightsAnalysisExplanationTransitGatewayAttachmentArray{ NetworkInsightsAnalysisExplanationTransitGatewayAttachmentArgs{...} } +type NetworkInsightsAnalysisExplanationTransitGatewayAttachmentArrayInput interface { pulumi.Input - ToNetworkInsightsAnalysisForwardPathComponentAdditionalDetailArrayOutput() NetworkInsightsAnalysisForwardPathComponentAdditionalDetailArrayOutput - ToNetworkInsightsAnalysisForwardPathComponentAdditionalDetailArrayOutputWithContext(context.Context) NetworkInsightsAnalysisForwardPathComponentAdditionalDetailArrayOutput + ToNetworkInsightsAnalysisExplanationTransitGatewayAttachmentArrayOutput() NetworkInsightsAnalysisExplanationTransitGatewayAttachmentArrayOutput + ToNetworkInsightsAnalysisExplanationTransitGatewayAttachmentArrayOutputWithContext(context.Context) NetworkInsightsAnalysisExplanationTransitGatewayAttachmentArrayOutput } -type NetworkInsightsAnalysisForwardPathComponentAdditionalDetailArray []NetworkInsightsAnalysisForwardPathComponentAdditionalDetailInput +type NetworkInsightsAnalysisExplanationTransitGatewayAttachmentArray []NetworkInsightsAnalysisExplanationTransitGatewayAttachmentInput -func (NetworkInsightsAnalysisForwardPathComponentAdditionalDetailArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]NetworkInsightsAnalysisForwardPathComponentAdditionalDetail)(nil)).Elem() +func (NetworkInsightsAnalysisExplanationTransitGatewayAttachmentArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkInsightsAnalysisExplanationTransitGatewayAttachment)(nil)).Elem() } -func (i NetworkInsightsAnalysisForwardPathComponentAdditionalDetailArray) ToNetworkInsightsAnalysisForwardPathComponentAdditionalDetailArrayOutput() NetworkInsightsAnalysisForwardPathComponentAdditionalDetailArrayOutput { - return i.ToNetworkInsightsAnalysisForwardPathComponentAdditionalDetailArrayOutputWithContext(context.Background()) +func (i NetworkInsightsAnalysisExplanationTransitGatewayAttachmentArray) ToNetworkInsightsAnalysisExplanationTransitGatewayAttachmentArrayOutput() NetworkInsightsAnalysisExplanationTransitGatewayAttachmentArrayOutput { + return i.ToNetworkInsightsAnalysisExplanationTransitGatewayAttachmentArrayOutputWithContext(context.Background()) } -func (i NetworkInsightsAnalysisForwardPathComponentAdditionalDetailArray) ToNetworkInsightsAnalysisForwardPathComponentAdditionalDetailArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisForwardPathComponentAdditionalDetailArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisForwardPathComponentAdditionalDetailArrayOutput) +func (i NetworkInsightsAnalysisExplanationTransitGatewayAttachmentArray) ToNetworkInsightsAnalysisExplanationTransitGatewayAttachmentArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationTransitGatewayAttachmentArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisExplanationTransitGatewayAttachmentArrayOutput) } -type NetworkInsightsAnalysisForwardPathComponentAdditionalDetailOutput struct{ *pulumi.OutputState } +type NetworkInsightsAnalysisExplanationTransitGatewayAttachmentOutput struct{ *pulumi.OutputState } -func (NetworkInsightsAnalysisForwardPathComponentAdditionalDetailOutput) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkInsightsAnalysisForwardPathComponentAdditionalDetail)(nil)).Elem() +func (NetworkInsightsAnalysisExplanationTransitGatewayAttachmentOutput) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInsightsAnalysisExplanationTransitGatewayAttachment)(nil)).Elem() } -func (o NetworkInsightsAnalysisForwardPathComponentAdditionalDetailOutput) ToNetworkInsightsAnalysisForwardPathComponentAdditionalDetailOutput() NetworkInsightsAnalysisForwardPathComponentAdditionalDetailOutput { +func (o NetworkInsightsAnalysisExplanationTransitGatewayAttachmentOutput) ToNetworkInsightsAnalysisExplanationTransitGatewayAttachmentOutput() NetworkInsightsAnalysisExplanationTransitGatewayAttachmentOutput { return o } -func (o NetworkInsightsAnalysisForwardPathComponentAdditionalDetailOutput) ToNetworkInsightsAnalysisForwardPathComponentAdditionalDetailOutputWithContext(ctx context.Context) NetworkInsightsAnalysisForwardPathComponentAdditionalDetailOutput { +func (o NetworkInsightsAnalysisExplanationTransitGatewayAttachmentOutput) ToNetworkInsightsAnalysisExplanationTransitGatewayAttachmentOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationTransitGatewayAttachmentOutput { return o } -func (o NetworkInsightsAnalysisForwardPathComponentAdditionalDetailOutput) AdditionalDetailType() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponentAdditionalDetail) *string { - return v.AdditionalDetailType - }).(pulumi.StringPtrOutput) +// ARN of the Network Insights Analysis. +func (o NetworkInsightsAnalysisExplanationTransitGatewayAttachmentOutput) Arn() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisExplanationTransitGatewayAttachment) *string { return v.Arn }).(pulumi.StringPtrOutput) } -func (o NetworkInsightsAnalysisForwardPathComponentAdditionalDetailOutput) Components() NetworkInsightsAnalysisForwardPathComponentAdditionalDetailComponentArrayOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponentAdditionalDetail) []NetworkInsightsAnalysisForwardPathComponentAdditionalDetailComponent { - return v.Components - }).(NetworkInsightsAnalysisForwardPathComponentAdditionalDetailComponentArrayOutput) +// ID of the Network Insights Analysis. +func (o NetworkInsightsAnalysisExplanationTransitGatewayAttachmentOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisExplanationTransitGatewayAttachment) *string { return v.Id }).(pulumi.StringPtrOutput) } -type NetworkInsightsAnalysisForwardPathComponentAdditionalDetailArrayOutput struct{ *pulumi.OutputState } +func (o NetworkInsightsAnalysisExplanationTransitGatewayAttachmentOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisExplanationTransitGatewayAttachment) *string { return v.Name }).(pulumi.StringPtrOutput) +} -func (NetworkInsightsAnalysisForwardPathComponentAdditionalDetailArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]NetworkInsightsAnalysisForwardPathComponentAdditionalDetail)(nil)).Elem() +type NetworkInsightsAnalysisExplanationTransitGatewayAttachmentArrayOutput struct{ *pulumi.OutputState } + +func (NetworkInsightsAnalysisExplanationTransitGatewayAttachmentArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkInsightsAnalysisExplanationTransitGatewayAttachment)(nil)).Elem() } -func (o NetworkInsightsAnalysisForwardPathComponentAdditionalDetailArrayOutput) ToNetworkInsightsAnalysisForwardPathComponentAdditionalDetailArrayOutput() NetworkInsightsAnalysisForwardPathComponentAdditionalDetailArrayOutput { +func (o NetworkInsightsAnalysisExplanationTransitGatewayAttachmentArrayOutput) ToNetworkInsightsAnalysisExplanationTransitGatewayAttachmentArrayOutput() NetworkInsightsAnalysisExplanationTransitGatewayAttachmentArrayOutput { return o } -func (o NetworkInsightsAnalysisForwardPathComponentAdditionalDetailArrayOutput) ToNetworkInsightsAnalysisForwardPathComponentAdditionalDetailArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisForwardPathComponentAdditionalDetailArrayOutput { +func (o NetworkInsightsAnalysisExplanationTransitGatewayAttachmentArrayOutput) ToNetworkInsightsAnalysisExplanationTransitGatewayAttachmentArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationTransitGatewayAttachmentArrayOutput { return o } -func (o NetworkInsightsAnalysisForwardPathComponentAdditionalDetailArrayOutput) Index(i pulumi.IntInput) NetworkInsightsAnalysisForwardPathComponentAdditionalDetailOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkInsightsAnalysisForwardPathComponentAdditionalDetail { - return vs[0].([]NetworkInsightsAnalysisForwardPathComponentAdditionalDetail)[vs[1].(int)] - }).(NetworkInsightsAnalysisForwardPathComponentAdditionalDetailOutput) +func (o NetworkInsightsAnalysisExplanationTransitGatewayAttachmentArrayOutput) Index(i pulumi.IntInput) NetworkInsightsAnalysisExplanationTransitGatewayAttachmentOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkInsightsAnalysisExplanationTransitGatewayAttachment { + return vs[0].([]NetworkInsightsAnalysisExplanationTransitGatewayAttachment)[vs[1].(int)] + }).(NetworkInsightsAnalysisExplanationTransitGatewayAttachmentOutput) } -type NetworkInsightsAnalysisForwardPathComponentAdditionalDetailComponent struct { +type NetworkInsightsAnalysisExplanationTransitGatewayRouteTable struct { // ARN of the Network Insights Analysis. Arn *string `pulumi:"arn"` // ID of the Network Insights Analysis. @@ -21514,18 +22147,18 @@ type NetworkInsightsAnalysisForwardPathComponentAdditionalDetailComponent struct Name *string `pulumi:"name"` } -// NetworkInsightsAnalysisForwardPathComponentAdditionalDetailComponentInput is an input type that accepts NetworkInsightsAnalysisForwardPathComponentAdditionalDetailComponentArgs and NetworkInsightsAnalysisForwardPathComponentAdditionalDetailComponentOutput values. -// You can construct a concrete instance of `NetworkInsightsAnalysisForwardPathComponentAdditionalDetailComponentInput` via: +// NetworkInsightsAnalysisExplanationTransitGatewayRouteTableInput is an input type that accepts NetworkInsightsAnalysisExplanationTransitGatewayRouteTableArgs and NetworkInsightsAnalysisExplanationTransitGatewayRouteTableOutput values. +// You can construct a concrete instance of `NetworkInsightsAnalysisExplanationTransitGatewayRouteTableInput` via: // -// NetworkInsightsAnalysisForwardPathComponentAdditionalDetailComponentArgs{...} -type NetworkInsightsAnalysisForwardPathComponentAdditionalDetailComponentInput interface { +// NetworkInsightsAnalysisExplanationTransitGatewayRouteTableArgs{...} +type NetworkInsightsAnalysisExplanationTransitGatewayRouteTableInput interface { pulumi.Input - ToNetworkInsightsAnalysisForwardPathComponentAdditionalDetailComponentOutput() NetworkInsightsAnalysisForwardPathComponentAdditionalDetailComponentOutput - ToNetworkInsightsAnalysisForwardPathComponentAdditionalDetailComponentOutputWithContext(context.Context) NetworkInsightsAnalysisForwardPathComponentAdditionalDetailComponentOutput + ToNetworkInsightsAnalysisExplanationTransitGatewayRouteTableOutput() NetworkInsightsAnalysisExplanationTransitGatewayRouteTableOutput + ToNetworkInsightsAnalysisExplanationTransitGatewayRouteTableOutputWithContext(context.Context) NetworkInsightsAnalysisExplanationTransitGatewayRouteTableOutput } -type NetworkInsightsAnalysisForwardPathComponentAdditionalDetailComponentArgs struct { +type NetworkInsightsAnalysisExplanationTransitGatewayRouteTableArgs struct { // ARN of the Network Insights Analysis. Arn pulumi.StringPtrInput `pulumi:"arn"` // ID of the Network Insights Analysis. @@ -21533,204 +22166,224 @@ type NetworkInsightsAnalysisForwardPathComponentAdditionalDetailComponentArgs st Name pulumi.StringPtrInput `pulumi:"name"` } -func (NetworkInsightsAnalysisForwardPathComponentAdditionalDetailComponentArgs) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkInsightsAnalysisForwardPathComponentAdditionalDetailComponent)(nil)).Elem() +func (NetworkInsightsAnalysisExplanationTransitGatewayRouteTableArgs) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInsightsAnalysisExplanationTransitGatewayRouteTable)(nil)).Elem() } -func (i NetworkInsightsAnalysisForwardPathComponentAdditionalDetailComponentArgs) ToNetworkInsightsAnalysisForwardPathComponentAdditionalDetailComponentOutput() NetworkInsightsAnalysisForwardPathComponentAdditionalDetailComponentOutput { - return i.ToNetworkInsightsAnalysisForwardPathComponentAdditionalDetailComponentOutputWithContext(context.Background()) +func (i NetworkInsightsAnalysisExplanationTransitGatewayRouteTableArgs) ToNetworkInsightsAnalysisExplanationTransitGatewayRouteTableOutput() NetworkInsightsAnalysisExplanationTransitGatewayRouteTableOutput { + return i.ToNetworkInsightsAnalysisExplanationTransitGatewayRouteTableOutputWithContext(context.Background()) } -func (i NetworkInsightsAnalysisForwardPathComponentAdditionalDetailComponentArgs) ToNetworkInsightsAnalysisForwardPathComponentAdditionalDetailComponentOutputWithContext(ctx context.Context) NetworkInsightsAnalysisForwardPathComponentAdditionalDetailComponentOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisForwardPathComponentAdditionalDetailComponentOutput) +func (i NetworkInsightsAnalysisExplanationTransitGatewayRouteTableArgs) ToNetworkInsightsAnalysisExplanationTransitGatewayRouteTableOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationTransitGatewayRouteTableOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisExplanationTransitGatewayRouteTableOutput) } -// NetworkInsightsAnalysisForwardPathComponentAdditionalDetailComponentArrayInput is an input type that accepts NetworkInsightsAnalysisForwardPathComponentAdditionalDetailComponentArray and NetworkInsightsAnalysisForwardPathComponentAdditionalDetailComponentArrayOutput values. -// You can construct a concrete instance of `NetworkInsightsAnalysisForwardPathComponentAdditionalDetailComponentArrayInput` via: +// NetworkInsightsAnalysisExplanationTransitGatewayRouteTableArrayInput is an input type that accepts NetworkInsightsAnalysisExplanationTransitGatewayRouteTableArray and NetworkInsightsAnalysisExplanationTransitGatewayRouteTableArrayOutput values. +// You can construct a concrete instance of `NetworkInsightsAnalysisExplanationTransitGatewayRouteTableArrayInput` via: // -// NetworkInsightsAnalysisForwardPathComponentAdditionalDetailComponentArray{ NetworkInsightsAnalysisForwardPathComponentAdditionalDetailComponentArgs{...} } -type NetworkInsightsAnalysisForwardPathComponentAdditionalDetailComponentArrayInput interface { +// NetworkInsightsAnalysisExplanationTransitGatewayRouteTableArray{ NetworkInsightsAnalysisExplanationTransitGatewayRouteTableArgs{...} } +type NetworkInsightsAnalysisExplanationTransitGatewayRouteTableArrayInput interface { pulumi.Input - ToNetworkInsightsAnalysisForwardPathComponentAdditionalDetailComponentArrayOutput() NetworkInsightsAnalysisForwardPathComponentAdditionalDetailComponentArrayOutput - ToNetworkInsightsAnalysisForwardPathComponentAdditionalDetailComponentArrayOutputWithContext(context.Context) NetworkInsightsAnalysisForwardPathComponentAdditionalDetailComponentArrayOutput + ToNetworkInsightsAnalysisExplanationTransitGatewayRouteTableArrayOutput() NetworkInsightsAnalysisExplanationTransitGatewayRouteTableArrayOutput + ToNetworkInsightsAnalysisExplanationTransitGatewayRouteTableArrayOutputWithContext(context.Context) NetworkInsightsAnalysisExplanationTransitGatewayRouteTableArrayOutput } -type NetworkInsightsAnalysisForwardPathComponentAdditionalDetailComponentArray []NetworkInsightsAnalysisForwardPathComponentAdditionalDetailComponentInput +type NetworkInsightsAnalysisExplanationTransitGatewayRouteTableArray []NetworkInsightsAnalysisExplanationTransitGatewayRouteTableInput -func (NetworkInsightsAnalysisForwardPathComponentAdditionalDetailComponentArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]NetworkInsightsAnalysisForwardPathComponentAdditionalDetailComponent)(nil)).Elem() +func (NetworkInsightsAnalysisExplanationTransitGatewayRouteTableArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkInsightsAnalysisExplanationTransitGatewayRouteTable)(nil)).Elem() } -func (i NetworkInsightsAnalysisForwardPathComponentAdditionalDetailComponentArray) ToNetworkInsightsAnalysisForwardPathComponentAdditionalDetailComponentArrayOutput() NetworkInsightsAnalysisForwardPathComponentAdditionalDetailComponentArrayOutput { - return i.ToNetworkInsightsAnalysisForwardPathComponentAdditionalDetailComponentArrayOutputWithContext(context.Background()) +func (i NetworkInsightsAnalysisExplanationTransitGatewayRouteTableArray) ToNetworkInsightsAnalysisExplanationTransitGatewayRouteTableArrayOutput() NetworkInsightsAnalysisExplanationTransitGatewayRouteTableArrayOutput { + return i.ToNetworkInsightsAnalysisExplanationTransitGatewayRouteTableArrayOutputWithContext(context.Background()) } -func (i NetworkInsightsAnalysisForwardPathComponentAdditionalDetailComponentArray) ToNetworkInsightsAnalysisForwardPathComponentAdditionalDetailComponentArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisForwardPathComponentAdditionalDetailComponentArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisForwardPathComponentAdditionalDetailComponentArrayOutput) +func (i NetworkInsightsAnalysisExplanationTransitGatewayRouteTableArray) ToNetworkInsightsAnalysisExplanationTransitGatewayRouteTableArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationTransitGatewayRouteTableArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisExplanationTransitGatewayRouteTableArrayOutput) } -type NetworkInsightsAnalysisForwardPathComponentAdditionalDetailComponentOutput struct{ *pulumi.OutputState } +type NetworkInsightsAnalysisExplanationTransitGatewayRouteTableOutput struct{ *pulumi.OutputState } -func (NetworkInsightsAnalysisForwardPathComponentAdditionalDetailComponentOutput) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkInsightsAnalysisForwardPathComponentAdditionalDetailComponent)(nil)).Elem() +func (NetworkInsightsAnalysisExplanationTransitGatewayRouteTableOutput) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInsightsAnalysisExplanationTransitGatewayRouteTable)(nil)).Elem() } -func (o NetworkInsightsAnalysisForwardPathComponentAdditionalDetailComponentOutput) ToNetworkInsightsAnalysisForwardPathComponentAdditionalDetailComponentOutput() NetworkInsightsAnalysisForwardPathComponentAdditionalDetailComponentOutput { +func (o NetworkInsightsAnalysisExplanationTransitGatewayRouteTableOutput) ToNetworkInsightsAnalysisExplanationTransitGatewayRouteTableOutput() NetworkInsightsAnalysisExplanationTransitGatewayRouteTableOutput { return o } -func (o NetworkInsightsAnalysisForwardPathComponentAdditionalDetailComponentOutput) ToNetworkInsightsAnalysisForwardPathComponentAdditionalDetailComponentOutputWithContext(ctx context.Context) NetworkInsightsAnalysisForwardPathComponentAdditionalDetailComponentOutput { +func (o NetworkInsightsAnalysisExplanationTransitGatewayRouteTableOutput) ToNetworkInsightsAnalysisExplanationTransitGatewayRouteTableOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationTransitGatewayRouteTableOutput { return o } // ARN of the Network Insights Analysis. -func (o NetworkInsightsAnalysisForwardPathComponentAdditionalDetailComponentOutput) Arn() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponentAdditionalDetailComponent) *string { return v.Arn }).(pulumi.StringPtrOutput) +func (o NetworkInsightsAnalysisExplanationTransitGatewayRouteTableOutput) Arn() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisExplanationTransitGatewayRouteTable) *string { return v.Arn }).(pulumi.StringPtrOutput) } // ID of the Network Insights Analysis. -func (o NetworkInsightsAnalysisForwardPathComponentAdditionalDetailComponentOutput) Id() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponentAdditionalDetailComponent) *string { return v.Id }).(pulumi.StringPtrOutput) +func (o NetworkInsightsAnalysisExplanationTransitGatewayRouteTableOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisExplanationTransitGatewayRouteTable) *string { return v.Id }).(pulumi.StringPtrOutput) } -func (o NetworkInsightsAnalysisForwardPathComponentAdditionalDetailComponentOutput) Name() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponentAdditionalDetailComponent) *string { return v.Name }).(pulumi.StringPtrOutput) +func (o NetworkInsightsAnalysisExplanationTransitGatewayRouteTableOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisExplanationTransitGatewayRouteTable) *string { return v.Name }).(pulumi.StringPtrOutput) } -type NetworkInsightsAnalysisForwardPathComponentAdditionalDetailComponentArrayOutput struct{ *pulumi.OutputState } +type NetworkInsightsAnalysisExplanationTransitGatewayRouteTableArrayOutput struct{ *pulumi.OutputState } -func (NetworkInsightsAnalysisForwardPathComponentAdditionalDetailComponentArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]NetworkInsightsAnalysisForwardPathComponentAdditionalDetailComponent)(nil)).Elem() +func (NetworkInsightsAnalysisExplanationTransitGatewayRouteTableArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkInsightsAnalysisExplanationTransitGatewayRouteTable)(nil)).Elem() } -func (o NetworkInsightsAnalysisForwardPathComponentAdditionalDetailComponentArrayOutput) ToNetworkInsightsAnalysisForwardPathComponentAdditionalDetailComponentArrayOutput() NetworkInsightsAnalysisForwardPathComponentAdditionalDetailComponentArrayOutput { +func (o NetworkInsightsAnalysisExplanationTransitGatewayRouteTableArrayOutput) ToNetworkInsightsAnalysisExplanationTransitGatewayRouteTableArrayOutput() NetworkInsightsAnalysisExplanationTransitGatewayRouteTableArrayOutput { return o } -func (o NetworkInsightsAnalysisForwardPathComponentAdditionalDetailComponentArrayOutput) ToNetworkInsightsAnalysisForwardPathComponentAdditionalDetailComponentArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisForwardPathComponentAdditionalDetailComponentArrayOutput { +func (o NetworkInsightsAnalysisExplanationTransitGatewayRouteTableArrayOutput) ToNetworkInsightsAnalysisExplanationTransitGatewayRouteTableArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationTransitGatewayRouteTableArrayOutput { return o } -func (o NetworkInsightsAnalysisForwardPathComponentAdditionalDetailComponentArrayOutput) Index(i pulumi.IntInput) NetworkInsightsAnalysisForwardPathComponentAdditionalDetailComponentOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkInsightsAnalysisForwardPathComponentAdditionalDetailComponent { - return vs[0].([]NetworkInsightsAnalysisForwardPathComponentAdditionalDetailComponent)[vs[1].(int)] - }).(NetworkInsightsAnalysisForwardPathComponentAdditionalDetailComponentOutput) +func (o NetworkInsightsAnalysisExplanationTransitGatewayRouteTableArrayOutput) Index(i pulumi.IntInput) NetworkInsightsAnalysisExplanationTransitGatewayRouteTableOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkInsightsAnalysisExplanationTransitGatewayRouteTable { + return vs[0].([]NetworkInsightsAnalysisExplanationTransitGatewayRouteTable)[vs[1].(int)] + }).(NetworkInsightsAnalysisExplanationTransitGatewayRouteTableOutput) } -type NetworkInsightsAnalysisForwardPathComponentAttachedTo struct { - // ARN of the Network Insights Analysis. - Arn *string `pulumi:"arn"` - // ID of the Network Insights Analysis. - Id *string `pulumi:"id"` - Name *string `pulumi:"name"` +type NetworkInsightsAnalysisExplanationTransitGatewayRouteTableRoute struct { + AttachmentId *string `pulumi:"attachmentId"` + DestinationCidr *string `pulumi:"destinationCidr"` + PrefixListId *string `pulumi:"prefixListId"` + ResourceId *string `pulumi:"resourceId"` + ResourceType *string `pulumi:"resourceType"` + RouteOrigin *string `pulumi:"routeOrigin"` + State *string `pulumi:"state"` } -// NetworkInsightsAnalysisForwardPathComponentAttachedToInput is an input type that accepts NetworkInsightsAnalysisForwardPathComponentAttachedToArgs and NetworkInsightsAnalysisForwardPathComponentAttachedToOutput values. -// You can construct a concrete instance of `NetworkInsightsAnalysisForwardPathComponentAttachedToInput` via: +// NetworkInsightsAnalysisExplanationTransitGatewayRouteTableRouteInput is an input type that accepts NetworkInsightsAnalysisExplanationTransitGatewayRouteTableRouteArgs and NetworkInsightsAnalysisExplanationTransitGatewayRouteTableRouteOutput values. +// You can construct a concrete instance of `NetworkInsightsAnalysisExplanationTransitGatewayRouteTableRouteInput` via: // -// NetworkInsightsAnalysisForwardPathComponentAttachedToArgs{...} -type NetworkInsightsAnalysisForwardPathComponentAttachedToInput interface { +// NetworkInsightsAnalysisExplanationTransitGatewayRouteTableRouteArgs{...} +type NetworkInsightsAnalysisExplanationTransitGatewayRouteTableRouteInput interface { pulumi.Input - ToNetworkInsightsAnalysisForwardPathComponentAttachedToOutput() NetworkInsightsAnalysisForwardPathComponentAttachedToOutput - ToNetworkInsightsAnalysisForwardPathComponentAttachedToOutputWithContext(context.Context) NetworkInsightsAnalysisForwardPathComponentAttachedToOutput + ToNetworkInsightsAnalysisExplanationTransitGatewayRouteTableRouteOutput() NetworkInsightsAnalysisExplanationTransitGatewayRouteTableRouteOutput + ToNetworkInsightsAnalysisExplanationTransitGatewayRouteTableRouteOutputWithContext(context.Context) NetworkInsightsAnalysisExplanationTransitGatewayRouteTableRouteOutput } -type NetworkInsightsAnalysisForwardPathComponentAttachedToArgs struct { - // ARN of the Network Insights Analysis. - Arn pulumi.StringPtrInput `pulumi:"arn"` - // ID of the Network Insights Analysis. - Id pulumi.StringPtrInput `pulumi:"id"` - Name pulumi.StringPtrInput `pulumi:"name"` +type NetworkInsightsAnalysisExplanationTransitGatewayRouteTableRouteArgs struct { + AttachmentId pulumi.StringPtrInput `pulumi:"attachmentId"` + DestinationCidr pulumi.StringPtrInput `pulumi:"destinationCidr"` + PrefixListId pulumi.StringPtrInput `pulumi:"prefixListId"` + ResourceId pulumi.StringPtrInput `pulumi:"resourceId"` + ResourceType pulumi.StringPtrInput `pulumi:"resourceType"` + RouteOrigin pulumi.StringPtrInput `pulumi:"routeOrigin"` + State pulumi.StringPtrInput `pulumi:"state"` } -func (NetworkInsightsAnalysisForwardPathComponentAttachedToArgs) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkInsightsAnalysisForwardPathComponentAttachedTo)(nil)).Elem() +func (NetworkInsightsAnalysisExplanationTransitGatewayRouteTableRouteArgs) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInsightsAnalysisExplanationTransitGatewayRouteTableRoute)(nil)).Elem() } -func (i NetworkInsightsAnalysisForwardPathComponentAttachedToArgs) ToNetworkInsightsAnalysisForwardPathComponentAttachedToOutput() NetworkInsightsAnalysisForwardPathComponentAttachedToOutput { - return i.ToNetworkInsightsAnalysisForwardPathComponentAttachedToOutputWithContext(context.Background()) +func (i NetworkInsightsAnalysisExplanationTransitGatewayRouteTableRouteArgs) ToNetworkInsightsAnalysisExplanationTransitGatewayRouteTableRouteOutput() NetworkInsightsAnalysisExplanationTransitGatewayRouteTableRouteOutput { + return i.ToNetworkInsightsAnalysisExplanationTransitGatewayRouteTableRouteOutputWithContext(context.Background()) } -func (i NetworkInsightsAnalysisForwardPathComponentAttachedToArgs) ToNetworkInsightsAnalysisForwardPathComponentAttachedToOutputWithContext(ctx context.Context) NetworkInsightsAnalysisForwardPathComponentAttachedToOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisForwardPathComponentAttachedToOutput) +func (i NetworkInsightsAnalysisExplanationTransitGatewayRouteTableRouteArgs) ToNetworkInsightsAnalysisExplanationTransitGatewayRouteTableRouteOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationTransitGatewayRouteTableRouteOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisExplanationTransitGatewayRouteTableRouteOutput) } -// NetworkInsightsAnalysisForwardPathComponentAttachedToArrayInput is an input type that accepts NetworkInsightsAnalysisForwardPathComponentAttachedToArray and NetworkInsightsAnalysisForwardPathComponentAttachedToArrayOutput values. -// You can construct a concrete instance of `NetworkInsightsAnalysisForwardPathComponentAttachedToArrayInput` via: +// NetworkInsightsAnalysisExplanationTransitGatewayRouteTableRouteArrayInput is an input type that accepts NetworkInsightsAnalysisExplanationTransitGatewayRouteTableRouteArray and NetworkInsightsAnalysisExplanationTransitGatewayRouteTableRouteArrayOutput values. +// You can construct a concrete instance of `NetworkInsightsAnalysisExplanationTransitGatewayRouteTableRouteArrayInput` via: // -// NetworkInsightsAnalysisForwardPathComponentAttachedToArray{ NetworkInsightsAnalysisForwardPathComponentAttachedToArgs{...} } -type NetworkInsightsAnalysisForwardPathComponentAttachedToArrayInput interface { +// NetworkInsightsAnalysisExplanationTransitGatewayRouteTableRouteArray{ NetworkInsightsAnalysisExplanationTransitGatewayRouteTableRouteArgs{...} } +type NetworkInsightsAnalysisExplanationTransitGatewayRouteTableRouteArrayInput interface { pulumi.Input - ToNetworkInsightsAnalysisForwardPathComponentAttachedToArrayOutput() NetworkInsightsAnalysisForwardPathComponentAttachedToArrayOutput - ToNetworkInsightsAnalysisForwardPathComponentAttachedToArrayOutputWithContext(context.Context) NetworkInsightsAnalysisForwardPathComponentAttachedToArrayOutput + ToNetworkInsightsAnalysisExplanationTransitGatewayRouteTableRouteArrayOutput() NetworkInsightsAnalysisExplanationTransitGatewayRouteTableRouteArrayOutput + ToNetworkInsightsAnalysisExplanationTransitGatewayRouteTableRouteArrayOutputWithContext(context.Context) NetworkInsightsAnalysisExplanationTransitGatewayRouteTableRouteArrayOutput } -type NetworkInsightsAnalysisForwardPathComponentAttachedToArray []NetworkInsightsAnalysisForwardPathComponentAttachedToInput +type NetworkInsightsAnalysisExplanationTransitGatewayRouteTableRouteArray []NetworkInsightsAnalysisExplanationTransitGatewayRouteTableRouteInput -func (NetworkInsightsAnalysisForwardPathComponentAttachedToArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]NetworkInsightsAnalysisForwardPathComponentAttachedTo)(nil)).Elem() +func (NetworkInsightsAnalysisExplanationTransitGatewayRouteTableRouteArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkInsightsAnalysisExplanationTransitGatewayRouteTableRoute)(nil)).Elem() } -func (i NetworkInsightsAnalysisForwardPathComponentAttachedToArray) ToNetworkInsightsAnalysisForwardPathComponentAttachedToArrayOutput() NetworkInsightsAnalysisForwardPathComponentAttachedToArrayOutput { - return i.ToNetworkInsightsAnalysisForwardPathComponentAttachedToArrayOutputWithContext(context.Background()) +func (i NetworkInsightsAnalysisExplanationTransitGatewayRouteTableRouteArray) ToNetworkInsightsAnalysisExplanationTransitGatewayRouteTableRouteArrayOutput() NetworkInsightsAnalysisExplanationTransitGatewayRouteTableRouteArrayOutput { + return i.ToNetworkInsightsAnalysisExplanationTransitGatewayRouteTableRouteArrayOutputWithContext(context.Background()) } -func (i NetworkInsightsAnalysisForwardPathComponentAttachedToArray) ToNetworkInsightsAnalysisForwardPathComponentAttachedToArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisForwardPathComponentAttachedToArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisForwardPathComponentAttachedToArrayOutput) +func (i NetworkInsightsAnalysisExplanationTransitGatewayRouteTableRouteArray) ToNetworkInsightsAnalysisExplanationTransitGatewayRouteTableRouteArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationTransitGatewayRouteTableRouteArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisExplanationTransitGatewayRouteTableRouteArrayOutput) } -type NetworkInsightsAnalysisForwardPathComponentAttachedToOutput struct{ *pulumi.OutputState } +type NetworkInsightsAnalysisExplanationTransitGatewayRouteTableRouteOutput struct{ *pulumi.OutputState } -func (NetworkInsightsAnalysisForwardPathComponentAttachedToOutput) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkInsightsAnalysisForwardPathComponentAttachedTo)(nil)).Elem() +func (NetworkInsightsAnalysisExplanationTransitGatewayRouteTableRouteOutput) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInsightsAnalysisExplanationTransitGatewayRouteTableRoute)(nil)).Elem() } -func (o NetworkInsightsAnalysisForwardPathComponentAttachedToOutput) ToNetworkInsightsAnalysisForwardPathComponentAttachedToOutput() NetworkInsightsAnalysisForwardPathComponentAttachedToOutput { +func (o NetworkInsightsAnalysisExplanationTransitGatewayRouteTableRouteOutput) ToNetworkInsightsAnalysisExplanationTransitGatewayRouteTableRouteOutput() NetworkInsightsAnalysisExplanationTransitGatewayRouteTableRouteOutput { return o } -func (o NetworkInsightsAnalysisForwardPathComponentAttachedToOutput) ToNetworkInsightsAnalysisForwardPathComponentAttachedToOutputWithContext(ctx context.Context) NetworkInsightsAnalysisForwardPathComponentAttachedToOutput { +func (o NetworkInsightsAnalysisExplanationTransitGatewayRouteTableRouteOutput) ToNetworkInsightsAnalysisExplanationTransitGatewayRouteTableRouteOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationTransitGatewayRouteTableRouteOutput { return o } -// ARN of the Network Insights Analysis. -func (o NetworkInsightsAnalysisForwardPathComponentAttachedToOutput) Arn() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponentAttachedTo) *string { return v.Arn }).(pulumi.StringPtrOutput) +func (o NetworkInsightsAnalysisExplanationTransitGatewayRouteTableRouteOutput) AttachmentId() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisExplanationTransitGatewayRouteTableRoute) *string { return v.AttachmentId }).(pulumi.StringPtrOutput) } -// ID of the Network Insights Analysis. -func (o NetworkInsightsAnalysisForwardPathComponentAttachedToOutput) Id() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponentAttachedTo) *string { return v.Id }).(pulumi.StringPtrOutput) +func (o NetworkInsightsAnalysisExplanationTransitGatewayRouteTableRouteOutput) DestinationCidr() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisExplanationTransitGatewayRouteTableRoute) *string { + return v.DestinationCidr + }).(pulumi.StringPtrOutput) } -func (o NetworkInsightsAnalysisForwardPathComponentAttachedToOutput) Name() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponentAttachedTo) *string { return v.Name }).(pulumi.StringPtrOutput) +func (o NetworkInsightsAnalysisExplanationTransitGatewayRouteTableRouteOutput) PrefixListId() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisExplanationTransitGatewayRouteTableRoute) *string { return v.PrefixListId }).(pulumi.StringPtrOutput) } -type NetworkInsightsAnalysisForwardPathComponentAttachedToArrayOutput struct{ *pulumi.OutputState } +func (o NetworkInsightsAnalysisExplanationTransitGatewayRouteTableRouteOutput) ResourceId() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisExplanationTransitGatewayRouteTableRoute) *string { return v.ResourceId }).(pulumi.StringPtrOutput) +} -func (NetworkInsightsAnalysisForwardPathComponentAttachedToArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]NetworkInsightsAnalysisForwardPathComponentAttachedTo)(nil)).Elem() +func (o NetworkInsightsAnalysisExplanationTransitGatewayRouteTableRouteOutput) ResourceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisExplanationTransitGatewayRouteTableRoute) *string { return v.ResourceType }).(pulumi.StringPtrOutput) } -func (o NetworkInsightsAnalysisForwardPathComponentAttachedToArrayOutput) ToNetworkInsightsAnalysisForwardPathComponentAttachedToArrayOutput() NetworkInsightsAnalysisForwardPathComponentAttachedToArrayOutput { +func (o NetworkInsightsAnalysisExplanationTransitGatewayRouteTableRouteOutput) RouteOrigin() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisExplanationTransitGatewayRouteTableRoute) *string { return v.RouteOrigin }).(pulumi.StringPtrOutput) +} + +func (o NetworkInsightsAnalysisExplanationTransitGatewayRouteTableRouteOutput) State() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisExplanationTransitGatewayRouteTableRoute) *string { return v.State }).(pulumi.StringPtrOutput) +} + +type NetworkInsightsAnalysisExplanationTransitGatewayRouteTableRouteArrayOutput struct{ *pulumi.OutputState } + +func (NetworkInsightsAnalysisExplanationTransitGatewayRouteTableRouteArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkInsightsAnalysisExplanationTransitGatewayRouteTableRoute)(nil)).Elem() +} + +func (o NetworkInsightsAnalysisExplanationTransitGatewayRouteTableRouteArrayOutput) ToNetworkInsightsAnalysisExplanationTransitGatewayRouteTableRouteArrayOutput() NetworkInsightsAnalysisExplanationTransitGatewayRouteTableRouteArrayOutput { return o } -func (o NetworkInsightsAnalysisForwardPathComponentAttachedToArrayOutput) ToNetworkInsightsAnalysisForwardPathComponentAttachedToArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisForwardPathComponentAttachedToArrayOutput { +func (o NetworkInsightsAnalysisExplanationTransitGatewayRouteTableRouteArrayOutput) ToNetworkInsightsAnalysisExplanationTransitGatewayRouteTableRouteArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationTransitGatewayRouteTableRouteArrayOutput { return o } -func (o NetworkInsightsAnalysisForwardPathComponentAttachedToArrayOutput) Index(i pulumi.IntInput) NetworkInsightsAnalysisForwardPathComponentAttachedToOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkInsightsAnalysisForwardPathComponentAttachedTo { - return vs[0].([]NetworkInsightsAnalysisForwardPathComponentAttachedTo)[vs[1].(int)] - }).(NetworkInsightsAnalysisForwardPathComponentAttachedToOutput) +func (o NetworkInsightsAnalysisExplanationTransitGatewayRouteTableRouteArrayOutput) Index(i pulumi.IntInput) NetworkInsightsAnalysisExplanationTransitGatewayRouteTableRouteOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkInsightsAnalysisExplanationTransitGatewayRouteTableRoute { + return vs[0].([]NetworkInsightsAnalysisExplanationTransitGatewayRouteTableRoute)[vs[1].(int)] + }).(NetworkInsightsAnalysisExplanationTransitGatewayRouteTableRouteOutput) } -type NetworkInsightsAnalysisForwardPathComponentComponent struct { +type NetworkInsightsAnalysisExplanationVpc struct { // ARN of the Network Insights Analysis. Arn *string `pulumi:"arn"` // ID of the Network Insights Analysis. @@ -21738,18 +22391,18 @@ type NetworkInsightsAnalysisForwardPathComponentComponent struct { Name *string `pulumi:"name"` } -// NetworkInsightsAnalysisForwardPathComponentComponentInput is an input type that accepts NetworkInsightsAnalysisForwardPathComponentComponentArgs and NetworkInsightsAnalysisForwardPathComponentComponentOutput values. -// You can construct a concrete instance of `NetworkInsightsAnalysisForwardPathComponentComponentInput` via: +// NetworkInsightsAnalysisExplanationVpcInput is an input type that accepts NetworkInsightsAnalysisExplanationVpcArgs and NetworkInsightsAnalysisExplanationVpcOutput values. +// You can construct a concrete instance of `NetworkInsightsAnalysisExplanationVpcInput` via: // -// NetworkInsightsAnalysisForwardPathComponentComponentArgs{...} -type NetworkInsightsAnalysisForwardPathComponentComponentInput interface { +// NetworkInsightsAnalysisExplanationVpcArgs{...} +type NetworkInsightsAnalysisExplanationVpcInput interface { pulumi.Input - ToNetworkInsightsAnalysisForwardPathComponentComponentOutput() NetworkInsightsAnalysisForwardPathComponentComponentOutput - ToNetworkInsightsAnalysisForwardPathComponentComponentOutputWithContext(context.Context) NetworkInsightsAnalysisForwardPathComponentComponentOutput + ToNetworkInsightsAnalysisExplanationVpcOutput() NetworkInsightsAnalysisExplanationVpcOutput + ToNetworkInsightsAnalysisExplanationVpcOutputWithContext(context.Context) NetworkInsightsAnalysisExplanationVpcOutput } -type NetworkInsightsAnalysisForwardPathComponentComponentArgs struct { +type NetworkInsightsAnalysisExplanationVpcArgs struct { // ARN of the Network Insights Analysis. Arn pulumi.StringPtrInput `pulumi:"arn"` // ID of the Network Insights Analysis. @@ -21757,92 +22410,92 @@ type NetworkInsightsAnalysisForwardPathComponentComponentArgs struct { Name pulumi.StringPtrInput `pulumi:"name"` } -func (NetworkInsightsAnalysisForwardPathComponentComponentArgs) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkInsightsAnalysisForwardPathComponentComponent)(nil)).Elem() +func (NetworkInsightsAnalysisExplanationVpcArgs) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInsightsAnalysisExplanationVpc)(nil)).Elem() } -func (i NetworkInsightsAnalysisForwardPathComponentComponentArgs) ToNetworkInsightsAnalysisForwardPathComponentComponentOutput() NetworkInsightsAnalysisForwardPathComponentComponentOutput { - return i.ToNetworkInsightsAnalysisForwardPathComponentComponentOutputWithContext(context.Background()) +func (i NetworkInsightsAnalysisExplanationVpcArgs) ToNetworkInsightsAnalysisExplanationVpcOutput() NetworkInsightsAnalysisExplanationVpcOutput { + return i.ToNetworkInsightsAnalysisExplanationVpcOutputWithContext(context.Background()) } -func (i NetworkInsightsAnalysisForwardPathComponentComponentArgs) ToNetworkInsightsAnalysisForwardPathComponentComponentOutputWithContext(ctx context.Context) NetworkInsightsAnalysisForwardPathComponentComponentOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisForwardPathComponentComponentOutput) +func (i NetworkInsightsAnalysisExplanationVpcArgs) ToNetworkInsightsAnalysisExplanationVpcOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationVpcOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisExplanationVpcOutput) } -// NetworkInsightsAnalysisForwardPathComponentComponentArrayInput is an input type that accepts NetworkInsightsAnalysisForwardPathComponentComponentArray and NetworkInsightsAnalysisForwardPathComponentComponentArrayOutput values. -// You can construct a concrete instance of `NetworkInsightsAnalysisForwardPathComponentComponentArrayInput` via: +// NetworkInsightsAnalysisExplanationVpcArrayInput is an input type that accepts NetworkInsightsAnalysisExplanationVpcArray and NetworkInsightsAnalysisExplanationVpcArrayOutput values. +// You can construct a concrete instance of `NetworkInsightsAnalysisExplanationVpcArrayInput` via: // -// NetworkInsightsAnalysisForwardPathComponentComponentArray{ NetworkInsightsAnalysisForwardPathComponentComponentArgs{...} } -type NetworkInsightsAnalysisForwardPathComponentComponentArrayInput interface { +// NetworkInsightsAnalysisExplanationVpcArray{ NetworkInsightsAnalysisExplanationVpcArgs{...} } +type NetworkInsightsAnalysisExplanationVpcArrayInput interface { pulumi.Input - ToNetworkInsightsAnalysisForwardPathComponentComponentArrayOutput() NetworkInsightsAnalysisForwardPathComponentComponentArrayOutput - ToNetworkInsightsAnalysisForwardPathComponentComponentArrayOutputWithContext(context.Context) NetworkInsightsAnalysisForwardPathComponentComponentArrayOutput + ToNetworkInsightsAnalysisExplanationVpcArrayOutput() NetworkInsightsAnalysisExplanationVpcArrayOutput + ToNetworkInsightsAnalysisExplanationVpcArrayOutputWithContext(context.Context) NetworkInsightsAnalysisExplanationVpcArrayOutput } -type NetworkInsightsAnalysisForwardPathComponentComponentArray []NetworkInsightsAnalysisForwardPathComponentComponentInput +type NetworkInsightsAnalysisExplanationVpcArray []NetworkInsightsAnalysisExplanationVpcInput -func (NetworkInsightsAnalysisForwardPathComponentComponentArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]NetworkInsightsAnalysisForwardPathComponentComponent)(nil)).Elem() +func (NetworkInsightsAnalysisExplanationVpcArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkInsightsAnalysisExplanationVpc)(nil)).Elem() } -func (i NetworkInsightsAnalysisForwardPathComponentComponentArray) ToNetworkInsightsAnalysisForwardPathComponentComponentArrayOutput() NetworkInsightsAnalysisForwardPathComponentComponentArrayOutput { - return i.ToNetworkInsightsAnalysisForwardPathComponentComponentArrayOutputWithContext(context.Background()) +func (i NetworkInsightsAnalysisExplanationVpcArray) ToNetworkInsightsAnalysisExplanationVpcArrayOutput() NetworkInsightsAnalysisExplanationVpcArrayOutput { + return i.ToNetworkInsightsAnalysisExplanationVpcArrayOutputWithContext(context.Background()) } -func (i NetworkInsightsAnalysisForwardPathComponentComponentArray) ToNetworkInsightsAnalysisForwardPathComponentComponentArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisForwardPathComponentComponentArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisForwardPathComponentComponentArrayOutput) +func (i NetworkInsightsAnalysisExplanationVpcArray) ToNetworkInsightsAnalysisExplanationVpcArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationVpcArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisExplanationVpcArrayOutput) } -type NetworkInsightsAnalysisForwardPathComponentComponentOutput struct{ *pulumi.OutputState } +type NetworkInsightsAnalysisExplanationVpcOutput struct{ *pulumi.OutputState } -func (NetworkInsightsAnalysisForwardPathComponentComponentOutput) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkInsightsAnalysisForwardPathComponentComponent)(nil)).Elem() +func (NetworkInsightsAnalysisExplanationVpcOutput) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInsightsAnalysisExplanationVpc)(nil)).Elem() } -func (o NetworkInsightsAnalysisForwardPathComponentComponentOutput) ToNetworkInsightsAnalysisForwardPathComponentComponentOutput() NetworkInsightsAnalysisForwardPathComponentComponentOutput { +func (o NetworkInsightsAnalysisExplanationVpcOutput) ToNetworkInsightsAnalysisExplanationVpcOutput() NetworkInsightsAnalysisExplanationVpcOutput { return o } -func (o NetworkInsightsAnalysisForwardPathComponentComponentOutput) ToNetworkInsightsAnalysisForwardPathComponentComponentOutputWithContext(ctx context.Context) NetworkInsightsAnalysisForwardPathComponentComponentOutput { +func (o NetworkInsightsAnalysisExplanationVpcOutput) ToNetworkInsightsAnalysisExplanationVpcOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationVpcOutput { return o } // ARN of the Network Insights Analysis. -func (o NetworkInsightsAnalysisForwardPathComponentComponentOutput) Arn() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponentComponent) *string { return v.Arn }).(pulumi.StringPtrOutput) +func (o NetworkInsightsAnalysisExplanationVpcOutput) Arn() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisExplanationVpc) *string { return v.Arn }).(pulumi.StringPtrOutput) } // ID of the Network Insights Analysis. -func (o NetworkInsightsAnalysisForwardPathComponentComponentOutput) Id() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponentComponent) *string { return v.Id }).(pulumi.StringPtrOutput) +func (o NetworkInsightsAnalysisExplanationVpcOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisExplanationVpc) *string { return v.Id }).(pulumi.StringPtrOutput) } -func (o NetworkInsightsAnalysisForwardPathComponentComponentOutput) Name() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponentComponent) *string { return v.Name }).(pulumi.StringPtrOutput) +func (o NetworkInsightsAnalysisExplanationVpcOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisExplanationVpc) *string { return v.Name }).(pulumi.StringPtrOutput) } -type NetworkInsightsAnalysisForwardPathComponentComponentArrayOutput struct{ *pulumi.OutputState } +type NetworkInsightsAnalysisExplanationVpcArrayOutput struct{ *pulumi.OutputState } -func (NetworkInsightsAnalysisForwardPathComponentComponentArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]NetworkInsightsAnalysisForwardPathComponentComponent)(nil)).Elem() +func (NetworkInsightsAnalysisExplanationVpcArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkInsightsAnalysisExplanationVpc)(nil)).Elem() } -func (o NetworkInsightsAnalysisForwardPathComponentComponentArrayOutput) ToNetworkInsightsAnalysisForwardPathComponentComponentArrayOutput() NetworkInsightsAnalysisForwardPathComponentComponentArrayOutput { +func (o NetworkInsightsAnalysisExplanationVpcArrayOutput) ToNetworkInsightsAnalysisExplanationVpcArrayOutput() NetworkInsightsAnalysisExplanationVpcArrayOutput { return o } -func (o NetworkInsightsAnalysisForwardPathComponentComponentArrayOutput) ToNetworkInsightsAnalysisForwardPathComponentComponentArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisForwardPathComponentComponentArrayOutput { +func (o NetworkInsightsAnalysisExplanationVpcArrayOutput) ToNetworkInsightsAnalysisExplanationVpcArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationVpcArrayOutput { return o } -func (o NetworkInsightsAnalysisForwardPathComponentComponentArrayOutput) Index(i pulumi.IntInput) NetworkInsightsAnalysisForwardPathComponentComponentOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkInsightsAnalysisForwardPathComponentComponent { - return vs[0].([]NetworkInsightsAnalysisForwardPathComponentComponent)[vs[1].(int)] - }).(NetworkInsightsAnalysisForwardPathComponentComponentOutput) +func (o NetworkInsightsAnalysisExplanationVpcArrayOutput) Index(i pulumi.IntInput) NetworkInsightsAnalysisExplanationVpcOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkInsightsAnalysisExplanationVpc { + return vs[0].([]NetworkInsightsAnalysisExplanationVpc)[vs[1].(int)] + }).(NetworkInsightsAnalysisExplanationVpcOutput) } -type NetworkInsightsAnalysisForwardPathComponentDestinationVpc struct { +type NetworkInsightsAnalysisExplanationVpcEndpoint struct { // ARN of the Network Insights Analysis. Arn *string `pulumi:"arn"` // ID of the Network Insights Analysis. @@ -21850,18 +22503,18 @@ type NetworkInsightsAnalysisForwardPathComponentDestinationVpc struct { Name *string `pulumi:"name"` } -// NetworkInsightsAnalysisForwardPathComponentDestinationVpcInput is an input type that accepts NetworkInsightsAnalysisForwardPathComponentDestinationVpcArgs and NetworkInsightsAnalysisForwardPathComponentDestinationVpcOutput values. -// You can construct a concrete instance of `NetworkInsightsAnalysisForwardPathComponentDestinationVpcInput` via: +// NetworkInsightsAnalysisExplanationVpcEndpointInput is an input type that accepts NetworkInsightsAnalysisExplanationVpcEndpointArgs and NetworkInsightsAnalysisExplanationVpcEndpointOutput values. +// You can construct a concrete instance of `NetworkInsightsAnalysisExplanationVpcEndpointInput` via: // -// NetworkInsightsAnalysisForwardPathComponentDestinationVpcArgs{...} -type NetworkInsightsAnalysisForwardPathComponentDestinationVpcInput interface { +// NetworkInsightsAnalysisExplanationVpcEndpointArgs{...} +type NetworkInsightsAnalysisExplanationVpcEndpointInput interface { pulumi.Input - ToNetworkInsightsAnalysisForwardPathComponentDestinationVpcOutput() NetworkInsightsAnalysisForwardPathComponentDestinationVpcOutput - ToNetworkInsightsAnalysisForwardPathComponentDestinationVpcOutputWithContext(context.Context) NetworkInsightsAnalysisForwardPathComponentDestinationVpcOutput + ToNetworkInsightsAnalysisExplanationVpcEndpointOutput() NetworkInsightsAnalysisExplanationVpcEndpointOutput + ToNetworkInsightsAnalysisExplanationVpcEndpointOutputWithContext(context.Context) NetworkInsightsAnalysisExplanationVpcEndpointOutput } -type NetworkInsightsAnalysisForwardPathComponentDestinationVpcArgs struct { +type NetworkInsightsAnalysisExplanationVpcEndpointArgs struct { // ARN of the Network Insights Analysis. Arn pulumi.StringPtrInput `pulumi:"arn"` // ID of the Network Insights Analysis. @@ -21869,1128 +22522,1188 @@ type NetworkInsightsAnalysisForwardPathComponentDestinationVpcArgs struct { Name pulumi.StringPtrInput `pulumi:"name"` } -func (NetworkInsightsAnalysisForwardPathComponentDestinationVpcArgs) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkInsightsAnalysisForwardPathComponentDestinationVpc)(nil)).Elem() +func (NetworkInsightsAnalysisExplanationVpcEndpointArgs) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInsightsAnalysisExplanationVpcEndpoint)(nil)).Elem() } -func (i NetworkInsightsAnalysisForwardPathComponentDestinationVpcArgs) ToNetworkInsightsAnalysisForwardPathComponentDestinationVpcOutput() NetworkInsightsAnalysisForwardPathComponentDestinationVpcOutput { - return i.ToNetworkInsightsAnalysisForwardPathComponentDestinationVpcOutputWithContext(context.Background()) +func (i NetworkInsightsAnalysisExplanationVpcEndpointArgs) ToNetworkInsightsAnalysisExplanationVpcEndpointOutput() NetworkInsightsAnalysisExplanationVpcEndpointOutput { + return i.ToNetworkInsightsAnalysisExplanationVpcEndpointOutputWithContext(context.Background()) } -func (i NetworkInsightsAnalysisForwardPathComponentDestinationVpcArgs) ToNetworkInsightsAnalysisForwardPathComponentDestinationVpcOutputWithContext(ctx context.Context) NetworkInsightsAnalysisForwardPathComponentDestinationVpcOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisForwardPathComponentDestinationVpcOutput) +func (i NetworkInsightsAnalysisExplanationVpcEndpointArgs) ToNetworkInsightsAnalysisExplanationVpcEndpointOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationVpcEndpointOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisExplanationVpcEndpointOutput) } -// NetworkInsightsAnalysisForwardPathComponentDestinationVpcArrayInput is an input type that accepts NetworkInsightsAnalysisForwardPathComponentDestinationVpcArray and NetworkInsightsAnalysisForwardPathComponentDestinationVpcArrayOutput values. -// You can construct a concrete instance of `NetworkInsightsAnalysisForwardPathComponentDestinationVpcArrayInput` via: +// NetworkInsightsAnalysisExplanationVpcEndpointArrayInput is an input type that accepts NetworkInsightsAnalysisExplanationVpcEndpointArray and NetworkInsightsAnalysisExplanationVpcEndpointArrayOutput values. +// You can construct a concrete instance of `NetworkInsightsAnalysisExplanationVpcEndpointArrayInput` via: // -// NetworkInsightsAnalysisForwardPathComponentDestinationVpcArray{ NetworkInsightsAnalysisForwardPathComponentDestinationVpcArgs{...} } -type NetworkInsightsAnalysisForwardPathComponentDestinationVpcArrayInput interface { +// NetworkInsightsAnalysisExplanationVpcEndpointArray{ NetworkInsightsAnalysisExplanationVpcEndpointArgs{...} } +type NetworkInsightsAnalysisExplanationVpcEndpointArrayInput interface { pulumi.Input - ToNetworkInsightsAnalysisForwardPathComponentDestinationVpcArrayOutput() NetworkInsightsAnalysisForwardPathComponentDestinationVpcArrayOutput - ToNetworkInsightsAnalysisForwardPathComponentDestinationVpcArrayOutputWithContext(context.Context) NetworkInsightsAnalysisForwardPathComponentDestinationVpcArrayOutput + ToNetworkInsightsAnalysisExplanationVpcEndpointArrayOutput() NetworkInsightsAnalysisExplanationVpcEndpointArrayOutput + ToNetworkInsightsAnalysisExplanationVpcEndpointArrayOutputWithContext(context.Context) NetworkInsightsAnalysisExplanationVpcEndpointArrayOutput } -type NetworkInsightsAnalysisForwardPathComponentDestinationVpcArray []NetworkInsightsAnalysisForwardPathComponentDestinationVpcInput +type NetworkInsightsAnalysisExplanationVpcEndpointArray []NetworkInsightsAnalysisExplanationVpcEndpointInput -func (NetworkInsightsAnalysisForwardPathComponentDestinationVpcArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]NetworkInsightsAnalysisForwardPathComponentDestinationVpc)(nil)).Elem() +func (NetworkInsightsAnalysisExplanationVpcEndpointArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkInsightsAnalysisExplanationVpcEndpoint)(nil)).Elem() } -func (i NetworkInsightsAnalysisForwardPathComponentDestinationVpcArray) ToNetworkInsightsAnalysisForwardPathComponentDestinationVpcArrayOutput() NetworkInsightsAnalysisForwardPathComponentDestinationVpcArrayOutput { - return i.ToNetworkInsightsAnalysisForwardPathComponentDestinationVpcArrayOutputWithContext(context.Background()) +func (i NetworkInsightsAnalysisExplanationVpcEndpointArray) ToNetworkInsightsAnalysisExplanationVpcEndpointArrayOutput() NetworkInsightsAnalysisExplanationVpcEndpointArrayOutput { + return i.ToNetworkInsightsAnalysisExplanationVpcEndpointArrayOutputWithContext(context.Background()) } -func (i NetworkInsightsAnalysisForwardPathComponentDestinationVpcArray) ToNetworkInsightsAnalysisForwardPathComponentDestinationVpcArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisForwardPathComponentDestinationVpcArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisForwardPathComponentDestinationVpcArrayOutput) +func (i NetworkInsightsAnalysisExplanationVpcEndpointArray) ToNetworkInsightsAnalysisExplanationVpcEndpointArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationVpcEndpointArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisExplanationVpcEndpointArrayOutput) } -type NetworkInsightsAnalysisForwardPathComponentDestinationVpcOutput struct{ *pulumi.OutputState } +type NetworkInsightsAnalysisExplanationVpcEndpointOutput struct{ *pulumi.OutputState } -func (NetworkInsightsAnalysisForwardPathComponentDestinationVpcOutput) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkInsightsAnalysisForwardPathComponentDestinationVpc)(nil)).Elem() +func (NetworkInsightsAnalysisExplanationVpcEndpointOutput) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInsightsAnalysisExplanationVpcEndpoint)(nil)).Elem() } -func (o NetworkInsightsAnalysisForwardPathComponentDestinationVpcOutput) ToNetworkInsightsAnalysisForwardPathComponentDestinationVpcOutput() NetworkInsightsAnalysisForwardPathComponentDestinationVpcOutput { +func (o NetworkInsightsAnalysisExplanationVpcEndpointOutput) ToNetworkInsightsAnalysisExplanationVpcEndpointOutput() NetworkInsightsAnalysisExplanationVpcEndpointOutput { return o } -func (o NetworkInsightsAnalysisForwardPathComponentDestinationVpcOutput) ToNetworkInsightsAnalysisForwardPathComponentDestinationVpcOutputWithContext(ctx context.Context) NetworkInsightsAnalysisForwardPathComponentDestinationVpcOutput { +func (o NetworkInsightsAnalysisExplanationVpcEndpointOutput) ToNetworkInsightsAnalysisExplanationVpcEndpointOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationVpcEndpointOutput { return o } // ARN of the Network Insights Analysis. -func (o NetworkInsightsAnalysisForwardPathComponentDestinationVpcOutput) Arn() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponentDestinationVpc) *string { return v.Arn }).(pulumi.StringPtrOutput) +func (o NetworkInsightsAnalysisExplanationVpcEndpointOutput) Arn() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisExplanationVpcEndpoint) *string { return v.Arn }).(pulumi.StringPtrOutput) } // ID of the Network Insights Analysis. -func (o NetworkInsightsAnalysisForwardPathComponentDestinationVpcOutput) Id() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponentDestinationVpc) *string { return v.Id }).(pulumi.StringPtrOutput) +func (o NetworkInsightsAnalysisExplanationVpcEndpointOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisExplanationVpcEndpoint) *string { return v.Id }).(pulumi.StringPtrOutput) } -func (o NetworkInsightsAnalysisForwardPathComponentDestinationVpcOutput) Name() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponentDestinationVpc) *string { return v.Name }).(pulumi.StringPtrOutput) +func (o NetworkInsightsAnalysisExplanationVpcEndpointOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisExplanationVpcEndpoint) *string { return v.Name }).(pulumi.StringPtrOutput) } -type NetworkInsightsAnalysisForwardPathComponentDestinationVpcArrayOutput struct{ *pulumi.OutputState } +type NetworkInsightsAnalysisExplanationVpcEndpointArrayOutput struct{ *pulumi.OutputState } -func (NetworkInsightsAnalysisForwardPathComponentDestinationVpcArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]NetworkInsightsAnalysisForwardPathComponentDestinationVpc)(nil)).Elem() +func (NetworkInsightsAnalysisExplanationVpcEndpointArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkInsightsAnalysisExplanationVpcEndpoint)(nil)).Elem() } -func (o NetworkInsightsAnalysisForwardPathComponentDestinationVpcArrayOutput) ToNetworkInsightsAnalysisForwardPathComponentDestinationVpcArrayOutput() NetworkInsightsAnalysisForwardPathComponentDestinationVpcArrayOutput { +func (o NetworkInsightsAnalysisExplanationVpcEndpointArrayOutput) ToNetworkInsightsAnalysisExplanationVpcEndpointArrayOutput() NetworkInsightsAnalysisExplanationVpcEndpointArrayOutput { return o } -func (o NetworkInsightsAnalysisForwardPathComponentDestinationVpcArrayOutput) ToNetworkInsightsAnalysisForwardPathComponentDestinationVpcArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisForwardPathComponentDestinationVpcArrayOutput { +func (o NetworkInsightsAnalysisExplanationVpcEndpointArrayOutput) ToNetworkInsightsAnalysisExplanationVpcEndpointArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationVpcEndpointArrayOutput { return o } -func (o NetworkInsightsAnalysisForwardPathComponentDestinationVpcArrayOutput) Index(i pulumi.IntInput) NetworkInsightsAnalysisForwardPathComponentDestinationVpcOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkInsightsAnalysisForwardPathComponentDestinationVpc { - return vs[0].([]NetworkInsightsAnalysisForwardPathComponentDestinationVpc)[vs[1].(int)] - }).(NetworkInsightsAnalysisForwardPathComponentDestinationVpcOutput) +func (o NetworkInsightsAnalysisExplanationVpcEndpointArrayOutput) Index(i pulumi.IntInput) NetworkInsightsAnalysisExplanationVpcEndpointOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkInsightsAnalysisExplanationVpcEndpoint { + return vs[0].([]NetworkInsightsAnalysisExplanationVpcEndpoint)[vs[1].(int)] + }).(NetworkInsightsAnalysisExplanationVpcEndpointOutput) } -type NetworkInsightsAnalysisForwardPathComponentInboundHeader struct { - DestinationAddresses []string `pulumi:"destinationAddresses"` - DestinationPortRanges []NetworkInsightsAnalysisForwardPathComponentInboundHeaderDestinationPortRange `pulumi:"destinationPortRanges"` - Protocol *string `pulumi:"protocol"` - SourceAddresses []string `pulumi:"sourceAddresses"` - SourcePortRanges []NetworkInsightsAnalysisForwardPathComponentInboundHeaderSourcePortRange `pulumi:"sourcePortRanges"` +type NetworkInsightsAnalysisExplanationVpcPeeringConnection struct { + // ARN of the Network Insights Analysis. + Arn *string `pulumi:"arn"` + // ID of the Network Insights Analysis. + Id *string `pulumi:"id"` + Name *string `pulumi:"name"` } -// NetworkInsightsAnalysisForwardPathComponentInboundHeaderInput is an input type that accepts NetworkInsightsAnalysisForwardPathComponentInboundHeaderArgs and NetworkInsightsAnalysisForwardPathComponentInboundHeaderOutput values. -// You can construct a concrete instance of `NetworkInsightsAnalysisForwardPathComponentInboundHeaderInput` via: +// NetworkInsightsAnalysisExplanationVpcPeeringConnectionInput is an input type that accepts NetworkInsightsAnalysisExplanationVpcPeeringConnectionArgs and NetworkInsightsAnalysisExplanationVpcPeeringConnectionOutput values. +// You can construct a concrete instance of `NetworkInsightsAnalysisExplanationVpcPeeringConnectionInput` via: // -// NetworkInsightsAnalysisForwardPathComponentInboundHeaderArgs{...} -type NetworkInsightsAnalysisForwardPathComponentInboundHeaderInput interface { +// NetworkInsightsAnalysisExplanationVpcPeeringConnectionArgs{...} +type NetworkInsightsAnalysisExplanationVpcPeeringConnectionInput interface { pulumi.Input - ToNetworkInsightsAnalysisForwardPathComponentInboundHeaderOutput() NetworkInsightsAnalysisForwardPathComponentInboundHeaderOutput - ToNetworkInsightsAnalysisForwardPathComponentInboundHeaderOutputWithContext(context.Context) NetworkInsightsAnalysisForwardPathComponentInboundHeaderOutput + ToNetworkInsightsAnalysisExplanationVpcPeeringConnectionOutput() NetworkInsightsAnalysisExplanationVpcPeeringConnectionOutput + ToNetworkInsightsAnalysisExplanationVpcPeeringConnectionOutputWithContext(context.Context) NetworkInsightsAnalysisExplanationVpcPeeringConnectionOutput } -type NetworkInsightsAnalysisForwardPathComponentInboundHeaderArgs struct { - DestinationAddresses pulumi.StringArrayInput `pulumi:"destinationAddresses"` - DestinationPortRanges NetworkInsightsAnalysisForwardPathComponentInboundHeaderDestinationPortRangeArrayInput `pulumi:"destinationPortRanges"` - Protocol pulumi.StringPtrInput `pulumi:"protocol"` - SourceAddresses pulumi.StringArrayInput `pulumi:"sourceAddresses"` - SourcePortRanges NetworkInsightsAnalysisForwardPathComponentInboundHeaderSourcePortRangeArrayInput `pulumi:"sourcePortRanges"` +type NetworkInsightsAnalysisExplanationVpcPeeringConnectionArgs struct { + // ARN of the Network Insights Analysis. + Arn pulumi.StringPtrInput `pulumi:"arn"` + // ID of the Network Insights Analysis. + Id pulumi.StringPtrInput `pulumi:"id"` + Name pulumi.StringPtrInput `pulumi:"name"` } -func (NetworkInsightsAnalysisForwardPathComponentInboundHeaderArgs) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkInsightsAnalysisForwardPathComponentInboundHeader)(nil)).Elem() +func (NetworkInsightsAnalysisExplanationVpcPeeringConnectionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInsightsAnalysisExplanationVpcPeeringConnection)(nil)).Elem() } -func (i NetworkInsightsAnalysisForwardPathComponentInboundHeaderArgs) ToNetworkInsightsAnalysisForwardPathComponentInboundHeaderOutput() NetworkInsightsAnalysisForwardPathComponentInboundHeaderOutput { - return i.ToNetworkInsightsAnalysisForwardPathComponentInboundHeaderOutputWithContext(context.Background()) +func (i NetworkInsightsAnalysisExplanationVpcPeeringConnectionArgs) ToNetworkInsightsAnalysisExplanationVpcPeeringConnectionOutput() NetworkInsightsAnalysisExplanationVpcPeeringConnectionOutput { + return i.ToNetworkInsightsAnalysisExplanationVpcPeeringConnectionOutputWithContext(context.Background()) } -func (i NetworkInsightsAnalysisForwardPathComponentInboundHeaderArgs) ToNetworkInsightsAnalysisForwardPathComponentInboundHeaderOutputWithContext(ctx context.Context) NetworkInsightsAnalysisForwardPathComponentInboundHeaderOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisForwardPathComponentInboundHeaderOutput) +func (i NetworkInsightsAnalysisExplanationVpcPeeringConnectionArgs) ToNetworkInsightsAnalysisExplanationVpcPeeringConnectionOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationVpcPeeringConnectionOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisExplanationVpcPeeringConnectionOutput) } -// NetworkInsightsAnalysisForwardPathComponentInboundHeaderArrayInput is an input type that accepts NetworkInsightsAnalysisForwardPathComponentInboundHeaderArray and NetworkInsightsAnalysisForwardPathComponentInboundHeaderArrayOutput values. -// You can construct a concrete instance of `NetworkInsightsAnalysisForwardPathComponentInboundHeaderArrayInput` via: +// NetworkInsightsAnalysisExplanationVpcPeeringConnectionArrayInput is an input type that accepts NetworkInsightsAnalysisExplanationVpcPeeringConnectionArray and NetworkInsightsAnalysisExplanationVpcPeeringConnectionArrayOutput values. +// You can construct a concrete instance of `NetworkInsightsAnalysisExplanationVpcPeeringConnectionArrayInput` via: // -// NetworkInsightsAnalysisForwardPathComponentInboundHeaderArray{ NetworkInsightsAnalysisForwardPathComponentInboundHeaderArgs{...} } -type NetworkInsightsAnalysisForwardPathComponentInboundHeaderArrayInput interface { +// NetworkInsightsAnalysisExplanationVpcPeeringConnectionArray{ NetworkInsightsAnalysisExplanationVpcPeeringConnectionArgs{...} } +type NetworkInsightsAnalysisExplanationVpcPeeringConnectionArrayInput interface { pulumi.Input - ToNetworkInsightsAnalysisForwardPathComponentInboundHeaderArrayOutput() NetworkInsightsAnalysisForwardPathComponentInboundHeaderArrayOutput - ToNetworkInsightsAnalysisForwardPathComponentInboundHeaderArrayOutputWithContext(context.Context) NetworkInsightsAnalysisForwardPathComponentInboundHeaderArrayOutput + ToNetworkInsightsAnalysisExplanationVpcPeeringConnectionArrayOutput() NetworkInsightsAnalysisExplanationVpcPeeringConnectionArrayOutput + ToNetworkInsightsAnalysisExplanationVpcPeeringConnectionArrayOutputWithContext(context.Context) NetworkInsightsAnalysisExplanationVpcPeeringConnectionArrayOutput } -type NetworkInsightsAnalysisForwardPathComponentInboundHeaderArray []NetworkInsightsAnalysisForwardPathComponentInboundHeaderInput +type NetworkInsightsAnalysisExplanationVpcPeeringConnectionArray []NetworkInsightsAnalysisExplanationVpcPeeringConnectionInput -func (NetworkInsightsAnalysisForwardPathComponentInboundHeaderArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]NetworkInsightsAnalysisForwardPathComponentInboundHeader)(nil)).Elem() +func (NetworkInsightsAnalysisExplanationVpcPeeringConnectionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkInsightsAnalysisExplanationVpcPeeringConnection)(nil)).Elem() } -func (i NetworkInsightsAnalysisForwardPathComponentInboundHeaderArray) ToNetworkInsightsAnalysisForwardPathComponentInboundHeaderArrayOutput() NetworkInsightsAnalysisForwardPathComponentInboundHeaderArrayOutput { - return i.ToNetworkInsightsAnalysisForwardPathComponentInboundHeaderArrayOutputWithContext(context.Background()) +func (i NetworkInsightsAnalysisExplanationVpcPeeringConnectionArray) ToNetworkInsightsAnalysisExplanationVpcPeeringConnectionArrayOutput() NetworkInsightsAnalysisExplanationVpcPeeringConnectionArrayOutput { + return i.ToNetworkInsightsAnalysisExplanationVpcPeeringConnectionArrayOutputWithContext(context.Background()) } -func (i NetworkInsightsAnalysisForwardPathComponentInboundHeaderArray) ToNetworkInsightsAnalysisForwardPathComponentInboundHeaderArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisForwardPathComponentInboundHeaderArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisForwardPathComponentInboundHeaderArrayOutput) +func (i NetworkInsightsAnalysisExplanationVpcPeeringConnectionArray) ToNetworkInsightsAnalysisExplanationVpcPeeringConnectionArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationVpcPeeringConnectionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisExplanationVpcPeeringConnectionArrayOutput) } -type NetworkInsightsAnalysisForwardPathComponentInboundHeaderOutput struct{ *pulumi.OutputState } +type NetworkInsightsAnalysisExplanationVpcPeeringConnectionOutput struct{ *pulumi.OutputState } -func (NetworkInsightsAnalysisForwardPathComponentInboundHeaderOutput) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkInsightsAnalysisForwardPathComponentInboundHeader)(nil)).Elem() +func (NetworkInsightsAnalysisExplanationVpcPeeringConnectionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInsightsAnalysisExplanationVpcPeeringConnection)(nil)).Elem() } -func (o NetworkInsightsAnalysisForwardPathComponentInboundHeaderOutput) ToNetworkInsightsAnalysisForwardPathComponentInboundHeaderOutput() NetworkInsightsAnalysisForwardPathComponentInboundHeaderOutput { +func (o NetworkInsightsAnalysisExplanationVpcPeeringConnectionOutput) ToNetworkInsightsAnalysisExplanationVpcPeeringConnectionOutput() NetworkInsightsAnalysisExplanationVpcPeeringConnectionOutput { return o } -func (o NetworkInsightsAnalysisForwardPathComponentInboundHeaderOutput) ToNetworkInsightsAnalysisForwardPathComponentInboundHeaderOutputWithContext(ctx context.Context) NetworkInsightsAnalysisForwardPathComponentInboundHeaderOutput { +func (o NetworkInsightsAnalysisExplanationVpcPeeringConnectionOutput) ToNetworkInsightsAnalysisExplanationVpcPeeringConnectionOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationVpcPeeringConnectionOutput { return o } -func (o NetworkInsightsAnalysisForwardPathComponentInboundHeaderOutput) DestinationAddresses() pulumi.StringArrayOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponentInboundHeader) []string { - return v.DestinationAddresses - }).(pulumi.StringArrayOutput) -} - -func (o NetworkInsightsAnalysisForwardPathComponentInboundHeaderOutput) DestinationPortRanges() NetworkInsightsAnalysisForwardPathComponentInboundHeaderDestinationPortRangeArrayOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponentInboundHeader) []NetworkInsightsAnalysisForwardPathComponentInboundHeaderDestinationPortRange { - return v.DestinationPortRanges - }).(NetworkInsightsAnalysisForwardPathComponentInboundHeaderDestinationPortRangeArrayOutput) -} - -func (o NetworkInsightsAnalysisForwardPathComponentInboundHeaderOutput) Protocol() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponentInboundHeader) *string { return v.Protocol }).(pulumi.StringPtrOutput) +// ARN of the Network Insights Analysis. +func (o NetworkInsightsAnalysisExplanationVpcPeeringConnectionOutput) Arn() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisExplanationVpcPeeringConnection) *string { return v.Arn }).(pulumi.StringPtrOutput) } -func (o NetworkInsightsAnalysisForwardPathComponentInboundHeaderOutput) SourceAddresses() pulumi.StringArrayOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponentInboundHeader) []string { return v.SourceAddresses }).(pulumi.StringArrayOutput) +// ID of the Network Insights Analysis. +func (o NetworkInsightsAnalysisExplanationVpcPeeringConnectionOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisExplanationVpcPeeringConnection) *string { return v.Id }).(pulumi.StringPtrOutput) } -func (o NetworkInsightsAnalysisForwardPathComponentInboundHeaderOutput) SourcePortRanges() NetworkInsightsAnalysisForwardPathComponentInboundHeaderSourcePortRangeArrayOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponentInboundHeader) []NetworkInsightsAnalysisForwardPathComponentInboundHeaderSourcePortRange { - return v.SourcePortRanges - }).(NetworkInsightsAnalysisForwardPathComponentInboundHeaderSourcePortRangeArrayOutput) +func (o NetworkInsightsAnalysisExplanationVpcPeeringConnectionOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisExplanationVpcPeeringConnection) *string { return v.Name }).(pulumi.StringPtrOutput) } -type NetworkInsightsAnalysisForwardPathComponentInboundHeaderArrayOutput struct{ *pulumi.OutputState } +type NetworkInsightsAnalysisExplanationVpcPeeringConnectionArrayOutput struct{ *pulumi.OutputState } -func (NetworkInsightsAnalysisForwardPathComponentInboundHeaderArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]NetworkInsightsAnalysisForwardPathComponentInboundHeader)(nil)).Elem() +func (NetworkInsightsAnalysisExplanationVpcPeeringConnectionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkInsightsAnalysisExplanationVpcPeeringConnection)(nil)).Elem() } -func (o NetworkInsightsAnalysisForwardPathComponentInboundHeaderArrayOutput) ToNetworkInsightsAnalysisForwardPathComponentInboundHeaderArrayOutput() NetworkInsightsAnalysisForwardPathComponentInboundHeaderArrayOutput { +func (o NetworkInsightsAnalysisExplanationVpcPeeringConnectionArrayOutput) ToNetworkInsightsAnalysisExplanationVpcPeeringConnectionArrayOutput() NetworkInsightsAnalysisExplanationVpcPeeringConnectionArrayOutput { return o } -func (o NetworkInsightsAnalysisForwardPathComponentInboundHeaderArrayOutput) ToNetworkInsightsAnalysisForwardPathComponentInboundHeaderArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisForwardPathComponentInboundHeaderArrayOutput { +func (o NetworkInsightsAnalysisExplanationVpcPeeringConnectionArrayOutput) ToNetworkInsightsAnalysisExplanationVpcPeeringConnectionArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationVpcPeeringConnectionArrayOutput { return o } -func (o NetworkInsightsAnalysisForwardPathComponentInboundHeaderArrayOutput) Index(i pulumi.IntInput) NetworkInsightsAnalysisForwardPathComponentInboundHeaderOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkInsightsAnalysisForwardPathComponentInboundHeader { - return vs[0].([]NetworkInsightsAnalysisForwardPathComponentInboundHeader)[vs[1].(int)] - }).(NetworkInsightsAnalysisForwardPathComponentInboundHeaderOutput) +func (o NetworkInsightsAnalysisExplanationVpcPeeringConnectionArrayOutput) Index(i pulumi.IntInput) NetworkInsightsAnalysisExplanationVpcPeeringConnectionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkInsightsAnalysisExplanationVpcPeeringConnection { + return vs[0].([]NetworkInsightsAnalysisExplanationVpcPeeringConnection)[vs[1].(int)] + }).(NetworkInsightsAnalysisExplanationVpcPeeringConnectionOutput) } -type NetworkInsightsAnalysisForwardPathComponentInboundHeaderDestinationPortRange struct { - From *int `pulumi:"from"` - To *int `pulumi:"to"` +type NetworkInsightsAnalysisExplanationVpnConnection struct { + // ARN of the Network Insights Analysis. + Arn *string `pulumi:"arn"` + // ID of the Network Insights Analysis. + Id *string `pulumi:"id"` + Name *string `pulumi:"name"` } -// NetworkInsightsAnalysisForwardPathComponentInboundHeaderDestinationPortRangeInput is an input type that accepts NetworkInsightsAnalysisForwardPathComponentInboundHeaderDestinationPortRangeArgs and NetworkInsightsAnalysisForwardPathComponentInboundHeaderDestinationPortRangeOutput values. -// You can construct a concrete instance of `NetworkInsightsAnalysisForwardPathComponentInboundHeaderDestinationPortRangeInput` via: +// NetworkInsightsAnalysisExplanationVpnConnectionInput is an input type that accepts NetworkInsightsAnalysisExplanationVpnConnectionArgs and NetworkInsightsAnalysisExplanationVpnConnectionOutput values. +// You can construct a concrete instance of `NetworkInsightsAnalysisExplanationVpnConnectionInput` via: // -// NetworkInsightsAnalysisForwardPathComponentInboundHeaderDestinationPortRangeArgs{...} -type NetworkInsightsAnalysisForwardPathComponentInboundHeaderDestinationPortRangeInput interface { +// NetworkInsightsAnalysisExplanationVpnConnectionArgs{...} +type NetworkInsightsAnalysisExplanationVpnConnectionInput interface { pulumi.Input - ToNetworkInsightsAnalysisForwardPathComponentInboundHeaderDestinationPortRangeOutput() NetworkInsightsAnalysisForwardPathComponentInboundHeaderDestinationPortRangeOutput - ToNetworkInsightsAnalysisForwardPathComponentInboundHeaderDestinationPortRangeOutputWithContext(context.Context) NetworkInsightsAnalysisForwardPathComponentInboundHeaderDestinationPortRangeOutput + ToNetworkInsightsAnalysisExplanationVpnConnectionOutput() NetworkInsightsAnalysisExplanationVpnConnectionOutput + ToNetworkInsightsAnalysisExplanationVpnConnectionOutputWithContext(context.Context) NetworkInsightsAnalysisExplanationVpnConnectionOutput } -type NetworkInsightsAnalysisForwardPathComponentInboundHeaderDestinationPortRangeArgs struct { - From pulumi.IntPtrInput `pulumi:"from"` - To pulumi.IntPtrInput `pulumi:"to"` +type NetworkInsightsAnalysisExplanationVpnConnectionArgs struct { + // ARN of the Network Insights Analysis. + Arn pulumi.StringPtrInput `pulumi:"arn"` + // ID of the Network Insights Analysis. + Id pulumi.StringPtrInput `pulumi:"id"` + Name pulumi.StringPtrInput `pulumi:"name"` } -func (NetworkInsightsAnalysisForwardPathComponentInboundHeaderDestinationPortRangeArgs) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkInsightsAnalysisForwardPathComponentInboundHeaderDestinationPortRange)(nil)).Elem() +func (NetworkInsightsAnalysisExplanationVpnConnectionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInsightsAnalysisExplanationVpnConnection)(nil)).Elem() } -func (i NetworkInsightsAnalysisForwardPathComponentInboundHeaderDestinationPortRangeArgs) ToNetworkInsightsAnalysisForwardPathComponentInboundHeaderDestinationPortRangeOutput() NetworkInsightsAnalysisForwardPathComponentInboundHeaderDestinationPortRangeOutput { - return i.ToNetworkInsightsAnalysisForwardPathComponentInboundHeaderDestinationPortRangeOutputWithContext(context.Background()) +func (i NetworkInsightsAnalysisExplanationVpnConnectionArgs) ToNetworkInsightsAnalysisExplanationVpnConnectionOutput() NetworkInsightsAnalysisExplanationVpnConnectionOutput { + return i.ToNetworkInsightsAnalysisExplanationVpnConnectionOutputWithContext(context.Background()) } -func (i NetworkInsightsAnalysisForwardPathComponentInboundHeaderDestinationPortRangeArgs) ToNetworkInsightsAnalysisForwardPathComponentInboundHeaderDestinationPortRangeOutputWithContext(ctx context.Context) NetworkInsightsAnalysisForwardPathComponentInboundHeaderDestinationPortRangeOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisForwardPathComponentInboundHeaderDestinationPortRangeOutput) +func (i NetworkInsightsAnalysisExplanationVpnConnectionArgs) ToNetworkInsightsAnalysisExplanationVpnConnectionOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationVpnConnectionOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisExplanationVpnConnectionOutput) } -// NetworkInsightsAnalysisForwardPathComponentInboundHeaderDestinationPortRangeArrayInput is an input type that accepts NetworkInsightsAnalysisForwardPathComponentInboundHeaderDestinationPortRangeArray and NetworkInsightsAnalysisForwardPathComponentInboundHeaderDestinationPortRangeArrayOutput values. -// You can construct a concrete instance of `NetworkInsightsAnalysisForwardPathComponentInboundHeaderDestinationPortRangeArrayInput` via: +// NetworkInsightsAnalysisExplanationVpnConnectionArrayInput is an input type that accepts NetworkInsightsAnalysisExplanationVpnConnectionArray and NetworkInsightsAnalysisExplanationVpnConnectionArrayOutput values. +// You can construct a concrete instance of `NetworkInsightsAnalysisExplanationVpnConnectionArrayInput` via: // -// NetworkInsightsAnalysisForwardPathComponentInboundHeaderDestinationPortRangeArray{ NetworkInsightsAnalysisForwardPathComponentInboundHeaderDestinationPortRangeArgs{...} } -type NetworkInsightsAnalysisForwardPathComponentInboundHeaderDestinationPortRangeArrayInput interface { +// NetworkInsightsAnalysisExplanationVpnConnectionArray{ NetworkInsightsAnalysisExplanationVpnConnectionArgs{...} } +type NetworkInsightsAnalysisExplanationVpnConnectionArrayInput interface { pulumi.Input - ToNetworkInsightsAnalysisForwardPathComponentInboundHeaderDestinationPortRangeArrayOutput() NetworkInsightsAnalysisForwardPathComponentInboundHeaderDestinationPortRangeArrayOutput - ToNetworkInsightsAnalysisForwardPathComponentInboundHeaderDestinationPortRangeArrayOutputWithContext(context.Context) NetworkInsightsAnalysisForwardPathComponentInboundHeaderDestinationPortRangeArrayOutput + ToNetworkInsightsAnalysisExplanationVpnConnectionArrayOutput() NetworkInsightsAnalysisExplanationVpnConnectionArrayOutput + ToNetworkInsightsAnalysisExplanationVpnConnectionArrayOutputWithContext(context.Context) NetworkInsightsAnalysisExplanationVpnConnectionArrayOutput } -type NetworkInsightsAnalysisForwardPathComponentInboundHeaderDestinationPortRangeArray []NetworkInsightsAnalysisForwardPathComponentInboundHeaderDestinationPortRangeInput +type NetworkInsightsAnalysisExplanationVpnConnectionArray []NetworkInsightsAnalysisExplanationVpnConnectionInput -func (NetworkInsightsAnalysisForwardPathComponentInboundHeaderDestinationPortRangeArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]NetworkInsightsAnalysisForwardPathComponentInboundHeaderDestinationPortRange)(nil)).Elem() +func (NetworkInsightsAnalysisExplanationVpnConnectionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkInsightsAnalysisExplanationVpnConnection)(nil)).Elem() } -func (i NetworkInsightsAnalysisForwardPathComponentInboundHeaderDestinationPortRangeArray) ToNetworkInsightsAnalysisForwardPathComponentInboundHeaderDestinationPortRangeArrayOutput() NetworkInsightsAnalysisForwardPathComponentInboundHeaderDestinationPortRangeArrayOutput { - return i.ToNetworkInsightsAnalysisForwardPathComponentInboundHeaderDestinationPortRangeArrayOutputWithContext(context.Background()) +func (i NetworkInsightsAnalysisExplanationVpnConnectionArray) ToNetworkInsightsAnalysisExplanationVpnConnectionArrayOutput() NetworkInsightsAnalysisExplanationVpnConnectionArrayOutput { + return i.ToNetworkInsightsAnalysisExplanationVpnConnectionArrayOutputWithContext(context.Background()) } -func (i NetworkInsightsAnalysisForwardPathComponentInboundHeaderDestinationPortRangeArray) ToNetworkInsightsAnalysisForwardPathComponentInboundHeaderDestinationPortRangeArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisForwardPathComponentInboundHeaderDestinationPortRangeArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisForwardPathComponentInboundHeaderDestinationPortRangeArrayOutput) +func (i NetworkInsightsAnalysisExplanationVpnConnectionArray) ToNetworkInsightsAnalysisExplanationVpnConnectionArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationVpnConnectionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisExplanationVpnConnectionArrayOutput) } -type NetworkInsightsAnalysisForwardPathComponentInboundHeaderDestinationPortRangeOutput struct{ *pulumi.OutputState } +type NetworkInsightsAnalysisExplanationVpnConnectionOutput struct{ *pulumi.OutputState } -func (NetworkInsightsAnalysisForwardPathComponentInboundHeaderDestinationPortRangeOutput) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkInsightsAnalysisForwardPathComponentInboundHeaderDestinationPortRange)(nil)).Elem() +func (NetworkInsightsAnalysisExplanationVpnConnectionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInsightsAnalysisExplanationVpnConnection)(nil)).Elem() } -func (o NetworkInsightsAnalysisForwardPathComponentInboundHeaderDestinationPortRangeOutput) ToNetworkInsightsAnalysisForwardPathComponentInboundHeaderDestinationPortRangeOutput() NetworkInsightsAnalysisForwardPathComponentInboundHeaderDestinationPortRangeOutput { +func (o NetworkInsightsAnalysisExplanationVpnConnectionOutput) ToNetworkInsightsAnalysisExplanationVpnConnectionOutput() NetworkInsightsAnalysisExplanationVpnConnectionOutput { return o } -func (o NetworkInsightsAnalysisForwardPathComponentInboundHeaderDestinationPortRangeOutput) ToNetworkInsightsAnalysisForwardPathComponentInboundHeaderDestinationPortRangeOutputWithContext(ctx context.Context) NetworkInsightsAnalysisForwardPathComponentInboundHeaderDestinationPortRangeOutput { +func (o NetworkInsightsAnalysisExplanationVpnConnectionOutput) ToNetworkInsightsAnalysisExplanationVpnConnectionOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationVpnConnectionOutput { return o } -func (o NetworkInsightsAnalysisForwardPathComponentInboundHeaderDestinationPortRangeOutput) From() pulumi.IntPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponentInboundHeaderDestinationPortRange) *int { - return v.From - }).(pulumi.IntPtrOutput) +// ARN of the Network Insights Analysis. +func (o NetworkInsightsAnalysisExplanationVpnConnectionOutput) Arn() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisExplanationVpnConnection) *string { return v.Arn }).(pulumi.StringPtrOutput) } -func (o NetworkInsightsAnalysisForwardPathComponentInboundHeaderDestinationPortRangeOutput) To() pulumi.IntPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponentInboundHeaderDestinationPortRange) *int { return v.To }).(pulumi.IntPtrOutput) +// ID of the Network Insights Analysis. +func (o NetworkInsightsAnalysisExplanationVpnConnectionOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisExplanationVpnConnection) *string { return v.Id }).(pulumi.StringPtrOutput) } -type NetworkInsightsAnalysisForwardPathComponentInboundHeaderDestinationPortRangeArrayOutput struct{ *pulumi.OutputState } +func (o NetworkInsightsAnalysisExplanationVpnConnectionOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisExplanationVpnConnection) *string { return v.Name }).(pulumi.StringPtrOutput) +} -func (NetworkInsightsAnalysisForwardPathComponentInboundHeaderDestinationPortRangeArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]NetworkInsightsAnalysisForwardPathComponentInboundHeaderDestinationPortRange)(nil)).Elem() +type NetworkInsightsAnalysisExplanationVpnConnectionArrayOutput struct{ *pulumi.OutputState } + +func (NetworkInsightsAnalysisExplanationVpnConnectionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkInsightsAnalysisExplanationVpnConnection)(nil)).Elem() } -func (o NetworkInsightsAnalysisForwardPathComponentInboundHeaderDestinationPortRangeArrayOutput) ToNetworkInsightsAnalysisForwardPathComponentInboundHeaderDestinationPortRangeArrayOutput() NetworkInsightsAnalysisForwardPathComponentInboundHeaderDestinationPortRangeArrayOutput { +func (o NetworkInsightsAnalysisExplanationVpnConnectionArrayOutput) ToNetworkInsightsAnalysisExplanationVpnConnectionArrayOutput() NetworkInsightsAnalysisExplanationVpnConnectionArrayOutput { return o } -func (o NetworkInsightsAnalysisForwardPathComponentInboundHeaderDestinationPortRangeArrayOutput) ToNetworkInsightsAnalysisForwardPathComponentInboundHeaderDestinationPortRangeArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisForwardPathComponentInboundHeaderDestinationPortRangeArrayOutput { +func (o NetworkInsightsAnalysisExplanationVpnConnectionArrayOutput) ToNetworkInsightsAnalysisExplanationVpnConnectionArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationVpnConnectionArrayOutput { return o } -func (o NetworkInsightsAnalysisForwardPathComponentInboundHeaderDestinationPortRangeArrayOutput) Index(i pulumi.IntInput) NetworkInsightsAnalysisForwardPathComponentInboundHeaderDestinationPortRangeOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkInsightsAnalysisForwardPathComponentInboundHeaderDestinationPortRange { - return vs[0].([]NetworkInsightsAnalysisForwardPathComponentInboundHeaderDestinationPortRange)[vs[1].(int)] - }).(NetworkInsightsAnalysisForwardPathComponentInboundHeaderDestinationPortRangeOutput) +func (o NetworkInsightsAnalysisExplanationVpnConnectionArrayOutput) Index(i pulumi.IntInput) NetworkInsightsAnalysisExplanationVpnConnectionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkInsightsAnalysisExplanationVpnConnection { + return vs[0].([]NetworkInsightsAnalysisExplanationVpnConnection)[vs[1].(int)] + }).(NetworkInsightsAnalysisExplanationVpnConnectionOutput) } -type NetworkInsightsAnalysisForwardPathComponentInboundHeaderSourcePortRange struct { - From *int `pulumi:"from"` - To *int `pulumi:"to"` +type NetworkInsightsAnalysisExplanationVpnGateway struct { + // ARN of the Network Insights Analysis. + Arn *string `pulumi:"arn"` + // ID of the Network Insights Analysis. + Id *string `pulumi:"id"` + Name *string `pulumi:"name"` } -// NetworkInsightsAnalysisForwardPathComponentInboundHeaderSourcePortRangeInput is an input type that accepts NetworkInsightsAnalysisForwardPathComponentInboundHeaderSourcePortRangeArgs and NetworkInsightsAnalysisForwardPathComponentInboundHeaderSourcePortRangeOutput values. -// You can construct a concrete instance of `NetworkInsightsAnalysisForwardPathComponentInboundHeaderSourcePortRangeInput` via: +// NetworkInsightsAnalysisExplanationVpnGatewayInput is an input type that accepts NetworkInsightsAnalysisExplanationVpnGatewayArgs and NetworkInsightsAnalysisExplanationVpnGatewayOutput values. +// You can construct a concrete instance of `NetworkInsightsAnalysisExplanationVpnGatewayInput` via: // -// NetworkInsightsAnalysisForwardPathComponentInboundHeaderSourcePortRangeArgs{...} -type NetworkInsightsAnalysisForwardPathComponentInboundHeaderSourcePortRangeInput interface { +// NetworkInsightsAnalysisExplanationVpnGatewayArgs{...} +type NetworkInsightsAnalysisExplanationVpnGatewayInput interface { pulumi.Input - ToNetworkInsightsAnalysisForwardPathComponentInboundHeaderSourcePortRangeOutput() NetworkInsightsAnalysisForwardPathComponentInboundHeaderSourcePortRangeOutput - ToNetworkInsightsAnalysisForwardPathComponentInboundHeaderSourcePortRangeOutputWithContext(context.Context) NetworkInsightsAnalysisForwardPathComponentInboundHeaderSourcePortRangeOutput + ToNetworkInsightsAnalysisExplanationVpnGatewayOutput() NetworkInsightsAnalysisExplanationVpnGatewayOutput + ToNetworkInsightsAnalysisExplanationVpnGatewayOutputWithContext(context.Context) NetworkInsightsAnalysisExplanationVpnGatewayOutput } -type NetworkInsightsAnalysisForwardPathComponentInboundHeaderSourcePortRangeArgs struct { - From pulumi.IntPtrInput `pulumi:"from"` - To pulumi.IntPtrInput `pulumi:"to"` +type NetworkInsightsAnalysisExplanationVpnGatewayArgs struct { + // ARN of the Network Insights Analysis. + Arn pulumi.StringPtrInput `pulumi:"arn"` + // ID of the Network Insights Analysis. + Id pulumi.StringPtrInput `pulumi:"id"` + Name pulumi.StringPtrInput `pulumi:"name"` } -func (NetworkInsightsAnalysisForwardPathComponentInboundHeaderSourcePortRangeArgs) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkInsightsAnalysisForwardPathComponentInboundHeaderSourcePortRange)(nil)).Elem() +func (NetworkInsightsAnalysisExplanationVpnGatewayArgs) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInsightsAnalysisExplanationVpnGateway)(nil)).Elem() } -func (i NetworkInsightsAnalysisForwardPathComponentInboundHeaderSourcePortRangeArgs) ToNetworkInsightsAnalysisForwardPathComponentInboundHeaderSourcePortRangeOutput() NetworkInsightsAnalysisForwardPathComponentInboundHeaderSourcePortRangeOutput { - return i.ToNetworkInsightsAnalysisForwardPathComponentInboundHeaderSourcePortRangeOutputWithContext(context.Background()) +func (i NetworkInsightsAnalysisExplanationVpnGatewayArgs) ToNetworkInsightsAnalysisExplanationVpnGatewayOutput() NetworkInsightsAnalysisExplanationVpnGatewayOutput { + return i.ToNetworkInsightsAnalysisExplanationVpnGatewayOutputWithContext(context.Background()) } -func (i NetworkInsightsAnalysisForwardPathComponentInboundHeaderSourcePortRangeArgs) ToNetworkInsightsAnalysisForwardPathComponentInboundHeaderSourcePortRangeOutputWithContext(ctx context.Context) NetworkInsightsAnalysisForwardPathComponentInboundHeaderSourcePortRangeOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisForwardPathComponentInboundHeaderSourcePortRangeOutput) +func (i NetworkInsightsAnalysisExplanationVpnGatewayArgs) ToNetworkInsightsAnalysisExplanationVpnGatewayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationVpnGatewayOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisExplanationVpnGatewayOutput) } -// NetworkInsightsAnalysisForwardPathComponentInboundHeaderSourcePortRangeArrayInput is an input type that accepts NetworkInsightsAnalysisForwardPathComponentInboundHeaderSourcePortRangeArray and NetworkInsightsAnalysisForwardPathComponentInboundHeaderSourcePortRangeArrayOutput values. -// You can construct a concrete instance of `NetworkInsightsAnalysisForwardPathComponentInboundHeaderSourcePortRangeArrayInput` via: +// NetworkInsightsAnalysisExplanationVpnGatewayArrayInput is an input type that accepts NetworkInsightsAnalysisExplanationVpnGatewayArray and NetworkInsightsAnalysisExplanationVpnGatewayArrayOutput values. +// You can construct a concrete instance of `NetworkInsightsAnalysisExplanationVpnGatewayArrayInput` via: // -// NetworkInsightsAnalysisForwardPathComponentInboundHeaderSourcePortRangeArray{ NetworkInsightsAnalysisForwardPathComponentInboundHeaderSourcePortRangeArgs{...} } -type NetworkInsightsAnalysisForwardPathComponentInboundHeaderSourcePortRangeArrayInput interface { +// NetworkInsightsAnalysisExplanationVpnGatewayArray{ NetworkInsightsAnalysisExplanationVpnGatewayArgs{...} } +type NetworkInsightsAnalysisExplanationVpnGatewayArrayInput interface { pulumi.Input - ToNetworkInsightsAnalysisForwardPathComponentInboundHeaderSourcePortRangeArrayOutput() NetworkInsightsAnalysisForwardPathComponentInboundHeaderSourcePortRangeArrayOutput - ToNetworkInsightsAnalysisForwardPathComponentInboundHeaderSourcePortRangeArrayOutputWithContext(context.Context) NetworkInsightsAnalysisForwardPathComponentInboundHeaderSourcePortRangeArrayOutput + ToNetworkInsightsAnalysisExplanationVpnGatewayArrayOutput() NetworkInsightsAnalysisExplanationVpnGatewayArrayOutput + ToNetworkInsightsAnalysisExplanationVpnGatewayArrayOutputWithContext(context.Context) NetworkInsightsAnalysisExplanationVpnGatewayArrayOutput } -type NetworkInsightsAnalysisForwardPathComponentInboundHeaderSourcePortRangeArray []NetworkInsightsAnalysisForwardPathComponentInboundHeaderSourcePortRangeInput +type NetworkInsightsAnalysisExplanationVpnGatewayArray []NetworkInsightsAnalysisExplanationVpnGatewayInput -func (NetworkInsightsAnalysisForwardPathComponentInboundHeaderSourcePortRangeArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]NetworkInsightsAnalysisForwardPathComponentInboundHeaderSourcePortRange)(nil)).Elem() +func (NetworkInsightsAnalysisExplanationVpnGatewayArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkInsightsAnalysisExplanationVpnGateway)(nil)).Elem() } -func (i NetworkInsightsAnalysisForwardPathComponentInboundHeaderSourcePortRangeArray) ToNetworkInsightsAnalysisForwardPathComponentInboundHeaderSourcePortRangeArrayOutput() NetworkInsightsAnalysisForwardPathComponentInboundHeaderSourcePortRangeArrayOutput { - return i.ToNetworkInsightsAnalysisForwardPathComponentInboundHeaderSourcePortRangeArrayOutputWithContext(context.Background()) +func (i NetworkInsightsAnalysisExplanationVpnGatewayArray) ToNetworkInsightsAnalysisExplanationVpnGatewayArrayOutput() NetworkInsightsAnalysisExplanationVpnGatewayArrayOutput { + return i.ToNetworkInsightsAnalysisExplanationVpnGatewayArrayOutputWithContext(context.Background()) } -func (i NetworkInsightsAnalysisForwardPathComponentInboundHeaderSourcePortRangeArray) ToNetworkInsightsAnalysisForwardPathComponentInboundHeaderSourcePortRangeArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisForwardPathComponentInboundHeaderSourcePortRangeArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisForwardPathComponentInboundHeaderSourcePortRangeArrayOutput) +func (i NetworkInsightsAnalysisExplanationVpnGatewayArray) ToNetworkInsightsAnalysisExplanationVpnGatewayArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationVpnGatewayArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisExplanationVpnGatewayArrayOutput) } -type NetworkInsightsAnalysisForwardPathComponentInboundHeaderSourcePortRangeOutput struct{ *pulumi.OutputState } +type NetworkInsightsAnalysisExplanationVpnGatewayOutput struct{ *pulumi.OutputState } -func (NetworkInsightsAnalysisForwardPathComponentInboundHeaderSourcePortRangeOutput) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkInsightsAnalysisForwardPathComponentInboundHeaderSourcePortRange)(nil)).Elem() +func (NetworkInsightsAnalysisExplanationVpnGatewayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInsightsAnalysisExplanationVpnGateway)(nil)).Elem() } -func (o NetworkInsightsAnalysisForwardPathComponentInboundHeaderSourcePortRangeOutput) ToNetworkInsightsAnalysisForwardPathComponentInboundHeaderSourcePortRangeOutput() NetworkInsightsAnalysisForwardPathComponentInboundHeaderSourcePortRangeOutput { +func (o NetworkInsightsAnalysisExplanationVpnGatewayOutput) ToNetworkInsightsAnalysisExplanationVpnGatewayOutput() NetworkInsightsAnalysisExplanationVpnGatewayOutput { return o } -func (o NetworkInsightsAnalysisForwardPathComponentInboundHeaderSourcePortRangeOutput) ToNetworkInsightsAnalysisForwardPathComponentInboundHeaderSourcePortRangeOutputWithContext(ctx context.Context) NetworkInsightsAnalysisForwardPathComponentInboundHeaderSourcePortRangeOutput { +func (o NetworkInsightsAnalysisExplanationVpnGatewayOutput) ToNetworkInsightsAnalysisExplanationVpnGatewayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationVpnGatewayOutput { return o } -func (o NetworkInsightsAnalysisForwardPathComponentInboundHeaderSourcePortRangeOutput) From() pulumi.IntPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponentInboundHeaderSourcePortRange) *int { return v.From }).(pulumi.IntPtrOutput) +// ARN of the Network Insights Analysis. +func (o NetworkInsightsAnalysisExplanationVpnGatewayOutput) Arn() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisExplanationVpnGateway) *string { return v.Arn }).(pulumi.StringPtrOutput) } -func (o NetworkInsightsAnalysisForwardPathComponentInboundHeaderSourcePortRangeOutput) To() pulumi.IntPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponentInboundHeaderSourcePortRange) *int { return v.To }).(pulumi.IntPtrOutput) +// ID of the Network Insights Analysis. +func (o NetworkInsightsAnalysisExplanationVpnGatewayOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisExplanationVpnGateway) *string { return v.Id }).(pulumi.StringPtrOutput) } -type NetworkInsightsAnalysisForwardPathComponentInboundHeaderSourcePortRangeArrayOutput struct{ *pulumi.OutputState } +func (o NetworkInsightsAnalysisExplanationVpnGatewayOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisExplanationVpnGateway) *string { return v.Name }).(pulumi.StringPtrOutput) +} -func (NetworkInsightsAnalysisForwardPathComponentInboundHeaderSourcePortRangeArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]NetworkInsightsAnalysisForwardPathComponentInboundHeaderSourcePortRange)(nil)).Elem() +type NetworkInsightsAnalysisExplanationVpnGatewayArrayOutput struct{ *pulumi.OutputState } + +func (NetworkInsightsAnalysisExplanationVpnGatewayArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkInsightsAnalysisExplanationVpnGateway)(nil)).Elem() } -func (o NetworkInsightsAnalysisForwardPathComponentInboundHeaderSourcePortRangeArrayOutput) ToNetworkInsightsAnalysisForwardPathComponentInboundHeaderSourcePortRangeArrayOutput() NetworkInsightsAnalysisForwardPathComponentInboundHeaderSourcePortRangeArrayOutput { +func (o NetworkInsightsAnalysisExplanationVpnGatewayArrayOutput) ToNetworkInsightsAnalysisExplanationVpnGatewayArrayOutput() NetworkInsightsAnalysisExplanationVpnGatewayArrayOutput { return o } -func (o NetworkInsightsAnalysisForwardPathComponentInboundHeaderSourcePortRangeArrayOutput) ToNetworkInsightsAnalysisForwardPathComponentInboundHeaderSourcePortRangeArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisForwardPathComponentInboundHeaderSourcePortRangeArrayOutput { +func (o NetworkInsightsAnalysisExplanationVpnGatewayArrayOutput) ToNetworkInsightsAnalysisExplanationVpnGatewayArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisExplanationVpnGatewayArrayOutput { return o } -func (o NetworkInsightsAnalysisForwardPathComponentInboundHeaderSourcePortRangeArrayOutput) Index(i pulumi.IntInput) NetworkInsightsAnalysisForwardPathComponentInboundHeaderSourcePortRangeOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkInsightsAnalysisForwardPathComponentInboundHeaderSourcePortRange { - return vs[0].([]NetworkInsightsAnalysisForwardPathComponentInboundHeaderSourcePortRange)[vs[1].(int)] - }).(NetworkInsightsAnalysisForwardPathComponentInboundHeaderSourcePortRangeOutput) +func (o NetworkInsightsAnalysisExplanationVpnGatewayArrayOutput) Index(i pulumi.IntInput) NetworkInsightsAnalysisExplanationVpnGatewayOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkInsightsAnalysisExplanationVpnGateway { + return vs[0].([]NetworkInsightsAnalysisExplanationVpnGateway)[vs[1].(int)] + }).(NetworkInsightsAnalysisExplanationVpnGatewayOutput) } -type NetworkInsightsAnalysisForwardPathComponentOutboundHeader struct { - DestinationAddresses []string `pulumi:"destinationAddresses"` - DestinationPortRanges []NetworkInsightsAnalysisForwardPathComponentOutboundHeaderDestinationPortRange `pulumi:"destinationPortRanges"` - Protocol *string `pulumi:"protocol"` - SourceAddresses []string `pulumi:"sourceAddresses"` - SourcePortRanges []NetworkInsightsAnalysisForwardPathComponentOutboundHeaderSourcePortRange `pulumi:"sourcePortRanges"` +type NetworkInsightsAnalysisForwardPathComponent struct { + AclRules []NetworkInsightsAnalysisForwardPathComponentAclRule `pulumi:"aclRules"` + AdditionalDetails []NetworkInsightsAnalysisForwardPathComponentAdditionalDetail `pulumi:"additionalDetails"` + AttachedTos []NetworkInsightsAnalysisForwardPathComponentAttachedTo `pulumi:"attachedTos"` + Components []NetworkInsightsAnalysisForwardPathComponentComponent `pulumi:"components"` + DestinationVpcs []NetworkInsightsAnalysisForwardPathComponentDestinationVpc `pulumi:"destinationVpcs"` + InboundHeaders []NetworkInsightsAnalysisForwardPathComponentInboundHeader `pulumi:"inboundHeaders"` + OutboundHeaders []NetworkInsightsAnalysisForwardPathComponentOutboundHeader `pulumi:"outboundHeaders"` + RouteTableRoutes []NetworkInsightsAnalysisForwardPathComponentRouteTableRoute `pulumi:"routeTableRoutes"` + SecurityGroupRules []NetworkInsightsAnalysisForwardPathComponentSecurityGroupRule `pulumi:"securityGroupRules"` + SequenceNumber *int `pulumi:"sequenceNumber"` + SourceVpcs []NetworkInsightsAnalysisForwardPathComponentSourceVpc `pulumi:"sourceVpcs"` + Subnets []NetworkInsightsAnalysisForwardPathComponentSubnet `pulumi:"subnets"` + TransitGatewayRouteTableRoutes []NetworkInsightsAnalysisForwardPathComponentTransitGatewayRouteTableRoute `pulumi:"transitGatewayRouteTableRoutes"` + TransitGateways []NetworkInsightsAnalysisForwardPathComponentTransitGateway `pulumi:"transitGateways"` + Vpcs []NetworkInsightsAnalysisForwardPathComponentVpc `pulumi:"vpcs"` } -// NetworkInsightsAnalysisForwardPathComponentOutboundHeaderInput is an input type that accepts NetworkInsightsAnalysisForwardPathComponentOutboundHeaderArgs and NetworkInsightsAnalysisForwardPathComponentOutboundHeaderOutput values. -// You can construct a concrete instance of `NetworkInsightsAnalysisForwardPathComponentOutboundHeaderInput` via: +// NetworkInsightsAnalysisForwardPathComponentInput is an input type that accepts NetworkInsightsAnalysisForwardPathComponentArgs and NetworkInsightsAnalysisForwardPathComponentOutput values. +// You can construct a concrete instance of `NetworkInsightsAnalysisForwardPathComponentInput` via: // -// NetworkInsightsAnalysisForwardPathComponentOutboundHeaderArgs{...} -type NetworkInsightsAnalysisForwardPathComponentOutboundHeaderInput interface { +// NetworkInsightsAnalysisForwardPathComponentArgs{...} +type NetworkInsightsAnalysisForwardPathComponentInput interface { pulumi.Input - ToNetworkInsightsAnalysisForwardPathComponentOutboundHeaderOutput() NetworkInsightsAnalysisForwardPathComponentOutboundHeaderOutput - ToNetworkInsightsAnalysisForwardPathComponentOutboundHeaderOutputWithContext(context.Context) NetworkInsightsAnalysisForwardPathComponentOutboundHeaderOutput + ToNetworkInsightsAnalysisForwardPathComponentOutput() NetworkInsightsAnalysisForwardPathComponentOutput + ToNetworkInsightsAnalysisForwardPathComponentOutputWithContext(context.Context) NetworkInsightsAnalysisForwardPathComponentOutput } -type NetworkInsightsAnalysisForwardPathComponentOutboundHeaderArgs struct { - DestinationAddresses pulumi.StringArrayInput `pulumi:"destinationAddresses"` - DestinationPortRanges NetworkInsightsAnalysisForwardPathComponentOutboundHeaderDestinationPortRangeArrayInput `pulumi:"destinationPortRanges"` - Protocol pulumi.StringPtrInput `pulumi:"protocol"` - SourceAddresses pulumi.StringArrayInput `pulumi:"sourceAddresses"` - SourcePortRanges NetworkInsightsAnalysisForwardPathComponentOutboundHeaderSourcePortRangeArrayInput `pulumi:"sourcePortRanges"` +type NetworkInsightsAnalysisForwardPathComponentArgs struct { + AclRules NetworkInsightsAnalysisForwardPathComponentAclRuleArrayInput `pulumi:"aclRules"` + AdditionalDetails NetworkInsightsAnalysisForwardPathComponentAdditionalDetailArrayInput `pulumi:"additionalDetails"` + AttachedTos NetworkInsightsAnalysisForwardPathComponentAttachedToArrayInput `pulumi:"attachedTos"` + Components NetworkInsightsAnalysisForwardPathComponentComponentArrayInput `pulumi:"components"` + DestinationVpcs NetworkInsightsAnalysisForwardPathComponentDestinationVpcArrayInput `pulumi:"destinationVpcs"` + InboundHeaders NetworkInsightsAnalysisForwardPathComponentInboundHeaderArrayInput `pulumi:"inboundHeaders"` + OutboundHeaders NetworkInsightsAnalysisForwardPathComponentOutboundHeaderArrayInput `pulumi:"outboundHeaders"` + RouteTableRoutes NetworkInsightsAnalysisForwardPathComponentRouteTableRouteArrayInput `pulumi:"routeTableRoutes"` + SecurityGroupRules NetworkInsightsAnalysisForwardPathComponentSecurityGroupRuleArrayInput `pulumi:"securityGroupRules"` + SequenceNumber pulumi.IntPtrInput `pulumi:"sequenceNumber"` + SourceVpcs NetworkInsightsAnalysisForwardPathComponentSourceVpcArrayInput `pulumi:"sourceVpcs"` + Subnets NetworkInsightsAnalysisForwardPathComponentSubnetArrayInput `pulumi:"subnets"` + TransitGatewayRouteTableRoutes NetworkInsightsAnalysisForwardPathComponentTransitGatewayRouteTableRouteArrayInput `pulumi:"transitGatewayRouteTableRoutes"` + TransitGateways NetworkInsightsAnalysisForwardPathComponentTransitGatewayArrayInput `pulumi:"transitGateways"` + Vpcs NetworkInsightsAnalysisForwardPathComponentVpcArrayInput `pulumi:"vpcs"` } -func (NetworkInsightsAnalysisForwardPathComponentOutboundHeaderArgs) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkInsightsAnalysisForwardPathComponentOutboundHeader)(nil)).Elem() +func (NetworkInsightsAnalysisForwardPathComponentArgs) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInsightsAnalysisForwardPathComponent)(nil)).Elem() } -func (i NetworkInsightsAnalysisForwardPathComponentOutboundHeaderArgs) ToNetworkInsightsAnalysisForwardPathComponentOutboundHeaderOutput() NetworkInsightsAnalysisForwardPathComponentOutboundHeaderOutput { - return i.ToNetworkInsightsAnalysisForwardPathComponentOutboundHeaderOutputWithContext(context.Background()) +func (i NetworkInsightsAnalysisForwardPathComponentArgs) ToNetworkInsightsAnalysisForwardPathComponentOutput() NetworkInsightsAnalysisForwardPathComponentOutput { + return i.ToNetworkInsightsAnalysisForwardPathComponentOutputWithContext(context.Background()) } -func (i NetworkInsightsAnalysisForwardPathComponentOutboundHeaderArgs) ToNetworkInsightsAnalysisForwardPathComponentOutboundHeaderOutputWithContext(ctx context.Context) NetworkInsightsAnalysisForwardPathComponentOutboundHeaderOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisForwardPathComponentOutboundHeaderOutput) +func (i NetworkInsightsAnalysisForwardPathComponentArgs) ToNetworkInsightsAnalysisForwardPathComponentOutputWithContext(ctx context.Context) NetworkInsightsAnalysisForwardPathComponentOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisForwardPathComponentOutput) } -// NetworkInsightsAnalysisForwardPathComponentOutboundHeaderArrayInput is an input type that accepts NetworkInsightsAnalysisForwardPathComponentOutboundHeaderArray and NetworkInsightsAnalysisForwardPathComponentOutboundHeaderArrayOutput values. -// You can construct a concrete instance of `NetworkInsightsAnalysisForwardPathComponentOutboundHeaderArrayInput` via: +// NetworkInsightsAnalysisForwardPathComponentArrayInput is an input type that accepts NetworkInsightsAnalysisForwardPathComponentArray and NetworkInsightsAnalysisForwardPathComponentArrayOutput values. +// You can construct a concrete instance of `NetworkInsightsAnalysisForwardPathComponentArrayInput` via: // -// NetworkInsightsAnalysisForwardPathComponentOutboundHeaderArray{ NetworkInsightsAnalysisForwardPathComponentOutboundHeaderArgs{...} } -type NetworkInsightsAnalysisForwardPathComponentOutboundHeaderArrayInput interface { +// NetworkInsightsAnalysisForwardPathComponentArray{ NetworkInsightsAnalysisForwardPathComponentArgs{...} } +type NetworkInsightsAnalysisForwardPathComponentArrayInput interface { pulumi.Input - ToNetworkInsightsAnalysisForwardPathComponentOutboundHeaderArrayOutput() NetworkInsightsAnalysisForwardPathComponentOutboundHeaderArrayOutput - ToNetworkInsightsAnalysisForwardPathComponentOutboundHeaderArrayOutputWithContext(context.Context) NetworkInsightsAnalysisForwardPathComponentOutboundHeaderArrayOutput + ToNetworkInsightsAnalysisForwardPathComponentArrayOutput() NetworkInsightsAnalysisForwardPathComponentArrayOutput + ToNetworkInsightsAnalysisForwardPathComponentArrayOutputWithContext(context.Context) NetworkInsightsAnalysisForwardPathComponentArrayOutput } -type NetworkInsightsAnalysisForwardPathComponentOutboundHeaderArray []NetworkInsightsAnalysisForwardPathComponentOutboundHeaderInput +type NetworkInsightsAnalysisForwardPathComponentArray []NetworkInsightsAnalysisForwardPathComponentInput -func (NetworkInsightsAnalysisForwardPathComponentOutboundHeaderArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]NetworkInsightsAnalysisForwardPathComponentOutboundHeader)(nil)).Elem() +func (NetworkInsightsAnalysisForwardPathComponentArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkInsightsAnalysisForwardPathComponent)(nil)).Elem() } -func (i NetworkInsightsAnalysisForwardPathComponentOutboundHeaderArray) ToNetworkInsightsAnalysisForwardPathComponentOutboundHeaderArrayOutput() NetworkInsightsAnalysisForwardPathComponentOutboundHeaderArrayOutput { - return i.ToNetworkInsightsAnalysisForwardPathComponentOutboundHeaderArrayOutputWithContext(context.Background()) +func (i NetworkInsightsAnalysisForwardPathComponentArray) ToNetworkInsightsAnalysisForwardPathComponentArrayOutput() NetworkInsightsAnalysisForwardPathComponentArrayOutput { + return i.ToNetworkInsightsAnalysisForwardPathComponentArrayOutputWithContext(context.Background()) } -func (i NetworkInsightsAnalysisForwardPathComponentOutboundHeaderArray) ToNetworkInsightsAnalysisForwardPathComponentOutboundHeaderArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisForwardPathComponentOutboundHeaderArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisForwardPathComponentOutboundHeaderArrayOutput) +func (i NetworkInsightsAnalysisForwardPathComponentArray) ToNetworkInsightsAnalysisForwardPathComponentArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisForwardPathComponentArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisForwardPathComponentArrayOutput) } -type NetworkInsightsAnalysisForwardPathComponentOutboundHeaderOutput struct{ *pulumi.OutputState } +type NetworkInsightsAnalysisForwardPathComponentOutput struct{ *pulumi.OutputState } -func (NetworkInsightsAnalysisForwardPathComponentOutboundHeaderOutput) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkInsightsAnalysisForwardPathComponentOutboundHeader)(nil)).Elem() +func (NetworkInsightsAnalysisForwardPathComponentOutput) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInsightsAnalysisForwardPathComponent)(nil)).Elem() } -func (o NetworkInsightsAnalysisForwardPathComponentOutboundHeaderOutput) ToNetworkInsightsAnalysisForwardPathComponentOutboundHeaderOutput() NetworkInsightsAnalysisForwardPathComponentOutboundHeaderOutput { +func (o NetworkInsightsAnalysisForwardPathComponentOutput) ToNetworkInsightsAnalysisForwardPathComponentOutput() NetworkInsightsAnalysisForwardPathComponentOutput { return o } -func (o NetworkInsightsAnalysisForwardPathComponentOutboundHeaderOutput) ToNetworkInsightsAnalysisForwardPathComponentOutboundHeaderOutputWithContext(ctx context.Context) NetworkInsightsAnalysisForwardPathComponentOutboundHeaderOutput { +func (o NetworkInsightsAnalysisForwardPathComponentOutput) ToNetworkInsightsAnalysisForwardPathComponentOutputWithContext(ctx context.Context) NetworkInsightsAnalysisForwardPathComponentOutput { return o } -func (o NetworkInsightsAnalysisForwardPathComponentOutboundHeaderOutput) DestinationAddresses() pulumi.StringArrayOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponentOutboundHeader) []string { - return v.DestinationAddresses - }).(pulumi.StringArrayOutput) +func (o NetworkInsightsAnalysisForwardPathComponentOutput) AclRules() NetworkInsightsAnalysisForwardPathComponentAclRuleArrayOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponent) []NetworkInsightsAnalysisForwardPathComponentAclRule { + return v.AclRules + }).(NetworkInsightsAnalysisForwardPathComponentAclRuleArrayOutput) } -func (o NetworkInsightsAnalysisForwardPathComponentOutboundHeaderOutput) DestinationPortRanges() NetworkInsightsAnalysisForwardPathComponentOutboundHeaderDestinationPortRangeArrayOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponentOutboundHeader) []NetworkInsightsAnalysisForwardPathComponentOutboundHeaderDestinationPortRange { - return v.DestinationPortRanges - }).(NetworkInsightsAnalysisForwardPathComponentOutboundHeaderDestinationPortRangeArrayOutput) +func (o NetworkInsightsAnalysisForwardPathComponentOutput) AdditionalDetails() NetworkInsightsAnalysisForwardPathComponentAdditionalDetailArrayOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponent) []NetworkInsightsAnalysisForwardPathComponentAdditionalDetail { + return v.AdditionalDetails + }).(NetworkInsightsAnalysisForwardPathComponentAdditionalDetailArrayOutput) } -func (o NetworkInsightsAnalysisForwardPathComponentOutboundHeaderOutput) Protocol() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponentOutboundHeader) *string { return v.Protocol }).(pulumi.StringPtrOutput) +func (o NetworkInsightsAnalysisForwardPathComponentOutput) AttachedTos() NetworkInsightsAnalysisForwardPathComponentAttachedToArrayOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponent) []NetworkInsightsAnalysisForwardPathComponentAttachedTo { + return v.AttachedTos + }).(NetworkInsightsAnalysisForwardPathComponentAttachedToArrayOutput) } -func (o NetworkInsightsAnalysisForwardPathComponentOutboundHeaderOutput) SourceAddresses() pulumi.StringArrayOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponentOutboundHeader) []string { return v.SourceAddresses }).(pulumi.StringArrayOutput) +func (o NetworkInsightsAnalysisForwardPathComponentOutput) Components() NetworkInsightsAnalysisForwardPathComponentComponentArrayOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponent) []NetworkInsightsAnalysisForwardPathComponentComponent { + return v.Components + }).(NetworkInsightsAnalysisForwardPathComponentComponentArrayOutput) } -func (o NetworkInsightsAnalysisForwardPathComponentOutboundHeaderOutput) SourcePortRanges() NetworkInsightsAnalysisForwardPathComponentOutboundHeaderSourcePortRangeArrayOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponentOutboundHeader) []NetworkInsightsAnalysisForwardPathComponentOutboundHeaderSourcePortRange { - return v.SourcePortRanges - }).(NetworkInsightsAnalysisForwardPathComponentOutboundHeaderSourcePortRangeArrayOutput) +func (o NetworkInsightsAnalysisForwardPathComponentOutput) DestinationVpcs() NetworkInsightsAnalysisForwardPathComponentDestinationVpcArrayOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponent) []NetworkInsightsAnalysisForwardPathComponentDestinationVpc { + return v.DestinationVpcs + }).(NetworkInsightsAnalysisForwardPathComponentDestinationVpcArrayOutput) } -type NetworkInsightsAnalysisForwardPathComponentOutboundHeaderArrayOutput struct{ *pulumi.OutputState } +func (o NetworkInsightsAnalysisForwardPathComponentOutput) InboundHeaders() NetworkInsightsAnalysisForwardPathComponentInboundHeaderArrayOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponent) []NetworkInsightsAnalysisForwardPathComponentInboundHeader { + return v.InboundHeaders + }).(NetworkInsightsAnalysisForwardPathComponentInboundHeaderArrayOutput) +} -func (NetworkInsightsAnalysisForwardPathComponentOutboundHeaderArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]NetworkInsightsAnalysisForwardPathComponentOutboundHeader)(nil)).Elem() +func (o NetworkInsightsAnalysisForwardPathComponentOutput) OutboundHeaders() NetworkInsightsAnalysisForwardPathComponentOutboundHeaderArrayOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponent) []NetworkInsightsAnalysisForwardPathComponentOutboundHeader { + return v.OutboundHeaders + }).(NetworkInsightsAnalysisForwardPathComponentOutboundHeaderArrayOutput) } -func (o NetworkInsightsAnalysisForwardPathComponentOutboundHeaderArrayOutput) ToNetworkInsightsAnalysisForwardPathComponentOutboundHeaderArrayOutput() NetworkInsightsAnalysisForwardPathComponentOutboundHeaderArrayOutput { +func (o NetworkInsightsAnalysisForwardPathComponentOutput) RouteTableRoutes() NetworkInsightsAnalysisForwardPathComponentRouteTableRouteArrayOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponent) []NetworkInsightsAnalysisForwardPathComponentRouteTableRoute { + return v.RouteTableRoutes + }).(NetworkInsightsAnalysisForwardPathComponentRouteTableRouteArrayOutput) +} + +func (o NetworkInsightsAnalysisForwardPathComponentOutput) SecurityGroupRules() NetworkInsightsAnalysisForwardPathComponentSecurityGroupRuleArrayOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponent) []NetworkInsightsAnalysisForwardPathComponentSecurityGroupRule { + return v.SecurityGroupRules + }).(NetworkInsightsAnalysisForwardPathComponentSecurityGroupRuleArrayOutput) +} + +func (o NetworkInsightsAnalysisForwardPathComponentOutput) SequenceNumber() pulumi.IntPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponent) *int { return v.SequenceNumber }).(pulumi.IntPtrOutput) +} + +func (o NetworkInsightsAnalysisForwardPathComponentOutput) SourceVpcs() NetworkInsightsAnalysisForwardPathComponentSourceVpcArrayOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponent) []NetworkInsightsAnalysisForwardPathComponentSourceVpc { + return v.SourceVpcs + }).(NetworkInsightsAnalysisForwardPathComponentSourceVpcArrayOutput) +} + +func (o NetworkInsightsAnalysisForwardPathComponentOutput) Subnets() NetworkInsightsAnalysisForwardPathComponentSubnetArrayOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponent) []NetworkInsightsAnalysisForwardPathComponentSubnet { + return v.Subnets + }).(NetworkInsightsAnalysisForwardPathComponentSubnetArrayOutput) +} + +func (o NetworkInsightsAnalysisForwardPathComponentOutput) TransitGatewayRouteTableRoutes() NetworkInsightsAnalysisForwardPathComponentTransitGatewayRouteTableRouteArrayOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponent) []NetworkInsightsAnalysisForwardPathComponentTransitGatewayRouteTableRoute { + return v.TransitGatewayRouteTableRoutes + }).(NetworkInsightsAnalysisForwardPathComponentTransitGatewayRouteTableRouteArrayOutput) +} + +func (o NetworkInsightsAnalysisForwardPathComponentOutput) TransitGateways() NetworkInsightsAnalysisForwardPathComponentTransitGatewayArrayOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponent) []NetworkInsightsAnalysisForwardPathComponentTransitGateway { + return v.TransitGateways + }).(NetworkInsightsAnalysisForwardPathComponentTransitGatewayArrayOutput) +} + +func (o NetworkInsightsAnalysisForwardPathComponentOutput) Vpcs() NetworkInsightsAnalysisForwardPathComponentVpcArrayOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponent) []NetworkInsightsAnalysisForwardPathComponentVpc { + return v.Vpcs + }).(NetworkInsightsAnalysisForwardPathComponentVpcArrayOutput) +} + +type NetworkInsightsAnalysisForwardPathComponentArrayOutput struct{ *pulumi.OutputState } + +func (NetworkInsightsAnalysisForwardPathComponentArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkInsightsAnalysisForwardPathComponent)(nil)).Elem() +} + +func (o NetworkInsightsAnalysisForwardPathComponentArrayOutput) ToNetworkInsightsAnalysisForwardPathComponentArrayOutput() NetworkInsightsAnalysisForwardPathComponentArrayOutput { return o } -func (o NetworkInsightsAnalysisForwardPathComponentOutboundHeaderArrayOutput) ToNetworkInsightsAnalysisForwardPathComponentOutboundHeaderArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisForwardPathComponentOutboundHeaderArrayOutput { +func (o NetworkInsightsAnalysisForwardPathComponentArrayOutput) ToNetworkInsightsAnalysisForwardPathComponentArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisForwardPathComponentArrayOutput { return o } -func (o NetworkInsightsAnalysisForwardPathComponentOutboundHeaderArrayOutput) Index(i pulumi.IntInput) NetworkInsightsAnalysisForwardPathComponentOutboundHeaderOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkInsightsAnalysisForwardPathComponentOutboundHeader { - return vs[0].([]NetworkInsightsAnalysisForwardPathComponentOutboundHeader)[vs[1].(int)] - }).(NetworkInsightsAnalysisForwardPathComponentOutboundHeaderOutput) +func (o NetworkInsightsAnalysisForwardPathComponentArrayOutput) Index(i pulumi.IntInput) NetworkInsightsAnalysisForwardPathComponentOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkInsightsAnalysisForwardPathComponent { + return vs[0].([]NetworkInsightsAnalysisForwardPathComponent)[vs[1].(int)] + }).(NetworkInsightsAnalysisForwardPathComponentOutput) } -type NetworkInsightsAnalysisForwardPathComponentOutboundHeaderDestinationPortRange struct { - From *int `pulumi:"from"` - To *int `pulumi:"to"` +type NetworkInsightsAnalysisForwardPathComponentAclRule struct { + Cidr *string `pulumi:"cidr"` + Egress *bool `pulumi:"egress"` + PortRanges []NetworkInsightsAnalysisForwardPathComponentAclRulePortRange `pulumi:"portRanges"` + Protocol *string `pulumi:"protocol"` + RuleAction *string `pulumi:"ruleAction"` + RuleNumber *int `pulumi:"ruleNumber"` } -// NetworkInsightsAnalysisForwardPathComponentOutboundHeaderDestinationPortRangeInput is an input type that accepts NetworkInsightsAnalysisForwardPathComponentOutboundHeaderDestinationPortRangeArgs and NetworkInsightsAnalysisForwardPathComponentOutboundHeaderDestinationPortRangeOutput values. -// You can construct a concrete instance of `NetworkInsightsAnalysisForwardPathComponentOutboundHeaderDestinationPortRangeInput` via: +// NetworkInsightsAnalysisForwardPathComponentAclRuleInput is an input type that accepts NetworkInsightsAnalysisForwardPathComponentAclRuleArgs and NetworkInsightsAnalysisForwardPathComponentAclRuleOutput values. +// You can construct a concrete instance of `NetworkInsightsAnalysisForwardPathComponentAclRuleInput` via: // -// NetworkInsightsAnalysisForwardPathComponentOutboundHeaderDestinationPortRangeArgs{...} -type NetworkInsightsAnalysisForwardPathComponentOutboundHeaderDestinationPortRangeInput interface { +// NetworkInsightsAnalysisForwardPathComponentAclRuleArgs{...} +type NetworkInsightsAnalysisForwardPathComponentAclRuleInput interface { pulumi.Input - ToNetworkInsightsAnalysisForwardPathComponentOutboundHeaderDestinationPortRangeOutput() NetworkInsightsAnalysisForwardPathComponentOutboundHeaderDestinationPortRangeOutput - ToNetworkInsightsAnalysisForwardPathComponentOutboundHeaderDestinationPortRangeOutputWithContext(context.Context) NetworkInsightsAnalysisForwardPathComponentOutboundHeaderDestinationPortRangeOutput + ToNetworkInsightsAnalysisForwardPathComponentAclRuleOutput() NetworkInsightsAnalysisForwardPathComponentAclRuleOutput + ToNetworkInsightsAnalysisForwardPathComponentAclRuleOutputWithContext(context.Context) NetworkInsightsAnalysisForwardPathComponentAclRuleOutput } -type NetworkInsightsAnalysisForwardPathComponentOutboundHeaderDestinationPortRangeArgs struct { - From pulumi.IntPtrInput `pulumi:"from"` - To pulumi.IntPtrInput `pulumi:"to"` +type NetworkInsightsAnalysisForwardPathComponentAclRuleArgs struct { + Cidr pulumi.StringPtrInput `pulumi:"cidr"` + Egress pulumi.BoolPtrInput `pulumi:"egress"` + PortRanges NetworkInsightsAnalysisForwardPathComponentAclRulePortRangeArrayInput `pulumi:"portRanges"` + Protocol pulumi.StringPtrInput `pulumi:"protocol"` + RuleAction pulumi.StringPtrInput `pulumi:"ruleAction"` + RuleNumber pulumi.IntPtrInput `pulumi:"ruleNumber"` } -func (NetworkInsightsAnalysisForwardPathComponentOutboundHeaderDestinationPortRangeArgs) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkInsightsAnalysisForwardPathComponentOutboundHeaderDestinationPortRange)(nil)).Elem() +func (NetworkInsightsAnalysisForwardPathComponentAclRuleArgs) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInsightsAnalysisForwardPathComponentAclRule)(nil)).Elem() } -func (i NetworkInsightsAnalysisForwardPathComponentOutboundHeaderDestinationPortRangeArgs) ToNetworkInsightsAnalysisForwardPathComponentOutboundHeaderDestinationPortRangeOutput() NetworkInsightsAnalysisForwardPathComponentOutboundHeaderDestinationPortRangeOutput { - return i.ToNetworkInsightsAnalysisForwardPathComponentOutboundHeaderDestinationPortRangeOutputWithContext(context.Background()) +func (i NetworkInsightsAnalysisForwardPathComponentAclRuleArgs) ToNetworkInsightsAnalysisForwardPathComponentAclRuleOutput() NetworkInsightsAnalysisForwardPathComponentAclRuleOutput { + return i.ToNetworkInsightsAnalysisForwardPathComponentAclRuleOutputWithContext(context.Background()) } -func (i NetworkInsightsAnalysisForwardPathComponentOutboundHeaderDestinationPortRangeArgs) ToNetworkInsightsAnalysisForwardPathComponentOutboundHeaderDestinationPortRangeOutputWithContext(ctx context.Context) NetworkInsightsAnalysisForwardPathComponentOutboundHeaderDestinationPortRangeOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisForwardPathComponentOutboundHeaderDestinationPortRangeOutput) +func (i NetworkInsightsAnalysisForwardPathComponentAclRuleArgs) ToNetworkInsightsAnalysisForwardPathComponentAclRuleOutputWithContext(ctx context.Context) NetworkInsightsAnalysisForwardPathComponentAclRuleOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisForwardPathComponentAclRuleOutput) } -// NetworkInsightsAnalysisForwardPathComponentOutboundHeaderDestinationPortRangeArrayInput is an input type that accepts NetworkInsightsAnalysisForwardPathComponentOutboundHeaderDestinationPortRangeArray and NetworkInsightsAnalysisForwardPathComponentOutboundHeaderDestinationPortRangeArrayOutput values. -// You can construct a concrete instance of `NetworkInsightsAnalysisForwardPathComponentOutboundHeaderDestinationPortRangeArrayInput` via: +// NetworkInsightsAnalysisForwardPathComponentAclRuleArrayInput is an input type that accepts NetworkInsightsAnalysisForwardPathComponentAclRuleArray and NetworkInsightsAnalysisForwardPathComponentAclRuleArrayOutput values. +// You can construct a concrete instance of `NetworkInsightsAnalysisForwardPathComponentAclRuleArrayInput` via: // -// NetworkInsightsAnalysisForwardPathComponentOutboundHeaderDestinationPortRangeArray{ NetworkInsightsAnalysisForwardPathComponentOutboundHeaderDestinationPortRangeArgs{...} } -type NetworkInsightsAnalysisForwardPathComponentOutboundHeaderDestinationPortRangeArrayInput interface { +// NetworkInsightsAnalysisForwardPathComponentAclRuleArray{ NetworkInsightsAnalysisForwardPathComponentAclRuleArgs{...} } +type NetworkInsightsAnalysisForwardPathComponentAclRuleArrayInput interface { pulumi.Input - ToNetworkInsightsAnalysisForwardPathComponentOutboundHeaderDestinationPortRangeArrayOutput() NetworkInsightsAnalysisForwardPathComponentOutboundHeaderDestinationPortRangeArrayOutput - ToNetworkInsightsAnalysisForwardPathComponentOutboundHeaderDestinationPortRangeArrayOutputWithContext(context.Context) NetworkInsightsAnalysisForwardPathComponentOutboundHeaderDestinationPortRangeArrayOutput + ToNetworkInsightsAnalysisForwardPathComponentAclRuleArrayOutput() NetworkInsightsAnalysisForwardPathComponentAclRuleArrayOutput + ToNetworkInsightsAnalysisForwardPathComponentAclRuleArrayOutputWithContext(context.Context) NetworkInsightsAnalysisForwardPathComponentAclRuleArrayOutput } -type NetworkInsightsAnalysisForwardPathComponentOutboundHeaderDestinationPortRangeArray []NetworkInsightsAnalysisForwardPathComponentOutboundHeaderDestinationPortRangeInput +type NetworkInsightsAnalysisForwardPathComponentAclRuleArray []NetworkInsightsAnalysisForwardPathComponentAclRuleInput -func (NetworkInsightsAnalysisForwardPathComponentOutboundHeaderDestinationPortRangeArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]NetworkInsightsAnalysisForwardPathComponentOutboundHeaderDestinationPortRange)(nil)).Elem() +func (NetworkInsightsAnalysisForwardPathComponentAclRuleArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkInsightsAnalysisForwardPathComponentAclRule)(nil)).Elem() } -func (i NetworkInsightsAnalysisForwardPathComponentOutboundHeaderDestinationPortRangeArray) ToNetworkInsightsAnalysisForwardPathComponentOutboundHeaderDestinationPortRangeArrayOutput() NetworkInsightsAnalysisForwardPathComponentOutboundHeaderDestinationPortRangeArrayOutput { - return i.ToNetworkInsightsAnalysisForwardPathComponentOutboundHeaderDestinationPortRangeArrayOutputWithContext(context.Background()) +func (i NetworkInsightsAnalysisForwardPathComponentAclRuleArray) ToNetworkInsightsAnalysisForwardPathComponentAclRuleArrayOutput() NetworkInsightsAnalysisForwardPathComponentAclRuleArrayOutput { + return i.ToNetworkInsightsAnalysisForwardPathComponentAclRuleArrayOutputWithContext(context.Background()) } -func (i NetworkInsightsAnalysisForwardPathComponentOutboundHeaderDestinationPortRangeArray) ToNetworkInsightsAnalysisForwardPathComponentOutboundHeaderDestinationPortRangeArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisForwardPathComponentOutboundHeaderDestinationPortRangeArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisForwardPathComponentOutboundHeaderDestinationPortRangeArrayOutput) +func (i NetworkInsightsAnalysisForwardPathComponentAclRuleArray) ToNetworkInsightsAnalysisForwardPathComponentAclRuleArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisForwardPathComponentAclRuleArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisForwardPathComponentAclRuleArrayOutput) } -type NetworkInsightsAnalysisForwardPathComponentOutboundHeaderDestinationPortRangeOutput struct{ *pulumi.OutputState } +type NetworkInsightsAnalysisForwardPathComponentAclRuleOutput struct{ *pulumi.OutputState } -func (NetworkInsightsAnalysisForwardPathComponentOutboundHeaderDestinationPortRangeOutput) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkInsightsAnalysisForwardPathComponentOutboundHeaderDestinationPortRange)(nil)).Elem() +func (NetworkInsightsAnalysisForwardPathComponentAclRuleOutput) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInsightsAnalysisForwardPathComponentAclRule)(nil)).Elem() } -func (o NetworkInsightsAnalysisForwardPathComponentOutboundHeaderDestinationPortRangeOutput) ToNetworkInsightsAnalysisForwardPathComponentOutboundHeaderDestinationPortRangeOutput() NetworkInsightsAnalysisForwardPathComponentOutboundHeaderDestinationPortRangeOutput { +func (o NetworkInsightsAnalysisForwardPathComponentAclRuleOutput) ToNetworkInsightsAnalysisForwardPathComponentAclRuleOutput() NetworkInsightsAnalysisForwardPathComponentAclRuleOutput { return o } -func (o NetworkInsightsAnalysisForwardPathComponentOutboundHeaderDestinationPortRangeOutput) ToNetworkInsightsAnalysisForwardPathComponentOutboundHeaderDestinationPortRangeOutputWithContext(ctx context.Context) NetworkInsightsAnalysisForwardPathComponentOutboundHeaderDestinationPortRangeOutput { +func (o NetworkInsightsAnalysisForwardPathComponentAclRuleOutput) ToNetworkInsightsAnalysisForwardPathComponentAclRuleOutputWithContext(ctx context.Context) NetworkInsightsAnalysisForwardPathComponentAclRuleOutput { return o } -func (o NetworkInsightsAnalysisForwardPathComponentOutboundHeaderDestinationPortRangeOutput) From() pulumi.IntPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponentOutboundHeaderDestinationPortRange) *int { - return v.From - }).(pulumi.IntPtrOutput) +func (o NetworkInsightsAnalysisForwardPathComponentAclRuleOutput) Cidr() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponentAclRule) *string { return v.Cidr }).(pulumi.StringPtrOutput) } -func (o NetworkInsightsAnalysisForwardPathComponentOutboundHeaderDestinationPortRangeOutput) To() pulumi.IntPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponentOutboundHeaderDestinationPortRange) *int { - return v.To - }).(pulumi.IntPtrOutput) +func (o NetworkInsightsAnalysisForwardPathComponentAclRuleOutput) Egress() pulumi.BoolPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponentAclRule) *bool { return v.Egress }).(pulumi.BoolPtrOutput) } -type NetworkInsightsAnalysisForwardPathComponentOutboundHeaderDestinationPortRangeArrayOutput struct{ *pulumi.OutputState } +func (o NetworkInsightsAnalysisForwardPathComponentAclRuleOutput) PortRanges() NetworkInsightsAnalysisForwardPathComponentAclRulePortRangeArrayOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponentAclRule) []NetworkInsightsAnalysisForwardPathComponentAclRulePortRange { + return v.PortRanges + }).(NetworkInsightsAnalysisForwardPathComponentAclRulePortRangeArrayOutput) +} -func (NetworkInsightsAnalysisForwardPathComponentOutboundHeaderDestinationPortRangeArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]NetworkInsightsAnalysisForwardPathComponentOutboundHeaderDestinationPortRange)(nil)).Elem() +func (o NetworkInsightsAnalysisForwardPathComponentAclRuleOutput) Protocol() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponentAclRule) *string { return v.Protocol }).(pulumi.StringPtrOutput) } -func (o NetworkInsightsAnalysisForwardPathComponentOutboundHeaderDestinationPortRangeArrayOutput) ToNetworkInsightsAnalysisForwardPathComponentOutboundHeaderDestinationPortRangeArrayOutput() NetworkInsightsAnalysisForwardPathComponentOutboundHeaderDestinationPortRangeArrayOutput { +func (o NetworkInsightsAnalysisForwardPathComponentAclRuleOutput) RuleAction() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponentAclRule) *string { return v.RuleAction }).(pulumi.StringPtrOutput) +} + +func (o NetworkInsightsAnalysisForwardPathComponentAclRuleOutput) RuleNumber() pulumi.IntPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponentAclRule) *int { return v.RuleNumber }).(pulumi.IntPtrOutput) +} + +type NetworkInsightsAnalysisForwardPathComponentAclRuleArrayOutput struct{ *pulumi.OutputState } + +func (NetworkInsightsAnalysisForwardPathComponentAclRuleArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkInsightsAnalysisForwardPathComponentAclRule)(nil)).Elem() +} + +func (o NetworkInsightsAnalysisForwardPathComponentAclRuleArrayOutput) ToNetworkInsightsAnalysisForwardPathComponentAclRuleArrayOutput() NetworkInsightsAnalysisForwardPathComponentAclRuleArrayOutput { return o } -func (o NetworkInsightsAnalysisForwardPathComponentOutboundHeaderDestinationPortRangeArrayOutput) ToNetworkInsightsAnalysisForwardPathComponentOutboundHeaderDestinationPortRangeArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisForwardPathComponentOutboundHeaderDestinationPortRangeArrayOutput { +func (o NetworkInsightsAnalysisForwardPathComponentAclRuleArrayOutput) ToNetworkInsightsAnalysisForwardPathComponentAclRuleArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisForwardPathComponentAclRuleArrayOutput { return o } -func (o NetworkInsightsAnalysisForwardPathComponentOutboundHeaderDestinationPortRangeArrayOutput) Index(i pulumi.IntInput) NetworkInsightsAnalysisForwardPathComponentOutboundHeaderDestinationPortRangeOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkInsightsAnalysisForwardPathComponentOutboundHeaderDestinationPortRange { - return vs[0].([]NetworkInsightsAnalysisForwardPathComponentOutboundHeaderDestinationPortRange)[vs[1].(int)] - }).(NetworkInsightsAnalysisForwardPathComponentOutboundHeaderDestinationPortRangeOutput) +func (o NetworkInsightsAnalysisForwardPathComponentAclRuleArrayOutput) Index(i pulumi.IntInput) NetworkInsightsAnalysisForwardPathComponentAclRuleOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkInsightsAnalysisForwardPathComponentAclRule { + return vs[0].([]NetworkInsightsAnalysisForwardPathComponentAclRule)[vs[1].(int)] + }).(NetworkInsightsAnalysisForwardPathComponentAclRuleOutput) } -type NetworkInsightsAnalysisForwardPathComponentOutboundHeaderSourcePortRange struct { +type NetworkInsightsAnalysisForwardPathComponentAclRulePortRange struct { From *int `pulumi:"from"` To *int `pulumi:"to"` } -// NetworkInsightsAnalysisForwardPathComponentOutboundHeaderSourcePortRangeInput is an input type that accepts NetworkInsightsAnalysisForwardPathComponentOutboundHeaderSourcePortRangeArgs and NetworkInsightsAnalysisForwardPathComponentOutboundHeaderSourcePortRangeOutput values. -// You can construct a concrete instance of `NetworkInsightsAnalysisForwardPathComponentOutboundHeaderSourcePortRangeInput` via: +// NetworkInsightsAnalysisForwardPathComponentAclRulePortRangeInput is an input type that accepts NetworkInsightsAnalysisForwardPathComponentAclRulePortRangeArgs and NetworkInsightsAnalysisForwardPathComponentAclRulePortRangeOutput values. +// You can construct a concrete instance of `NetworkInsightsAnalysisForwardPathComponentAclRulePortRangeInput` via: // -// NetworkInsightsAnalysisForwardPathComponentOutboundHeaderSourcePortRangeArgs{...} -type NetworkInsightsAnalysisForwardPathComponentOutboundHeaderSourcePortRangeInput interface { +// NetworkInsightsAnalysisForwardPathComponentAclRulePortRangeArgs{...} +type NetworkInsightsAnalysisForwardPathComponentAclRulePortRangeInput interface { pulumi.Input - ToNetworkInsightsAnalysisForwardPathComponentOutboundHeaderSourcePortRangeOutput() NetworkInsightsAnalysisForwardPathComponentOutboundHeaderSourcePortRangeOutput - ToNetworkInsightsAnalysisForwardPathComponentOutboundHeaderSourcePortRangeOutputWithContext(context.Context) NetworkInsightsAnalysisForwardPathComponentOutboundHeaderSourcePortRangeOutput + ToNetworkInsightsAnalysisForwardPathComponentAclRulePortRangeOutput() NetworkInsightsAnalysisForwardPathComponentAclRulePortRangeOutput + ToNetworkInsightsAnalysisForwardPathComponentAclRulePortRangeOutputWithContext(context.Context) NetworkInsightsAnalysisForwardPathComponentAclRulePortRangeOutput } -type NetworkInsightsAnalysisForwardPathComponentOutboundHeaderSourcePortRangeArgs struct { +type NetworkInsightsAnalysisForwardPathComponentAclRulePortRangeArgs struct { From pulumi.IntPtrInput `pulumi:"from"` To pulumi.IntPtrInput `pulumi:"to"` } -func (NetworkInsightsAnalysisForwardPathComponentOutboundHeaderSourcePortRangeArgs) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkInsightsAnalysisForwardPathComponentOutboundHeaderSourcePortRange)(nil)).Elem() +func (NetworkInsightsAnalysisForwardPathComponentAclRulePortRangeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInsightsAnalysisForwardPathComponentAclRulePortRange)(nil)).Elem() } -func (i NetworkInsightsAnalysisForwardPathComponentOutboundHeaderSourcePortRangeArgs) ToNetworkInsightsAnalysisForwardPathComponentOutboundHeaderSourcePortRangeOutput() NetworkInsightsAnalysisForwardPathComponentOutboundHeaderSourcePortRangeOutput { - return i.ToNetworkInsightsAnalysisForwardPathComponentOutboundHeaderSourcePortRangeOutputWithContext(context.Background()) +func (i NetworkInsightsAnalysisForwardPathComponentAclRulePortRangeArgs) ToNetworkInsightsAnalysisForwardPathComponentAclRulePortRangeOutput() NetworkInsightsAnalysisForwardPathComponentAclRulePortRangeOutput { + return i.ToNetworkInsightsAnalysisForwardPathComponentAclRulePortRangeOutputWithContext(context.Background()) } -func (i NetworkInsightsAnalysisForwardPathComponentOutboundHeaderSourcePortRangeArgs) ToNetworkInsightsAnalysisForwardPathComponentOutboundHeaderSourcePortRangeOutputWithContext(ctx context.Context) NetworkInsightsAnalysisForwardPathComponentOutboundHeaderSourcePortRangeOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisForwardPathComponentOutboundHeaderSourcePortRangeOutput) +func (i NetworkInsightsAnalysisForwardPathComponentAclRulePortRangeArgs) ToNetworkInsightsAnalysisForwardPathComponentAclRulePortRangeOutputWithContext(ctx context.Context) NetworkInsightsAnalysisForwardPathComponentAclRulePortRangeOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisForwardPathComponentAclRulePortRangeOutput) } -// NetworkInsightsAnalysisForwardPathComponentOutboundHeaderSourcePortRangeArrayInput is an input type that accepts NetworkInsightsAnalysisForwardPathComponentOutboundHeaderSourcePortRangeArray and NetworkInsightsAnalysisForwardPathComponentOutboundHeaderSourcePortRangeArrayOutput values. -// You can construct a concrete instance of `NetworkInsightsAnalysisForwardPathComponentOutboundHeaderSourcePortRangeArrayInput` via: +// NetworkInsightsAnalysisForwardPathComponentAclRulePortRangeArrayInput is an input type that accepts NetworkInsightsAnalysisForwardPathComponentAclRulePortRangeArray and NetworkInsightsAnalysisForwardPathComponentAclRulePortRangeArrayOutput values. +// You can construct a concrete instance of `NetworkInsightsAnalysisForwardPathComponentAclRulePortRangeArrayInput` via: // -// NetworkInsightsAnalysisForwardPathComponentOutboundHeaderSourcePortRangeArray{ NetworkInsightsAnalysisForwardPathComponentOutboundHeaderSourcePortRangeArgs{...} } -type NetworkInsightsAnalysisForwardPathComponentOutboundHeaderSourcePortRangeArrayInput interface { +// NetworkInsightsAnalysisForwardPathComponentAclRulePortRangeArray{ NetworkInsightsAnalysisForwardPathComponentAclRulePortRangeArgs{...} } +type NetworkInsightsAnalysisForwardPathComponentAclRulePortRangeArrayInput interface { pulumi.Input - ToNetworkInsightsAnalysisForwardPathComponentOutboundHeaderSourcePortRangeArrayOutput() NetworkInsightsAnalysisForwardPathComponentOutboundHeaderSourcePortRangeArrayOutput - ToNetworkInsightsAnalysisForwardPathComponentOutboundHeaderSourcePortRangeArrayOutputWithContext(context.Context) NetworkInsightsAnalysisForwardPathComponentOutboundHeaderSourcePortRangeArrayOutput + ToNetworkInsightsAnalysisForwardPathComponentAclRulePortRangeArrayOutput() NetworkInsightsAnalysisForwardPathComponentAclRulePortRangeArrayOutput + ToNetworkInsightsAnalysisForwardPathComponentAclRulePortRangeArrayOutputWithContext(context.Context) NetworkInsightsAnalysisForwardPathComponentAclRulePortRangeArrayOutput } -type NetworkInsightsAnalysisForwardPathComponentOutboundHeaderSourcePortRangeArray []NetworkInsightsAnalysisForwardPathComponentOutboundHeaderSourcePortRangeInput +type NetworkInsightsAnalysisForwardPathComponentAclRulePortRangeArray []NetworkInsightsAnalysisForwardPathComponentAclRulePortRangeInput -func (NetworkInsightsAnalysisForwardPathComponentOutboundHeaderSourcePortRangeArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]NetworkInsightsAnalysisForwardPathComponentOutboundHeaderSourcePortRange)(nil)).Elem() +func (NetworkInsightsAnalysisForwardPathComponentAclRulePortRangeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkInsightsAnalysisForwardPathComponentAclRulePortRange)(nil)).Elem() } -func (i NetworkInsightsAnalysisForwardPathComponentOutboundHeaderSourcePortRangeArray) ToNetworkInsightsAnalysisForwardPathComponentOutboundHeaderSourcePortRangeArrayOutput() NetworkInsightsAnalysisForwardPathComponentOutboundHeaderSourcePortRangeArrayOutput { - return i.ToNetworkInsightsAnalysisForwardPathComponentOutboundHeaderSourcePortRangeArrayOutputWithContext(context.Background()) +func (i NetworkInsightsAnalysisForwardPathComponentAclRulePortRangeArray) ToNetworkInsightsAnalysisForwardPathComponentAclRulePortRangeArrayOutput() NetworkInsightsAnalysisForwardPathComponentAclRulePortRangeArrayOutput { + return i.ToNetworkInsightsAnalysisForwardPathComponentAclRulePortRangeArrayOutputWithContext(context.Background()) } -func (i NetworkInsightsAnalysisForwardPathComponentOutboundHeaderSourcePortRangeArray) ToNetworkInsightsAnalysisForwardPathComponentOutboundHeaderSourcePortRangeArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisForwardPathComponentOutboundHeaderSourcePortRangeArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisForwardPathComponentOutboundHeaderSourcePortRangeArrayOutput) +func (i NetworkInsightsAnalysisForwardPathComponentAclRulePortRangeArray) ToNetworkInsightsAnalysisForwardPathComponentAclRulePortRangeArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisForwardPathComponentAclRulePortRangeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisForwardPathComponentAclRulePortRangeArrayOutput) } -type NetworkInsightsAnalysisForwardPathComponentOutboundHeaderSourcePortRangeOutput struct{ *pulumi.OutputState } +type NetworkInsightsAnalysisForwardPathComponentAclRulePortRangeOutput struct{ *pulumi.OutputState } -func (NetworkInsightsAnalysisForwardPathComponentOutboundHeaderSourcePortRangeOutput) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkInsightsAnalysisForwardPathComponentOutboundHeaderSourcePortRange)(nil)).Elem() +func (NetworkInsightsAnalysisForwardPathComponentAclRulePortRangeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInsightsAnalysisForwardPathComponentAclRulePortRange)(nil)).Elem() } -func (o NetworkInsightsAnalysisForwardPathComponentOutboundHeaderSourcePortRangeOutput) ToNetworkInsightsAnalysisForwardPathComponentOutboundHeaderSourcePortRangeOutput() NetworkInsightsAnalysisForwardPathComponentOutboundHeaderSourcePortRangeOutput { +func (o NetworkInsightsAnalysisForwardPathComponentAclRulePortRangeOutput) ToNetworkInsightsAnalysisForwardPathComponentAclRulePortRangeOutput() NetworkInsightsAnalysisForwardPathComponentAclRulePortRangeOutput { return o } -func (o NetworkInsightsAnalysisForwardPathComponentOutboundHeaderSourcePortRangeOutput) ToNetworkInsightsAnalysisForwardPathComponentOutboundHeaderSourcePortRangeOutputWithContext(ctx context.Context) NetworkInsightsAnalysisForwardPathComponentOutboundHeaderSourcePortRangeOutput { +func (o NetworkInsightsAnalysisForwardPathComponentAclRulePortRangeOutput) ToNetworkInsightsAnalysisForwardPathComponentAclRulePortRangeOutputWithContext(ctx context.Context) NetworkInsightsAnalysisForwardPathComponentAclRulePortRangeOutput { return o } -func (o NetworkInsightsAnalysisForwardPathComponentOutboundHeaderSourcePortRangeOutput) From() pulumi.IntPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponentOutboundHeaderSourcePortRange) *int { return v.From }).(pulumi.IntPtrOutput) +func (o NetworkInsightsAnalysisForwardPathComponentAclRulePortRangeOutput) From() pulumi.IntPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponentAclRulePortRange) *int { return v.From }).(pulumi.IntPtrOutput) } -func (o NetworkInsightsAnalysisForwardPathComponentOutboundHeaderSourcePortRangeOutput) To() pulumi.IntPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponentOutboundHeaderSourcePortRange) *int { return v.To }).(pulumi.IntPtrOutput) +func (o NetworkInsightsAnalysisForwardPathComponentAclRulePortRangeOutput) To() pulumi.IntPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponentAclRulePortRange) *int { return v.To }).(pulumi.IntPtrOutput) } -type NetworkInsightsAnalysisForwardPathComponentOutboundHeaderSourcePortRangeArrayOutput struct{ *pulumi.OutputState } +type NetworkInsightsAnalysisForwardPathComponentAclRulePortRangeArrayOutput struct{ *pulumi.OutputState } -func (NetworkInsightsAnalysisForwardPathComponentOutboundHeaderSourcePortRangeArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]NetworkInsightsAnalysisForwardPathComponentOutboundHeaderSourcePortRange)(nil)).Elem() +func (NetworkInsightsAnalysisForwardPathComponentAclRulePortRangeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkInsightsAnalysisForwardPathComponentAclRulePortRange)(nil)).Elem() } -func (o NetworkInsightsAnalysisForwardPathComponentOutboundHeaderSourcePortRangeArrayOutput) ToNetworkInsightsAnalysisForwardPathComponentOutboundHeaderSourcePortRangeArrayOutput() NetworkInsightsAnalysisForwardPathComponentOutboundHeaderSourcePortRangeArrayOutput { +func (o NetworkInsightsAnalysisForwardPathComponentAclRulePortRangeArrayOutput) ToNetworkInsightsAnalysisForwardPathComponentAclRulePortRangeArrayOutput() NetworkInsightsAnalysisForwardPathComponentAclRulePortRangeArrayOutput { return o } -func (o NetworkInsightsAnalysisForwardPathComponentOutboundHeaderSourcePortRangeArrayOutput) ToNetworkInsightsAnalysisForwardPathComponentOutboundHeaderSourcePortRangeArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisForwardPathComponentOutboundHeaderSourcePortRangeArrayOutput { +func (o NetworkInsightsAnalysisForwardPathComponentAclRulePortRangeArrayOutput) ToNetworkInsightsAnalysisForwardPathComponentAclRulePortRangeArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisForwardPathComponentAclRulePortRangeArrayOutput { return o } -func (o NetworkInsightsAnalysisForwardPathComponentOutboundHeaderSourcePortRangeArrayOutput) Index(i pulumi.IntInput) NetworkInsightsAnalysisForwardPathComponentOutboundHeaderSourcePortRangeOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkInsightsAnalysisForwardPathComponentOutboundHeaderSourcePortRange { - return vs[0].([]NetworkInsightsAnalysisForwardPathComponentOutboundHeaderSourcePortRange)[vs[1].(int)] - }).(NetworkInsightsAnalysisForwardPathComponentOutboundHeaderSourcePortRangeOutput) +func (o NetworkInsightsAnalysisForwardPathComponentAclRulePortRangeArrayOutput) Index(i pulumi.IntInput) NetworkInsightsAnalysisForwardPathComponentAclRulePortRangeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkInsightsAnalysisForwardPathComponentAclRulePortRange { + return vs[0].([]NetworkInsightsAnalysisForwardPathComponentAclRulePortRange)[vs[1].(int)] + }).(NetworkInsightsAnalysisForwardPathComponentAclRulePortRangeOutput) } -type NetworkInsightsAnalysisForwardPathComponentRouteTableRoute struct { - DestinationCidr *string `pulumi:"destinationCidr"` - DestinationPrefixListId *string `pulumi:"destinationPrefixListId"` - EgressOnlyInternetGatewayId *string `pulumi:"egressOnlyInternetGatewayId"` - GatewayId *string `pulumi:"gatewayId"` - InstanceId *string `pulumi:"instanceId"` - NatGatewayId *string `pulumi:"natGatewayId"` - NetworkInterfaceId *string `pulumi:"networkInterfaceId"` - Origin *string `pulumi:"origin"` - TransitGatewayId *string `pulumi:"transitGatewayId"` - VpcPeeringConnectionId *string `pulumi:"vpcPeeringConnectionId"` +type NetworkInsightsAnalysisForwardPathComponentAdditionalDetail struct { + AdditionalDetailType *string `pulumi:"additionalDetailType"` + Components []NetworkInsightsAnalysisForwardPathComponentAdditionalDetailComponent `pulumi:"components"` } -// NetworkInsightsAnalysisForwardPathComponentRouteTableRouteInput is an input type that accepts NetworkInsightsAnalysisForwardPathComponentRouteTableRouteArgs and NetworkInsightsAnalysisForwardPathComponentRouteTableRouteOutput values. -// You can construct a concrete instance of `NetworkInsightsAnalysisForwardPathComponentRouteTableRouteInput` via: +// NetworkInsightsAnalysisForwardPathComponentAdditionalDetailInput is an input type that accepts NetworkInsightsAnalysisForwardPathComponentAdditionalDetailArgs and NetworkInsightsAnalysisForwardPathComponentAdditionalDetailOutput values. +// You can construct a concrete instance of `NetworkInsightsAnalysisForwardPathComponentAdditionalDetailInput` via: // -// NetworkInsightsAnalysisForwardPathComponentRouteTableRouteArgs{...} -type NetworkInsightsAnalysisForwardPathComponentRouteTableRouteInput interface { +// NetworkInsightsAnalysisForwardPathComponentAdditionalDetailArgs{...} +type NetworkInsightsAnalysisForwardPathComponentAdditionalDetailInput interface { pulumi.Input - ToNetworkInsightsAnalysisForwardPathComponentRouteTableRouteOutput() NetworkInsightsAnalysisForwardPathComponentRouteTableRouteOutput - ToNetworkInsightsAnalysisForwardPathComponentRouteTableRouteOutputWithContext(context.Context) NetworkInsightsAnalysisForwardPathComponentRouteTableRouteOutput + ToNetworkInsightsAnalysisForwardPathComponentAdditionalDetailOutput() NetworkInsightsAnalysisForwardPathComponentAdditionalDetailOutput + ToNetworkInsightsAnalysisForwardPathComponentAdditionalDetailOutputWithContext(context.Context) NetworkInsightsAnalysisForwardPathComponentAdditionalDetailOutput } -type NetworkInsightsAnalysisForwardPathComponentRouteTableRouteArgs struct { - DestinationCidr pulumi.StringPtrInput `pulumi:"destinationCidr"` - DestinationPrefixListId pulumi.StringPtrInput `pulumi:"destinationPrefixListId"` - EgressOnlyInternetGatewayId pulumi.StringPtrInput `pulumi:"egressOnlyInternetGatewayId"` - GatewayId pulumi.StringPtrInput `pulumi:"gatewayId"` - InstanceId pulumi.StringPtrInput `pulumi:"instanceId"` - NatGatewayId pulumi.StringPtrInput `pulumi:"natGatewayId"` - NetworkInterfaceId pulumi.StringPtrInput `pulumi:"networkInterfaceId"` - Origin pulumi.StringPtrInput `pulumi:"origin"` - TransitGatewayId pulumi.StringPtrInput `pulumi:"transitGatewayId"` - VpcPeeringConnectionId pulumi.StringPtrInput `pulumi:"vpcPeeringConnectionId"` +type NetworkInsightsAnalysisForwardPathComponentAdditionalDetailArgs struct { + AdditionalDetailType pulumi.StringPtrInput `pulumi:"additionalDetailType"` + Components NetworkInsightsAnalysisForwardPathComponentAdditionalDetailComponentArrayInput `pulumi:"components"` } -func (NetworkInsightsAnalysisForwardPathComponentRouteTableRouteArgs) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkInsightsAnalysisForwardPathComponentRouteTableRoute)(nil)).Elem() +func (NetworkInsightsAnalysisForwardPathComponentAdditionalDetailArgs) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInsightsAnalysisForwardPathComponentAdditionalDetail)(nil)).Elem() } -func (i NetworkInsightsAnalysisForwardPathComponentRouteTableRouteArgs) ToNetworkInsightsAnalysisForwardPathComponentRouteTableRouteOutput() NetworkInsightsAnalysisForwardPathComponentRouteTableRouteOutput { - return i.ToNetworkInsightsAnalysisForwardPathComponentRouteTableRouteOutputWithContext(context.Background()) +func (i NetworkInsightsAnalysisForwardPathComponentAdditionalDetailArgs) ToNetworkInsightsAnalysisForwardPathComponentAdditionalDetailOutput() NetworkInsightsAnalysisForwardPathComponentAdditionalDetailOutput { + return i.ToNetworkInsightsAnalysisForwardPathComponentAdditionalDetailOutputWithContext(context.Background()) } -func (i NetworkInsightsAnalysisForwardPathComponentRouteTableRouteArgs) ToNetworkInsightsAnalysisForwardPathComponentRouteTableRouteOutputWithContext(ctx context.Context) NetworkInsightsAnalysisForwardPathComponentRouteTableRouteOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisForwardPathComponentRouteTableRouteOutput) +func (i NetworkInsightsAnalysisForwardPathComponentAdditionalDetailArgs) ToNetworkInsightsAnalysisForwardPathComponentAdditionalDetailOutputWithContext(ctx context.Context) NetworkInsightsAnalysisForwardPathComponentAdditionalDetailOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisForwardPathComponentAdditionalDetailOutput) } -// NetworkInsightsAnalysisForwardPathComponentRouteTableRouteArrayInput is an input type that accepts NetworkInsightsAnalysisForwardPathComponentRouteTableRouteArray and NetworkInsightsAnalysisForwardPathComponentRouteTableRouteArrayOutput values. -// You can construct a concrete instance of `NetworkInsightsAnalysisForwardPathComponentRouteTableRouteArrayInput` via: +// NetworkInsightsAnalysisForwardPathComponentAdditionalDetailArrayInput is an input type that accepts NetworkInsightsAnalysisForwardPathComponentAdditionalDetailArray and NetworkInsightsAnalysisForwardPathComponentAdditionalDetailArrayOutput values. +// You can construct a concrete instance of `NetworkInsightsAnalysisForwardPathComponentAdditionalDetailArrayInput` via: // -// NetworkInsightsAnalysisForwardPathComponentRouteTableRouteArray{ NetworkInsightsAnalysisForwardPathComponentRouteTableRouteArgs{...} } -type NetworkInsightsAnalysisForwardPathComponentRouteTableRouteArrayInput interface { +// NetworkInsightsAnalysisForwardPathComponentAdditionalDetailArray{ NetworkInsightsAnalysisForwardPathComponentAdditionalDetailArgs{...} } +type NetworkInsightsAnalysisForwardPathComponentAdditionalDetailArrayInput interface { pulumi.Input - ToNetworkInsightsAnalysisForwardPathComponentRouteTableRouteArrayOutput() NetworkInsightsAnalysisForwardPathComponentRouteTableRouteArrayOutput - ToNetworkInsightsAnalysisForwardPathComponentRouteTableRouteArrayOutputWithContext(context.Context) NetworkInsightsAnalysisForwardPathComponentRouteTableRouteArrayOutput + ToNetworkInsightsAnalysisForwardPathComponentAdditionalDetailArrayOutput() NetworkInsightsAnalysisForwardPathComponentAdditionalDetailArrayOutput + ToNetworkInsightsAnalysisForwardPathComponentAdditionalDetailArrayOutputWithContext(context.Context) NetworkInsightsAnalysisForwardPathComponentAdditionalDetailArrayOutput } -type NetworkInsightsAnalysisForwardPathComponentRouteTableRouteArray []NetworkInsightsAnalysisForwardPathComponentRouteTableRouteInput +type NetworkInsightsAnalysisForwardPathComponentAdditionalDetailArray []NetworkInsightsAnalysisForwardPathComponentAdditionalDetailInput -func (NetworkInsightsAnalysisForwardPathComponentRouteTableRouteArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]NetworkInsightsAnalysisForwardPathComponentRouteTableRoute)(nil)).Elem() +func (NetworkInsightsAnalysisForwardPathComponentAdditionalDetailArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkInsightsAnalysisForwardPathComponentAdditionalDetail)(nil)).Elem() } -func (i NetworkInsightsAnalysisForwardPathComponentRouteTableRouteArray) ToNetworkInsightsAnalysisForwardPathComponentRouteTableRouteArrayOutput() NetworkInsightsAnalysisForwardPathComponentRouteTableRouteArrayOutput { - return i.ToNetworkInsightsAnalysisForwardPathComponentRouteTableRouteArrayOutputWithContext(context.Background()) +func (i NetworkInsightsAnalysisForwardPathComponentAdditionalDetailArray) ToNetworkInsightsAnalysisForwardPathComponentAdditionalDetailArrayOutput() NetworkInsightsAnalysisForwardPathComponentAdditionalDetailArrayOutput { + return i.ToNetworkInsightsAnalysisForwardPathComponentAdditionalDetailArrayOutputWithContext(context.Background()) } -func (i NetworkInsightsAnalysisForwardPathComponentRouteTableRouteArray) ToNetworkInsightsAnalysisForwardPathComponentRouteTableRouteArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisForwardPathComponentRouteTableRouteArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisForwardPathComponentRouteTableRouteArrayOutput) +func (i NetworkInsightsAnalysisForwardPathComponentAdditionalDetailArray) ToNetworkInsightsAnalysisForwardPathComponentAdditionalDetailArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisForwardPathComponentAdditionalDetailArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisForwardPathComponentAdditionalDetailArrayOutput) } -type NetworkInsightsAnalysisForwardPathComponentRouteTableRouteOutput struct{ *pulumi.OutputState } +type NetworkInsightsAnalysisForwardPathComponentAdditionalDetailOutput struct{ *pulumi.OutputState } -func (NetworkInsightsAnalysisForwardPathComponentRouteTableRouteOutput) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkInsightsAnalysisForwardPathComponentRouteTableRoute)(nil)).Elem() +func (NetworkInsightsAnalysisForwardPathComponentAdditionalDetailOutput) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInsightsAnalysisForwardPathComponentAdditionalDetail)(nil)).Elem() } -func (o NetworkInsightsAnalysisForwardPathComponentRouteTableRouteOutput) ToNetworkInsightsAnalysisForwardPathComponentRouteTableRouteOutput() NetworkInsightsAnalysisForwardPathComponentRouteTableRouteOutput { +func (o NetworkInsightsAnalysisForwardPathComponentAdditionalDetailOutput) ToNetworkInsightsAnalysisForwardPathComponentAdditionalDetailOutput() NetworkInsightsAnalysisForwardPathComponentAdditionalDetailOutput { return o } -func (o NetworkInsightsAnalysisForwardPathComponentRouteTableRouteOutput) ToNetworkInsightsAnalysisForwardPathComponentRouteTableRouteOutputWithContext(ctx context.Context) NetworkInsightsAnalysisForwardPathComponentRouteTableRouteOutput { +func (o NetworkInsightsAnalysisForwardPathComponentAdditionalDetailOutput) ToNetworkInsightsAnalysisForwardPathComponentAdditionalDetailOutputWithContext(ctx context.Context) NetworkInsightsAnalysisForwardPathComponentAdditionalDetailOutput { return o } -func (o NetworkInsightsAnalysisForwardPathComponentRouteTableRouteOutput) DestinationCidr() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponentRouteTableRoute) *string { return v.DestinationCidr }).(pulumi.StringPtrOutput) -} - -func (o NetworkInsightsAnalysisForwardPathComponentRouteTableRouteOutput) DestinationPrefixListId() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponentRouteTableRoute) *string { - return v.DestinationPrefixListId - }).(pulumi.StringPtrOutput) -} - -func (o NetworkInsightsAnalysisForwardPathComponentRouteTableRouteOutput) EgressOnlyInternetGatewayId() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponentRouteTableRoute) *string { - return v.EgressOnlyInternetGatewayId +func (o NetworkInsightsAnalysisForwardPathComponentAdditionalDetailOutput) AdditionalDetailType() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponentAdditionalDetail) *string { + return v.AdditionalDetailType }).(pulumi.StringPtrOutput) } -func (o NetworkInsightsAnalysisForwardPathComponentRouteTableRouteOutput) GatewayId() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponentRouteTableRoute) *string { return v.GatewayId }).(pulumi.StringPtrOutput) +func (o NetworkInsightsAnalysisForwardPathComponentAdditionalDetailOutput) Components() NetworkInsightsAnalysisForwardPathComponentAdditionalDetailComponentArrayOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponentAdditionalDetail) []NetworkInsightsAnalysisForwardPathComponentAdditionalDetailComponent { + return v.Components + }).(NetworkInsightsAnalysisForwardPathComponentAdditionalDetailComponentArrayOutput) } -func (o NetworkInsightsAnalysisForwardPathComponentRouteTableRouteOutput) InstanceId() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponentRouteTableRoute) *string { return v.InstanceId }).(pulumi.StringPtrOutput) -} +type NetworkInsightsAnalysisForwardPathComponentAdditionalDetailArrayOutput struct{ *pulumi.OutputState } -func (o NetworkInsightsAnalysisForwardPathComponentRouteTableRouteOutput) NatGatewayId() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponentRouteTableRoute) *string { return v.NatGatewayId }).(pulumi.StringPtrOutput) +func (NetworkInsightsAnalysisForwardPathComponentAdditionalDetailArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkInsightsAnalysisForwardPathComponentAdditionalDetail)(nil)).Elem() } -func (o NetworkInsightsAnalysisForwardPathComponentRouteTableRouteOutput) NetworkInterfaceId() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponentRouteTableRoute) *string { - return v.NetworkInterfaceId - }).(pulumi.StringPtrOutput) +func (o NetworkInsightsAnalysisForwardPathComponentAdditionalDetailArrayOutput) ToNetworkInsightsAnalysisForwardPathComponentAdditionalDetailArrayOutput() NetworkInsightsAnalysisForwardPathComponentAdditionalDetailArrayOutput { + return o } -func (o NetworkInsightsAnalysisForwardPathComponentRouteTableRouteOutput) Origin() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponentRouteTableRoute) *string { return v.Origin }).(pulumi.StringPtrOutput) +func (o NetworkInsightsAnalysisForwardPathComponentAdditionalDetailArrayOutput) ToNetworkInsightsAnalysisForwardPathComponentAdditionalDetailArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisForwardPathComponentAdditionalDetailArrayOutput { + return o } -func (o NetworkInsightsAnalysisForwardPathComponentRouteTableRouteOutput) TransitGatewayId() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponentRouteTableRoute) *string { return v.TransitGatewayId }).(pulumi.StringPtrOutput) +func (o NetworkInsightsAnalysisForwardPathComponentAdditionalDetailArrayOutput) Index(i pulumi.IntInput) NetworkInsightsAnalysisForwardPathComponentAdditionalDetailOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkInsightsAnalysisForwardPathComponentAdditionalDetail { + return vs[0].([]NetworkInsightsAnalysisForwardPathComponentAdditionalDetail)[vs[1].(int)] + }).(NetworkInsightsAnalysisForwardPathComponentAdditionalDetailOutput) } -func (o NetworkInsightsAnalysisForwardPathComponentRouteTableRouteOutput) VpcPeeringConnectionId() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponentRouteTableRoute) *string { - return v.VpcPeeringConnectionId - }).(pulumi.StringPtrOutput) +type NetworkInsightsAnalysisForwardPathComponentAdditionalDetailComponent struct { + // ARN of the Network Insights Analysis. + Arn *string `pulumi:"arn"` + // ID of the Network Insights Analysis. + Id *string `pulumi:"id"` + Name *string `pulumi:"name"` } -type NetworkInsightsAnalysisForwardPathComponentRouteTableRouteArrayOutput struct{ *pulumi.OutputState } +// NetworkInsightsAnalysisForwardPathComponentAdditionalDetailComponentInput is an input type that accepts NetworkInsightsAnalysisForwardPathComponentAdditionalDetailComponentArgs and NetworkInsightsAnalysisForwardPathComponentAdditionalDetailComponentOutput values. +// You can construct a concrete instance of `NetworkInsightsAnalysisForwardPathComponentAdditionalDetailComponentInput` via: +// +// NetworkInsightsAnalysisForwardPathComponentAdditionalDetailComponentArgs{...} +type NetworkInsightsAnalysisForwardPathComponentAdditionalDetailComponentInput interface { + pulumi.Input -func (NetworkInsightsAnalysisForwardPathComponentRouteTableRouteArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]NetworkInsightsAnalysisForwardPathComponentRouteTableRoute)(nil)).Elem() + ToNetworkInsightsAnalysisForwardPathComponentAdditionalDetailComponentOutput() NetworkInsightsAnalysisForwardPathComponentAdditionalDetailComponentOutput + ToNetworkInsightsAnalysisForwardPathComponentAdditionalDetailComponentOutputWithContext(context.Context) NetworkInsightsAnalysisForwardPathComponentAdditionalDetailComponentOutput } -func (o NetworkInsightsAnalysisForwardPathComponentRouteTableRouteArrayOutput) ToNetworkInsightsAnalysisForwardPathComponentRouteTableRouteArrayOutput() NetworkInsightsAnalysisForwardPathComponentRouteTableRouteArrayOutput { - return o +type NetworkInsightsAnalysisForwardPathComponentAdditionalDetailComponentArgs struct { + // ARN of the Network Insights Analysis. + Arn pulumi.StringPtrInput `pulumi:"arn"` + // ID of the Network Insights Analysis. + Id pulumi.StringPtrInput `pulumi:"id"` + Name pulumi.StringPtrInput `pulumi:"name"` } -func (o NetworkInsightsAnalysisForwardPathComponentRouteTableRouteArrayOutput) ToNetworkInsightsAnalysisForwardPathComponentRouteTableRouteArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisForwardPathComponentRouteTableRouteArrayOutput { - return o +func (NetworkInsightsAnalysisForwardPathComponentAdditionalDetailComponentArgs) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInsightsAnalysisForwardPathComponentAdditionalDetailComponent)(nil)).Elem() } -func (o NetworkInsightsAnalysisForwardPathComponentRouteTableRouteArrayOutput) Index(i pulumi.IntInput) NetworkInsightsAnalysisForwardPathComponentRouteTableRouteOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkInsightsAnalysisForwardPathComponentRouteTableRoute { - return vs[0].([]NetworkInsightsAnalysisForwardPathComponentRouteTableRoute)[vs[1].(int)] - }).(NetworkInsightsAnalysisForwardPathComponentRouteTableRouteOutput) +func (i NetworkInsightsAnalysisForwardPathComponentAdditionalDetailComponentArgs) ToNetworkInsightsAnalysisForwardPathComponentAdditionalDetailComponentOutput() NetworkInsightsAnalysisForwardPathComponentAdditionalDetailComponentOutput { + return i.ToNetworkInsightsAnalysisForwardPathComponentAdditionalDetailComponentOutputWithContext(context.Background()) } -type NetworkInsightsAnalysisForwardPathComponentSecurityGroupRule struct { - Cidr *string `pulumi:"cidr"` - Direction *string `pulumi:"direction"` - PortRanges []NetworkInsightsAnalysisForwardPathComponentSecurityGroupRulePortRange `pulumi:"portRanges"` - PrefixListId *string `pulumi:"prefixListId"` - Protocol *string `pulumi:"protocol"` - SecurityGroupId *string `pulumi:"securityGroupId"` +func (i NetworkInsightsAnalysisForwardPathComponentAdditionalDetailComponentArgs) ToNetworkInsightsAnalysisForwardPathComponentAdditionalDetailComponentOutputWithContext(ctx context.Context) NetworkInsightsAnalysisForwardPathComponentAdditionalDetailComponentOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisForwardPathComponentAdditionalDetailComponentOutput) } -// NetworkInsightsAnalysisForwardPathComponentSecurityGroupRuleInput is an input type that accepts NetworkInsightsAnalysisForwardPathComponentSecurityGroupRuleArgs and NetworkInsightsAnalysisForwardPathComponentSecurityGroupRuleOutput values. -// You can construct a concrete instance of `NetworkInsightsAnalysisForwardPathComponentSecurityGroupRuleInput` via: +// NetworkInsightsAnalysisForwardPathComponentAdditionalDetailComponentArrayInput is an input type that accepts NetworkInsightsAnalysisForwardPathComponentAdditionalDetailComponentArray and NetworkInsightsAnalysisForwardPathComponentAdditionalDetailComponentArrayOutput values. +// You can construct a concrete instance of `NetworkInsightsAnalysisForwardPathComponentAdditionalDetailComponentArrayInput` via: // -// NetworkInsightsAnalysisForwardPathComponentSecurityGroupRuleArgs{...} -type NetworkInsightsAnalysisForwardPathComponentSecurityGroupRuleInput interface { +// NetworkInsightsAnalysisForwardPathComponentAdditionalDetailComponentArray{ NetworkInsightsAnalysisForwardPathComponentAdditionalDetailComponentArgs{...} } +type NetworkInsightsAnalysisForwardPathComponentAdditionalDetailComponentArrayInput interface { pulumi.Input - ToNetworkInsightsAnalysisForwardPathComponentSecurityGroupRuleOutput() NetworkInsightsAnalysisForwardPathComponentSecurityGroupRuleOutput - ToNetworkInsightsAnalysisForwardPathComponentSecurityGroupRuleOutputWithContext(context.Context) NetworkInsightsAnalysisForwardPathComponentSecurityGroupRuleOutput + ToNetworkInsightsAnalysisForwardPathComponentAdditionalDetailComponentArrayOutput() NetworkInsightsAnalysisForwardPathComponentAdditionalDetailComponentArrayOutput + ToNetworkInsightsAnalysisForwardPathComponentAdditionalDetailComponentArrayOutputWithContext(context.Context) NetworkInsightsAnalysisForwardPathComponentAdditionalDetailComponentArrayOutput } -type NetworkInsightsAnalysisForwardPathComponentSecurityGroupRuleArgs struct { - Cidr pulumi.StringPtrInput `pulumi:"cidr"` - Direction pulumi.StringPtrInput `pulumi:"direction"` - PortRanges NetworkInsightsAnalysisForwardPathComponentSecurityGroupRulePortRangeArrayInput `pulumi:"portRanges"` - PrefixListId pulumi.StringPtrInput `pulumi:"prefixListId"` - Protocol pulumi.StringPtrInput `pulumi:"protocol"` - SecurityGroupId pulumi.StringPtrInput `pulumi:"securityGroupId"` -} - -func (NetworkInsightsAnalysisForwardPathComponentSecurityGroupRuleArgs) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkInsightsAnalysisForwardPathComponentSecurityGroupRule)(nil)).Elem() -} - -func (i NetworkInsightsAnalysisForwardPathComponentSecurityGroupRuleArgs) ToNetworkInsightsAnalysisForwardPathComponentSecurityGroupRuleOutput() NetworkInsightsAnalysisForwardPathComponentSecurityGroupRuleOutput { - return i.ToNetworkInsightsAnalysisForwardPathComponentSecurityGroupRuleOutputWithContext(context.Background()) -} - -func (i NetworkInsightsAnalysisForwardPathComponentSecurityGroupRuleArgs) ToNetworkInsightsAnalysisForwardPathComponentSecurityGroupRuleOutputWithContext(ctx context.Context) NetworkInsightsAnalysisForwardPathComponentSecurityGroupRuleOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisForwardPathComponentSecurityGroupRuleOutput) -} - -// NetworkInsightsAnalysisForwardPathComponentSecurityGroupRuleArrayInput is an input type that accepts NetworkInsightsAnalysisForwardPathComponentSecurityGroupRuleArray and NetworkInsightsAnalysisForwardPathComponentSecurityGroupRuleArrayOutput values. -// You can construct a concrete instance of `NetworkInsightsAnalysisForwardPathComponentSecurityGroupRuleArrayInput` via: -// -// NetworkInsightsAnalysisForwardPathComponentSecurityGroupRuleArray{ NetworkInsightsAnalysisForwardPathComponentSecurityGroupRuleArgs{...} } -type NetworkInsightsAnalysisForwardPathComponentSecurityGroupRuleArrayInput interface { - pulumi.Input - - ToNetworkInsightsAnalysisForwardPathComponentSecurityGroupRuleArrayOutput() NetworkInsightsAnalysisForwardPathComponentSecurityGroupRuleArrayOutput - ToNetworkInsightsAnalysisForwardPathComponentSecurityGroupRuleArrayOutputWithContext(context.Context) NetworkInsightsAnalysisForwardPathComponentSecurityGroupRuleArrayOutput -} - -type NetworkInsightsAnalysisForwardPathComponentSecurityGroupRuleArray []NetworkInsightsAnalysisForwardPathComponentSecurityGroupRuleInput +type NetworkInsightsAnalysisForwardPathComponentAdditionalDetailComponentArray []NetworkInsightsAnalysisForwardPathComponentAdditionalDetailComponentInput -func (NetworkInsightsAnalysisForwardPathComponentSecurityGroupRuleArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]NetworkInsightsAnalysisForwardPathComponentSecurityGroupRule)(nil)).Elem() +func (NetworkInsightsAnalysisForwardPathComponentAdditionalDetailComponentArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkInsightsAnalysisForwardPathComponentAdditionalDetailComponent)(nil)).Elem() } -func (i NetworkInsightsAnalysisForwardPathComponentSecurityGroupRuleArray) ToNetworkInsightsAnalysisForwardPathComponentSecurityGroupRuleArrayOutput() NetworkInsightsAnalysisForwardPathComponentSecurityGroupRuleArrayOutput { - return i.ToNetworkInsightsAnalysisForwardPathComponentSecurityGroupRuleArrayOutputWithContext(context.Background()) +func (i NetworkInsightsAnalysisForwardPathComponentAdditionalDetailComponentArray) ToNetworkInsightsAnalysisForwardPathComponentAdditionalDetailComponentArrayOutput() NetworkInsightsAnalysisForwardPathComponentAdditionalDetailComponentArrayOutput { + return i.ToNetworkInsightsAnalysisForwardPathComponentAdditionalDetailComponentArrayOutputWithContext(context.Background()) } -func (i NetworkInsightsAnalysisForwardPathComponentSecurityGroupRuleArray) ToNetworkInsightsAnalysisForwardPathComponentSecurityGroupRuleArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisForwardPathComponentSecurityGroupRuleArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisForwardPathComponentSecurityGroupRuleArrayOutput) +func (i NetworkInsightsAnalysisForwardPathComponentAdditionalDetailComponentArray) ToNetworkInsightsAnalysisForwardPathComponentAdditionalDetailComponentArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisForwardPathComponentAdditionalDetailComponentArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisForwardPathComponentAdditionalDetailComponentArrayOutput) } -type NetworkInsightsAnalysisForwardPathComponentSecurityGroupRuleOutput struct{ *pulumi.OutputState } +type NetworkInsightsAnalysisForwardPathComponentAdditionalDetailComponentOutput struct{ *pulumi.OutputState } -func (NetworkInsightsAnalysisForwardPathComponentSecurityGroupRuleOutput) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkInsightsAnalysisForwardPathComponentSecurityGroupRule)(nil)).Elem() +func (NetworkInsightsAnalysisForwardPathComponentAdditionalDetailComponentOutput) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInsightsAnalysisForwardPathComponentAdditionalDetailComponent)(nil)).Elem() } -func (o NetworkInsightsAnalysisForwardPathComponentSecurityGroupRuleOutput) ToNetworkInsightsAnalysisForwardPathComponentSecurityGroupRuleOutput() NetworkInsightsAnalysisForwardPathComponentSecurityGroupRuleOutput { +func (o NetworkInsightsAnalysisForwardPathComponentAdditionalDetailComponentOutput) ToNetworkInsightsAnalysisForwardPathComponentAdditionalDetailComponentOutput() NetworkInsightsAnalysisForwardPathComponentAdditionalDetailComponentOutput { return o } -func (o NetworkInsightsAnalysisForwardPathComponentSecurityGroupRuleOutput) ToNetworkInsightsAnalysisForwardPathComponentSecurityGroupRuleOutputWithContext(ctx context.Context) NetworkInsightsAnalysisForwardPathComponentSecurityGroupRuleOutput { +func (o NetworkInsightsAnalysisForwardPathComponentAdditionalDetailComponentOutput) ToNetworkInsightsAnalysisForwardPathComponentAdditionalDetailComponentOutputWithContext(ctx context.Context) NetworkInsightsAnalysisForwardPathComponentAdditionalDetailComponentOutput { return o } -func (o NetworkInsightsAnalysisForwardPathComponentSecurityGroupRuleOutput) Cidr() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponentSecurityGroupRule) *string { return v.Cidr }).(pulumi.StringPtrOutput) -} - -func (o NetworkInsightsAnalysisForwardPathComponentSecurityGroupRuleOutput) Direction() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponentSecurityGroupRule) *string { return v.Direction }).(pulumi.StringPtrOutput) -} - -func (o NetworkInsightsAnalysisForwardPathComponentSecurityGroupRuleOutput) PortRanges() NetworkInsightsAnalysisForwardPathComponentSecurityGroupRulePortRangeArrayOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponentSecurityGroupRule) []NetworkInsightsAnalysisForwardPathComponentSecurityGroupRulePortRange { - return v.PortRanges - }).(NetworkInsightsAnalysisForwardPathComponentSecurityGroupRulePortRangeArrayOutput) -} - -func (o NetworkInsightsAnalysisForwardPathComponentSecurityGroupRuleOutput) PrefixListId() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponentSecurityGroupRule) *string { return v.PrefixListId }).(pulumi.StringPtrOutput) +// ARN of the Network Insights Analysis. +func (o NetworkInsightsAnalysisForwardPathComponentAdditionalDetailComponentOutput) Arn() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponentAdditionalDetailComponent) *string { return v.Arn }).(pulumi.StringPtrOutput) } -func (o NetworkInsightsAnalysisForwardPathComponentSecurityGroupRuleOutput) Protocol() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponentSecurityGroupRule) *string { return v.Protocol }).(pulumi.StringPtrOutput) +// ID of the Network Insights Analysis. +func (o NetworkInsightsAnalysisForwardPathComponentAdditionalDetailComponentOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponentAdditionalDetailComponent) *string { return v.Id }).(pulumi.StringPtrOutput) } -func (o NetworkInsightsAnalysisForwardPathComponentSecurityGroupRuleOutput) SecurityGroupId() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponentSecurityGroupRule) *string { return v.SecurityGroupId }).(pulumi.StringPtrOutput) +func (o NetworkInsightsAnalysisForwardPathComponentAdditionalDetailComponentOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponentAdditionalDetailComponent) *string { return v.Name }).(pulumi.StringPtrOutput) } -type NetworkInsightsAnalysisForwardPathComponentSecurityGroupRuleArrayOutput struct{ *pulumi.OutputState } +type NetworkInsightsAnalysisForwardPathComponentAdditionalDetailComponentArrayOutput struct{ *pulumi.OutputState } -func (NetworkInsightsAnalysisForwardPathComponentSecurityGroupRuleArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]NetworkInsightsAnalysisForwardPathComponentSecurityGroupRule)(nil)).Elem() +func (NetworkInsightsAnalysisForwardPathComponentAdditionalDetailComponentArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkInsightsAnalysisForwardPathComponentAdditionalDetailComponent)(nil)).Elem() } -func (o NetworkInsightsAnalysisForwardPathComponentSecurityGroupRuleArrayOutput) ToNetworkInsightsAnalysisForwardPathComponentSecurityGroupRuleArrayOutput() NetworkInsightsAnalysisForwardPathComponentSecurityGroupRuleArrayOutput { +func (o NetworkInsightsAnalysisForwardPathComponentAdditionalDetailComponentArrayOutput) ToNetworkInsightsAnalysisForwardPathComponentAdditionalDetailComponentArrayOutput() NetworkInsightsAnalysisForwardPathComponentAdditionalDetailComponentArrayOutput { return o } -func (o NetworkInsightsAnalysisForwardPathComponentSecurityGroupRuleArrayOutput) ToNetworkInsightsAnalysisForwardPathComponentSecurityGroupRuleArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisForwardPathComponentSecurityGroupRuleArrayOutput { +func (o NetworkInsightsAnalysisForwardPathComponentAdditionalDetailComponentArrayOutput) ToNetworkInsightsAnalysisForwardPathComponentAdditionalDetailComponentArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisForwardPathComponentAdditionalDetailComponentArrayOutput { return o } -func (o NetworkInsightsAnalysisForwardPathComponentSecurityGroupRuleArrayOutput) Index(i pulumi.IntInput) NetworkInsightsAnalysisForwardPathComponentSecurityGroupRuleOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkInsightsAnalysisForwardPathComponentSecurityGroupRule { - return vs[0].([]NetworkInsightsAnalysisForwardPathComponentSecurityGroupRule)[vs[1].(int)] - }).(NetworkInsightsAnalysisForwardPathComponentSecurityGroupRuleOutput) +func (o NetworkInsightsAnalysisForwardPathComponentAdditionalDetailComponentArrayOutput) Index(i pulumi.IntInput) NetworkInsightsAnalysisForwardPathComponentAdditionalDetailComponentOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkInsightsAnalysisForwardPathComponentAdditionalDetailComponent { + return vs[0].([]NetworkInsightsAnalysisForwardPathComponentAdditionalDetailComponent)[vs[1].(int)] + }).(NetworkInsightsAnalysisForwardPathComponentAdditionalDetailComponentOutput) } -type NetworkInsightsAnalysisForwardPathComponentSecurityGroupRulePortRange struct { - From *int `pulumi:"from"` - To *int `pulumi:"to"` +type NetworkInsightsAnalysisForwardPathComponentAttachedTo struct { + // ARN of the Network Insights Analysis. + Arn *string `pulumi:"arn"` + // ID of the Network Insights Analysis. + Id *string `pulumi:"id"` + Name *string `pulumi:"name"` } -// NetworkInsightsAnalysisForwardPathComponentSecurityGroupRulePortRangeInput is an input type that accepts NetworkInsightsAnalysisForwardPathComponentSecurityGroupRulePortRangeArgs and NetworkInsightsAnalysisForwardPathComponentSecurityGroupRulePortRangeOutput values. -// You can construct a concrete instance of `NetworkInsightsAnalysisForwardPathComponentSecurityGroupRulePortRangeInput` via: +// NetworkInsightsAnalysisForwardPathComponentAttachedToInput is an input type that accepts NetworkInsightsAnalysisForwardPathComponentAttachedToArgs and NetworkInsightsAnalysisForwardPathComponentAttachedToOutput values. +// You can construct a concrete instance of `NetworkInsightsAnalysisForwardPathComponentAttachedToInput` via: // -// NetworkInsightsAnalysisForwardPathComponentSecurityGroupRulePortRangeArgs{...} -type NetworkInsightsAnalysisForwardPathComponentSecurityGroupRulePortRangeInput interface { +// NetworkInsightsAnalysisForwardPathComponentAttachedToArgs{...} +type NetworkInsightsAnalysisForwardPathComponentAttachedToInput interface { pulumi.Input - ToNetworkInsightsAnalysisForwardPathComponentSecurityGroupRulePortRangeOutput() NetworkInsightsAnalysisForwardPathComponentSecurityGroupRulePortRangeOutput - ToNetworkInsightsAnalysisForwardPathComponentSecurityGroupRulePortRangeOutputWithContext(context.Context) NetworkInsightsAnalysisForwardPathComponentSecurityGroupRulePortRangeOutput + ToNetworkInsightsAnalysisForwardPathComponentAttachedToOutput() NetworkInsightsAnalysisForwardPathComponentAttachedToOutput + ToNetworkInsightsAnalysisForwardPathComponentAttachedToOutputWithContext(context.Context) NetworkInsightsAnalysisForwardPathComponentAttachedToOutput } -type NetworkInsightsAnalysisForwardPathComponentSecurityGroupRulePortRangeArgs struct { - From pulumi.IntPtrInput `pulumi:"from"` - To pulumi.IntPtrInput `pulumi:"to"` +type NetworkInsightsAnalysisForwardPathComponentAttachedToArgs struct { + // ARN of the Network Insights Analysis. + Arn pulumi.StringPtrInput `pulumi:"arn"` + // ID of the Network Insights Analysis. + Id pulumi.StringPtrInput `pulumi:"id"` + Name pulumi.StringPtrInput `pulumi:"name"` } -func (NetworkInsightsAnalysisForwardPathComponentSecurityGroupRulePortRangeArgs) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkInsightsAnalysisForwardPathComponentSecurityGroupRulePortRange)(nil)).Elem() +func (NetworkInsightsAnalysisForwardPathComponentAttachedToArgs) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInsightsAnalysisForwardPathComponentAttachedTo)(nil)).Elem() } -func (i NetworkInsightsAnalysisForwardPathComponentSecurityGroupRulePortRangeArgs) ToNetworkInsightsAnalysisForwardPathComponentSecurityGroupRulePortRangeOutput() NetworkInsightsAnalysisForwardPathComponentSecurityGroupRulePortRangeOutput { - return i.ToNetworkInsightsAnalysisForwardPathComponentSecurityGroupRulePortRangeOutputWithContext(context.Background()) +func (i NetworkInsightsAnalysisForwardPathComponentAttachedToArgs) ToNetworkInsightsAnalysisForwardPathComponentAttachedToOutput() NetworkInsightsAnalysisForwardPathComponentAttachedToOutput { + return i.ToNetworkInsightsAnalysisForwardPathComponentAttachedToOutputWithContext(context.Background()) } -func (i NetworkInsightsAnalysisForwardPathComponentSecurityGroupRulePortRangeArgs) ToNetworkInsightsAnalysisForwardPathComponentSecurityGroupRulePortRangeOutputWithContext(ctx context.Context) NetworkInsightsAnalysisForwardPathComponentSecurityGroupRulePortRangeOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisForwardPathComponentSecurityGroupRulePortRangeOutput) +func (i NetworkInsightsAnalysisForwardPathComponentAttachedToArgs) ToNetworkInsightsAnalysisForwardPathComponentAttachedToOutputWithContext(ctx context.Context) NetworkInsightsAnalysisForwardPathComponentAttachedToOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisForwardPathComponentAttachedToOutput) } -// NetworkInsightsAnalysisForwardPathComponentSecurityGroupRulePortRangeArrayInput is an input type that accepts NetworkInsightsAnalysisForwardPathComponentSecurityGroupRulePortRangeArray and NetworkInsightsAnalysisForwardPathComponentSecurityGroupRulePortRangeArrayOutput values. -// You can construct a concrete instance of `NetworkInsightsAnalysisForwardPathComponentSecurityGroupRulePortRangeArrayInput` via: +// NetworkInsightsAnalysisForwardPathComponentAttachedToArrayInput is an input type that accepts NetworkInsightsAnalysisForwardPathComponentAttachedToArray and NetworkInsightsAnalysisForwardPathComponentAttachedToArrayOutput values. +// You can construct a concrete instance of `NetworkInsightsAnalysisForwardPathComponentAttachedToArrayInput` via: // -// NetworkInsightsAnalysisForwardPathComponentSecurityGroupRulePortRangeArray{ NetworkInsightsAnalysisForwardPathComponentSecurityGroupRulePortRangeArgs{...} } -type NetworkInsightsAnalysisForwardPathComponentSecurityGroupRulePortRangeArrayInput interface { +// NetworkInsightsAnalysisForwardPathComponentAttachedToArray{ NetworkInsightsAnalysisForwardPathComponentAttachedToArgs{...} } +type NetworkInsightsAnalysisForwardPathComponentAttachedToArrayInput interface { pulumi.Input - ToNetworkInsightsAnalysisForwardPathComponentSecurityGroupRulePortRangeArrayOutput() NetworkInsightsAnalysisForwardPathComponentSecurityGroupRulePortRangeArrayOutput - ToNetworkInsightsAnalysisForwardPathComponentSecurityGroupRulePortRangeArrayOutputWithContext(context.Context) NetworkInsightsAnalysisForwardPathComponentSecurityGroupRulePortRangeArrayOutput + ToNetworkInsightsAnalysisForwardPathComponentAttachedToArrayOutput() NetworkInsightsAnalysisForwardPathComponentAttachedToArrayOutput + ToNetworkInsightsAnalysisForwardPathComponentAttachedToArrayOutputWithContext(context.Context) NetworkInsightsAnalysisForwardPathComponentAttachedToArrayOutput } -type NetworkInsightsAnalysisForwardPathComponentSecurityGroupRulePortRangeArray []NetworkInsightsAnalysisForwardPathComponentSecurityGroupRulePortRangeInput +type NetworkInsightsAnalysisForwardPathComponentAttachedToArray []NetworkInsightsAnalysisForwardPathComponentAttachedToInput -func (NetworkInsightsAnalysisForwardPathComponentSecurityGroupRulePortRangeArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]NetworkInsightsAnalysisForwardPathComponentSecurityGroupRulePortRange)(nil)).Elem() +func (NetworkInsightsAnalysisForwardPathComponentAttachedToArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkInsightsAnalysisForwardPathComponentAttachedTo)(nil)).Elem() } -func (i NetworkInsightsAnalysisForwardPathComponentSecurityGroupRulePortRangeArray) ToNetworkInsightsAnalysisForwardPathComponentSecurityGroupRulePortRangeArrayOutput() NetworkInsightsAnalysisForwardPathComponentSecurityGroupRulePortRangeArrayOutput { - return i.ToNetworkInsightsAnalysisForwardPathComponentSecurityGroupRulePortRangeArrayOutputWithContext(context.Background()) +func (i NetworkInsightsAnalysisForwardPathComponentAttachedToArray) ToNetworkInsightsAnalysisForwardPathComponentAttachedToArrayOutput() NetworkInsightsAnalysisForwardPathComponentAttachedToArrayOutput { + return i.ToNetworkInsightsAnalysisForwardPathComponentAttachedToArrayOutputWithContext(context.Background()) } -func (i NetworkInsightsAnalysisForwardPathComponentSecurityGroupRulePortRangeArray) ToNetworkInsightsAnalysisForwardPathComponentSecurityGroupRulePortRangeArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisForwardPathComponentSecurityGroupRulePortRangeArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisForwardPathComponentSecurityGroupRulePortRangeArrayOutput) +func (i NetworkInsightsAnalysisForwardPathComponentAttachedToArray) ToNetworkInsightsAnalysisForwardPathComponentAttachedToArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisForwardPathComponentAttachedToArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisForwardPathComponentAttachedToArrayOutput) } -type NetworkInsightsAnalysisForwardPathComponentSecurityGroupRulePortRangeOutput struct{ *pulumi.OutputState } +type NetworkInsightsAnalysisForwardPathComponentAttachedToOutput struct{ *pulumi.OutputState } -func (NetworkInsightsAnalysisForwardPathComponentSecurityGroupRulePortRangeOutput) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkInsightsAnalysisForwardPathComponentSecurityGroupRulePortRange)(nil)).Elem() +func (NetworkInsightsAnalysisForwardPathComponentAttachedToOutput) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInsightsAnalysisForwardPathComponentAttachedTo)(nil)).Elem() } -func (o NetworkInsightsAnalysisForwardPathComponentSecurityGroupRulePortRangeOutput) ToNetworkInsightsAnalysisForwardPathComponentSecurityGroupRulePortRangeOutput() NetworkInsightsAnalysisForwardPathComponentSecurityGroupRulePortRangeOutput { +func (o NetworkInsightsAnalysisForwardPathComponentAttachedToOutput) ToNetworkInsightsAnalysisForwardPathComponentAttachedToOutput() NetworkInsightsAnalysisForwardPathComponentAttachedToOutput { return o } -func (o NetworkInsightsAnalysisForwardPathComponentSecurityGroupRulePortRangeOutput) ToNetworkInsightsAnalysisForwardPathComponentSecurityGroupRulePortRangeOutputWithContext(ctx context.Context) NetworkInsightsAnalysisForwardPathComponentSecurityGroupRulePortRangeOutput { +func (o NetworkInsightsAnalysisForwardPathComponentAttachedToOutput) ToNetworkInsightsAnalysisForwardPathComponentAttachedToOutputWithContext(ctx context.Context) NetworkInsightsAnalysisForwardPathComponentAttachedToOutput { return o } -func (o NetworkInsightsAnalysisForwardPathComponentSecurityGroupRulePortRangeOutput) From() pulumi.IntPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponentSecurityGroupRulePortRange) *int { return v.From }).(pulumi.IntPtrOutput) +// ARN of the Network Insights Analysis. +func (o NetworkInsightsAnalysisForwardPathComponentAttachedToOutput) Arn() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponentAttachedTo) *string { return v.Arn }).(pulumi.StringPtrOutput) } -func (o NetworkInsightsAnalysisForwardPathComponentSecurityGroupRulePortRangeOutput) To() pulumi.IntPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponentSecurityGroupRulePortRange) *int { return v.To }).(pulumi.IntPtrOutput) +// ID of the Network Insights Analysis. +func (o NetworkInsightsAnalysisForwardPathComponentAttachedToOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponentAttachedTo) *string { return v.Id }).(pulumi.StringPtrOutput) } -type NetworkInsightsAnalysisForwardPathComponentSecurityGroupRulePortRangeArrayOutput struct{ *pulumi.OutputState } +func (o NetworkInsightsAnalysisForwardPathComponentAttachedToOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponentAttachedTo) *string { return v.Name }).(pulumi.StringPtrOutput) +} -func (NetworkInsightsAnalysisForwardPathComponentSecurityGroupRulePortRangeArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]NetworkInsightsAnalysisForwardPathComponentSecurityGroupRulePortRange)(nil)).Elem() +type NetworkInsightsAnalysisForwardPathComponentAttachedToArrayOutput struct{ *pulumi.OutputState } + +func (NetworkInsightsAnalysisForwardPathComponentAttachedToArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkInsightsAnalysisForwardPathComponentAttachedTo)(nil)).Elem() } -func (o NetworkInsightsAnalysisForwardPathComponentSecurityGroupRulePortRangeArrayOutput) ToNetworkInsightsAnalysisForwardPathComponentSecurityGroupRulePortRangeArrayOutput() NetworkInsightsAnalysisForwardPathComponentSecurityGroupRulePortRangeArrayOutput { +func (o NetworkInsightsAnalysisForwardPathComponentAttachedToArrayOutput) ToNetworkInsightsAnalysisForwardPathComponentAttachedToArrayOutput() NetworkInsightsAnalysisForwardPathComponentAttachedToArrayOutput { return o } -func (o NetworkInsightsAnalysisForwardPathComponentSecurityGroupRulePortRangeArrayOutput) ToNetworkInsightsAnalysisForwardPathComponentSecurityGroupRulePortRangeArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisForwardPathComponentSecurityGroupRulePortRangeArrayOutput { +func (o NetworkInsightsAnalysisForwardPathComponentAttachedToArrayOutput) ToNetworkInsightsAnalysisForwardPathComponentAttachedToArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisForwardPathComponentAttachedToArrayOutput { return o } -func (o NetworkInsightsAnalysisForwardPathComponentSecurityGroupRulePortRangeArrayOutput) Index(i pulumi.IntInput) NetworkInsightsAnalysisForwardPathComponentSecurityGroupRulePortRangeOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkInsightsAnalysisForwardPathComponentSecurityGroupRulePortRange { - return vs[0].([]NetworkInsightsAnalysisForwardPathComponentSecurityGroupRulePortRange)[vs[1].(int)] - }).(NetworkInsightsAnalysisForwardPathComponentSecurityGroupRulePortRangeOutput) +func (o NetworkInsightsAnalysisForwardPathComponentAttachedToArrayOutput) Index(i pulumi.IntInput) NetworkInsightsAnalysisForwardPathComponentAttachedToOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkInsightsAnalysisForwardPathComponentAttachedTo { + return vs[0].([]NetworkInsightsAnalysisForwardPathComponentAttachedTo)[vs[1].(int)] + }).(NetworkInsightsAnalysisForwardPathComponentAttachedToOutput) } -type NetworkInsightsAnalysisForwardPathComponentSourceVpc struct { +type NetworkInsightsAnalysisForwardPathComponentComponent struct { // ARN of the Network Insights Analysis. Arn *string `pulumi:"arn"` // ID of the Network Insights Analysis. @@ -22998,18 +23711,18 @@ type NetworkInsightsAnalysisForwardPathComponentSourceVpc struct { Name *string `pulumi:"name"` } -// NetworkInsightsAnalysisForwardPathComponentSourceVpcInput is an input type that accepts NetworkInsightsAnalysisForwardPathComponentSourceVpcArgs and NetworkInsightsAnalysisForwardPathComponentSourceVpcOutput values. -// You can construct a concrete instance of `NetworkInsightsAnalysisForwardPathComponentSourceVpcInput` via: +// NetworkInsightsAnalysisForwardPathComponentComponentInput is an input type that accepts NetworkInsightsAnalysisForwardPathComponentComponentArgs and NetworkInsightsAnalysisForwardPathComponentComponentOutput values. +// You can construct a concrete instance of `NetworkInsightsAnalysisForwardPathComponentComponentInput` via: // -// NetworkInsightsAnalysisForwardPathComponentSourceVpcArgs{...} -type NetworkInsightsAnalysisForwardPathComponentSourceVpcInput interface { +// NetworkInsightsAnalysisForwardPathComponentComponentArgs{...} +type NetworkInsightsAnalysisForwardPathComponentComponentInput interface { pulumi.Input - ToNetworkInsightsAnalysisForwardPathComponentSourceVpcOutput() NetworkInsightsAnalysisForwardPathComponentSourceVpcOutput - ToNetworkInsightsAnalysisForwardPathComponentSourceVpcOutputWithContext(context.Context) NetworkInsightsAnalysisForwardPathComponentSourceVpcOutput + ToNetworkInsightsAnalysisForwardPathComponentComponentOutput() NetworkInsightsAnalysisForwardPathComponentComponentOutput + ToNetworkInsightsAnalysisForwardPathComponentComponentOutputWithContext(context.Context) NetworkInsightsAnalysisForwardPathComponentComponentOutput } -type NetworkInsightsAnalysisForwardPathComponentSourceVpcArgs struct { +type NetworkInsightsAnalysisForwardPathComponentComponentArgs struct { // ARN of the Network Insights Analysis. Arn pulumi.StringPtrInput `pulumi:"arn"` // ID of the Network Insights Analysis. @@ -23017,92 +23730,92 @@ type NetworkInsightsAnalysisForwardPathComponentSourceVpcArgs struct { Name pulumi.StringPtrInput `pulumi:"name"` } -func (NetworkInsightsAnalysisForwardPathComponentSourceVpcArgs) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkInsightsAnalysisForwardPathComponentSourceVpc)(nil)).Elem() +func (NetworkInsightsAnalysisForwardPathComponentComponentArgs) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInsightsAnalysisForwardPathComponentComponent)(nil)).Elem() } -func (i NetworkInsightsAnalysisForwardPathComponentSourceVpcArgs) ToNetworkInsightsAnalysisForwardPathComponentSourceVpcOutput() NetworkInsightsAnalysisForwardPathComponentSourceVpcOutput { - return i.ToNetworkInsightsAnalysisForwardPathComponentSourceVpcOutputWithContext(context.Background()) +func (i NetworkInsightsAnalysisForwardPathComponentComponentArgs) ToNetworkInsightsAnalysisForwardPathComponentComponentOutput() NetworkInsightsAnalysisForwardPathComponentComponentOutput { + return i.ToNetworkInsightsAnalysisForwardPathComponentComponentOutputWithContext(context.Background()) } -func (i NetworkInsightsAnalysisForwardPathComponentSourceVpcArgs) ToNetworkInsightsAnalysisForwardPathComponentSourceVpcOutputWithContext(ctx context.Context) NetworkInsightsAnalysisForwardPathComponentSourceVpcOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisForwardPathComponentSourceVpcOutput) +func (i NetworkInsightsAnalysisForwardPathComponentComponentArgs) ToNetworkInsightsAnalysisForwardPathComponentComponentOutputWithContext(ctx context.Context) NetworkInsightsAnalysisForwardPathComponentComponentOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisForwardPathComponentComponentOutput) } -// NetworkInsightsAnalysisForwardPathComponentSourceVpcArrayInput is an input type that accepts NetworkInsightsAnalysisForwardPathComponentSourceVpcArray and NetworkInsightsAnalysisForwardPathComponentSourceVpcArrayOutput values. -// You can construct a concrete instance of `NetworkInsightsAnalysisForwardPathComponentSourceVpcArrayInput` via: +// NetworkInsightsAnalysisForwardPathComponentComponentArrayInput is an input type that accepts NetworkInsightsAnalysisForwardPathComponentComponentArray and NetworkInsightsAnalysisForwardPathComponentComponentArrayOutput values. +// You can construct a concrete instance of `NetworkInsightsAnalysisForwardPathComponentComponentArrayInput` via: // -// NetworkInsightsAnalysisForwardPathComponentSourceVpcArray{ NetworkInsightsAnalysisForwardPathComponentSourceVpcArgs{...} } -type NetworkInsightsAnalysisForwardPathComponentSourceVpcArrayInput interface { +// NetworkInsightsAnalysisForwardPathComponentComponentArray{ NetworkInsightsAnalysisForwardPathComponentComponentArgs{...} } +type NetworkInsightsAnalysisForwardPathComponentComponentArrayInput interface { pulumi.Input - ToNetworkInsightsAnalysisForwardPathComponentSourceVpcArrayOutput() NetworkInsightsAnalysisForwardPathComponentSourceVpcArrayOutput - ToNetworkInsightsAnalysisForwardPathComponentSourceVpcArrayOutputWithContext(context.Context) NetworkInsightsAnalysisForwardPathComponentSourceVpcArrayOutput + ToNetworkInsightsAnalysisForwardPathComponentComponentArrayOutput() NetworkInsightsAnalysisForwardPathComponentComponentArrayOutput + ToNetworkInsightsAnalysisForwardPathComponentComponentArrayOutputWithContext(context.Context) NetworkInsightsAnalysisForwardPathComponentComponentArrayOutput } -type NetworkInsightsAnalysisForwardPathComponentSourceVpcArray []NetworkInsightsAnalysisForwardPathComponentSourceVpcInput +type NetworkInsightsAnalysisForwardPathComponentComponentArray []NetworkInsightsAnalysisForwardPathComponentComponentInput -func (NetworkInsightsAnalysisForwardPathComponentSourceVpcArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]NetworkInsightsAnalysisForwardPathComponentSourceVpc)(nil)).Elem() +func (NetworkInsightsAnalysisForwardPathComponentComponentArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkInsightsAnalysisForwardPathComponentComponent)(nil)).Elem() } -func (i NetworkInsightsAnalysisForwardPathComponentSourceVpcArray) ToNetworkInsightsAnalysisForwardPathComponentSourceVpcArrayOutput() NetworkInsightsAnalysisForwardPathComponentSourceVpcArrayOutput { - return i.ToNetworkInsightsAnalysisForwardPathComponentSourceVpcArrayOutputWithContext(context.Background()) +func (i NetworkInsightsAnalysisForwardPathComponentComponentArray) ToNetworkInsightsAnalysisForwardPathComponentComponentArrayOutput() NetworkInsightsAnalysisForwardPathComponentComponentArrayOutput { + return i.ToNetworkInsightsAnalysisForwardPathComponentComponentArrayOutputWithContext(context.Background()) } -func (i NetworkInsightsAnalysisForwardPathComponentSourceVpcArray) ToNetworkInsightsAnalysisForwardPathComponentSourceVpcArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisForwardPathComponentSourceVpcArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisForwardPathComponentSourceVpcArrayOutput) +func (i NetworkInsightsAnalysisForwardPathComponentComponentArray) ToNetworkInsightsAnalysisForwardPathComponentComponentArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisForwardPathComponentComponentArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisForwardPathComponentComponentArrayOutput) } -type NetworkInsightsAnalysisForwardPathComponentSourceVpcOutput struct{ *pulumi.OutputState } +type NetworkInsightsAnalysisForwardPathComponentComponentOutput struct{ *pulumi.OutputState } -func (NetworkInsightsAnalysisForwardPathComponentSourceVpcOutput) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkInsightsAnalysisForwardPathComponentSourceVpc)(nil)).Elem() +func (NetworkInsightsAnalysisForwardPathComponentComponentOutput) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInsightsAnalysisForwardPathComponentComponent)(nil)).Elem() } -func (o NetworkInsightsAnalysisForwardPathComponentSourceVpcOutput) ToNetworkInsightsAnalysisForwardPathComponentSourceVpcOutput() NetworkInsightsAnalysisForwardPathComponentSourceVpcOutput { +func (o NetworkInsightsAnalysisForwardPathComponentComponentOutput) ToNetworkInsightsAnalysisForwardPathComponentComponentOutput() NetworkInsightsAnalysisForwardPathComponentComponentOutput { return o } -func (o NetworkInsightsAnalysisForwardPathComponentSourceVpcOutput) ToNetworkInsightsAnalysisForwardPathComponentSourceVpcOutputWithContext(ctx context.Context) NetworkInsightsAnalysisForwardPathComponentSourceVpcOutput { +func (o NetworkInsightsAnalysisForwardPathComponentComponentOutput) ToNetworkInsightsAnalysisForwardPathComponentComponentOutputWithContext(ctx context.Context) NetworkInsightsAnalysisForwardPathComponentComponentOutput { return o } // ARN of the Network Insights Analysis. -func (o NetworkInsightsAnalysisForwardPathComponentSourceVpcOutput) Arn() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponentSourceVpc) *string { return v.Arn }).(pulumi.StringPtrOutput) +func (o NetworkInsightsAnalysisForwardPathComponentComponentOutput) Arn() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponentComponent) *string { return v.Arn }).(pulumi.StringPtrOutput) } // ID of the Network Insights Analysis. -func (o NetworkInsightsAnalysisForwardPathComponentSourceVpcOutput) Id() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponentSourceVpc) *string { return v.Id }).(pulumi.StringPtrOutput) +func (o NetworkInsightsAnalysisForwardPathComponentComponentOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponentComponent) *string { return v.Id }).(pulumi.StringPtrOutput) } -func (o NetworkInsightsAnalysisForwardPathComponentSourceVpcOutput) Name() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponentSourceVpc) *string { return v.Name }).(pulumi.StringPtrOutput) +func (o NetworkInsightsAnalysisForwardPathComponentComponentOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponentComponent) *string { return v.Name }).(pulumi.StringPtrOutput) } -type NetworkInsightsAnalysisForwardPathComponentSourceVpcArrayOutput struct{ *pulumi.OutputState } +type NetworkInsightsAnalysisForwardPathComponentComponentArrayOutput struct{ *pulumi.OutputState } -func (NetworkInsightsAnalysisForwardPathComponentSourceVpcArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]NetworkInsightsAnalysisForwardPathComponentSourceVpc)(nil)).Elem() +func (NetworkInsightsAnalysisForwardPathComponentComponentArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkInsightsAnalysisForwardPathComponentComponent)(nil)).Elem() } -func (o NetworkInsightsAnalysisForwardPathComponentSourceVpcArrayOutput) ToNetworkInsightsAnalysisForwardPathComponentSourceVpcArrayOutput() NetworkInsightsAnalysisForwardPathComponentSourceVpcArrayOutput { +func (o NetworkInsightsAnalysisForwardPathComponentComponentArrayOutput) ToNetworkInsightsAnalysisForwardPathComponentComponentArrayOutput() NetworkInsightsAnalysisForwardPathComponentComponentArrayOutput { return o } -func (o NetworkInsightsAnalysisForwardPathComponentSourceVpcArrayOutput) ToNetworkInsightsAnalysisForwardPathComponentSourceVpcArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisForwardPathComponentSourceVpcArrayOutput { +func (o NetworkInsightsAnalysisForwardPathComponentComponentArrayOutput) ToNetworkInsightsAnalysisForwardPathComponentComponentArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisForwardPathComponentComponentArrayOutput { return o } -func (o NetworkInsightsAnalysisForwardPathComponentSourceVpcArrayOutput) Index(i pulumi.IntInput) NetworkInsightsAnalysisForwardPathComponentSourceVpcOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkInsightsAnalysisForwardPathComponentSourceVpc { - return vs[0].([]NetworkInsightsAnalysisForwardPathComponentSourceVpc)[vs[1].(int)] - }).(NetworkInsightsAnalysisForwardPathComponentSourceVpcOutput) +func (o NetworkInsightsAnalysisForwardPathComponentComponentArrayOutput) Index(i pulumi.IntInput) NetworkInsightsAnalysisForwardPathComponentComponentOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkInsightsAnalysisForwardPathComponentComponent { + return vs[0].([]NetworkInsightsAnalysisForwardPathComponentComponent)[vs[1].(int)] + }).(NetworkInsightsAnalysisForwardPathComponentComponentOutput) } -type NetworkInsightsAnalysisForwardPathComponentSubnet struct { +type NetworkInsightsAnalysisForwardPathComponentDestinationVpc struct { // ARN of the Network Insights Analysis. Arn *string `pulumi:"arn"` // ID of the Network Insights Analysis. @@ -23110,18 +23823,18 @@ type NetworkInsightsAnalysisForwardPathComponentSubnet struct { Name *string `pulumi:"name"` } -// NetworkInsightsAnalysisForwardPathComponentSubnetInput is an input type that accepts NetworkInsightsAnalysisForwardPathComponentSubnetArgs and NetworkInsightsAnalysisForwardPathComponentSubnetOutput values. -// You can construct a concrete instance of `NetworkInsightsAnalysisForwardPathComponentSubnetInput` via: +// NetworkInsightsAnalysisForwardPathComponentDestinationVpcInput is an input type that accepts NetworkInsightsAnalysisForwardPathComponentDestinationVpcArgs and NetworkInsightsAnalysisForwardPathComponentDestinationVpcOutput values. +// You can construct a concrete instance of `NetworkInsightsAnalysisForwardPathComponentDestinationVpcInput` via: // -// NetworkInsightsAnalysisForwardPathComponentSubnetArgs{...} -type NetworkInsightsAnalysisForwardPathComponentSubnetInput interface { +// NetworkInsightsAnalysisForwardPathComponentDestinationVpcArgs{...} +type NetworkInsightsAnalysisForwardPathComponentDestinationVpcInput interface { pulumi.Input - ToNetworkInsightsAnalysisForwardPathComponentSubnetOutput() NetworkInsightsAnalysisForwardPathComponentSubnetOutput - ToNetworkInsightsAnalysisForwardPathComponentSubnetOutputWithContext(context.Context) NetworkInsightsAnalysisForwardPathComponentSubnetOutput + ToNetworkInsightsAnalysisForwardPathComponentDestinationVpcOutput() NetworkInsightsAnalysisForwardPathComponentDestinationVpcOutput + ToNetworkInsightsAnalysisForwardPathComponentDestinationVpcOutputWithContext(context.Context) NetworkInsightsAnalysisForwardPathComponentDestinationVpcOutput } -type NetworkInsightsAnalysisForwardPathComponentSubnetArgs struct { +type NetworkInsightsAnalysisForwardPathComponentDestinationVpcArgs struct { // ARN of the Network Insights Analysis. Arn pulumi.StringPtrInput `pulumi:"arn"` // ID of the Network Insights Analysis. @@ -23129,1220 +23842,1128 @@ type NetworkInsightsAnalysisForwardPathComponentSubnetArgs struct { Name pulumi.StringPtrInput `pulumi:"name"` } -func (NetworkInsightsAnalysisForwardPathComponentSubnetArgs) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkInsightsAnalysisForwardPathComponentSubnet)(nil)).Elem() +func (NetworkInsightsAnalysisForwardPathComponentDestinationVpcArgs) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInsightsAnalysisForwardPathComponentDestinationVpc)(nil)).Elem() } -func (i NetworkInsightsAnalysisForwardPathComponentSubnetArgs) ToNetworkInsightsAnalysisForwardPathComponentSubnetOutput() NetworkInsightsAnalysisForwardPathComponentSubnetOutput { - return i.ToNetworkInsightsAnalysisForwardPathComponentSubnetOutputWithContext(context.Background()) +func (i NetworkInsightsAnalysisForwardPathComponentDestinationVpcArgs) ToNetworkInsightsAnalysisForwardPathComponentDestinationVpcOutput() NetworkInsightsAnalysisForwardPathComponentDestinationVpcOutput { + return i.ToNetworkInsightsAnalysisForwardPathComponentDestinationVpcOutputWithContext(context.Background()) } -func (i NetworkInsightsAnalysisForwardPathComponentSubnetArgs) ToNetworkInsightsAnalysisForwardPathComponentSubnetOutputWithContext(ctx context.Context) NetworkInsightsAnalysisForwardPathComponentSubnetOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisForwardPathComponentSubnetOutput) +func (i NetworkInsightsAnalysisForwardPathComponentDestinationVpcArgs) ToNetworkInsightsAnalysisForwardPathComponentDestinationVpcOutputWithContext(ctx context.Context) NetworkInsightsAnalysisForwardPathComponentDestinationVpcOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisForwardPathComponentDestinationVpcOutput) } -// NetworkInsightsAnalysisForwardPathComponentSubnetArrayInput is an input type that accepts NetworkInsightsAnalysisForwardPathComponentSubnetArray and NetworkInsightsAnalysisForwardPathComponentSubnetArrayOutput values. -// You can construct a concrete instance of `NetworkInsightsAnalysisForwardPathComponentSubnetArrayInput` via: +// NetworkInsightsAnalysisForwardPathComponentDestinationVpcArrayInput is an input type that accepts NetworkInsightsAnalysisForwardPathComponentDestinationVpcArray and NetworkInsightsAnalysisForwardPathComponentDestinationVpcArrayOutput values. +// You can construct a concrete instance of `NetworkInsightsAnalysisForwardPathComponentDestinationVpcArrayInput` via: // -// NetworkInsightsAnalysisForwardPathComponentSubnetArray{ NetworkInsightsAnalysisForwardPathComponentSubnetArgs{...} } -type NetworkInsightsAnalysisForwardPathComponentSubnetArrayInput interface { +// NetworkInsightsAnalysisForwardPathComponentDestinationVpcArray{ NetworkInsightsAnalysisForwardPathComponentDestinationVpcArgs{...} } +type NetworkInsightsAnalysisForwardPathComponentDestinationVpcArrayInput interface { pulumi.Input - ToNetworkInsightsAnalysisForwardPathComponentSubnetArrayOutput() NetworkInsightsAnalysisForwardPathComponentSubnetArrayOutput - ToNetworkInsightsAnalysisForwardPathComponentSubnetArrayOutputWithContext(context.Context) NetworkInsightsAnalysisForwardPathComponentSubnetArrayOutput + ToNetworkInsightsAnalysisForwardPathComponentDestinationVpcArrayOutput() NetworkInsightsAnalysisForwardPathComponentDestinationVpcArrayOutput + ToNetworkInsightsAnalysisForwardPathComponentDestinationVpcArrayOutputWithContext(context.Context) NetworkInsightsAnalysisForwardPathComponentDestinationVpcArrayOutput } -type NetworkInsightsAnalysisForwardPathComponentSubnetArray []NetworkInsightsAnalysisForwardPathComponentSubnetInput +type NetworkInsightsAnalysisForwardPathComponentDestinationVpcArray []NetworkInsightsAnalysisForwardPathComponentDestinationVpcInput -func (NetworkInsightsAnalysisForwardPathComponentSubnetArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]NetworkInsightsAnalysisForwardPathComponentSubnet)(nil)).Elem() +func (NetworkInsightsAnalysisForwardPathComponentDestinationVpcArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkInsightsAnalysisForwardPathComponentDestinationVpc)(nil)).Elem() } -func (i NetworkInsightsAnalysisForwardPathComponentSubnetArray) ToNetworkInsightsAnalysisForwardPathComponentSubnetArrayOutput() NetworkInsightsAnalysisForwardPathComponentSubnetArrayOutput { - return i.ToNetworkInsightsAnalysisForwardPathComponentSubnetArrayOutputWithContext(context.Background()) +func (i NetworkInsightsAnalysisForwardPathComponentDestinationVpcArray) ToNetworkInsightsAnalysisForwardPathComponentDestinationVpcArrayOutput() NetworkInsightsAnalysisForwardPathComponentDestinationVpcArrayOutput { + return i.ToNetworkInsightsAnalysisForwardPathComponentDestinationVpcArrayOutputWithContext(context.Background()) } -func (i NetworkInsightsAnalysisForwardPathComponentSubnetArray) ToNetworkInsightsAnalysisForwardPathComponentSubnetArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisForwardPathComponentSubnetArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisForwardPathComponentSubnetArrayOutput) +func (i NetworkInsightsAnalysisForwardPathComponentDestinationVpcArray) ToNetworkInsightsAnalysisForwardPathComponentDestinationVpcArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisForwardPathComponentDestinationVpcArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisForwardPathComponentDestinationVpcArrayOutput) } -type NetworkInsightsAnalysisForwardPathComponentSubnetOutput struct{ *pulumi.OutputState } +type NetworkInsightsAnalysisForwardPathComponentDestinationVpcOutput struct{ *pulumi.OutputState } -func (NetworkInsightsAnalysisForwardPathComponentSubnetOutput) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkInsightsAnalysisForwardPathComponentSubnet)(nil)).Elem() +func (NetworkInsightsAnalysisForwardPathComponentDestinationVpcOutput) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInsightsAnalysisForwardPathComponentDestinationVpc)(nil)).Elem() } -func (o NetworkInsightsAnalysisForwardPathComponentSubnetOutput) ToNetworkInsightsAnalysisForwardPathComponentSubnetOutput() NetworkInsightsAnalysisForwardPathComponentSubnetOutput { +func (o NetworkInsightsAnalysisForwardPathComponentDestinationVpcOutput) ToNetworkInsightsAnalysisForwardPathComponentDestinationVpcOutput() NetworkInsightsAnalysisForwardPathComponentDestinationVpcOutput { return o } -func (o NetworkInsightsAnalysisForwardPathComponentSubnetOutput) ToNetworkInsightsAnalysisForwardPathComponentSubnetOutputWithContext(ctx context.Context) NetworkInsightsAnalysisForwardPathComponentSubnetOutput { +func (o NetworkInsightsAnalysisForwardPathComponentDestinationVpcOutput) ToNetworkInsightsAnalysisForwardPathComponentDestinationVpcOutputWithContext(ctx context.Context) NetworkInsightsAnalysisForwardPathComponentDestinationVpcOutput { return o } // ARN of the Network Insights Analysis. -func (o NetworkInsightsAnalysisForwardPathComponentSubnetOutput) Arn() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponentSubnet) *string { return v.Arn }).(pulumi.StringPtrOutput) +func (o NetworkInsightsAnalysisForwardPathComponentDestinationVpcOutput) Arn() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponentDestinationVpc) *string { return v.Arn }).(pulumi.StringPtrOutput) } // ID of the Network Insights Analysis. -func (o NetworkInsightsAnalysisForwardPathComponentSubnetOutput) Id() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponentSubnet) *string { return v.Id }).(pulumi.StringPtrOutput) +func (o NetworkInsightsAnalysisForwardPathComponentDestinationVpcOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponentDestinationVpc) *string { return v.Id }).(pulumi.StringPtrOutput) } -func (o NetworkInsightsAnalysisForwardPathComponentSubnetOutput) Name() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponentSubnet) *string { return v.Name }).(pulumi.StringPtrOutput) +func (o NetworkInsightsAnalysisForwardPathComponentDestinationVpcOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponentDestinationVpc) *string { return v.Name }).(pulumi.StringPtrOutput) } -type NetworkInsightsAnalysisForwardPathComponentSubnetArrayOutput struct{ *pulumi.OutputState } +type NetworkInsightsAnalysisForwardPathComponentDestinationVpcArrayOutput struct{ *pulumi.OutputState } -func (NetworkInsightsAnalysisForwardPathComponentSubnetArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]NetworkInsightsAnalysisForwardPathComponentSubnet)(nil)).Elem() +func (NetworkInsightsAnalysisForwardPathComponentDestinationVpcArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkInsightsAnalysisForwardPathComponentDestinationVpc)(nil)).Elem() } -func (o NetworkInsightsAnalysisForwardPathComponentSubnetArrayOutput) ToNetworkInsightsAnalysisForwardPathComponentSubnetArrayOutput() NetworkInsightsAnalysisForwardPathComponentSubnetArrayOutput { +func (o NetworkInsightsAnalysisForwardPathComponentDestinationVpcArrayOutput) ToNetworkInsightsAnalysisForwardPathComponentDestinationVpcArrayOutput() NetworkInsightsAnalysisForwardPathComponentDestinationVpcArrayOutput { return o } -func (o NetworkInsightsAnalysisForwardPathComponentSubnetArrayOutput) ToNetworkInsightsAnalysisForwardPathComponentSubnetArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisForwardPathComponentSubnetArrayOutput { +func (o NetworkInsightsAnalysisForwardPathComponentDestinationVpcArrayOutput) ToNetworkInsightsAnalysisForwardPathComponentDestinationVpcArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisForwardPathComponentDestinationVpcArrayOutput { return o } -func (o NetworkInsightsAnalysisForwardPathComponentSubnetArrayOutput) Index(i pulumi.IntInput) NetworkInsightsAnalysisForwardPathComponentSubnetOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkInsightsAnalysisForwardPathComponentSubnet { - return vs[0].([]NetworkInsightsAnalysisForwardPathComponentSubnet)[vs[1].(int)] - }).(NetworkInsightsAnalysisForwardPathComponentSubnetOutput) +func (o NetworkInsightsAnalysisForwardPathComponentDestinationVpcArrayOutput) Index(i pulumi.IntInput) NetworkInsightsAnalysisForwardPathComponentDestinationVpcOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkInsightsAnalysisForwardPathComponentDestinationVpc { + return vs[0].([]NetworkInsightsAnalysisForwardPathComponentDestinationVpc)[vs[1].(int)] + }).(NetworkInsightsAnalysisForwardPathComponentDestinationVpcOutput) } -type NetworkInsightsAnalysisForwardPathComponentTransitGateway struct { - // ARN of the Network Insights Analysis. - Arn *string `pulumi:"arn"` - // ID of the Network Insights Analysis. - Id *string `pulumi:"id"` - Name *string `pulumi:"name"` +type NetworkInsightsAnalysisForwardPathComponentInboundHeader struct { + DestinationAddresses []string `pulumi:"destinationAddresses"` + DestinationPortRanges []NetworkInsightsAnalysisForwardPathComponentInboundHeaderDestinationPortRange `pulumi:"destinationPortRanges"` + Protocol *string `pulumi:"protocol"` + SourceAddresses []string `pulumi:"sourceAddresses"` + SourcePortRanges []NetworkInsightsAnalysisForwardPathComponentInboundHeaderSourcePortRange `pulumi:"sourcePortRanges"` } -// NetworkInsightsAnalysisForwardPathComponentTransitGatewayInput is an input type that accepts NetworkInsightsAnalysisForwardPathComponentTransitGatewayArgs and NetworkInsightsAnalysisForwardPathComponentTransitGatewayOutput values. -// You can construct a concrete instance of `NetworkInsightsAnalysisForwardPathComponentTransitGatewayInput` via: +// NetworkInsightsAnalysisForwardPathComponentInboundHeaderInput is an input type that accepts NetworkInsightsAnalysisForwardPathComponentInboundHeaderArgs and NetworkInsightsAnalysisForwardPathComponentInboundHeaderOutput values. +// You can construct a concrete instance of `NetworkInsightsAnalysisForwardPathComponentInboundHeaderInput` via: // -// NetworkInsightsAnalysisForwardPathComponentTransitGatewayArgs{...} -type NetworkInsightsAnalysisForwardPathComponentTransitGatewayInput interface { +// NetworkInsightsAnalysisForwardPathComponentInboundHeaderArgs{...} +type NetworkInsightsAnalysisForwardPathComponentInboundHeaderInput interface { pulumi.Input - ToNetworkInsightsAnalysisForwardPathComponentTransitGatewayOutput() NetworkInsightsAnalysisForwardPathComponentTransitGatewayOutput - ToNetworkInsightsAnalysisForwardPathComponentTransitGatewayOutputWithContext(context.Context) NetworkInsightsAnalysisForwardPathComponentTransitGatewayOutput + ToNetworkInsightsAnalysisForwardPathComponentInboundHeaderOutput() NetworkInsightsAnalysisForwardPathComponentInboundHeaderOutput + ToNetworkInsightsAnalysisForwardPathComponentInboundHeaderOutputWithContext(context.Context) NetworkInsightsAnalysisForwardPathComponentInboundHeaderOutput } -type NetworkInsightsAnalysisForwardPathComponentTransitGatewayArgs struct { - // ARN of the Network Insights Analysis. - Arn pulumi.StringPtrInput `pulumi:"arn"` - // ID of the Network Insights Analysis. - Id pulumi.StringPtrInput `pulumi:"id"` - Name pulumi.StringPtrInput `pulumi:"name"` +type NetworkInsightsAnalysisForwardPathComponentInboundHeaderArgs struct { + DestinationAddresses pulumi.StringArrayInput `pulumi:"destinationAddresses"` + DestinationPortRanges NetworkInsightsAnalysisForwardPathComponentInboundHeaderDestinationPortRangeArrayInput `pulumi:"destinationPortRanges"` + Protocol pulumi.StringPtrInput `pulumi:"protocol"` + SourceAddresses pulumi.StringArrayInput `pulumi:"sourceAddresses"` + SourcePortRanges NetworkInsightsAnalysisForwardPathComponentInboundHeaderSourcePortRangeArrayInput `pulumi:"sourcePortRanges"` } -func (NetworkInsightsAnalysisForwardPathComponentTransitGatewayArgs) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkInsightsAnalysisForwardPathComponentTransitGateway)(nil)).Elem() +func (NetworkInsightsAnalysisForwardPathComponentInboundHeaderArgs) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInsightsAnalysisForwardPathComponentInboundHeader)(nil)).Elem() } -func (i NetworkInsightsAnalysisForwardPathComponentTransitGatewayArgs) ToNetworkInsightsAnalysisForwardPathComponentTransitGatewayOutput() NetworkInsightsAnalysisForwardPathComponentTransitGatewayOutput { - return i.ToNetworkInsightsAnalysisForwardPathComponentTransitGatewayOutputWithContext(context.Background()) +func (i NetworkInsightsAnalysisForwardPathComponentInboundHeaderArgs) ToNetworkInsightsAnalysisForwardPathComponentInboundHeaderOutput() NetworkInsightsAnalysisForwardPathComponentInboundHeaderOutput { + return i.ToNetworkInsightsAnalysisForwardPathComponentInboundHeaderOutputWithContext(context.Background()) } -func (i NetworkInsightsAnalysisForwardPathComponentTransitGatewayArgs) ToNetworkInsightsAnalysisForwardPathComponentTransitGatewayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisForwardPathComponentTransitGatewayOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisForwardPathComponentTransitGatewayOutput) +func (i NetworkInsightsAnalysisForwardPathComponentInboundHeaderArgs) ToNetworkInsightsAnalysisForwardPathComponentInboundHeaderOutputWithContext(ctx context.Context) NetworkInsightsAnalysisForwardPathComponentInboundHeaderOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisForwardPathComponentInboundHeaderOutput) } -// NetworkInsightsAnalysisForwardPathComponentTransitGatewayArrayInput is an input type that accepts NetworkInsightsAnalysisForwardPathComponentTransitGatewayArray and NetworkInsightsAnalysisForwardPathComponentTransitGatewayArrayOutput values. -// You can construct a concrete instance of `NetworkInsightsAnalysisForwardPathComponentTransitGatewayArrayInput` via: +// NetworkInsightsAnalysisForwardPathComponentInboundHeaderArrayInput is an input type that accepts NetworkInsightsAnalysisForwardPathComponentInboundHeaderArray and NetworkInsightsAnalysisForwardPathComponentInboundHeaderArrayOutput values. +// You can construct a concrete instance of `NetworkInsightsAnalysisForwardPathComponentInboundHeaderArrayInput` via: // -// NetworkInsightsAnalysisForwardPathComponentTransitGatewayArray{ NetworkInsightsAnalysisForwardPathComponentTransitGatewayArgs{...} } -type NetworkInsightsAnalysisForwardPathComponentTransitGatewayArrayInput interface { +// NetworkInsightsAnalysisForwardPathComponentInboundHeaderArray{ NetworkInsightsAnalysisForwardPathComponentInboundHeaderArgs{...} } +type NetworkInsightsAnalysisForwardPathComponentInboundHeaderArrayInput interface { pulumi.Input - ToNetworkInsightsAnalysisForwardPathComponentTransitGatewayArrayOutput() NetworkInsightsAnalysisForwardPathComponentTransitGatewayArrayOutput - ToNetworkInsightsAnalysisForwardPathComponentTransitGatewayArrayOutputWithContext(context.Context) NetworkInsightsAnalysisForwardPathComponentTransitGatewayArrayOutput + ToNetworkInsightsAnalysisForwardPathComponentInboundHeaderArrayOutput() NetworkInsightsAnalysisForwardPathComponentInboundHeaderArrayOutput + ToNetworkInsightsAnalysisForwardPathComponentInboundHeaderArrayOutputWithContext(context.Context) NetworkInsightsAnalysisForwardPathComponentInboundHeaderArrayOutput } -type NetworkInsightsAnalysisForwardPathComponentTransitGatewayArray []NetworkInsightsAnalysisForwardPathComponentTransitGatewayInput +type NetworkInsightsAnalysisForwardPathComponentInboundHeaderArray []NetworkInsightsAnalysisForwardPathComponentInboundHeaderInput -func (NetworkInsightsAnalysisForwardPathComponentTransitGatewayArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]NetworkInsightsAnalysisForwardPathComponentTransitGateway)(nil)).Elem() +func (NetworkInsightsAnalysisForwardPathComponentInboundHeaderArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkInsightsAnalysisForwardPathComponentInboundHeader)(nil)).Elem() } -func (i NetworkInsightsAnalysisForwardPathComponentTransitGatewayArray) ToNetworkInsightsAnalysisForwardPathComponentTransitGatewayArrayOutput() NetworkInsightsAnalysisForwardPathComponentTransitGatewayArrayOutput { - return i.ToNetworkInsightsAnalysisForwardPathComponentTransitGatewayArrayOutputWithContext(context.Background()) +func (i NetworkInsightsAnalysisForwardPathComponentInboundHeaderArray) ToNetworkInsightsAnalysisForwardPathComponentInboundHeaderArrayOutput() NetworkInsightsAnalysisForwardPathComponentInboundHeaderArrayOutput { + return i.ToNetworkInsightsAnalysisForwardPathComponentInboundHeaderArrayOutputWithContext(context.Background()) } -func (i NetworkInsightsAnalysisForwardPathComponentTransitGatewayArray) ToNetworkInsightsAnalysisForwardPathComponentTransitGatewayArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisForwardPathComponentTransitGatewayArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisForwardPathComponentTransitGatewayArrayOutput) +func (i NetworkInsightsAnalysisForwardPathComponentInboundHeaderArray) ToNetworkInsightsAnalysisForwardPathComponentInboundHeaderArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisForwardPathComponentInboundHeaderArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisForwardPathComponentInboundHeaderArrayOutput) } -type NetworkInsightsAnalysisForwardPathComponentTransitGatewayOutput struct{ *pulumi.OutputState } +type NetworkInsightsAnalysisForwardPathComponentInboundHeaderOutput struct{ *pulumi.OutputState } -func (NetworkInsightsAnalysisForwardPathComponentTransitGatewayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkInsightsAnalysisForwardPathComponentTransitGateway)(nil)).Elem() +func (NetworkInsightsAnalysisForwardPathComponentInboundHeaderOutput) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInsightsAnalysisForwardPathComponentInboundHeader)(nil)).Elem() } -func (o NetworkInsightsAnalysisForwardPathComponentTransitGatewayOutput) ToNetworkInsightsAnalysisForwardPathComponentTransitGatewayOutput() NetworkInsightsAnalysisForwardPathComponentTransitGatewayOutput { +func (o NetworkInsightsAnalysisForwardPathComponentInboundHeaderOutput) ToNetworkInsightsAnalysisForwardPathComponentInboundHeaderOutput() NetworkInsightsAnalysisForwardPathComponentInboundHeaderOutput { return o } -func (o NetworkInsightsAnalysisForwardPathComponentTransitGatewayOutput) ToNetworkInsightsAnalysisForwardPathComponentTransitGatewayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisForwardPathComponentTransitGatewayOutput { +func (o NetworkInsightsAnalysisForwardPathComponentInboundHeaderOutput) ToNetworkInsightsAnalysisForwardPathComponentInboundHeaderOutputWithContext(ctx context.Context) NetworkInsightsAnalysisForwardPathComponentInboundHeaderOutput { return o } -// ARN of the Network Insights Analysis. -func (o NetworkInsightsAnalysisForwardPathComponentTransitGatewayOutput) Arn() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponentTransitGateway) *string { return v.Arn }).(pulumi.StringPtrOutput) +func (o NetworkInsightsAnalysisForwardPathComponentInboundHeaderOutput) DestinationAddresses() pulumi.StringArrayOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponentInboundHeader) []string { + return v.DestinationAddresses + }).(pulumi.StringArrayOutput) } -// ID of the Network Insights Analysis. -func (o NetworkInsightsAnalysisForwardPathComponentTransitGatewayOutput) Id() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponentTransitGateway) *string { return v.Id }).(pulumi.StringPtrOutput) +func (o NetworkInsightsAnalysisForwardPathComponentInboundHeaderOutput) DestinationPortRanges() NetworkInsightsAnalysisForwardPathComponentInboundHeaderDestinationPortRangeArrayOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponentInboundHeader) []NetworkInsightsAnalysisForwardPathComponentInboundHeaderDestinationPortRange { + return v.DestinationPortRanges + }).(NetworkInsightsAnalysisForwardPathComponentInboundHeaderDestinationPortRangeArrayOutput) } -func (o NetworkInsightsAnalysisForwardPathComponentTransitGatewayOutput) Name() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponentTransitGateway) *string { return v.Name }).(pulumi.StringPtrOutput) +func (o NetworkInsightsAnalysisForwardPathComponentInboundHeaderOutput) Protocol() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponentInboundHeader) *string { return v.Protocol }).(pulumi.StringPtrOutput) } -type NetworkInsightsAnalysisForwardPathComponentTransitGatewayArrayOutput struct{ *pulumi.OutputState } - -func (NetworkInsightsAnalysisForwardPathComponentTransitGatewayArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]NetworkInsightsAnalysisForwardPathComponentTransitGateway)(nil)).Elem() +func (o NetworkInsightsAnalysisForwardPathComponentInboundHeaderOutput) SourceAddresses() pulumi.StringArrayOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponentInboundHeader) []string { return v.SourceAddresses }).(pulumi.StringArrayOutput) } -func (o NetworkInsightsAnalysisForwardPathComponentTransitGatewayArrayOutput) ToNetworkInsightsAnalysisForwardPathComponentTransitGatewayArrayOutput() NetworkInsightsAnalysisForwardPathComponentTransitGatewayArrayOutput { - return o +func (o NetworkInsightsAnalysisForwardPathComponentInboundHeaderOutput) SourcePortRanges() NetworkInsightsAnalysisForwardPathComponentInboundHeaderSourcePortRangeArrayOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponentInboundHeader) []NetworkInsightsAnalysisForwardPathComponentInboundHeaderSourcePortRange { + return v.SourcePortRanges + }).(NetworkInsightsAnalysisForwardPathComponentInboundHeaderSourcePortRangeArrayOutput) } -func (o NetworkInsightsAnalysisForwardPathComponentTransitGatewayArrayOutput) ToNetworkInsightsAnalysisForwardPathComponentTransitGatewayArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisForwardPathComponentTransitGatewayArrayOutput { - return o -} - -func (o NetworkInsightsAnalysisForwardPathComponentTransitGatewayArrayOutput) Index(i pulumi.IntInput) NetworkInsightsAnalysisForwardPathComponentTransitGatewayOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkInsightsAnalysisForwardPathComponentTransitGateway { - return vs[0].([]NetworkInsightsAnalysisForwardPathComponentTransitGateway)[vs[1].(int)] - }).(NetworkInsightsAnalysisForwardPathComponentTransitGatewayOutput) -} - -type NetworkInsightsAnalysisForwardPathComponentTransitGatewayRouteTableRoute struct { - AttachmentId *string `pulumi:"attachmentId"` - DestinationCidr *string `pulumi:"destinationCidr"` - PrefixListId *string `pulumi:"prefixListId"` - ResourceId *string `pulumi:"resourceId"` - ResourceType *string `pulumi:"resourceType"` - RouteOrigin *string `pulumi:"routeOrigin"` - State *string `pulumi:"state"` -} - -// NetworkInsightsAnalysisForwardPathComponentTransitGatewayRouteTableRouteInput is an input type that accepts NetworkInsightsAnalysisForwardPathComponentTransitGatewayRouteTableRouteArgs and NetworkInsightsAnalysisForwardPathComponentTransitGatewayRouteTableRouteOutput values. -// You can construct a concrete instance of `NetworkInsightsAnalysisForwardPathComponentTransitGatewayRouteTableRouteInput` via: -// -// NetworkInsightsAnalysisForwardPathComponentTransitGatewayRouteTableRouteArgs{...} -type NetworkInsightsAnalysisForwardPathComponentTransitGatewayRouteTableRouteInput interface { - pulumi.Input +type NetworkInsightsAnalysisForwardPathComponentInboundHeaderArrayOutput struct{ *pulumi.OutputState } - ToNetworkInsightsAnalysisForwardPathComponentTransitGatewayRouteTableRouteOutput() NetworkInsightsAnalysisForwardPathComponentTransitGatewayRouteTableRouteOutput - ToNetworkInsightsAnalysisForwardPathComponentTransitGatewayRouteTableRouteOutputWithContext(context.Context) NetworkInsightsAnalysisForwardPathComponentTransitGatewayRouteTableRouteOutput +func (NetworkInsightsAnalysisForwardPathComponentInboundHeaderArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkInsightsAnalysisForwardPathComponentInboundHeader)(nil)).Elem() } -type NetworkInsightsAnalysisForwardPathComponentTransitGatewayRouteTableRouteArgs struct { - AttachmentId pulumi.StringPtrInput `pulumi:"attachmentId"` - DestinationCidr pulumi.StringPtrInput `pulumi:"destinationCidr"` - PrefixListId pulumi.StringPtrInput `pulumi:"prefixListId"` - ResourceId pulumi.StringPtrInput `pulumi:"resourceId"` - ResourceType pulumi.StringPtrInput `pulumi:"resourceType"` - RouteOrigin pulumi.StringPtrInput `pulumi:"routeOrigin"` - State pulumi.StringPtrInput `pulumi:"state"` +func (o NetworkInsightsAnalysisForwardPathComponentInboundHeaderArrayOutput) ToNetworkInsightsAnalysisForwardPathComponentInboundHeaderArrayOutput() NetworkInsightsAnalysisForwardPathComponentInboundHeaderArrayOutput { + return o } -func (NetworkInsightsAnalysisForwardPathComponentTransitGatewayRouteTableRouteArgs) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkInsightsAnalysisForwardPathComponentTransitGatewayRouteTableRoute)(nil)).Elem() +func (o NetworkInsightsAnalysisForwardPathComponentInboundHeaderArrayOutput) ToNetworkInsightsAnalysisForwardPathComponentInboundHeaderArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisForwardPathComponentInboundHeaderArrayOutput { + return o } -func (i NetworkInsightsAnalysisForwardPathComponentTransitGatewayRouteTableRouteArgs) ToNetworkInsightsAnalysisForwardPathComponentTransitGatewayRouteTableRouteOutput() NetworkInsightsAnalysisForwardPathComponentTransitGatewayRouteTableRouteOutput { - return i.ToNetworkInsightsAnalysisForwardPathComponentTransitGatewayRouteTableRouteOutputWithContext(context.Background()) +func (o NetworkInsightsAnalysisForwardPathComponentInboundHeaderArrayOutput) Index(i pulumi.IntInput) NetworkInsightsAnalysisForwardPathComponentInboundHeaderOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkInsightsAnalysisForwardPathComponentInboundHeader { + return vs[0].([]NetworkInsightsAnalysisForwardPathComponentInboundHeader)[vs[1].(int)] + }).(NetworkInsightsAnalysisForwardPathComponentInboundHeaderOutput) } -func (i NetworkInsightsAnalysisForwardPathComponentTransitGatewayRouteTableRouteArgs) ToNetworkInsightsAnalysisForwardPathComponentTransitGatewayRouteTableRouteOutputWithContext(ctx context.Context) NetworkInsightsAnalysisForwardPathComponentTransitGatewayRouteTableRouteOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisForwardPathComponentTransitGatewayRouteTableRouteOutput) +type NetworkInsightsAnalysisForwardPathComponentInboundHeaderDestinationPortRange struct { + From *int `pulumi:"from"` + To *int `pulumi:"to"` } -// NetworkInsightsAnalysisForwardPathComponentTransitGatewayRouteTableRouteArrayInput is an input type that accepts NetworkInsightsAnalysisForwardPathComponentTransitGatewayRouteTableRouteArray and NetworkInsightsAnalysisForwardPathComponentTransitGatewayRouteTableRouteArrayOutput values. -// You can construct a concrete instance of `NetworkInsightsAnalysisForwardPathComponentTransitGatewayRouteTableRouteArrayInput` via: +// NetworkInsightsAnalysisForwardPathComponentInboundHeaderDestinationPortRangeInput is an input type that accepts NetworkInsightsAnalysisForwardPathComponentInboundHeaderDestinationPortRangeArgs and NetworkInsightsAnalysisForwardPathComponentInboundHeaderDestinationPortRangeOutput values. +// You can construct a concrete instance of `NetworkInsightsAnalysisForwardPathComponentInboundHeaderDestinationPortRangeInput` via: // -// NetworkInsightsAnalysisForwardPathComponentTransitGatewayRouteTableRouteArray{ NetworkInsightsAnalysisForwardPathComponentTransitGatewayRouteTableRouteArgs{...} } -type NetworkInsightsAnalysisForwardPathComponentTransitGatewayRouteTableRouteArrayInput interface { +// NetworkInsightsAnalysisForwardPathComponentInboundHeaderDestinationPortRangeArgs{...} +type NetworkInsightsAnalysisForwardPathComponentInboundHeaderDestinationPortRangeInput interface { pulumi.Input - ToNetworkInsightsAnalysisForwardPathComponentTransitGatewayRouteTableRouteArrayOutput() NetworkInsightsAnalysisForwardPathComponentTransitGatewayRouteTableRouteArrayOutput - ToNetworkInsightsAnalysisForwardPathComponentTransitGatewayRouteTableRouteArrayOutputWithContext(context.Context) NetworkInsightsAnalysisForwardPathComponentTransitGatewayRouteTableRouteArrayOutput + ToNetworkInsightsAnalysisForwardPathComponentInboundHeaderDestinationPortRangeOutput() NetworkInsightsAnalysisForwardPathComponentInboundHeaderDestinationPortRangeOutput + ToNetworkInsightsAnalysisForwardPathComponentInboundHeaderDestinationPortRangeOutputWithContext(context.Context) NetworkInsightsAnalysisForwardPathComponentInboundHeaderDestinationPortRangeOutput } -type NetworkInsightsAnalysisForwardPathComponentTransitGatewayRouteTableRouteArray []NetworkInsightsAnalysisForwardPathComponentTransitGatewayRouteTableRouteInput +type NetworkInsightsAnalysisForwardPathComponentInboundHeaderDestinationPortRangeArgs struct { + From pulumi.IntPtrInput `pulumi:"from"` + To pulumi.IntPtrInput `pulumi:"to"` +} -func (NetworkInsightsAnalysisForwardPathComponentTransitGatewayRouteTableRouteArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]NetworkInsightsAnalysisForwardPathComponentTransitGatewayRouteTableRoute)(nil)).Elem() +func (NetworkInsightsAnalysisForwardPathComponentInboundHeaderDestinationPortRangeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInsightsAnalysisForwardPathComponentInboundHeaderDestinationPortRange)(nil)).Elem() } -func (i NetworkInsightsAnalysisForwardPathComponentTransitGatewayRouteTableRouteArray) ToNetworkInsightsAnalysisForwardPathComponentTransitGatewayRouteTableRouteArrayOutput() NetworkInsightsAnalysisForwardPathComponentTransitGatewayRouteTableRouteArrayOutput { - return i.ToNetworkInsightsAnalysisForwardPathComponentTransitGatewayRouteTableRouteArrayOutputWithContext(context.Background()) +func (i NetworkInsightsAnalysisForwardPathComponentInboundHeaderDestinationPortRangeArgs) ToNetworkInsightsAnalysisForwardPathComponentInboundHeaderDestinationPortRangeOutput() NetworkInsightsAnalysisForwardPathComponentInboundHeaderDestinationPortRangeOutput { + return i.ToNetworkInsightsAnalysisForwardPathComponentInboundHeaderDestinationPortRangeOutputWithContext(context.Background()) } -func (i NetworkInsightsAnalysisForwardPathComponentTransitGatewayRouteTableRouteArray) ToNetworkInsightsAnalysisForwardPathComponentTransitGatewayRouteTableRouteArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisForwardPathComponentTransitGatewayRouteTableRouteArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisForwardPathComponentTransitGatewayRouteTableRouteArrayOutput) +func (i NetworkInsightsAnalysisForwardPathComponentInboundHeaderDestinationPortRangeArgs) ToNetworkInsightsAnalysisForwardPathComponentInboundHeaderDestinationPortRangeOutputWithContext(ctx context.Context) NetworkInsightsAnalysisForwardPathComponentInboundHeaderDestinationPortRangeOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisForwardPathComponentInboundHeaderDestinationPortRangeOutput) } -type NetworkInsightsAnalysisForwardPathComponentTransitGatewayRouteTableRouteOutput struct{ *pulumi.OutputState } +// NetworkInsightsAnalysisForwardPathComponentInboundHeaderDestinationPortRangeArrayInput is an input type that accepts NetworkInsightsAnalysisForwardPathComponentInboundHeaderDestinationPortRangeArray and NetworkInsightsAnalysisForwardPathComponentInboundHeaderDestinationPortRangeArrayOutput values. +// You can construct a concrete instance of `NetworkInsightsAnalysisForwardPathComponentInboundHeaderDestinationPortRangeArrayInput` via: +// +// NetworkInsightsAnalysisForwardPathComponentInboundHeaderDestinationPortRangeArray{ NetworkInsightsAnalysisForwardPathComponentInboundHeaderDestinationPortRangeArgs{...} } +type NetworkInsightsAnalysisForwardPathComponentInboundHeaderDestinationPortRangeArrayInput interface { + pulumi.Input -func (NetworkInsightsAnalysisForwardPathComponentTransitGatewayRouteTableRouteOutput) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkInsightsAnalysisForwardPathComponentTransitGatewayRouteTableRoute)(nil)).Elem() + ToNetworkInsightsAnalysisForwardPathComponentInboundHeaderDestinationPortRangeArrayOutput() NetworkInsightsAnalysisForwardPathComponentInboundHeaderDestinationPortRangeArrayOutput + ToNetworkInsightsAnalysisForwardPathComponentInboundHeaderDestinationPortRangeArrayOutputWithContext(context.Context) NetworkInsightsAnalysisForwardPathComponentInboundHeaderDestinationPortRangeArrayOutput } -func (o NetworkInsightsAnalysisForwardPathComponentTransitGatewayRouteTableRouteOutput) ToNetworkInsightsAnalysisForwardPathComponentTransitGatewayRouteTableRouteOutput() NetworkInsightsAnalysisForwardPathComponentTransitGatewayRouteTableRouteOutput { - return o -} +type NetworkInsightsAnalysisForwardPathComponentInboundHeaderDestinationPortRangeArray []NetworkInsightsAnalysisForwardPathComponentInboundHeaderDestinationPortRangeInput -func (o NetworkInsightsAnalysisForwardPathComponentTransitGatewayRouteTableRouteOutput) ToNetworkInsightsAnalysisForwardPathComponentTransitGatewayRouteTableRouteOutputWithContext(ctx context.Context) NetworkInsightsAnalysisForwardPathComponentTransitGatewayRouteTableRouteOutput { - return o +func (NetworkInsightsAnalysisForwardPathComponentInboundHeaderDestinationPortRangeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkInsightsAnalysisForwardPathComponentInboundHeaderDestinationPortRange)(nil)).Elem() } -func (o NetworkInsightsAnalysisForwardPathComponentTransitGatewayRouteTableRouteOutput) AttachmentId() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponentTransitGatewayRouteTableRoute) *string { - return v.AttachmentId - }).(pulumi.StringPtrOutput) +func (i NetworkInsightsAnalysisForwardPathComponentInboundHeaderDestinationPortRangeArray) ToNetworkInsightsAnalysisForwardPathComponentInboundHeaderDestinationPortRangeArrayOutput() NetworkInsightsAnalysisForwardPathComponentInboundHeaderDestinationPortRangeArrayOutput { + return i.ToNetworkInsightsAnalysisForwardPathComponentInboundHeaderDestinationPortRangeArrayOutputWithContext(context.Background()) } -func (o NetworkInsightsAnalysisForwardPathComponentTransitGatewayRouteTableRouteOutput) DestinationCidr() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponentTransitGatewayRouteTableRoute) *string { - return v.DestinationCidr - }).(pulumi.StringPtrOutput) +func (i NetworkInsightsAnalysisForwardPathComponentInboundHeaderDestinationPortRangeArray) ToNetworkInsightsAnalysisForwardPathComponentInboundHeaderDestinationPortRangeArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisForwardPathComponentInboundHeaderDestinationPortRangeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisForwardPathComponentInboundHeaderDestinationPortRangeArrayOutput) } -func (o NetworkInsightsAnalysisForwardPathComponentTransitGatewayRouteTableRouteOutput) PrefixListId() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponentTransitGatewayRouteTableRoute) *string { - return v.PrefixListId - }).(pulumi.StringPtrOutput) +type NetworkInsightsAnalysisForwardPathComponentInboundHeaderDestinationPortRangeOutput struct{ *pulumi.OutputState } + +func (NetworkInsightsAnalysisForwardPathComponentInboundHeaderDestinationPortRangeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInsightsAnalysisForwardPathComponentInboundHeaderDestinationPortRange)(nil)).Elem() } -func (o NetworkInsightsAnalysisForwardPathComponentTransitGatewayRouteTableRouteOutput) ResourceId() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponentTransitGatewayRouteTableRoute) *string { - return v.ResourceId - }).(pulumi.StringPtrOutput) +func (o NetworkInsightsAnalysisForwardPathComponentInboundHeaderDestinationPortRangeOutput) ToNetworkInsightsAnalysisForwardPathComponentInboundHeaderDestinationPortRangeOutput() NetworkInsightsAnalysisForwardPathComponentInboundHeaderDestinationPortRangeOutput { + return o } -func (o NetworkInsightsAnalysisForwardPathComponentTransitGatewayRouteTableRouteOutput) ResourceType() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponentTransitGatewayRouteTableRoute) *string { - return v.ResourceType - }).(pulumi.StringPtrOutput) +func (o NetworkInsightsAnalysisForwardPathComponentInboundHeaderDestinationPortRangeOutput) ToNetworkInsightsAnalysisForwardPathComponentInboundHeaderDestinationPortRangeOutputWithContext(ctx context.Context) NetworkInsightsAnalysisForwardPathComponentInboundHeaderDestinationPortRangeOutput { + return o } -func (o NetworkInsightsAnalysisForwardPathComponentTransitGatewayRouteTableRouteOutput) RouteOrigin() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponentTransitGatewayRouteTableRoute) *string { - return v.RouteOrigin - }).(pulumi.StringPtrOutput) +func (o NetworkInsightsAnalysisForwardPathComponentInboundHeaderDestinationPortRangeOutput) From() pulumi.IntPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponentInboundHeaderDestinationPortRange) *int { + return v.From + }).(pulumi.IntPtrOutput) } -func (o NetworkInsightsAnalysisForwardPathComponentTransitGatewayRouteTableRouteOutput) State() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponentTransitGatewayRouteTableRoute) *string { - return v.State - }).(pulumi.StringPtrOutput) +func (o NetworkInsightsAnalysisForwardPathComponentInboundHeaderDestinationPortRangeOutput) To() pulumi.IntPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponentInboundHeaderDestinationPortRange) *int { return v.To }).(pulumi.IntPtrOutput) } -type NetworkInsightsAnalysisForwardPathComponentTransitGatewayRouteTableRouteArrayOutput struct{ *pulumi.OutputState } +type NetworkInsightsAnalysisForwardPathComponentInboundHeaderDestinationPortRangeArrayOutput struct{ *pulumi.OutputState } -func (NetworkInsightsAnalysisForwardPathComponentTransitGatewayRouteTableRouteArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]NetworkInsightsAnalysisForwardPathComponentTransitGatewayRouteTableRoute)(nil)).Elem() +func (NetworkInsightsAnalysisForwardPathComponentInboundHeaderDestinationPortRangeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkInsightsAnalysisForwardPathComponentInboundHeaderDestinationPortRange)(nil)).Elem() } -func (o NetworkInsightsAnalysisForwardPathComponentTransitGatewayRouteTableRouteArrayOutput) ToNetworkInsightsAnalysisForwardPathComponentTransitGatewayRouteTableRouteArrayOutput() NetworkInsightsAnalysisForwardPathComponentTransitGatewayRouteTableRouteArrayOutput { +func (o NetworkInsightsAnalysisForwardPathComponentInboundHeaderDestinationPortRangeArrayOutput) ToNetworkInsightsAnalysisForwardPathComponentInboundHeaderDestinationPortRangeArrayOutput() NetworkInsightsAnalysisForwardPathComponentInboundHeaderDestinationPortRangeArrayOutput { return o } -func (o NetworkInsightsAnalysisForwardPathComponentTransitGatewayRouteTableRouteArrayOutput) ToNetworkInsightsAnalysisForwardPathComponentTransitGatewayRouteTableRouteArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisForwardPathComponentTransitGatewayRouteTableRouteArrayOutput { +func (o NetworkInsightsAnalysisForwardPathComponentInboundHeaderDestinationPortRangeArrayOutput) ToNetworkInsightsAnalysisForwardPathComponentInboundHeaderDestinationPortRangeArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisForwardPathComponentInboundHeaderDestinationPortRangeArrayOutput { return o } -func (o NetworkInsightsAnalysisForwardPathComponentTransitGatewayRouteTableRouteArrayOutput) Index(i pulumi.IntInput) NetworkInsightsAnalysisForwardPathComponentTransitGatewayRouteTableRouteOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkInsightsAnalysisForwardPathComponentTransitGatewayRouteTableRoute { - return vs[0].([]NetworkInsightsAnalysisForwardPathComponentTransitGatewayRouteTableRoute)[vs[1].(int)] - }).(NetworkInsightsAnalysisForwardPathComponentTransitGatewayRouteTableRouteOutput) +func (o NetworkInsightsAnalysisForwardPathComponentInboundHeaderDestinationPortRangeArrayOutput) Index(i pulumi.IntInput) NetworkInsightsAnalysisForwardPathComponentInboundHeaderDestinationPortRangeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkInsightsAnalysisForwardPathComponentInboundHeaderDestinationPortRange { + return vs[0].([]NetworkInsightsAnalysisForwardPathComponentInboundHeaderDestinationPortRange)[vs[1].(int)] + }).(NetworkInsightsAnalysisForwardPathComponentInboundHeaderDestinationPortRangeOutput) } -type NetworkInsightsAnalysisForwardPathComponentVpc struct { - // ARN of the Network Insights Analysis. - Arn *string `pulumi:"arn"` - // ID of the Network Insights Analysis. - Id *string `pulumi:"id"` - Name *string `pulumi:"name"` +type NetworkInsightsAnalysisForwardPathComponentInboundHeaderSourcePortRange struct { + From *int `pulumi:"from"` + To *int `pulumi:"to"` } -// NetworkInsightsAnalysisForwardPathComponentVpcInput is an input type that accepts NetworkInsightsAnalysisForwardPathComponentVpcArgs and NetworkInsightsAnalysisForwardPathComponentVpcOutput values. -// You can construct a concrete instance of `NetworkInsightsAnalysisForwardPathComponentVpcInput` via: +// NetworkInsightsAnalysisForwardPathComponentInboundHeaderSourcePortRangeInput is an input type that accepts NetworkInsightsAnalysisForwardPathComponentInboundHeaderSourcePortRangeArgs and NetworkInsightsAnalysisForwardPathComponentInboundHeaderSourcePortRangeOutput values. +// You can construct a concrete instance of `NetworkInsightsAnalysisForwardPathComponentInboundHeaderSourcePortRangeInput` via: // -// NetworkInsightsAnalysisForwardPathComponentVpcArgs{...} -type NetworkInsightsAnalysisForwardPathComponentVpcInput interface { +// NetworkInsightsAnalysisForwardPathComponentInboundHeaderSourcePortRangeArgs{...} +type NetworkInsightsAnalysisForwardPathComponentInboundHeaderSourcePortRangeInput interface { pulumi.Input - ToNetworkInsightsAnalysisForwardPathComponentVpcOutput() NetworkInsightsAnalysisForwardPathComponentVpcOutput - ToNetworkInsightsAnalysisForwardPathComponentVpcOutputWithContext(context.Context) NetworkInsightsAnalysisForwardPathComponentVpcOutput + ToNetworkInsightsAnalysisForwardPathComponentInboundHeaderSourcePortRangeOutput() NetworkInsightsAnalysisForwardPathComponentInboundHeaderSourcePortRangeOutput + ToNetworkInsightsAnalysisForwardPathComponentInboundHeaderSourcePortRangeOutputWithContext(context.Context) NetworkInsightsAnalysisForwardPathComponentInboundHeaderSourcePortRangeOutput } -type NetworkInsightsAnalysisForwardPathComponentVpcArgs struct { - // ARN of the Network Insights Analysis. - Arn pulumi.StringPtrInput `pulumi:"arn"` - // ID of the Network Insights Analysis. - Id pulumi.StringPtrInput `pulumi:"id"` - Name pulumi.StringPtrInput `pulumi:"name"` +type NetworkInsightsAnalysisForwardPathComponentInboundHeaderSourcePortRangeArgs struct { + From pulumi.IntPtrInput `pulumi:"from"` + To pulumi.IntPtrInput `pulumi:"to"` } -func (NetworkInsightsAnalysisForwardPathComponentVpcArgs) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkInsightsAnalysisForwardPathComponentVpc)(nil)).Elem() +func (NetworkInsightsAnalysisForwardPathComponentInboundHeaderSourcePortRangeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInsightsAnalysisForwardPathComponentInboundHeaderSourcePortRange)(nil)).Elem() } -func (i NetworkInsightsAnalysisForwardPathComponentVpcArgs) ToNetworkInsightsAnalysisForwardPathComponentVpcOutput() NetworkInsightsAnalysisForwardPathComponentVpcOutput { - return i.ToNetworkInsightsAnalysisForwardPathComponentVpcOutputWithContext(context.Background()) +func (i NetworkInsightsAnalysisForwardPathComponentInboundHeaderSourcePortRangeArgs) ToNetworkInsightsAnalysisForwardPathComponentInboundHeaderSourcePortRangeOutput() NetworkInsightsAnalysisForwardPathComponentInboundHeaderSourcePortRangeOutput { + return i.ToNetworkInsightsAnalysisForwardPathComponentInboundHeaderSourcePortRangeOutputWithContext(context.Background()) } -func (i NetworkInsightsAnalysisForwardPathComponentVpcArgs) ToNetworkInsightsAnalysisForwardPathComponentVpcOutputWithContext(ctx context.Context) NetworkInsightsAnalysisForwardPathComponentVpcOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisForwardPathComponentVpcOutput) +func (i NetworkInsightsAnalysisForwardPathComponentInboundHeaderSourcePortRangeArgs) ToNetworkInsightsAnalysisForwardPathComponentInboundHeaderSourcePortRangeOutputWithContext(ctx context.Context) NetworkInsightsAnalysisForwardPathComponentInboundHeaderSourcePortRangeOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisForwardPathComponentInboundHeaderSourcePortRangeOutput) } -// NetworkInsightsAnalysisForwardPathComponentVpcArrayInput is an input type that accepts NetworkInsightsAnalysisForwardPathComponentVpcArray and NetworkInsightsAnalysisForwardPathComponentVpcArrayOutput values. -// You can construct a concrete instance of `NetworkInsightsAnalysisForwardPathComponentVpcArrayInput` via: +// NetworkInsightsAnalysisForwardPathComponentInboundHeaderSourcePortRangeArrayInput is an input type that accepts NetworkInsightsAnalysisForwardPathComponentInboundHeaderSourcePortRangeArray and NetworkInsightsAnalysisForwardPathComponentInboundHeaderSourcePortRangeArrayOutput values. +// You can construct a concrete instance of `NetworkInsightsAnalysisForwardPathComponentInboundHeaderSourcePortRangeArrayInput` via: // -// NetworkInsightsAnalysisForwardPathComponentVpcArray{ NetworkInsightsAnalysisForwardPathComponentVpcArgs{...} } -type NetworkInsightsAnalysisForwardPathComponentVpcArrayInput interface { +// NetworkInsightsAnalysisForwardPathComponentInboundHeaderSourcePortRangeArray{ NetworkInsightsAnalysisForwardPathComponentInboundHeaderSourcePortRangeArgs{...} } +type NetworkInsightsAnalysisForwardPathComponentInboundHeaderSourcePortRangeArrayInput interface { pulumi.Input - ToNetworkInsightsAnalysisForwardPathComponentVpcArrayOutput() NetworkInsightsAnalysisForwardPathComponentVpcArrayOutput - ToNetworkInsightsAnalysisForwardPathComponentVpcArrayOutputWithContext(context.Context) NetworkInsightsAnalysisForwardPathComponentVpcArrayOutput + ToNetworkInsightsAnalysisForwardPathComponentInboundHeaderSourcePortRangeArrayOutput() NetworkInsightsAnalysisForwardPathComponentInboundHeaderSourcePortRangeArrayOutput + ToNetworkInsightsAnalysisForwardPathComponentInboundHeaderSourcePortRangeArrayOutputWithContext(context.Context) NetworkInsightsAnalysisForwardPathComponentInboundHeaderSourcePortRangeArrayOutput } -type NetworkInsightsAnalysisForwardPathComponentVpcArray []NetworkInsightsAnalysisForwardPathComponentVpcInput +type NetworkInsightsAnalysisForwardPathComponentInboundHeaderSourcePortRangeArray []NetworkInsightsAnalysisForwardPathComponentInboundHeaderSourcePortRangeInput -func (NetworkInsightsAnalysisForwardPathComponentVpcArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]NetworkInsightsAnalysisForwardPathComponentVpc)(nil)).Elem() +func (NetworkInsightsAnalysisForwardPathComponentInboundHeaderSourcePortRangeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkInsightsAnalysisForwardPathComponentInboundHeaderSourcePortRange)(nil)).Elem() } -func (i NetworkInsightsAnalysisForwardPathComponentVpcArray) ToNetworkInsightsAnalysisForwardPathComponentVpcArrayOutput() NetworkInsightsAnalysisForwardPathComponentVpcArrayOutput { - return i.ToNetworkInsightsAnalysisForwardPathComponentVpcArrayOutputWithContext(context.Background()) +func (i NetworkInsightsAnalysisForwardPathComponentInboundHeaderSourcePortRangeArray) ToNetworkInsightsAnalysisForwardPathComponentInboundHeaderSourcePortRangeArrayOutput() NetworkInsightsAnalysisForwardPathComponentInboundHeaderSourcePortRangeArrayOutput { + return i.ToNetworkInsightsAnalysisForwardPathComponentInboundHeaderSourcePortRangeArrayOutputWithContext(context.Background()) } -func (i NetworkInsightsAnalysisForwardPathComponentVpcArray) ToNetworkInsightsAnalysisForwardPathComponentVpcArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisForwardPathComponentVpcArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisForwardPathComponentVpcArrayOutput) +func (i NetworkInsightsAnalysisForwardPathComponentInboundHeaderSourcePortRangeArray) ToNetworkInsightsAnalysisForwardPathComponentInboundHeaderSourcePortRangeArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisForwardPathComponentInboundHeaderSourcePortRangeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisForwardPathComponentInboundHeaderSourcePortRangeArrayOutput) } -type NetworkInsightsAnalysisForwardPathComponentVpcOutput struct{ *pulumi.OutputState } +type NetworkInsightsAnalysisForwardPathComponentInboundHeaderSourcePortRangeOutput struct{ *pulumi.OutputState } -func (NetworkInsightsAnalysisForwardPathComponentVpcOutput) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkInsightsAnalysisForwardPathComponentVpc)(nil)).Elem() +func (NetworkInsightsAnalysisForwardPathComponentInboundHeaderSourcePortRangeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInsightsAnalysisForwardPathComponentInboundHeaderSourcePortRange)(nil)).Elem() } -func (o NetworkInsightsAnalysisForwardPathComponentVpcOutput) ToNetworkInsightsAnalysisForwardPathComponentVpcOutput() NetworkInsightsAnalysisForwardPathComponentVpcOutput { +func (o NetworkInsightsAnalysisForwardPathComponentInboundHeaderSourcePortRangeOutput) ToNetworkInsightsAnalysisForwardPathComponentInboundHeaderSourcePortRangeOutput() NetworkInsightsAnalysisForwardPathComponentInboundHeaderSourcePortRangeOutput { return o } -func (o NetworkInsightsAnalysisForwardPathComponentVpcOutput) ToNetworkInsightsAnalysisForwardPathComponentVpcOutputWithContext(ctx context.Context) NetworkInsightsAnalysisForwardPathComponentVpcOutput { +func (o NetworkInsightsAnalysisForwardPathComponentInboundHeaderSourcePortRangeOutput) ToNetworkInsightsAnalysisForwardPathComponentInboundHeaderSourcePortRangeOutputWithContext(ctx context.Context) NetworkInsightsAnalysisForwardPathComponentInboundHeaderSourcePortRangeOutput { return o } -// ARN of the Network Insights Analysis. -func (o NetworkInsightsAnalysisForwardPathComponentVpcOutput) Arn() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponentVpc) *string { return v.Arn }).(pulumi.StringPtrOutput) -} - -// ID of the Network Insights Analysis. -func (o NetworkInsightsAnalysisForwardPathComponentVpcOutput) Id() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponentVpc) *string { return v.Id }).(pulumi.StringPtrOutput) +func (o NetworkInsightsAnalysisForwardPathComponentInboundHeaderSourcePortRangeOutput) From() pulumi.IntPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponentInboundHeaderSourcePortRange) *int { return v.From }).(pulumi.IntPtrOutput) } -func (o NetworkInsightsAnalysisForwardPathComponentVpcOutput) Name() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponentVpc) *string { return v.Name }).(pulumi.StringPtrOutput) +func (o NetworkInsightsAnalysisForwardPathComponentInboundHeaderSourcePortRangeOutput) To() pulumi.IntPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponentInboundHeaderSourcePortRange) *int { return v.To }).(pulumi.IntPtrOutput) } -type NetworkInsightsAnalysisForwardPathComponentVpcArrayOutput struct{ *pulumi.OutputState } +type NetworkInsightsAnalysisForwardPathComponentInboundHeaderSourcePortRangeArrayOutput struct{ *pulumi.OutputState } -func (NetworkInsightsAnalysisForwardPathComponentVpcArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]NetworkInsightsAnalysisForwardPathComponentVpc)(nil)).Elem() +func (NetworkInsightsAnalysisForwardPathComponentInboundHeaderSourcePortRangeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkInsightsAnalysisForwardPathComponentInboundHeaderSourcePortRange)(nil)).Elem() } -func (o NetworkInsightsAnalysisForwardPathComponentVpcArrayOutput) ToNetworkInsightsAnalysisForwardPathComponentVpcArrayOutput() NetworkInsightsAnalysisForwardPathComponentVpcArrayOutput { +func (o NetworkInsightsAnalysisForwardPathComponentInboundHeaderSourcePortRangeArrayOutput) ToNetworkInsightsAnalysisForwardPathComponentInboundHeaderSourcePortRangeArrayOutput() NetworkInsightsAnalysisForwardPathComponentInboundHeaderSourcePortRangeArrayOutput { return o } -func (o NetworkInsightsAnalysisForwardPathComponentVpcArrayOutput) ToNetworkInsightsAnalysisForwardPathComponentVpcArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisForwardPathComponentVpcArrayOutput { +func (o NetworkInsightsAnalysisForwardPathComponentInboundHeaderSourcePortRangeArrayOutput) ToNetworkInsightsAnalysisForwardPathComponentInboundHeaderSourcePortRangeArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisForwardPathComponentInboundHeaderSourcePortRangeArrayOutput { return o } -func (o NetworkInsightsAnalysisForwardPathComponentVpcArrayOutput) Index(i pulumi.IntInput) NetworkInsightsAnalysisForwardPathComponentVpcOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkInsightsAnalysisForwardPathComponentVpc { - return vs[0].([]NetworkInsightsAnalysisForwardPathComponentVpc)[vs[1].(int)] - }).(NetworkInsightsAnalysisForwardPathComponentVpcOutput) +func (o NetworkInsightsAnalysisForwardPathComponentInboundHeaderSourcePortRangeArrayOutput) Index(i pulumi.IntInput) NetworkInsightsAnalysisForwardPathComponentInboundHeaderSourcePortRangeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkInsightsAnalysisForwardPathComponentInboundHeaderSourcePortRange { + return vs[0].([]NetworkInsightsAnalysisForwardPathComponentInboundHeaderSourcePortRange)[vs[1].(int)] + }).(NetworkInsightsAnalysisForwardPathComponentInboundHeaderSourcePortRangeOutput) } -type NetworkInsightsAnalysisReturnPathComponent struct { - AclRules []NetworkInsightsAnalysisReturnPathComponentAclRule `pulumi:"aclRules"` - AdditionalDetails []NetworkInsightsAnalysisReturnPathComponentAdditionalDetail `pulumi:"additionalDetails"` - AttachedTos []NetworkInsightsAnalysisReturnPathComponentAttachedTo `pulumi:"attachedTos"` - Components []NetworkInsightsAnalysisReturnPathComponentComponent `pulumi:"components"` - DestinationVpcs []NetworkInsightsAnalysisReturnPathComponentDestinationVpc `pulumi:"destinationVpcs"` - InboundHeaders []NetworkInsightsAnalysisReturnPathComponentInboundHeader `pulumi:"inboundHeaders"` - OutboundHeaders []NetworkInsightsAnalysisReturnPathComponentOutboundHeader `pulumi:"outboundHeaders"` - RouteTableRoutes []NetworkInsightsAnalysisReturnPathComponentRouteTableRoute `pulumi:"routeTableRoutes"` - SecurityGroupRules []NetworkInsightsAnalysisReturnPathComponentSecurityGroupRule `pulumi:"securityGroupRules"` - SequenceNumber *int `pulumi:"sequenceNumber"` - SourceVpcs []NetworkInsightsAnalysisReturnPathComponentSourceVpc `pulumi:"sourceVpcs"` - Subnets []NetworkInsightsAnalysisReturnPathComponentSubnet `pulumi:"subnets"` - TransitGatewayRouteTableRoutes []NetworkInsightsAnalysisReturnPathComponentTransitGatewayRouteTableRoute `pulumi:"transitGatewayRouteTableRoutes"` - TransitGateways []NetworkInsightsAnalysisReturnPathComponentTransitGateway `pulumi:"transitGateways"` - Vpcs []NetworkInsightsAnalysisReturnPathComponentVpc `pulumi:"vpcs"` +type NetworkInsightsAnalysisForwardPathComponentOutboundHeader struct { + DestinationAddresses []string `pulumi:"destinationAddresses"` + DestinationPortRanges []NetworkInsightsAnalysisForwardPathComponentOutboundHeaderDestinationPortRange `pulumi:"destinationPortRanges"` + Protocol *string `pulumi:"protocol"` + SourceAddresses []string `pulumi:"sourceAddresses"` + SourcePortRanges []NetworkInsightsAnalysisForwardPathComponentOutboundHeaderSourcePortRange `pulumi:"sourcePortRanges"` } -// NetworkInsightsAnalysisReturnPathComponentInput is an input type that accepts NetworkInsightsAnalysisReturnPathComponentArgs and NetworkInsightsAnalysisReturnPathComponentOutput values. -// You can construct a concrete instance of `NetworkInsightsAnalysisReturnPathComponentInput` via: +// NetworkInsightsAnalysisForwardPathComponentOutboundHeaderInput is an input type that accepts NetworkInsightsAnalysisForwardPathComponentOutboundHeaderArgs and NetworkInsightsAnalysisForwardPathComponentOutboundHeaderOutput values. +// You can construct a concrete instance of `NetworkInsightsAnalysisForwardPathComponentOutboundHeaderInput` via: // -// NetworkInsightsAnalysisReturnPathComponentArgs{...} -type NetworkInsightsAnalysisReturnPathComponentInput interface { +// NetworkInsightsAnalysisForwardPathComponentOutboundHeaderArgs{...} +type NetworkInsightsAnalysisForwardPathComponentOutboundHeaderInput interface { pulumi.Input - ToNetworkInsightsAnalysisReturnPathComponentOutput() NetworkInsightsAnalysisReturnPathComponentOutput - ToNetworkInsightsAnalysisReturnPathComponentOutputWithContext(context.Context) NetworkInsightsAnalysisReturnPathComponentOutput + ToNetworkInsightsAnalysisForwardPathComponentOutboundHeaderOutput() NetworkInsightsAnalysisForwardPathComponentOutboundHeaderOutput + ToNetworkInsightsAnalysisForwardPathComponentOutboundHeaderOutputWithContext(context.Context) NetworkInsightsAnalysisForwardPathComponentOutboundHeaderOutput } -type NetworkInsightsAnalysisReturnPathComponentArgs struct { - AclRules NetworkInsightsAnalysisReturnPathComponentAclRuleArrayInput `pulumi:"aclRules"` - AdditionalDetails NetworkInsightsAnalysisReturnPathComponentAdditionalDetailArrayInput `pulumi:"additionalDetails"` - AttachedTos NetworkInsightsAnalysisReturnPathComponentAttachedToArrayInput `pulumi:"attachedTos"` - Components NetworkInsightsAnalysisReturnPathComponentComponentArrayInput `pulumi:"components"` - DestinationVpcs NetworkInsightsAnalysisReturnPathComponentDestinationVpcArrayInput `pulumi:"destinationVpcs"` - InboundHeaders NetworkInsightsAnalysisReturnPathComponentInboundHeaderArrayInput `pulumi:"inboundHeaders"` - OutboundHeaders NetworkInsightsAnalysisReturnPathComponentOutboundHeaderArrayInput `pulumi:"outboundHeaders"` - RouteTableRoutes NetworkInsightsAnalysisReturnPathComponentRouteTableRouteArrayInput `pulumi:"routeTableRoutes"` - SecurityGroupRules NetworkInsightsAnalysisReturnPathComponentSecurityGroupRuleArrayInput `pulumi:"securityGroupRules"` - SequenceNumber pulumi.IntPtrInput `pulumi:"sequenceNumber"` - SourceVpcs NetworkInsightsAnalysisReturnPathComponentSourceVpcArrayInput `pulumi:"sourceVpcs"` - Subnets NetworkInsightsAnalysisReturnPathComponentSubnetArrayInput `pulumi:"subnets"` - TransitGatewayRouteTableRoutes NetworkInsightsAnalysisReturnPathComponentTransitGatewayRouteTableRouteArrayInput `pulumi:"transitGatewayRouteTableRoutes"` - TransitGateways NetworkInsightsAnalysisReturnPathComponentTransitGatewayArrayInput `pulumi:"transitGateways"` - Vpcs NetworkInsightsAnalysisReturnPathComponentVpcArrayInput `pulumi:"vpcs"` +type NetworkInsightsAnalysisForwardPathComponentOutboundHeaderArgs struct { + DestinationAddresses pulumi.StringArrayInput `pulumi:"destinationAddresses"` + DestinationPortRanges NetworkInsightsAnalysisForwardPathComponentOutboundHeaderDestinationPortRangeArrayInput `pulumi:"destinationPortRanges"` + Protocol pulumi.StringPtrInput `pulumi:"protocol"` + SourceAddresses pulumi.StringArrayInput `pulumi:"sourceAddresses"` + SourcePortRanges NetworkInsightsAnalysisForwardPathComponentOutboundHeaderSourcePortRangeArrayInput `pulumi:"sourcePortRanges"` } -func (NetworkInsightsAnalysisReturnPathComponentArgs) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkInsightsAnalysisReturnPathComponent)(nil)).Elem() +func (NetworkInsightsAnalysisForwardPathComponentOutboundHeaderArgs) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInsightsAnalysisForwardPathComponentOutboundHeader)(nil)).Elem() } -func (i NetworkInsightsAnalysisReturnPathComponentArgs) ToNetworkInsightsAnalysisReturnPathComponentOutput() NetworkInsightsAnalysisReturnPathComponentOutput { - return i.ToNetworkInsightsAnalysisReturnPathComponentOutputWithContext(context.Background()) +func (i NetworkInsightsAnalysisForwardPathComponentOutboundHeaderArgs) ToNetworkInsightsAnalysisForwardPathComponentOutboundHeaderOutput() NetworkInsightsAnalysisForwardPathComponentOutboundHeaderOutput { + return i.ToNetworkInsightsAnalysisForwardPathComponentOutboundHeaderOutputWithContext(context.Background()) } -func (i NetworkInsightsAnalysisReturnPathComponentArgs) ToNetworkInsightsAnalysisReturnPathComponentOutputWithContext(ctx context.Context) NetworkInsightsAnalysisReturnPathComponentOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisReturnPathComponentOutput) +func (i NetworkInsightsAnalysisForwardPathComponentOutboundHeaderArgs) ToNetworkInsightsAnalysisForwardPathComponentOutboundHeaderOutputWithContext(ctx context.Context) NetworkInsightsAnalysisForwardPathComponentOutboundHeaderOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisForwardPathComponentOutboundHeaderOutput) } -// NetworkInsightsAnalysisReturnPathComponentArrayInput is an input type that accepts NetworkInsightsAnalysisReturnPathComponentArray and NetworkInsightsAnalysisReturnPathComponentArrayOutput values. -// You can construct a concrete instance of `NetworkInsightsAnalysisReturnPathComponentArrayInput` via: +// NetworkInsightsAnalysisForwardPathComponentOutboundHeaderArrayInput is an input type that accepts NetworkInsightsAnalysisForwardPathComponentOutboundHeaderArray and NetworkInsightsAnalysisForwardPathComponentOutboundHeaderArrayOutput values. +// You can construct a concrete instance of `NetworkInsightsAnalysisForwardPathComponentOutboundHeaderArrayInput` via: // -// NetworkInsightsAnalysisReturnPathComponentArray{ NetworkInsightsAnalysisReturnPathComponentArgs{...} } -type NetworkInsightsAnalysisReturnPathComponentArrayInput interface { +// NetworkInsightsAnalysisForwardPathComponentOutboundHeaderArray{ NetworkInsightsAnalysisForwardPathComponentOutboundHeaderArgs{...} } +type NetworkInsightsAnalysisForwardPathComponentOutboundHeaderArrayInput interface { pulumi.Input - ToNetworkInsightsAnalysisReturnPathComponentArrayOutput() NetworkInsightsAnalysisReturnPathComponentArrayOutput - ToNetworkInsightsAnalysisReturnPathComponentArrayOutputWithContext(context.Context) NetworkInsightsAnalysisReturnPathComponentArrayOutput + ToNetworkInsightsAnalysisForwardPathComponentOutboundHeaderArrayOutput() NetworkInsightsAnalysisForwardPathComponentOutboundHeaderArrayOutput + ToNetworkInsightsAnalysisForwardPathComponentOutboundHeaderArrayOutputWithContext(context.Context) NetworkInsightsAnalysisForwardPathComponentOutboundHeaderArrayOutput } -type NetworkInsightsAnalysisReturnPathComponentArray []NetworkInsightsAnalysisReturnPathComponentInput +type NetworkInsightsAnalysisForwardPathComponentOutboundHeaderArray []NetworkInsightsAnalysisForwardPathComponentOutboundHeaderInput -func (NetworkInsightsAnalysisReturnPathComponentArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]NetworkInsightsAnalysisReturnPathComponent)(nil)).Elem() +func (NetworkInsightsAnalysisForwardPathComponentOutboundHeaderArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkInsightsAnalysisForwardPathComponentOutboundHeader)(nil)).Elem() } -func (i NetworkInsightsAnalysisReturnPathComponentArray) ToNetworkInsightsAnalysisReturnPathComponentArrayOutput() NetworkInsightsAnalysisReturnPathComponentArrayOutput { - return i.ToNetworkInsightsAnalysisReturnPathComponentArrayOutputWithContext(context.Background()) +func (i NetworkInsightsAnalysisForwardPathComponentOutboundHeaderArray) ToNetworkInsightsAnalysisForwardPathComponentOutboundHeaderArrayOutput() NetworkInsightsAnalysisForwardPathComponentOutboundHeaderArrayOutput { + return i.ToNetworkInsightsAnalysisForwardPathComponentOutboundHeaderArrayOutputWithContext(context.Background()) } -func (i NetworkInsightsAnalysisReturnPathComponentArray) ToNetworkInsightsAnalysisReturnPathComponentArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisReturnPathComponentArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisReturnPathComponentArrayOutput) +func (i NetworkInsightsAnalysisForwardPathComponentOutboundHeaderArray) ToNetworkInsightsAnalysisForwardPathComponentOutboundHeaderArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisForwardPathComponentOutboundHeaderArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisForwardPathComponentOutboundHeaderArrayOutput) } -type NetworkInsightsAnalysisReturnPathComponentOutput struct{ *pulumi.OutputState } +type NetworkInsightsAnalysisForwardPathComponentOutboundHeaderOutput struct{ *pulumi.OutputState } -func (NetworkInsightsAnalysisReturnPathComponentOutput) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkInsightsAnalysisReturnPathComponent)(nil)).Elem() +func (NetworkInsightsAnalysisForwardPathComponentOutboundHeaderOutput) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInsightsAnalysisForwardPathComponentOutboundHeader)(nil)).Elem() } -func (o NetworkInsightsAnalysisReturnPathComponentOutput) ToNetworkInsightsAnalysisReturnPathComponentOutput() NetworkInsightsAnalysisReturnPathComponentOutput { +func (o NetworkInsightsAnalysisForwardPathComponentOutboundHeaderOutput) ToNetworkInsightsAnalysisForwardPathComponentOutboundHeaderOutput() NetworkInsightsAnalysisForwardPathComponentOutboundHeaderOutput { return o } -func (o NetworkInsightsAnalysisReturnPathComponentOutput) ToNetworkInsightsAnalysisReturnPathComponentOutputWithContext(ctx context.Context) NetworkInsightsAnalysisReturnPathComponentOutput { +func (o NetworkInsightsAnalysisForwardPathComponentOutboundHeaderOutput) ToNetworkInsightsAnalysisForwardPathComponentOutboundHeaderOutputWithContext(ctx context.Context) NetworkInsightsAnalysisForwardPathComponentOutboundHeaderOutput { return o } -func (o NetworkInsightsAnalysisReturnPathComponentOutput) AclRules() NetworkInsightsAnalysisReturnPathComponentAclRuleArrayOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponent) []NetworkInsightsAnalysisReturnPathComponentAclRule { - return v.AclRules - }).(NetworkInsightsAnalysisReturnPathComponentAclRuleArrayOutput) +func (o NetworkInsightsAnalysisForwardPathComponentOutboundHeaderOutput) DestinationAddresses() pulumi.StringArrayOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponentOutboundHeader) []string { + return v.DestinationAddresses + }).(pulumi.StringArrayOutput) } -func (o NetworkInsightsAnalysisReturnPathComponentOutput) AdditionalDetails() NetworkInsightsAnalysisReturnPathComponentAdditionalDetailArrayOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponent) []NetworkInsightsAnalysisReturnPathComponentAdditionalDetail { - return v.AdditionalDetails - }).(NetworkInsightsAnalysisReturnPathComponentAdditionalDetailArrayOutput) +func (o NetworkInsightsAnalysisForwardPathComponentOutboundHeaderOutput) DestinationPortRanges() NetworkInsightsAnalysisForwardPathComponentOutboundHeaderDestinationPortRangeArrayOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponentOutboundHeader) []NetworkInsightsAnalysisForwardPathComponentOutboundHeaderDestinationPortRange { + return v.DestinationPortRanges + }).(NetworkInsightsAnalysisForwardPathComponentOutboundHeaderDestinationPortRangeArrayOutput) } -func (o NetworkInsightsAnalysisReturnPathComponentOutput) AttachedTos() NetworkInsightsAnalysisReturnPathComponentAttachedToArrayOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponent) []NetworkInsightsAnalysisReturnPathComponentAttachedTo { - return v.AttachedTos - }).(NetworkInsightsAnalysisReturnPathComponentAttachedToArrayOutput) +func (o NetworkInsightsAnalysisForwardPathComponentOutboundHeaderOutput) Protocol() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponentOutboundHeader) *string { return v.Protocol }).(pulumi.StringPtrOutput) } -func (o NetworkInsightsAnalysisReturnPathComponentOutput) Components() NetworkInsightsAnalysisReturnPathComponentComponentArrayOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponent) []NetworkInsightsAnalysisReturnPathComponentComponent { - return v.Components - }).(NetworkInsightsAnalysisReturnPathComponentComponentArrayOutput) +func (o NetworkInsightsAnalysisForwardPathComponentOutboundHeaderOutput) SourceAddresses() pulumi.StringArrayOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponentOutboundHeader) []string { return v.SourceAddresses }).(pulumi.StringArrayOutput) } -func (o NetworkInsightsAnalysisReturnPathComponentOutput) DestinationVpcs() NetworkInsightsAnalysisReturnPathComponentDestinationVpcArrayOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponent) []NetworkInsightsAnalysisReturnPathComponentDestinationVpc { - return v.DestinationVpcs - }).(NetworkInsightsAnalysisReturnPathComponentDestinationVpcArrayOutput) +func (o NetworkInsightsAnalysisForwardPathComponentOutboundHeaderOutput) SourcePortRanges() NetworkInsightsAnalysisForwardPathComponentOutboundHeaderSourcePortRangeArrayOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponentOutboundHeader) []NetworkInsightsAnalysisForwardPathComponentOutboundHeaderSourcePortRange { + return v.SourcePortRanges + }).(NetworkInsightsAnalysisForwardPathComponentOutboundHeaderSourcePortRangeArrayOutput) } -func (o NetworkInsightsAnalysisReturnPathComponentOutput) InboundHeaders() NetworkInsightsAnalysisReturnPathComponentInboundHeaderArrayOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponent) []NetworkInsightsAnalysisReturnPathComponentInboundHeader { - return v.InboundHeaders - }).(NetworkInsightsAnalysisReturnPathComponentInboundHeaderArrayOutput) +type NetworkInsightsAnalysisForwardPathComponentOutboundHeaderArrayOutput struct{ *pulumi.OutputState } + +func (NetworkInsightsAnalysisForwardPathComponentOutboundHeaderArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkInsightsAnalysisForwardPathComponentOutboundHeader)(nil)).Elem() } -func (o NetworkInsightsAnalysisReturnPathComponentOutput) OutboundHeaders() NetworkInsightsAnalysisReturnPathComponentOutboundHeaderArrayOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponent) []NetworkInsightsAnalysisReturnPathComponentOutboundHeader { - return v.OutboundHeaders - }).(NetworkInsightsAnalysisReturnPathComponentOutboundHeaderArrayOutput) +func (o NetworkInsightsAnalysisForwardPathComponentOutboundHeaderArrayOutput) ToNetworkInsightsAnalysisForwardPathComponentOutboundHeaderArrayOutput() NetworkInsightsAnalysisForwardPathComponentOutboundHeaderArrayOutput { + return o } -func (o NetworkInsightsAnalysisReturnPathComponentOutput) RouteTableRoutes() NetworkInsightsAnalysisReturnPathComponentRouteTableRouteArrayOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponent) []NetworkInsightsAnalysisReturnPathComponentRouteTableRoute { - return v.RouteTableRoutes - }).(NetworkInsightsAnalysisReturnPathComponentRouteTableRouteArrayOutput) +func (o NetworkInsightsAnalysisForwardPathComponentOutboundHeaderArrayOutput) ToNetworkInsightsAnalysisForwardPathComponentOutboundHeaderArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisForwardPathComponentOutboundHeaderArrayOutput { + return o } -func (o NetworkInsightsAnalysisReturnPathComponentOutput) SecurityGroupRules() NetworkInsightsAnalysisReturnPathComponentSecurityGroupRuleArrayOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponent) []NetworkInsightsAnalysisReturnPathComponentSecurityGroupRule { - return v.SecurityGroupRules - }).(NetworkInsightsAnalysisReturnPathComponentSecurityGroupRuleArrayOutput) +func (o NetworkInsightsAnalysisForwardPathComponentOutboundHeaderArrayOutput) Index(i pulumi.IntInput) NetworkInsightsAnalysisForwardPathComponentOutboundHeaderOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkInsightsAnalysisForwardPathComponentOutboundHeader { + return vs[0].([]NetworkInsightsAnalysisForwardPathComponentOutboundHeader)[vs[1].(int)] + }).(NetworkInsightsAnalysisForwardPathComponentOutboundHeaderOutput) } -func (o NetworkInsightsAnalysisReturnPathComponentOutput) SequenceNumber() pulumi.IntPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponent) *int { return v.SequenceNumber }).(pulumi.IntPtrOutput) +type NetworkInsightsAnalysisForwardPathComponentOutboundHeaderDestinationPortRange struct { + From *int `pulumi:"from"` + To *int `pulumi:"to"` } -func (o NetworkInsightsAnalysisReturnPathComponentOutput) SourceVpcs() NetworkInsightsAnalysisReturnPathComponentSourceVpcArrayOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponent) []NetworkInsightsAnalysisReturnPathComponentSourceVpc { - return v.SourceVpcs - }).(NetworkInsightsAnalysisReturnPathComponentSourceVpcArrayOutput) +// NetworkInsightsAnalysisForwardPathComponentOutboundHeaderDestinationPortRangeInput is an input type that accepts NetworkInsightsAnalysisForwardPathComponentOutboundHeaderDestinationPortRangeArgs and NetworkInsightsAnalysisForwardPathComponentOutboundHeaderDestinationPortRangeOutput values. +// You can construct a concrete instance of `NetworkInsightsAnalysisForwardPathComponentOutboundHeaderDestinationPortRangeInput` via: +// +// NetworkInsightsAnalysisForwardPathComponentOutboundHeaderDestinationPortRangeArgs{...} +type NetworkInsightsAnalysisForwardPathComponentOutboundHeaderDestinationPortRangeInput interface { + pulumi.Input + + ToNetworkInsightsAnalysisForwardPathComponentOutboundHeaderDestinationPortRangeOutput() NetworkInsightsAnalysisForwardPathComponentOutboundHeaderDestinationPortRangeOutput + ToNetworkInsightsAnalysisForwardPathComponentOutboundHeaderDestinationPortRangeOutputWithContext(context.Context) NetworkInsightsAnalysisForwardPathComponentOutboundHeaderDestinationPortRangeOutput } -func (o NetworkInsightsAnalysisReturnPathComponentOutput) Subnets() NetworkInsightsAnalysisReturnPathComponentSubnetArrayOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponent) []NetworkInsightsAnalysisReturnPathComponentSubnet { - return v.Subnets - }).(NetworkInsightsAnalysisReturnPathComponentSubnetArrayOutput) +type NetworkInsightsAnalysisForwardPathComponentOutboundHeaderDestinationPortRangeArgs struct { + From pulumi.IntPtrInput `pulumi:"from"` + To pulumi.IntPtrInput `pulumi:"to"` } -func (o NetworkInsightsAnalysisReturnPathComponentOutput) TransitGatewayRouteTableRoutes() NetworkInsightsAnalysisReturnPathComponentTransitGatewayRouteTableRouteArrayOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponent) []NetworkInsightsAnalysisReturnPathComponentTransitGatewayRouteTableRoute { - return v.TransitGatewayRouteTableRoutes - }).(NetworkInsightsAnalysisReturnPathComponentTransitGatewayRouteTableRouteArrayOutput) +func (NetworkInsightsAnalysisForwardPathComponentOutboundHeaderDestinationPortRangeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInsightsAnalysisForwardPathComponentOutboundHeaderDestinationPortRange)(nil)).Elem() } -func (o NetworkInsightsAnalysisReturnPathComponentOutput) TransitGateways() NetworkInsightsAnalysisReturnPathComponentTransitGatewayArrayOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponent) []NetworkInsightsAnalysisReturnPathComponentTransitGateway { - return v.TransitGateways - }).(NetworkInsightsAnalysisReturnPathComponentTransitGatewayArrayOutput) +func (i NetworkInsightsAnalysisForwardPathComponentOutboundHeaderDestinationPortRangeArgs) ToNetworkInsightsAnalysisForwardPathComponentOutboundHeaderDestinationPortRangeOutput() NetworkInsightsAnalysisForwardPathComponentOutboundHeaderDestinationPortRangeOutput { + return i.ToNetworkInsightsAnalysisForwardPathComponentOutboundHeaderDestinationPortRangeOutputWithContext(context.Background()) } -func (o NetworkInsightsAnalysisReturnPathComponentOutput) Vpcs() NetworkInsightsAnalysisReturnPathComponentVpcArrayOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponent) []NetworkInsightsAnalysisReturnPathComponentVpc { - return v.Vpcs - }).(NetworkInsightsAnalysisReturnPathComponentVpcArrayOutput) +func (i NetworkInsightsAnalysisForwardPathComponentOutboundHeaderDestinationPortRangeArgs) ToNetworkInsightsAnalysisForwardPathComponentOutboundHeaderDestinationPortRangeOutputWithContext(ctx context.Context) NetworkInsightsAnalysisForwardPathComponentOutboundHeaderDestinationPortRangeOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisForwardPathComponentOutboundHeaderDestinationPortRangeOutput) } -type NetworkInsightsAnalysisReturnPathComponentArrayOutput struct{ *pulumi.OutputState } +// NetworkInsightsAnalysisForwardPathComponentOutboundHeaderDestinationPortRangeArrayInput is an input type that accepts NetworkInsightsAnalysisForwardPathComponentOutboundHeaderDestinationPortRangeArray and NetworkInsightsAnalysisForwardPathComponentOutboundHeaderDestinationPortRangeArrayOutput values. +// You can construct a concrete instance of `NetworkInsightsAnalysisForwardPathComponentOutboundHeaderDestinationPortRangeArrayInput` via: +// +// NetworkInsightsAnalysisForwardPathComponentOutboundHeaderDestinationPortRangeArray{ NetworkInsightsAnalysisForwardPathComponentOutboundHeaderDestinationPortRangeArgs{...} } +type NetworkInsightsAnalysisForwardPathComponentOutboundHeaderDestinationPortRangeArrayInput interface { + pulumi.Input -func (NetworkInsightsAnalysisReturnPathComponentArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]NetworkInsightsAnalysisReturnPathComponent)(nil)).Elem() + ToNetworkInsightsAnalysisForwardPathComponentOutboundHeaderDestinationPortRangeArrayOutput() NetworkInsightsAnalysisForwardPathComponentOutboundHeaderDestinationPortRangeArrayOutput + ToNetworkInsightsAnalysisForwardPathComponentOutboundHeaderDestinationPortRangeArrayOutputWithContext(context.Context) NetworkInsightsAnalysisForwardPathComponentOutboundHeaderDestinationPortRangeArrayOutput } -func (o NetworkInsightsAnalysisReturnPathComponentArrayOutput) ToNetworkInsightsAnalysisReturnPathComponentArrayOutput() NetworkInsightsAnalysisReturnPathComponentArrayOutput { - return o -} +type NetworkInsightsAnalysisForwardPathComponentOutboundHeaderDestinationPortRangeArray []NetworkInsightsAnalysisForwardPathComponentOutboundHeaderDestinationPortRangeInput -func (o NetworkInsightsAnalysisReturnPathComponentArrayOutput) ToNetworkInsightsAnalysisReturnPathComponentArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisReturnPathComponentArrayOutput { - return o +func (NetworkInsightsAnalysisForwardPathComponentOutboundHeaderDestinationPortRangeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkInsightsAnalysisForwardPathComponentOutboundHeaderDestinationPortRange)(nil)).Elem() } -func (o NetworkInsightsAnalysisReturnPathComponentArrayOutput) Index(i pulumi.IntInput) NetworkInsightsAnalysisReturnPathComponentOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkInsightsAnalysisReturnPathComponent { - return vs[0].([]NetworkInsightsAnalysisReturnPathComponent)[vs[1].(int)] - }).(NetworkInsightsAnalysisReturnPathComponentOutput) +func (i NetworkInsightsAnalysisForwardPathComponentOutboundHeaderDestinationPortRangeArray) ToNetworkInsightsAnalysisForwardPathComponentOutboundHeaderDestinationPortRangeArrayOutput() NetworkInsightsAnalysisForwardPathComponentOutboundHeaderDestinationPortRangeArrayOutput { + return i.ToNetworkInsightsAnalysisForwardPathComponentOutboundHeaderDestinationPortRangeArrayOutputWithContext(context.Background()) } -type NetworkInsightsAnalysisReturnPathComponentAclRule struct { - Cidr *string `pulumi:"cidr"` - Egress *bool `pulumi:"egress"` - PortRanges []NetworkInsightsAnalysisReturnPathComponentAclRulePortRange `pulumi:"portRanges"` - Protocol *string `pulumi:"protocol"` - RuleAction *string `pulumi:"ruleAction"` - RuleNumber *int `pulumi:"ruleNumber"` -} - -// NetworkInsightsAnalysisReturnPathComponentAclRuleInput is an input type that accepts NetworkInsightsAnalysisReturnPathComponentAclRuleArgs and NetworkInsightsAnalysisReturnPathComponentAclRuleOutput values. -// You can construct a concrete instance of `NetworkInsightsAnalysisReturnPathComponentAclRuleInput` via: -// -// NetworkInsightsAnalysisReturnPathComponentAclRuleArgs{...} -type NetworkInsightsAnalysisReturnPathComponentAclRuleInput interface { - pulumi.Input - - ToNetworkInsightsAnalysisReturnPathComponentAclRuleOutput() NetworkInsightsAnalysisReturnPathComponentAclRuleOutput - ToNetworkInsightsAnalysisReturnPathComponentAclRuleOutputWithContext(context.Context) NetworkInsightsAnalysisReturnPathComponentAclRuleOutput -} - -type NetworkInsightsAnalysisReturnPathComponentAclRuleArgs struct { - Cidr pulumi.StringPtrInput `pulumi:"cidr"` - Egress pulumi.BoolPtrInput `pulumi:"egress"` - PortRanges NetworkInsightsAnalysisReturnPathComponentAclRulePortRangeArrayInput `pulumi:"portRanges"` - Protocol pulumi.StringPtrInput `pulumi:"protocol"` - RuleAction pulumi.StringPtrInput `pulumi:"ruleAction"` - RuleNumber pulumi.IntPtrInput `pulumi:"ruleNumber"` -} - -func (NetworkInsightsAnalysisReturnPathComponentAclRuleArgs) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkInsightsAnalysisReturnPathComponentAclRule)(nil)).Elem() -} - -func (i NetworkInsightsAnalysisReturnPathComponentAclRuleArgs) ToNetworkInsightsAnalysisReturnPathComponentAclRuleOutput() NetworkInsightsAnalysisReturnPathComponentAclRuleOutput { - return i.ToNetworkInsightsAnalysisReturnPathComponentAclRuleOutputWithContext(context.Background()) -} - -func (i NetworkInsightsAnalysisReturnPathComponentAclRuleArgs) ToNetworkInsightsAnalysisReturnPathComponentAclRuleOutputWithContext(ctx context.Context) NetworkInsightsAnalysisReturnPathComponentAclRuleOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisReturnPathComponentAclRuleOutput) -} - -// NetworkInsightsAnalysisReturnPathComponentAclRuleArrayInput is an input type that accepts NetworkInsightsAnalysisReturnPathComponentAclRuleArray and NetworkInsightsAnalysisReturnPathComponentAclRuleArrayOutput values. -// You can construct a concrete instance of `NetworkInsightsAnalysisReturnPathComponentAclRuleArrayInput` via: -// -// NetworkInsightsAnalysisReturnPathComponentAclRuleArray{ NetworkInsightsAnalysisReturnPathComponentAclRuleArgs{...} } -type NetworkInsightsAnalysisReturnPathComponentAclRuleArrayInput interface { - pulumi.Input - - ToNetworkInsightsAnalysisReturnPathComponentAclRuleArrayOutput() NetworkInsightsAnalysisReturnPathComponentAclRuleArrayOutput - ToNetworkInsightsAnalysisReturnPathComponentAclRuleArrayOutputWithContext(context.Context) NetworkInsightsAnalysisReturnPathComponentAclRuleArrayOutput -} - -type NetworkInsightsAnalysisReturnPathComponentAclRuleArray []NetworkInsightsAnalysisReturnPathComponentAclRuleInput - -func (NetworkInsightsAnalysisReturnPathComponentAclRuleArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]NetworkInsightsAnalysisReturnPathComponentAclRule)(nil)).Elem() -} - -func (i NetworkInsightsAnalysisReturnPathComponentAclRuleArray) ToNetworkInsightsAnalysisReturnPathComponentAclRuleArrayOutput() NetworkInsightsAnalysisReturnPathComponentAclRuleArrayOutput { - return i.ToNetworkInsightsAnalysisReturnPathComponentAclRuleArrayOutputWithContext(context.Background()) -} - -func (i NetworkInsightsAnalysisReturnPathComponentAclRuleArray) ToNetworkInsightsAnalysisReturnPathComponentAclRuleArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisReturnPathComponentAclRuleArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisReturnPathComponentAclRuleArrayOutput) +func (i NetworkInsightsAnalysisForwardPathComponentOutboundHeaderDestinationPortRangeArray) ToNetworkInsightsAnalysisForwardPathComponentOutboundHeaderDestinationPortRangeArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisForwardPathComponentOutboundHeaderDestinationPortRangeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisForwardPathComponentOutboundHeaderDestinationPortRangeArrayOutput) } -type NetworkInsightsAnalysisReturnPathComponentAclRuleOutput struct{ *pulumi.OutputState } +type NetworkInsightsAnalysisForwardPathComponentOutboundHeaderDestinationPortRangeOutput struct{ *pulumi.OutputState } -func (NetworkInsightsAnalysisReturnPathComponentAclRuleOutput) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkInsightsAnalysisReturnPathComponentAclRule)(nil)).Elem() +func (NetworkInsightsAnalysisForwardPathComponentOutboundHeaderDestinationPortRangeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInsightsAnalysisForwardPathComponentOutboundHeaderDestinationPortRange)(nil)).Elem() } -func (o NetworkInsightsAnalysisReturnPathComponentAclRuleOutput) ToNetworkInsightsAnalysisReturnPathComponentAclRuleOutput() NetworkInsightsAnalysisReturnPathComponentAclRuleOutput { +func (o NetworkInsightsAnalysisForwardPathComponentOutboundHeaderDestinationPortRangeOutput) ToNetworkInsightsAnalysisForwardPathComponentOutboundHeaderDestinationPortRangeOutput() NetworkInsightsAnalysisForwardPathComponentOutboundHeaderDestinationPortRangeOutput { return o } -func (o NetworkInsightsAnalysisReturnPathComponentAclRuleOutput) ToNetworkInsightsAnalysisReturnPathComponentAclRuleOutputWithContext(ctx context.Context) NetworkInsightsAnalysisReturnPathComponentAclRuleOutput { +func (o NetworkInsightsAnalysisForwardPathComponentOutboundHeaderDestinationPortRangeOutput) ToNetworkInsightsAnalysisForwardPathComponentOutboundHeaderDestinationPortRangeOutputWithContext(ctx context.Context) NetworkInsightsAnalysisForwardPathComponentOutboundHeaderDestinationPortRangeOutput { return o } -func (o NetworkInsightsAnalysisReturnPathComponentAclRuleOutput) Cidr() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponentAclRule) *string { return v.Cidr }).(pulumi.StringPtrOutput) -} - -func (o NetworkInsightsAnalysisReturnPathComponentAclRuleOutput) Egress() pulumi.BoolPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponentAclRule) *bool { return v.Egress }).(pulumi.BoolPtrOutput) -} - -func (o NetworkInsightsAnalysisReturnPathComponentAclRuleOutput) PortRanges() NetworkInsightsAnalysisReturnPathComponentAclRulePortRangeArrayOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponentAclRule) []NetworkInsightsAnalysisReturnPathComponentAclRulePortRange { - return v.PortRanges - }).(NetworkInsightsAnalysisReturnPathComponentAclRulePortRangeArrayOutput) -} - -func (o NetworkInsightsAnalysisReturnPathComponentAclRuleOutput) Protocol() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponentAclRule) *string { return v.Protocol }).(pulumi.StringPtrOutput) -} - -func (o NetworkInsightsAnalysisReturnPathComponentAclRuleOutput) RuleAction() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponentAclRule) *string { return v.RuleAction }).(pulumi.StringPtrOutput) +func (o NetworkInsightsAnalysisForwardPathComponentOutboundHeaderDestinationPortRangeOutput) From() pulumi.IntPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponentOutboundHeaderDestinationPortRange) *int { + return v.From + }).(pulumi.IntPtrOutput) } -func (o NetworkInsightsAnalysisReturnPathComponentAclRuleOutput) RuleNumber() pulumi.IntPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponentAclRule) *int { return v.RuleNumber }).(pulumi.IntPtrOutput) +func (o NetworkInsightsAnalysisForwardPathComponentOutboundHeaderDestinationPortRangeOutput) To() pulumi.IntPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponentOutboundHeaderDestinationPortRange) *int { + return v.To + }).(pulumi.IntPtrOutput) } -type NetworkInsightsAnalysisReturnPathComponentAclRuleArrayOutput struct{ *pulumi.OutputState } +type NetworkInsightsAnalysisForwardPathComponentOutboundHeaderDestinationPortRangeArrayOutput struct{ *pulumi.OutputState } -func (NetworkInsightsAnalysisReturnPathComponentAclRuleArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]NetworkInsightsAnalysisReturnPathComponentAclRule)(nil)).Elem() +func (NetworkInsightsAnalysisForwardPathComponentOutboundHeaderDestinationPortRangeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkInsightsAnalysisForwardPathComponentOutboundHeaderDestinationPortRange)(nil)).Elem() } -func (o NetworkInsightsAnalysisReturnPathComponentAclRuleArrayOutput) ToNetworkInsightsAnalysisReturnPathComponentAclRuleArrayOutput() NetworkInsightsAnalysisReturnPathComponentAclRuleArrayOutput { +func (o NetworkInsightsAnalysisForwardPathComponentOutboundHeaderDestinationPortRangeArrayOutput) ToNetworkInsightsAnalysisForwardPathComponentOutboundHeaderDestinationPortRangeArrayOutput() NetworkInsightsAnalysisForwardPathComponentOutboundHeaderDestinationPortRangeArrayOutput { return o } -func (o NetworkInsightsAnalysisReturnPathComponentAclRuleArrayOutput) ToNetworkInsightsAnalysisReturnPathComponentAclRuleArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisReturnPathComponentAclRuleArrayOutput { +func (o NetworkInsightsAnalysisForwardPathComponentOutboundHeaderDestinationPortRangeArrayOutput) ToNetworkInsightsAnalysisForwardPathComponentOutboundHeaderDestinationPortRangeArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisForwardPathComponentOutboundHeaderDestinationPortRangeArrayOutput { return o } -func (o NetworkInsightsAnalysisReturnPathComponentAclRuleArrayOutput) Index(i pulumi.IntInput) NetworkInsightsAnalysisReturnPathComponentAclRuleOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkInsightsAnalysisReturnPathComponentAclRule { - return vs[0].([]NetworkInsightsAnalysisReturnPathComponentAclRule)[vs[1].(int)] - }).(NetworkInsightsAnalysisReturnPathComponentAclRuleOutput) +func (o NetworkInsightsAnalysisForwardPathComponentOutboundHeaderDestinationPortRangeArrayOutput) Index(i pulumi.IntInput) NetworkInsightsAnalysisForwardPathComponentOutboundHeaderDestinationPortRangeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkInsightsAnalysisForwardPathComponentOutboundHeaderDestinationPortRange { + return vs[0].([]NetworkInsightsAnalysisForwardPathComponentOutboundHeaderDestinationPortRange)[vs[1].(int)] + }).(NetworkInsightsAnalysisForwardPathComponentOutboundHeaderDestinationPortRangeOutput) } -type NetworkInsightsAnalysisReturnPathComponentAclRulePortRange struct { +type NetworkInsightsAnalysisForwardPathComponentOutboundHeaderSourcePortRange struct { From *int `pulumi:"from"` To *int `pulumi:"to"` } -// NetworkInsightsAnalysisReturnPathComponentAclRulePortRangeInput is an input type that accepts NetworkInsightsAnalysisReturnPathComponentAclRulePortRangeArgs and NetworkInsightsAnalysisReturnPathComponentAclRulePortRangeOutput values. -// You can construct a concrete instance of `NetworkInsightsAnalysisReturnPathComponentAclRulePortRangeInput` via: +// NetworkInsightsAnalysisForwardPathComponentOutboundHeaderSourcePortRangeInput is an input type that accepts NetworkInsightsAnalysisForwardPathComponentOutboundHeaderSourcePortRangeArgs and NetworkInsightsAnalysisForwardPathComponentOutboundHeaderSourcePortRangeOutput values. +// You can construct a concrete instance of `NetworkInsightsAnalysisForwardPathComponentOutboundHeaderSourcePortRangeInput` via: // -// NetworkInsightsAnalysisReturnPathComponentAclRulePortRangeArgs{...} -type NetworkInsightsAnalysisReturnPathComponentAclRulePortRangeInput interface { +// NetworkInsightsAnalysisForwardPathComponentOutboundHeaderSourcePortRangeArgs{...} +type NetworkInsightsAnalysisForwardPathComponentOutboundHeaderSourcePortRangeInput interface { pulumi.Input - ToNetworkInsightsAnalysisReturnPathComponentAclRulePortRangeOutput() NetworkInsightsAnalysisReturnPathComponentAclRulePortRangeOutput - ToNetworkInsightsAnalysisReturnPathComponentAclRulePortRangeOutputWithContext(context.Context) NetworkInsightsAnalysisReturnPathComponentAclRulePortRangeOutput + ToNetworkInsightsAnalysisForwardPathComponentOutboundHeaderSourcePortRangeOutput() NetworkInsightsAnalysisForwardPathComponentOutboundHeaderSourcePortRangeOutput + ToNetworkInsightsAnalysisForwardPathComponentOutboundHeaderSourcePortRangeOutputWithContext(context.Context) NetworkInsightsAnalysisForwardPathComponentOutboundHeaderSourcePortRangeOutput } -type NetworkInsightsAnalysisReturnPathComponentAclRulePortRangeArgs struct { +type NetworkInsightsAnalysisForwardPathComponentOutboundHeaderSourcePortRangeArgs struct { From pulumi.IntPtrInput `pulumi:"from"` To pulumi.IntPtrInput `pulumi:"to"` } -func (NetworkInsightsAnalysisReturnPathComponentAclRulePortRangeArgs) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkInsightsAnalysisReturnPathComponentAclRulePortRange)(nil)).Elem() +func (NetworkInsightsAnalysisForwardPathComponentOutboundHeaderSourcePortRangeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInsightsAnalysisForwardPathComponentOutboundHeaderSourcePortRange)(nil)).Elem() } -func (i NetworkInsightsAnalysisReturnPathComponentAclRulePortRangeArgs) ToNetworkInsightsAnalysisReturnPathComponentAclRulePortRangeOutput() NetworkInsightsAnalysisReturnPathComponentAclRulePortRangeOutput { - return i.ToNetworkInsightsAnalysisReturnPathComponentAclRulePortRangeOutputWithContext(context.Background()) +func (i NetworkInsightsAnalysisForwardPathComponentOutboundHeaderSourcePortRangeArgs) ToNetworkInsightsAnalysisForwardPathComponentOutboundHeaderSourcePortRangeOutput() NetworkInsightsAnalysisForwardPathComponentOutboundHeaderSourcePortRangeOutput { + return i.ToNetworkInsightsAnalysisForwardPathComponentOutboundHeaderSourcePortRangeOutputWithContext(context.Background()) } -func (i NetworkInsightsAnalysisReturnPathComponentAclRulePortRangeArgs) ToNetworkInsightsAnalysisReturnPathComponentAclRulePortRangeOutputWithContext(ctx context.Context) NetworkInsightsAnalysisReturnPathComponentAclRulePortRangeOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisReturnPathComponentAclRulePortRangeOutput) +func (i NetworkInsightsAnalysisForwardPathComponentOutboundHeaderSourcePortRangeArgs) ToNetworkInsightsAnalysisForwardPathComponentOutboundHeaderSourcePortRangeOutputWithContext(ctx context.Context) NetworkInsightsAnalysisForwardPathComponentOutboundHeaderSourcePortRangeOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisForwardPathComponentOutboundHeaderSourcePortRangeOutput) } -// NetworkInsightsAnalysisReturnPathComponentAclRulePortRangeArrayInput is an input type that accepts NetworkInsightsAnalysisReturnPathComponentAclRulePortRangeArray and NetworkInsightsAnalysisReturnPathComponentAclRulePortRangeArrayOutput values. -// You can construct a concrete instance of `NetworkInsightsAnalysisReturnPathComponentAclRulePortRangeArrayInput` via: +// NetworkInsightsAnalysisForwardPathComponentOutboundHeaderSourcePortRangeArrayInput is an input type that accepts NetworkInsightsAnalysisForwardPathComponentOutboundHeaderSourcePortRangeArray and NetworkInsightsAnalysisForwardPathComponentOutboundHeaderSourcePortRangeArrayOutput values. +// You can construct a concrete instance of `NetworkInsightsAnalysisForwardPathComponentOutboundHeaderSourcePortRangeArrayInput` via: // -// NetworkInsightsAnalysisReturnPathComponentAclRulePortRangeArray{ NetworkInsightsAnalysisReturnPathComponentAclRulePortRangeArgs{...} } -type NetworkInsightsAnalysisReturnPathComponentAclRulePortRangeArrayInput interface { +// NetworkInsightsAnalysisForwardPathComponentOutboundHeaderSourcePortRangeArray{ NetworkInsightsAnalysisForwardPathComponentOutboundHeaderSourcePortRangeArgs{...} } +type NetworkInsightsAnalysisForwardPathComponentOutboundHeaderSourcePortRangeArrayInput interface { pulumi.Input - ToNetworkInsightsAnalysisReturnPathComponentAclRulePortRangeArrayOutput() NetworkInsightsAnalysisReturnPathComponentAclRulePortRangeArrayOutput - ToNetworkInsightsAnalysisReturnPathComponentAclRulePortRangeArrayOutputWithContext(context.Context) NetworkInsightsAnalysisReturnPathComponentAclRulePortRangeArrayOutput + ToNetworkInsightsAnalysisForwardPathComponentOutboundHeaderSourcePortRangeArrayOutput() NetworkInsightsAnalysisForwardPathComponentOutboundHeaderSourcePortRangeArrayOutput + ToNetworkInsightsAnalysisForwardPathComponentOutboundHeaderSourcePortRangeArrayOutputWithContext(context.Context) NetworkInsightsAnalysisForwardPathComponentOutboundHeaderSourcePortRangeArrayOutput } -type NetworkInsightsAnalysisReturnPathComponentAclRulePortRangeArray []NetworkInsightsAnalysisReturnPathComponentAclRulePortRangeInput +type NetworkInsightsAnalysisForwardPathComponentOutboundHeaderSourcePortRangeArray []NetworkInsightsAnalysisForwardPathComponentOutboundHeaderSourcePortRangeInput -func (NetworkInsightsAnalysisReturnPathComponentAclRulePortRangeArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]NetworkInsightsAnalysisReturnPathComponentAclRulePortRange)(nil)).Elem() +func (NetworkInsightsAnalysisForwardPathComponentOutboundHeaderSourcePortRangeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkInsightsAnalysisForwardPathComponentOutboundHeaderSourcePortRange)(nil)).Elem() } -func (i NetworkInsightsAnalysisReturnPathComponentAclRulePortRangeArray) ToNetworkInsightsAnalysisReturnPathComponentAclRulePortRangeArrayOutput() NetworkInsightsAnalysisReturnPathComponentAclRulePortRangeArrayOutput { - return i.ToNetworkInsightsAnalysisReturnPathComponentAclRulePortRangeArrayOutputWithContext(context.Background()) +func (i NetworkInsightsAnalysisForwardPathComponentOutboundHeaderSourcePortRangeArray) ToNetworkInsightsAnalysisForwardPathComponentOutboundHeaderSourcePortRangeArrayOutput() NetworkInsightsAnalysisForwardPathComponentOutboundHeaderSourcePortRangeArrayOutput { + return i.ToNetworkInsightsAnalysisForwardPathComponentOutboundHeaderSourcePortRangeArrayOutputWithContext(context.Background()) } -func (i NetworkInsightsAnalysisReturnPathComponentAclRulePortRangeArray) ToNetworkInsightsAnalysisReturnPathComponentAclRulePortRangeArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisReturnPathComponentAclRulePortRangeArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisReturnPathComponentAclRulePortRangeArrayOutput) +func (i NetworkInsightsAnalysisForwardPathComponentOutboundHeaderSourcePortRangeArray) ToNetworkInsightsAnalysisForwardPathComponentOutboundHeaderSourcePortRangeArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisForwardPathComponentOutboundHeaderSourcePortRangeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisForwardPathComponentOutboundHeaderSourcePortRangeArrayOutput) } -type NetworkInsightsAnalysisReturnPathComponentAclRulePortRangeOutput struct{ *pulumi.OutputState } +type NetworkInsightsAnalysisForwardPathComponentOutboundHeaderSourcePortRangeOutput struct{ *pulumi.OutputState } -func (NetworkInsightsAnalysisReturnPathComponentAclRulePortRangeOutput) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkInsightsAnalysisReturnPathComponentAclRulePortRange)(nil)).Elem() +func (NetworkInsightsAnalysisForwardPathComponentOutboundHeaderSourcePortRangeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInsightsAnalysisForwardPathComponentOutboundHeaderSourcePortRange)(nil)).Elem() } -func (o NetworkInsightsAnalysisReturnPathComponentAclRulePortRangeOutput) ToNetworkInsightsAnalysisReturnPathComponentAclRulePortRangeOutput() NetworkInsightsAnalysisReturnPathComponentAclRulePortRangeOutput { +func (o NetworkInsightsAnalysisForwardPathComponentOutboundHeaderSourcePortRangeOutput) ToNetworkInsightsAnalysisForwardPathComponentOutboundHeaderSourcePortRangeOutput() NetworkInsightsAnalysisForwardPathComponentOutboundHeaderSourcePortRangeOutput { return o } -func (o NetworkInsightsAnalysisReturnPathComponentAclRulePortRangeOutput) ToNetworkInsightsAnalysisReturnPathComponentAclRulePortRangeOutputWithContext(ctx context.Context) NetworkInsightsAnalysisReturnPathComponentAclRulePortRangeOutput { +func (o NetworkInsightsAnalysisForwardPathComponentOutboundHeaderSourcePortRangeOutput) ToNetworkInsightsAnalysisForwardPathComponentOutboundHeaderSourcePortRangeOutputWithContext(ctx context.Context) NetworkInsightsAnalysisForwardPathComponentOutboundHeaderSourcePortRangeOutput { return o } -func (o NetworkInsightsAnalysisReturnPathComponentAclRulePortRangeOutput) From() pulumi.IntPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponentAclRulePortRange) *int { return v.From }).(pulumi.IntPtrOutput) +func (o NetworkInsightsAnalysisForwardPathComponentOutboundHeaderSourcePortRangeOutput) From() pulumi.IntPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponentOutboundHeaderSourcePortRange) *int { return v.From }).(pulumi.IntPtrOutput) } -func (o NetworkInsightsAnalysisReturnPathComponentAclRulePortRangeOutput) To() pulumi.IntPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponentAclRulePortRange) *int { return v.To }).(pulumi.IntPtrOutput) +func (o NetworkInsightsAnalysisForwardPathComponentOutboundHeaderSourcePortRangeOutput) To() pulumi.IntPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponentOutboundHeaderSourcePortRange) *int { return v.To }).(pulumi.IntPtrOutput) } -type NetworkInsightsAnalysisReturnPathComponentAclRulePortRangeArrayOutput struct{ *pulumi.OutputState } +type NetworkInsightsAnalysisForwardPathComponentOutboundHeaderSourcePortRangeArrayOutput struct{ *pulumi.OutputState } -func (NetworkInsightsAnalysisReturnPathComponentAclRulePortRangeArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]NetworkInsightsAnalysisReturnPathComponentAclRulePortRange)(nil)).Elem() +func (NetworkInsightsAnalysisForwardPathComponentOutboundHeaderSourcePortRangeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkInsightsAnalysisForwardPathComponentOutboundHeaderSourcePortRange)(nil)).Elem() } -func (o NetworkInsightsAnalysisReturnPathComponentAclRulePortRangeArrayOutput) ToNetworkInsightsAnalysisReturnPathComponentAclRulePortRangeArrayOutput() NetworkInsightsAnalysisReturnPathComponentAclRulePortRangeArrayOutput { +func (o NetworkInsightsAnalysisForwardPathComponentOutboundHeaderSourcePortRangeArrayOutput) ToNetworkInsightsAnalysisForwardPathComponentOutboundHeaderSourcePortRangeArrayOutput() NetworkInsightsAnalysisForwardPathComponentOutboundHeaderSourcePortRangeArrayOutput { return o } -func (o NetworkInsightsAnalysisReturnPathComponentAclRulePortRangeArrayOutput) ToNetworkInsightsAnalysisReturnPathComponentAclRulePortRangeArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisReturnPathComponentAclRulePortRangeArrayOutput { +func (o NetworkInsightsAnalysisForwardPathComponentOutboundHeaderSourcePortRangeArrayOutput) ToNetworkInsightsAnalysisForwardPathComponentOutboundHeaderSourcePortRangeArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisForwardPathComponentOutboundHeaderSourcePortRangeArrayOutput { return o } -func (o NetworkInsightsAnalysisReturnPathComponentAclRulePortRangeArrayOutput) Index(i pulumi.IntInput) NetworkInsightsAnalysisReturnPathComponentAclRulePortRangeOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkInsightsAnalysisReturnPathComponentAclRulePortRange { - return vs[0].([]NetworkInsightsAnalysisReturnPathComponentAclRulePortRange)[vs[1].(int)] - }).(NetworkInsightsAnalysisReturnPathComponentAclRulePortRangeOutput) +func (o NetworkInsightsAnalysisForwardPathComponentOutboundHeaderSourcePortRangeArrayOutput) Index(i pulumi.IntInput) NetworkInsightsAnalysisForwardPathComponentOutboundHeaderSourcePortRangeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkInsightsAnalysisForwardPathComponentOutboundHeaderSourcePortRange { + return vs[0].([]NetworkInsightsAnalysisForwardPathComponentOutboundHeaderSourcePortRange)[vs[1].(int)] + }).(NetworkInsightsAnalysisForwardPathComponentOutboundHeaderSourcePortRangeOutput) } -type NetworkInsightsAnalysisReturnPathComponentAdditionalDetail struct { - AdditionalDetailType *string `pulumi:"additionalDetailType"` - Components []NetworkInsightsAnalysisReturnPathComponentAdditionalDetailComponent `pulumi:"components"` +type NetworkInsightsAnalysisForwardPathComponentRouteTableRoute struct { + DestinationCidr *string `pulumi:"destinationCidr"` + DestinationPrefixListId *string `pulumi:"destinationPrefixListId"` + EgressOnlyInternetGatewayId *string `pulumi:"egressOnlyInternetGatewayId"` + GatewayId *string `pulumi:"gatewayId"` + InstanceId *string `pulumi:"instanceId"` + NatGatewayId *string `pulumi:"natGatewayId"` + NetworkInterfaceId *string `pulumi:"networkInterfaceId"` + Origin *string `pulumi:"origin"` + TransitGatewayId *string `pulumi:"transitGatewayId"` + VpcPeeringConnectionId *string `pulumi:"vpcPeeringConnectionId"` } -// NetworkInsightsAnalysisReturnPathComponentAdditionalDetailInput is an input type that accepts NetworkInsightsAnalysisReturnPathComponentAdditionalDetailArgs and NetworkInsightsAnalysisReturnPathComponentAdditionalDetailOutput values. -// You can construct a concrete instance of `NetworkInsightsAnalysisReturnPathComponentAdditionalDetailInput` via: +// NetworkInsightsAnalysisForwardPathComponentRouteTableRouteInput is an input type that accepts NetworkInsightsAnalysisForwardPathComponentRouteTableRouteArgs and NetworkInsightsAnalysisForwardPathComponentRouteTableRouteOutput values. +// You can construct a concrete instance of `NetworkInsightsAnalysisForwardPathComponentRouteTableRouteInput` via: // -// NetworkInsightsAnalysisReturnPathComponentAdditionalDetailArgs{...} -type NetworkInsightsAnalysisReturnPathComponentAdditionalDetailInput interface { +// NetworkInsightsAnalysisForwardPathComponentRouteTableRouteArgs{...} +type NetworkInsightsAnalysisForwardPathComponentRouteTableRouteInput interface { pulumi.Input - ToNetworkInsightsAnalysisReturnPathComponentAdditionalDetailOutput() NetworkInsightsAnalysisReturnPathComponentAdditionalDetailOutput - ToNetworkInsightsAnalysisReturnPathComponentAdditionalDetailOutputWithContext(context.Context) NetworkInsightsAnalysisReturnPathComponentAdditionalDetailOutput + ToNetworkInsightsAnalysisForwardPathComponentRouteTableRouteOutput() NetworkInsightsAnalysisForwardPathComponentRouteTableRouteOutput + ToNetworkInsightsAnalysisForwardPathComponentRouteTableRouteOutputWithContext(context.Context) NetworkInsightsAnalysisForwardPathComponentRouteTableRouteOutput } -type NetworkInsightsAnalysisReturnPathComponentAdditionalDetailArgs struct { - AdditionalDetailType pulumi.StringPtrInput `pulumi:"additionalDetailType"` - Components NetworkInsightsAnalysisReturnPathComponentAdditionalDetailComponentArrayInput `pulumi:"components"` +type NetworkInsightsAnalysisForwardPathComponentRouteTableRouteArgs struct { + DestinationCidr pulumi.StringPtrInput `pulumi:"destinationCidr"` + DestinationPrefixListId pulumi.StringPtrInput `pulumi:"destinationPrefixListId"` + EgressOnlyInternetGatewayId pulumi.StringPtrInput `pulumi:"egressOnlyInternetGatewayId"` + GatewayId pulumi.StringPtrInput `pulumi:"gatewayId"` + InstanceId pulumi.StringPtrInput `pulumi:"instanceId"` + NatGatewayId pulumi.StringPtrInput `pulumi:"natGatewayId"` + NetworkInterfaceId pulumi.StringPtrInput `pulumi:"networkInterfaceId"` + Origin pulumi.StringPtrInput `pulumi:"origin"` + TransitGatewayId pulumi.StringPtrInput `pulumi:"transitGatewayId"` + VpcPeeringConnectionId pulumi.StringPtrInput `pulumi:"vpcPeeringConnectionId"` } -func (NetworkInsightsAnalysisReturnPathComponentAdditionalDetailArgs) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkInsightsAnalysisReturnPathComponentAdditionalDetail)(nil)).Elem() +func (NetworkInsightsAnalysisForwardPathComponentRouteTableRouteArgs) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInsightsAnalysisForwardPathComponentRouteTableRoute)(nil)).Elem() } -func (i NetworkInsightsAnalysisReturnPathComponentAdditionalDetailArgs) ToNetworkInsightsAnalysisReturnPathComponentAdditionalDetailOutput() NetworkInsightsAnalysisReturnPathComponentAdditionalDetailOutput { - return i.ToNetworkInsightsAnalysisReturnPathComponentAdditionalDetailOutputWithContext(context.Background()) +func (i NetworkInsightsAnalysisForwardPathComponentRouteTableRouteArgs) ToNetworkInsightsAnalysisForwardPathComponentRouteTableRouteOutput() NetworkInsightsAnalysisForwardPathComponentRouteTableRouteOutput { + return i.ToNetworkInsightsAnalysisForwardPathComponentRouteTableRouteOutputWithContext(context.Background()) } -func (i NetworkInsightsAnalysisReturnPathComponentAdditionalDetailArgs) ToNetworkInsightsAnalysisReturnPathComponentAdditionalDetailOutputWithContext(ctx context.Context) NetworkInsightsAnalysisReturnPathComponentAdditionalDetailOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisReturnPathComponentAdditionalDetailOutput) +func (i NetworkInsightsAnalysisForwardPathComponentRouteTableRouteArgs) ToNetworkInsightsAnalysisForwardPathComponentRouteTableRouteOutputWithContext(ctx context.Context) NetworkInsightsAnalysisForwardPathComponentRouteTableRouteOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisForwardPathComponentRouteTableRouteOutput) } -// NetworkInsightsAnalysisReturnPathComponentAdditionalDetailArrayInput is an input type that accepts NetworkInsightsAnalysisReturnPathComponentAdditionalDetailArray and NetworkInsightsAnalysisReturnPathComponentAdditionalDetailArrayOutput values. -// You can construct a concrete instance of `NetworkInsightsAnalysisReturnPathComponentAdditionalDetailArrayInput` via: +// NetworkInsightsAnalysisForwardPathComponentRouteTableRouteArrayInput is an input type that accepts NetworkInsightsAnalysisForwardPathComponentRouteTableRouteArray and NetworkInsightsAnalysisForwardPathComponentRouteTableRouteArrayOutput values. +// You can construct a concrete instance of `NetworkInsightsAnalysisForwardPathComponentRouteTableRouteArrayInput` via: // -// NetworkInsightsAnalysisReturnPathComponentAdditionalDetailArray{ NetworkInsightsAnalysisReturnPathComponentAdditionalDetailArgs{...} } -type NetworkInsightsAnalysisReturnPathComponentAdditionalDetailArrayInput interface { +// NetworkInsightsAnalysisForwardPathComponentRouteTableRouteArray{ NetworkInsightsAnalysisForwardPathComponentRouteTableRouteArgs{...} } +type NetworkInsightsAnalysisForwardPathComponentRouteTableRouteArrayInput interface { pulumi.Input - ToNetworkInsightsAnalysisReturnPathComponentAdditionalDetailArrayOutput() NetworkInsightsAnalysisReturnPathComponentAdditionalDetailArrayOutput - ToNetworkInsightsAnalysisReturnPathComponentAdditionalDetailArrayOutputWithContext(context.Context) NetworkInsightsAnalysisReturnPathComponentAdditionalDetailArrayOutput + ToNetworkInsightsAnalysisForwardPathComponentRouteTableRouteArrayOutput() NetworkInsightsAnalysisForwardPathComponentRouteTableRouteArrayOutput + ToNetworkInsightsAnalysisForwardPathComponentRouteTableRouteArrayOutputWithContext(context.Context) NetworkInsightsAnalysisForwardPathComponentRouteTableRouteArrayOutput } -type NetworkInsightsAnalysisReturnPathComponentAdditionalDetailArray []NetworkInsightsAnalysisReturnPathComponentAdditionalDetailInput +type NetworkInsightsAnalysisForwardPathComponentRouteTableRouteArray []NetworkInsightsAnalysisForwardPathComponentRouteTableRouteInput -func (NetworkInsightsAnalysisReturnPathComponentAdditionalDetailArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]NetworkInsightsAnalysisReturnPathComponentAdditionalDetail)(nil)).Elem() +func (NetworkInsightsAnalysisForwardPathComponentRouteTableRouteArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkInsightsAnalysisForwardPathComponentRouteTableRoute)(nil)).Elem() } -func (i NetworkInsightsAnalysisReturnPathComponentAdditionalDetailArray) ToNetworkInsightsAnalysisReturnPathComponentAdditionalDetailArrayOutput() NetworkInsightsAnalysisReturnPathComponentAdditionalDetailArrayOutput { - return i.ToNetworkInsightsAnalysisReturnPathComponentAdditionalDetailArrayOutputWithContext(context.Background()) +func (i NetworkInsightsAnalysisForwardPathComponentRouteTableRouteArray) ToNetworkInsightsAnalysisForwardPathComponentRouteTableRouteArrayOutput() NetworkInsightsAnalysisForwardPathComponentRouteTableRouteArrayOutput { + return i.ToNetworkInsightsAnalysisForwardPathComponentRouteTableRouteArrayOutputWithContext(context.Background()) } -func (i NetworkInsightsAnalysisReturnPathComponentAdditionalDetailArray) ToNetworkInsightsAnalysisReturnPathComponentAdditionalDetailArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisReturnPathComponentAdditionalDetailArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisReturnPathComponentAdditionalDetailArrayOutput) +func (i NetworkInsightsAnalysisForwardPathComponentRouteTableRouteArray) ToNetworkInsightsAnalysisForwardPathComponentRouteTableRouteArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisForwardPathComponentRouteTableRouteArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisForwardPathComponentRouteTableRouteArrayOutput) } -type NetworkInsightsAnalysisReturnPathComponentAdditionalDetailOutput struct{ *pulumi.OutputState } +type NetworkInsightsAnalysisForwardPathComponentRouteTableRouteOutput struct{ *pulumi.OutputState } -func (NetworkInsightsAnalysisReturnPathComponentAdditionalDetailOutput) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkInsightsAnalysisReturnPathComponentAdditionalDetail)(nil)).Elem() +func (NetworkInsightsAnalysisForwardPathComponentRouteTableRouteOutput) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInsightsAnalysisForwardPathComponentRouteTableRoute)(nil)).Elem() } -func (o NetworkInsightsAnalysisReturnPathComponentAdditionalDetailOutput) ToNetworkInsightsAnalysisReturnPathComponentAdditionalDetailOutput() NetworkInsightsAnalysisReturnPathComponentAdditionalDetailOutput { +func (o NetworkInsightsAnalysisForwardPathComponentRouteTableRouteOutput) ToNetworkInsightsAnalysisForwardPathComponentRouteTableRouteOutput() NetworkInsightsAnalysisForwardPathComponentRouteTableRouteOutput { return o } -func (o NetworkInsightsAnalysisReturnPathComponentAdditionalDetailOutput) ToNetworkInsightsAnalysisReturnPathComponentAdditionalDetailOutputWithContext(ctx context.Context) NetworkInsightsAnalysisReturnPathComponentAdditionalDetailOutput { +func (o NetworkInsightsAnalysisForwardPathComponentRouteTableRouteOutput) ToNetworkInsightsAnalysisForwardPathComponentRouteTableRouteOutputWithContext(ctx context.Context) NetworkInsightsAnalysisForwardPathComponentRouteTableRouteOutput { return o } -func (o NetworkInsightsAnalysisReturnPathComponentAdditionalDetailOutput) AdditionalDetailType() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponentAdditionalDetail) *string { - return v.AdditionalDetailType +func (o NetworkInsightsAnalysisForwardPathComponentRouteTableRouteOutput) DestinationCidr() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponentRouteTableRoute) *string { return v.DestinationCidr }).(pulumi.StringPtrOutput) +} + +func (o NetworkInsightsAnalysisForwardPathComponentRouteTableRouteOutput) DestinationPrefixListId() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponentRouteTableRoute) *string { + return v.DestinationPrefixListId }).(pulumi.StringPtrOutput) } -func (o NetworkInsightsAnalysisReturnPathComponentAdditionalDetailOutput) Components() NetworkInsightsAnalysisReturnPathComponentAdditionalDetailComponentArrayOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponentAdditionalDetail) []NetworkInsightsAnalysisReturnPathComponentAdditionalDetailComponent { - return v.Components - }).(NetworkInsightsAnalysisReturnPathComponentAdditionalDetailComponentArrayOutput) +func (o NetworkInsightsAnalysisForwardPathComponentRouteTableRouteOutput) EgressOnlyInternetGatewayId() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponentRouteTableRoute) *string { + return v.EgressOnlyInternetGatewayId + }).(pulumi.StringPtrOutput) } -type NetworkInsightsAnalysisReturnPathComponentAdditionalDetailArrayOutput struct{ *pulumi.OutputState } +func (o NetworkInsightsAnalysisForwardPathComponentRouteTableRouteOutput) GatewayId() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponentRouteTableRoute) *string { return v.GatewayId }).(pulumi.StringPtrOutput) +} -func (NetworkInsightsAnalysisReturnPathComponentAdditionalDetailArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]NetworkInsightsAnalysisReturnPathComponentAdditionalDetail)(nil)).Elem() +func (o NetworkInsightsAnalysisForwardPathComponentRouteTableRouteOutput) InstanceId() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponentRouteTableRoute) *string { return v.InstanceId }).(pulumi.StringPtrOutput) } -func (o NetworkInsightsAnalysisReturnPathComponentAdditionalDetailArrayOutput) ToNetworkInsightsAnalysisReturnPathComponentAdditionalDetailArrayOutput() NetworkInsightsAnalysisReturnPathComponentAdditionalDetailArrayOutput { +func (o NetworkInsightsAnalysisForwardPathComponentRouteTableRouteOutput) NatGatewayId() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponentRouteTableRoute) *string { return v.NatGatewayId }).(pulumi.StringPtrOutput) +} + +func (o NetworkInsightsAnalysisForwardPathComponentRouteTableRouteOutput) NetworkInterfaceId() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponentRouteTableRoute) *string { + return v.NetworkInterfaceId + }).(pulumi.StringPtrOutput) +} + +func (o NetworkInsightsAnalysisForwardPathComponentRouteTableRouteOutput) Origin() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponentRouteTableRoute) *string { return v.Origin }).(pulumi.StringPtrOutput) +} + +func (o NetworkInsightsAnalysisForwardPathComponentRouteTableRouteOutput) TransitGatewayId() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponentRouteTableRoute) *string { return v.TransitGatewayId }).(pulumi.StringPtrOutput) +} + +func (o NetworkInsightsAnalysisForwardPathComponentRouteTableRouteOutput) VpcPeeringConnectionId() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponentRouteTableRoute) *string { + return v.VpcPeeringConnectionId + }).(pulumi.StringPtrOutput) +} + +type NetworkInsightsAnalysisForwardPathComponentRouteTableRouteArrayOutput struct{ *pulumi.OutputState } + +func (NetworkInsightsAnalysisForwardPathComponentRouteTableRouteArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkInsightsAnalysisForwardPathComponentRouteTableRoute)(nil)).Elem() +} + +func (o NetworkInsightsAnalysisForwardPathComponentRouteTableRouteArrayOutput) ToNetworkInsightsAnalysisForwardPathComponentRouteTableRouteArrayOutput() NetworkInsightsAnalysisForwardPathComponentRouteTableRouteArrayOutput { return o } -func (o NetworkInsightsAnalysisReturnPathComponentAdditionalDetailArrayOutput) ToNetworkInsightsAnalysisReturnPathComponentAdditionalDetailArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisReturnPathComponentAdditionalDetailArrayOutput { +func (o NetworkInsightsAnalysisForwardPathComponentRouteTableRouteArrayOutput) ToNetworkInsightsAnalysisForwardPathComponentRouteTableRouteArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisForwardPathComponentRouteTableRouteArrayOutput { return o } -func (o NetworkInsightsAnalysisReturnPathComponentAdditionalDetailArrayOutput) Index(i pulumi.IntInput) NetworkInsightsAnalysisReturnPathComponentAdditionalDetailOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkInsightsAnalysisReturnPathComponentAdditionalDetail { - return vs[0].([]NetworkInsightsAnalysisReturnPathComponentAdditionalDetail)[vs[1].(int)] - }).(NetworkInsightsAnalysisReturnPathComponentAdditionalDetailOutput) +func (o NetworkInsightsAnalysisForwardPathComponentRouteTableRouteArrayOutput) Index(i pulumi.IntInput) NetworkInsightsAnalysisForwardPathComponentRouteTableRouteOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkInsightsAnalysisForwardPathComponentRouteTableRoute { + return vs[0].([]NetworkInsightsAnalysisForwardPathComponentRouteTableRoute)[vs[1].(int)] + }).(NetworkInsightsAnalysisForwardPathComponentRouteTableRouteOutput) } -type NetworkInsightsAnalysisReturnPathComponentAdditionalDetailComponent struct { - // ARN of the Network Insights Analysis. - Arn *string `pulumi:"arn"` - // ID of the Network Insights Analysis. - Id *string `pulumi:"id"` - Name *string `pulumi:"name"` +type NetworkInsightsAnalysisForwardPathComponentSecurityGroupRule struct { + Cidr *string `pulumi:"cidr"` + Direction *string `pulumi:"direction"` + PortRanges []NetworkInsightsAnalysisForwardPathComponentSecurityGroupRulePortRange `pulumi:"portRanges"` + PrefixListId *string `pulumi:"prefixListId"` + Protocol *string `pulumi:"protocol"` + SecurityGroupId *string `pulumi:"securityGroupId"` } -// NetworkInsightsAnalysisReturnPathComponentAdditionalDetailComponentInput is an input type that accepts NetworkInsightsAnalysisReturnPathComponentAdditionalDetailComponentArgs and NetworkInsightsAnalysisReturnPathComponentAdditionalDetailComponentOutput values. -// You can construct a concrete instance of `NetworkInsightsAnalysisReturnPathComponentAdditionalDetailComponentInput` via: +// NetworkInsightsAnalysisForwardPathComponentSecurityGroupRuleInput is an input type that accepts NetworkInsightsAnalysisForwardPathComponentSecurityGroupRuleArgs and NetworkInsightsAnalysisForwardPathComponentSecurityGroupRuleOutput values. +// You can construct a concrete instance of `NetworkInsightsAnalysisForwardPathComponentSecurityGroupRuleInput` via: // -// NetworkInsightsAnalysisReturnPathComponentAdditionalDetailComponentArgs{...} -type NetworkInsightsAnalysisReturnPathComponentAdditionalDetailComponentInput interface { +// NetworkInsightsAnalysisForwardPathComponentSecurityGroupRuleArgs{...} +type NetworkInsightsAnalysisForwardPathComponentSecurityGroupRuleInput interface { pulumi.Input - ToNetworkInsightsAnalysisReturnPathComponentAdditionalDetailComponentOutput() NetworkInsightsAnalysisReturnPathComponentAdditionalDetailComponentOutput - ToNetworkInsightsAnalysisReturnPathComponentAdditionalDetailComponentOutputWithContext(context.Context) NetworkInsightsAnalysisReturnPathComponentAdditionalDetailComponentOutput + ToNetworkInsightsAnalysisForwardPathComponentSecurityGroupRuleOutput() NetworkInsightsAnalysisForwardPathComponentSecurityGroupRuleOutput + ToNetworkInsightsAnalysisForwardPathComponentSecurityGroupRuleOutputWithContext(context.Context) NetworkInsightsAnalysisForwardPathComponentSecurityGroupRuleOutput } -type NetworkInsightsAnalysisReturnPathComponentAdditionalDetailComponentArgs struct { - // ARN of the Network Insights Analysis. - Arn pulumi.StringPtrInput `pulumi:"arn"` - // ID of the Network Insights Analysis. - Id pulumi.StringPtrInput `pulumi:"id"` - Name pulumi.StringPtrInput `pulumi:"name"` +type NetworkInsightsAnalysisForwardPathComponentSecurityGroupRuleArgs struct { + Cidr pulumi.StringPtrInput `pulumi:"cidr"` + Direction pulumi.StringPtrInput `pulumi:"direction"` + PortRanges NetworkInsightsAnalysisForwardPathComponentSecurityGroupRulePortRangeArrayInput `pulumi:"portRanges"` + PrefixListId pulumi.StringPtrInput `pulumi:"prefixListId"` + Protocol pulumi.StringPtrInput `pulumi:"protocol"` + SecurityGroupId pulumi.StringPtrInput `pulumi:"securityGroupId"` } -func (NetworkInsightsAnalysisReturnPathComponentAdditionalDetailComponentArgs) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkInsightsAnalysisReturnPathComponentAdditionalDetailComponent)(nil)).Elem() +func (NetworkInsightsAnalysisForwardPathComponentSecurityGroupRuleArgs) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInsightsAnalysisForwardPathComponentSecurityGroupRule)(nil)).Elem() } -func (i NetworkInsightsAnalysisReturnPathComponentAdditionalDetailComponentArgs) ToNetworkInsightsAnalysisReturnPathComponentAdditionalDetailComponentOutput() NetworkInsightsAnalysisReturnPathComponentAdditionalDetailComponentOutput { - return i.ToNetworkInsightsAnalysisReturnPathComponentAdditionalDetailComponentOutputWithContext(context.Background()) +func (i NetworkInsightsAnalysisForwardPathComponentSecurityGroupRuleArgs) ToNetworkInsightsAnalysisForwardPathComponentSecurityGroupRuleOutput() NetworkInsightsAnalysisForwardPathComponentSecurityGroupRuleOutput { + return i.ToNetworkInsightsAnalysisForwardPathComponentSecurityGroupRuleOutputWithContext(context.Background()) } -func (i NetworkInsightsAnalysisReturnPathComponentAdditionalDetailComponentArgs) ToNetworkInsightsAnalysisReturnPathComponentAdditionalDetailComponentOutputWithContext(ctx context.Context) NetworkInsightsAnalysisReturnPathComponentAdditionalDetailComponentOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisReturnPathComponentAdditionalDetailComponentOutput) +func (i NetworkInsightsAnalysisForwardPathComponentSecurityGroupRuleArgs) ToNetworkInsightsAnalysisForwardPathComponentSecurityGroupRuleOutputWithContext(ctx context.Context) NetworkInsightsAnalysisForwardPathComponentSecurityGroupRuleOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisForwardPathComponentSecurityGroupRuleOutput) } -// NetworkInsightsAnalysisReturnPathComponentAdditionalDetailComponentArrayInput is an input type that accepts NetworkInsightsAnalysisReturnPathComponentAdditionalDetailComponentArray and NetworkInsightsAnalysisReturnPathComponentAdditionalDetailComponentArrayOutput values. -// You can construct a concrete instance of `NetworkInsightsAnalysisReturnPathComponentAdditionalDetailComponentArrayInput` via: +// NetworkInsightsAnalysisForwardPathComponentSecurityGroupRuleArrayInput is an input type that accepts NetworkInsightsAnalysisForwardPathComponentSecurityGroupRuleArray and NetworkInsightsAnalysisForwardPathComponentSecurityGroupRuleArrayOutput values. +// You can construct a concrete instance of `NetworkInsightsAnalysisForwardPathComponentSecurityGroupRuleArrayInput` via: // -// NetworkInsightsAnalysisReturnPathComponentAdditionalDetailComponentArray{ NetworkInsightsAnalysisReturnPathComponentAdditionalDetailComponentArgs{...} } -type NetworkInsightsAnalysisReturnPathComponentAdditionalDetailComponentArrayInput interface { +// NetworkInsightsAnalysisForwardPathComponentSecurityGroupRuleArray{ NetworkInsightsAnalysisForwardPathComponentSecurityGroupRuleArgs{...} } +type NetworkInsightsAnalysisForwardPathComponentSecurityGroupRuleArrayInput interface { pulumi.Input - ToNetworkInsightsAnalysisReturnPathComponentAdditionalDetailComponentArrayOutput() NetworkInsightsAnalysisReturnPathComponentAdditionalDetailComponentArrayOutput - ToNetworkInsightsAnalysisReturnPathComponentAdditionalDetailComponentArrayOutputWithContext(context.Context) NetworkInsightsAnalysisReturnPathComponentAdditionalDetailComponentArrayOutput + ToNetworkInsightsAnalysisForwardPathComponentSecurityGroupRuleArrayOutput() NetworkInsightsAnalysisForwardPathComponentSecurityGroupRuleArrayOutput + ToNetworkInsightsAnalysisForwardPathComponentSecurityGroupRuleArrayOutputWithContext(context.Context) NetworkInsightsAnalysisForwardPathComponentSecurityGroupRuleArrayOutput } -type NetworkInsightsAnalysisReturnPathComponentAdditionalDetailComponentArray []NetworkInsightsAnalysisReturnPathComponentAdditionalDetailComponentInput +type NetworkInsightsAnalysisForwardPathComponentSecurityGroupRuleArray []NetworkInsightsAnalysisForwardPathComponentSecurityGroupRuleInput -func (NetworkInsightsAnalysisReturnPathComponentAdditionalDetailComponentArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]NetworkInsightsAnalysisReturnPathComponentAdditionalDetailComponent)(nil)).Elem() +func (NetworkInsightsAnalysisForwardPathComponentSecurityGroupRuleArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkInsightsAnalysisForwardPathComponentSecurityGroupRule)(nil)).Elem() } -func (i NetworkInsightsAnalysisReturnPathComponentAdditionalDetailComponentArray) ToNetworkInsightsAnalysisReturnPathComponentAdditionalDetailComponentArrayOutput() NetworkInsightsAnalysisReturnPathComponentAdditionalDetailComponentArrayOutput { - return i.ToNetworkInsightsAnalysisReturnPathComponentAdditionalDetailComponentArrayOutputWithContext(context.Background()) +func (i NetworkInsightsAnalysisForwardPathComponentSecurityGroupRuleArray) ToNetworkInsightsAnalysisForwardPathComponentSecurityGroupRuleArrayOutput() NetworkInsightsAnalysisForwardPathComponentSecurityGroupRuleArrayOutput { + return i.ToNetworkInsightsAnalysisForwardPathComponentSecurityGroupRuleArrayOutputWithContext(context.Background()) } -func (i NetworkInsightsAnalysisReturnPathComponentAdditionalDetailComponentArray) ToNetworkInsightsAnalysisReturnPathComponentAdditionalDetailComponentArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisReturnPathComponentAdditionalDetailComponentArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisReturnPathComponentAdditionalDetailComponentArrayOutput) +func (i NetworkInsightsAnalysisForwardPathComponentSecurityGroupRuleArray) ToNetworkInsightsAnalysisForwardPathComponentSecurityGroupRuleArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisForwardPathComponentSecurityGroupRuleArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisForwardPathComponentSecurityGroupRuleArrayOutput) } -type NetworkInsightsAnalysisReturnPathComponentAdditionalDetailComponentOutput struct{ *pulumi.OutputState } +type NetworkInsightsAnalysisForwardPathComponentSecurityGroupRuleOutput struct{ *pulumi.OutputState } -func (NetworkInsightsAnalysisReturnPathComponentAdditionalDetailComponentOutput) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkInsightsAnalysisReturnPathComponentAdditionalDetailComponent)(nil)).Elem() +func (NetworkInsightsAnalysisForwardPathComponentSecurityGroupRuleOutput) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInsightsAnalysisForwardPathComponentSecurityGroupRule)(nil)).Elem() } -func (o NetworkInsightsAnalysisReturnPathComponentAdditionalDetailComponentOutput) ToNetworkInsightsAnalysisReturnPathComponentAdditionalDetailComponentOutput() NetworkInsightsAnalysisReturnPathComponentAdditionalDetailComponentOutput { +func (o NetworkInsightsAnalysisForwardPathComponentSecurityGroupRuleOutput) ToNetworkInsightsAnalysisForwardPathComponentSecurityGroupRuleOutput() NetworkInsightsAnalysisForwardPathComponentSecurityGroupRuleOutput { return o } -func (o NetworkInsightsAnalysisReturnPathComponentAdditionalDetailComponentOutput) ToNetworkInsightsAnalysisReturnPathComponentAdditionalDetailComponentOutputWithContext(ctx context.Context) NetworkInsightsAnalysisReturnPathComponentAdditionalDetailComponentOutput { +func (o NetworkInsightsAnalysisForwardPathComponentSecurityGroupRuleOutput) ToNetworkInsightsAnalysisForwardPathComponentSecurityGroupRuleOutputWithContext(ctx context.Context) NetworkInsightsAnalysisForwardPathComponentSecurityGroupRuleOutput { return o } -// ARN of the Network Insights Analysis. -func (o NetworkInsightsAnalysisReturnPathComponentAdditionalDetailComponentOutput) Arn() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponentAdditionalDetailComponent) *string { return v.Arn }).(pulumi.StringPtrOutput) +func (o NetworkInsightsAnalysisForwardPathComponentSecurityGroupRuleOutput) Cidr() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponentSecurityGroupRule) *string { return v.Cidr }).(pulumi.StringPtrOutput) } -// ID of the Network Insights Analysis. -func (o NetworkInsightsAnalysisReturnPathComponentAdditionalDetailComponentOutput) Id() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponentAdditionalDetailComponent) *string { return v.Id }).(pulumi.StringPtrOutput) +func (o NetworkInsightsAnalysisForwardPathComponentSecurityGroupRuleOutput) Direction() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponentSecurityGroupRule) *string { return v.Direction }).(pulumi.StringPtrOutput) } -func (o NetworkInsightsAnalysisReturnPathComponentAdditionalDetailComponentOutput) Name() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponentAdditionalDetailComponent) *string { return v.Name }).(pulumi.StringPtrOutput) +func (o NetworkInsightsAnalysisForwardPathComponentSecurityGroupRuleOutput) PortRanges() NetworkInsightsAnalysisForwardPathComponentSecurityGroupRulePortRangeArrayOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponentSecurityGroupRule) []NetworkInsightsAnalysisForwardPathComponentSecurityGroupRulePortRange { + return v.PortRanges + }).(NetworkInsightsAnalysisForwardPathComponentSecurityGroupRulePortRangeArrayOutput) } -type NetworkInsightsAnalysisReturnPathComponentAdditionalDetailComponentArrayOutput struct{ *pulumi.OutputState } +func (o NetworkInsightsAnalysisForwardPathComponentSecurityGroupRuleOutput) PrefixListId() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponentSecurityGroupRule) *string { return v.PrefixListId }).(pulumi.StringPtrOutput) +} -func (NetworkInsightsAnalysisReturnPathComponentAdditionalDetailComponentArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]NetworkInsightsAnalysisReturnPathComponentAdditionalDetailComponent)(nil)).Elem() +func (o NetworkInsightsAnalysisForwardPathComponentSecurityGroupRuleOutput) Protocol() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponentSecurityGroupRule) *string { return v.Protocol }).(pulumi.StringPtrOutput) } -func (o NetworkInsightsAnalysisReturnPathComponentAdditionalDetailComponentArrayOutput) ToNetworkInsightsAnalysisReturnPathComponentAdditionalDetailComponentArrayOutput() NetworkInsightsAnalysisReturnPathComponentAdditionalDetailComponentArrayOutput { +func (o NetworkInsightsAnalysisForwardPathComponentSecurityGroupRuleOutput) SecurityGroupId() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponentSecurityGroupRule) *string { return v.SecurityGroupId }).(pulumi.StringPtrOutput) +} + +type NetworkInsightsAnalysisForwardPathComponentSecurityGroupRuleArrayOutput struct{ *pulumi.OutputState } + +func (NetworkInsightsAnalysisForwardPathComponentSecurityGroupRuleArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkInsightsAnalysisForwardPathComponentSecurityGroupRule)(nil)).Elem() +} + +func (o NetworkInsightsAnalysisForwardPathComponentSecurityGroupRuleArrayOutput) ToNetworkInsightsAnalysisForwardPathComponentSecurityGroupRuleArrayOutput() NetworkInsightsAnalysisForwardPathComponentSecurityGroupRuleArrayOutput { return o } -func (o NetworkInsightsAnalysisReturnPathComponentAdditionalDetailComponentArrayOutput) ToNetworkInsightsAnalysisReturnPathComponentAdditionalDetailComponentArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisReturnPathComponentAdditionalDetailComponentArrayOutput { +func (o NetworkInsightsAnalysisForwardPathComponentSecurityGroupRuleArrayOutput) ToNetworkInsightsAnalysisForwardPathComponentSecurityGroupRuleArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisForwardPathComponentSecurityGroupRuleArrayOutput { return o } -func (o NetworkInsightsAnalysisReturnPathComponentAdditionalDetailComponentArrayOutput) Index(i pulumi.IntInput) NetworkInsightsAnalysisReturnPathComponentAdditionalDetailComponentOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkInsightsAnalysisReturnPathComponentAdditionalDetailComponent { - return vs[0].([]NetworkInsightsAnalysisReturnPathComponentAdditionalDetailComponent)[vs[1].(int)] - }).(NetworkInsightsAnalysisReturnPathComponentAdditionalDetailComponentOutput) +func (o NetworkInsightsAnalysisForwardPathComponentSecurityGroupRuleArrayOutput) Index(i pulumi.IntInput) NetworkInsightsAnalysisForwardPathComponentSecurityGroupRuleOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkInsightsAnalysisForwardPathComponentSecurityGroupRule { + return vs[0].([]NetworkInsightsAnalysisForwardPathComponentSecurityGroupRule)[vs[1].(int)] + }).(NetworkInsightsAnalysisForwardPathComponentSecurityGroupRuleOutput) } -type NetworkInsightsAnalysisReturnPathComponentAttachedTo struct { - // ARN of the Network Insights Analysis. - Arn *string `pulumi:"arn"` - // ID of the Network Insights Analysis. - Id *string `pulumi:"id"` - Name *string `pulumi:"name"` +type NetworkInsightsAnalysisForwardPathComponentSecurityGroupRulePortRange struct { + From *int `pulumi:"from"` + To *int `pulumi:"to"` } -// NetworkInsightsAnalysisReturnPathComponentAttachedToInput is an input type that accepts NetworkInsightsAnalysisReturnPathComponentAttachedToArgs and NetworkInsightsAnalysisReturnPathComponentAttachedToOutput values. -// You can construct a concrete instance of `NetworkInsightsAnalysisReturnPathComponentAttachedToInput` via: +// NetworkInsightsAnalysisForwardPathComponentSecurityGroupRulePortRangeInput is an input type that accepts NetworkInsightsAnalysisForwardPathComponentSecurityGroupRulePortRangeArgs and NetworkInsightsAnalysisForwardPathComponentSecurityGroupRulePortRangeOutput values. +// You can construct a concrete instance of `NetworkInsightsAnalysisForwardPathComponentSecurityGroupRulePortRangeInput` via: // -// NetworkInsightsAnalysisReturnPathComponentAttachedToArgs{...} -type NetworkInsightsAnalysisReturnPathComponentAttachedToInput interface { +// NetworkInsightsAnalysisForwardPathComponentSecurityGroupRulePortRangeArgs{...} +type NetworkInsightsAnalysisForwardPathComponentSecurityGroupRulePortRangeInput interface { pulumi.Input - ToNetworkInsightsAnalysisReturnPathComponentAttachedToOutput() NetworkInsightsAnalysisReturnPathComponentAttachedToOutput - ToNetworkInsightsAnalysisReturnPathComponentAttachedToOutputWithContext(context.Context) NetworkInsightsAnalysisReturnPathComponentAttachedToOutput + ToNetworkInsightsAnalysisForwardPathComponentSecurityGroupRulePortRangeOutput() NetworkInsightsAnalysisForwardPathComponentSecurityGroupRulePortRangeOutput + ToNetworkInsightsAnalysisForwardPathComponentSecurityGroupRulePortRangeOutputWithContext(context.Context) NetworkInsightsAnalysisForwardPathComponentSecurityGroupRulePortRangeOutput } -type NetworkInsightsAnalysisReturnPathComponentAttachedToArgs struct { - // ARN of the Network Insights Analysis. - Arn pulumi.StringPtrInput `pulumi:"arn"` - // ID of the Network Insights Analysis. - Id pulumi.StringPtrInput `pulumi:"id"` - Name pulumi.StringPtrInput `pulumi:"name"` +type NetworkInsightsAnalysisForwardPathComponentSecurityGroupRulePortRangeArgs struct { + From pulumi.IntPtrInput `pulumi:"from"` + To pulumi.IntPtrInput `pulumi:"to"` } -func (NetworkInsightsAnalysisReturnPathComponentAttachedToArgs) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkInsightsAnalysisReturnPathComponentAttachedTo)(nil)).Elem() +func (NetworkInsightsAnalysisForwardPathComponentSecurityGroupRulePortRangeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInsightsAnalysisForwardPathComponentSecurityGroupRulePortRange)(nil)).Elem() } -func (i NetworkInsightsAnalysisReturnPathComponentAttachedToArgs) ToNetworkInsightsAnalysisReturnPathComponentAttachedToOutput() NetworkInsightsAnalysisReturnPathComponentAttachedToOutput { - return i.ToNetworkInsightsAnalysisReturnPathComponentAttachedToOutputWithContext(context.Background()) +func (i NetworkInsightsAnalysisForwardPathComponentSecurityGroupRulePortRangeArgs) ToNetworkInsightsAnalysisForwardPathComponentSecurityGroupRulePortRangeOutput() NetworkInsightsAnalysisForwardPathComponentSecurityGroupRulePortRangeOutput { + return i.ToNetworkInsightsAnalysisForwardPathComponentSecurityGroupRulePortRangeOutputWithContext(context.Background()) } -func (i NetworkInsightsAnalysisReturnPathComponentAttachedToArgs) ToNetworkInsightsAnalysisReturnPathComponentAttachedToOutputWithContext(ctx context.Context) NetworkInsightsAnalysisReturnPathComponentAttachedToOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisReturnPathComponentAttachedToOutput) +func (i NetworkInsightsAnalysisForwardPathComponentSecurityGroupRulePortRangeArgs) ToNetworkInsightsAnalysisForwardPathComponentSecurityGroupRulePortRangeOutputWithContext(ctx context.Context) NetworkInsightsAnalysisForwardPathComponentSecurityGroupRulePortRangeOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisForwardPathComponentSecurityGroupRulePortRangeOutput) } -// NetworkInsightsAnalysisReturnPathComponentAttachedToArrayInput is an input type that accepts NetworkInsightsAnalysisReturnPathComponentAttachedToArray and NetworkInsightsAnalysisReturnPathComponentAttachedToArrayOutput values. -// You can construct a concrete instance of `NetworkInsightsAnalysisReturnPathComponentAttachedToArrayInput` via: +// NetworkInsightsAnalysisForwardPathComponentSecurityGroupRulePortRangeArrayInput is an input type that accepts NetworkInsightsAnalysisForwardPathComponentSecurityGroupRulePortRangeArray and NetworkInsightsAnalysisForwardPathComponentSecurityGroupRulePortRangeArrayOutput values. +// You can construct a concrete instance of `NetworkInsightsAnalysisForwardPathComponentSecurityGroupRulePortRangeArrayInput` via: // -// NetworkInsightsAnalysisReturnPathComponentAttachedToArray{ NetworkInsightsAnalysisReturnPathComponentAttachedToArgs{...} } -type NetworkInsightsAnalysisReturnPathComponentAttachedToArrayInput interface { +// NetworkInsightsAnalysisForwardPathComponentSecurityGroupRulePortRangeArray{ NetworkInsightsAnalysisForwardPathComponentSecurityGroupRulePortRangeArgs{...} } +type NetworkInsightsAnalysisForwardPathComponentSecurityGroupRulePortRangeArrayInput interface { pulumi.Input - ToNetworkInsightsAnalysisReturnPathComponentAttachedToArrayOutput() NetworkInsightsAnalysisReturnPathComponentAttachedToArrayOutput - ToNetworkInsightsAnalysisReturnPathComponentAttachedToArrayOutputWithContext(context.Context) NetworkInsightsAnalysisReturnPathComponentAttachedToArrayOutput + ToNetworkInsightsAnalysisForwardPathComponentSecurityGroupRulePortRangeArrayOutput() NetworkInsightsAnalysisForwardPathComponentSecurityGroupRulePortRangeArrayOutput + ToNetworkInsightsAnalysisForwardPathComponentSecurityGroupRulePortRangeArrayOutputWithContext(context.Context) NetworkInsightsAnalysisForwardPathComponentSecurityGroupRulePortRangeArrayOutput } -type NetworkInsightsAnalysisReturnPathComponentAttachedToArray []NetworkInsightsAnalysisReturnPathComponentAttachedToInput +type NetworkInsightsAnalysisForwardPathComponentSecurityGroupRulePortRangeArray []NetworkInsightsAnalysisForwardPathComponentSecurityGroupRulePortRangeInput -func (NetworkInsightsAnalysisReturnPathComponentAttachedToArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]NetworkInsightsAnalysisReturnPathComponentAttachedTo)(nil)).Elem() +func (NetworkInsightsAnalysisForwardPathComponentSecurityGroupRulePortRangeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkInsightsAnalysisForwardPathComponentSecurityGroupRulePortRange)(nil)).Elem() } -func (i NetworkInsightsAnalysisReturnPathComponentAttachedToArray) ToNetworkInsightsAnalysisReturnPathComponentAttachedToArrayOutput() NetworkInsightsAnalysisReturnPathComponentAttachedToArrayOutput { - return i.ToNetworkInsightsAnalysisReturnPathComponentAttachedToArrayOutputWithContext(context.Background()) +func (i NetworkInsightsAnalysisForwardPathComponentSecurityGroupRulePortRangeArray) ToNetworkInsightsAnalysisForwardPathComponentSecurityGroupRulePortRangeArrayOutput() NetworkInsightsAnalysisForwardPathComponentSecurityGroupRulePortRangeArrayOutput { + return i.ToNetworkInsightsAnalysisForwardPathComponentSecurityGroupRulePortRangeArrayOutputWithContext(context.Background()) } -func (i NetworkInsightsAnalysisReturnPathComponentAttachedToArray) ToNetworkInsightsAnalysisReturnPathComponentAttachedToArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisReturnPathComponentAttachedToArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisReturnPathComponentAttachedToArrayOutput) +func (i NetworkInsightsAnalysisForwardPathComponentSecurityGroupRulePortRangeArray) ToNetworkInsightsAnalysisForwardPathComponentSecurityGroupRulePortRangeArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisForwardPathComponentSecurityGroupRulePortRangeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisForwardPathComponentSecurityGroupRulePortRangeArrayOutput) } -type NetworkInsightsAnalysisReturnPathComponentAttachedToOutput struct{ *pulumi.OutputState } +type NetworkInsightsAnalysisForwardPathComponentSecurityGroupRulePortRangeOutput struct{ *pulumi.OutputState } -func (NetworkInsightsAnalysisReturnPathComponentAttachedToOutput) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkInsightsAnalysisReturnPathComponentAttachedTo)(nil)).Elem() +func (NetworkInsightsAnalysisForwardPathComponentSecurityGroupRulePortRangeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInsightsAnalysisForwardPathComponentSecurityGroupRulePortRange)(nil)).Elem() } -func (o NetworkInsightsAnalysisReturnPathComponentAttachedToOutput) ToNetworkInsightsAnalysisReturnPathComponentAttachedToOutput() NetworkInsightsAnalysisReturnPathComponentAttachedToOutput { +func (o NetworkInsightsAnalysisForwardPathComponentSecurityGroupRulePortRangeOutput) ToNetworkInsightsAnalysisForwardPathComponentSecurityGroupRulePortRangeOutput() NetworkInsightsAnalysisForwardPathComponentSecurityGroupRulePortRangeOutput { return o } -func (o NetworkInsightsAnalysisReturnPathComponentAttachedToOutput) ToNetworkInsightsAnalysisReturnPathComponentAttachedToOutputWithContext(ctx context.Context) NetworkInsightsAnalysisReturnPathComponentAttachedToOutput { +func (o NetworkInsightsAnalysisForwardPathComponentSecurityGroupRulePortRangeOutput) ToNetworkInsightsAnalysisForwardPathComponentSecurityGroupRulePortRangeOutputWithContext(ctx context.Context) NetworkInsightsAnalysisForwardPathComponentSecurityGroupRulePortRangeOutput { return o } -// ARN of the Network Insights Analysis. -func (o NetworkInsightsAnalysisReturnPathComponentAttachedToOutput) Arn() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponentAttachedTo) *string { return v.Arn }).(pulumi.StringPtrOutput) -} - -// ID of the Network Insights Analysis. -func (o NetworkInsightsAnalysisReturnPathComponentAttachedToOutput) Id() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponentAttachedTo) *string { return v.Id }).(pulumi.StringPtrOutput) +func (o NetworkInsightsAnalysisForwardPathComponentSecurityGroupRulePortRangeOutput) From() pulumi.IntPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponentSecurityGroupRulePortRange) *int { return v.From }).(pulumi.IntPtrOutput) } -func (o NetworkInsightsAnalysisReturnPathComponentAttachedToOutput) Name() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponentAttachedTo) *string { return v.Name }).(pulumi.StringPtrOutput) +func (o NetworkInsightsAnalysisForwardPathComponentSecurityGroupRulePortRangeOutput) To() pulumi.IntPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponentSecurityGroupRulePortRange) *int { return v.To }).(pulumi.IntPtrOutput) } -type NetworkInsightsAnalysisReturnPathComponentAttachedToArrayOutput struct{ *pulumi.OutputState } +type NetworkInsightsAnalysisForwardPathComponentSecurityGroupRulePortRangeArrayOutput struct{ *pulumi.OutputState } -func (NetworkInsightsAnalysisReturnPathComponentAttachedToArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]NetworkInsightsAnalysisReturnPathComponentAttachedTo)(nil)).Elem() +func (NetworkInsightsAnalysisForwardPathComponentSecurityGroupRulePortRangeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkInsightsAnalysisForwardPathComponentSecurityGroupRulePortRange)(nil)).Elem() } -func (o NetworkInsightsAnalysisReturnPathComponentAttachedToArrayOutput) ToNetworkInsightsAnalysisReturnPathComponentAttachedToArrayOutput() NetworkInsightsAnalysisReturnPathComponentAttachedToArrayOutput { +func (o NetworkInsightsAnalysisForwardPathComponentSecurityGroupRulePortRangeArrayOutput) ToNetworkInsightsAnalysisForwardPathComponentSecurityGroupRulePortRangeArrayOutput() NetworkInsightsAnalysisForwardPathComponentSecurityGroupRulePortRangeArrayOutput { return o } -func (o NetworkInsightsAnalysisReturnPathComponentAttachedToArrayOutput) ToNetworkInsightsAnalysisReturnPathComponentAttachedToArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisReturnPathComponentAttachedToArrayOutput { +func (o NetworkInsightsAnalysisForwardPathComponentSecurityGroupRulePortRangeArrayOutput) ToNetworkInsightsAnalysisForwardPathComponentSecurityGroupRulePortRangeArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisForwardPathComponentSecurityGroupRulePortRangeArrayOutput { return o } -func (o NetworkInsightsAnalysisReturnPathComponentAttachedToArrayOutput) Index(i pulumi.IntInput) NetworkInsightsAnalysisReturnPathComponentAttachedToOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkInsightsAnalysisReturnPathComponentAttachedTo { - return vs[0].([]NetworkInsightsAnalysisReturnPathComponentAttachedTo)[vs[1].(int)] - }).(NetworkInsightsAnalysisReturnPathComponentAttachedToOutput) +func (o NetworkInsightsAnalysisForwardPathComponentSecurityGroupRulePortRangeArrayOutput) Index(i pulumi.IntInput) NetworkInsightsAnalysisForwardPathComponentSecurityGroupRulePortRangeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkInsightsAnalysisForwardPathComponentSecurityGroupRulePortRange { + return vs[0].([]NetworkInsightsAnalysisForwardPathComponentSecurityGroupRulePortRange)[vs[1].(int)] + }).(NetworkInsightsAnalysisForwardPathComponentSecurityGroupRulePortRangeOutput) } -type NetworkInsightsAnalysisReturnPathComponentComponent struct { +type NetworkInsightsAnalysisForwardPathComponentSourceVpc struct { // ARN of the Network Insights Analysis. Arn *string `pulumi:"arn"` // ID of the Network Insights Analysis. @@ -24350,18 +24971,18 @@ type NetworkInsightsAnalysisReturnPathComponentComponent struct { Name *string `pulumi:"name"` } -// NetworkInsightsAnalysisReturnPathComponentComponentInput is an input type that accepts NetworkInsightsAnalysisReturnPathComponentComponentArgs and NetworkInsightsAnalysisReturnPathComponentComponentOutput values. -// You can construct a concrete instance of `NetworkInsightsAnalysisReturnPathComponentComponentInput` via: +// NetworkInsightsAnalysisForwardPathComponentSourceVpcInput is an input type that accepts NetworkInsightsAnalysisForwardPathComponentSourceVpcArgs and NetworkInsightsAnalysisForwardPathComponentSourceVpcOutput values. +// You can construct a concrete instance of `NetworkInsightsAnalysisForwardPathComponentSourceVpcInput` via: // -// NetworkInsightsAnalysisReturnPathComponentComponentArgs{...} -type NetworkInsightsAnalysisReturnPathComponentComponentInput interface { +// NetworkInsightsAnalysisForwardPathComponentSourceVpcArgs{...} +type NetworkInsightsAnalysisForwardPathComponentSourceVpcInput interface { pulumi.Input - ToNetworkInsightsAnalysisReturnPathComponentComponentOutput() NetworkInsightsAnalysisReturnPathComponentComponentOutput - ToNetworkInsightsAnalysisReturnPathComponentComponentOutputWithContext(context.Context) NetworkInsightsAnalysisReturnPathComponentComponentOutput + ToNetworkInsightsAnalysisForwardPathComponentSourceVpcOutput() NetworkInsightsAnalysisForwardPathComponentSourceVpcOutput + ToNetworkInsightsAnalysisForwardPathComponentSourceVpcOutputWithContext(context.Context) NetworkInsightsAnalysisForwardPathComponentSourceVpcOutput } -type NetworkInsightsAnalysisReturnPathComponentComponentArgs struct { +type NetworkInsightsAnalysisForwardPathComponentSourceVpcArgs struct { // ARN of the Network Insights Analysis. Arn pulumi.StringPtrInput `pulumi:"arn"` // ID of the Network Insights Analysis. @@ -24369,92 +24990,92 @@ type NetworkInsightsAnalysisReturnPathComponentComponentArgs struct { Name pulumi.StringPtrInput `pulumi:"name"` } -func (NetworkInsightsAnalysisReturnPathComponentComponentArgs) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkInsightsAnalysisReturnPathComponentComponent)(nil)).Elem() +func (NetworkInsightsAnalysisForwardPathComponentSourceVpcArgs) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInsightsAnalysisForwardPathComponentSourceVpc)(nil)).Elem() } -func (i NetworkInsightsAnalysisReturnPathComponentComponentArgs) ToNetworkInsightsAnalysisReturnPathComponentComponentOutput() NetworkInsightsAnalysisReturnPathComponentComponentOutput { - return i.ToNetworkInsightsAnalysisReturnPathComponentComponentOutputWithContext(context.Background()) +func (i NetworkInsightsAnalysisForwardPathComponentSourceVpcArgs) ToNetworkInsightsAnalysisForwardPathComponentSourceVpcOutput() NetworkInsightsAnalysisForwardPathComponentSourceVpcOutput { + return i.ToNetworkInsightsAnalysisForwardPathComponentSourceVpcOutputWithContext(context.Background()) } -func (i NetworkInsightsAnalysisReturnPathComponentComponentArgs) ToNetworkInsightsAnalysisReturnPathComponentComponentOutputWithContext(ctx context.Context) NetworkInsightsAnalysisReturnPathComponentComponentOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisReturnPathComponentComponentOutput) +func (i NetworkInsightsAnalysisForwardPathComponentSourceVpcArgs) ToNetworkInsightsAnalysisForwardPathComponentSourceVpcOutputWithContext(ctx context.Context) NetworkInsightsAnalysisForwardPathComponentSourceVpcOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisForwardPathComponentSourceVpcOutput) } -// NetworkInsightsAnalysisReturnPathComponentComponentArrayInput is an input type that accepts NetworkInsightsAnalysisReturnPathComponentComponentArray and NetworkInsightsAnalysisReturnPathComponentComponentArrayOutput values. -// You can construct a concrete instance of `NetworkInsightsAnalysisReturnPathComponentComponentArrayInput` via: +// NetworkInsightsAnalysisForwardPathComponentSourceVpcArrayInput is an input type that accepts NetworkInsightsAnalysisForwardPathComponentSourceVpcArray and NetworkInsightsAnalysisForwardPathComponentSourceVpcArrayOutput values. +// You can construct a concrete instance of `NetworkInsightsAnalysisForwardPathComponentSourceVpcArrayInput` via: // -// NetworkInsightsAnalysisReturnPathComponentComponentArray{ NetworkInsightsAnalysisReturnPathComponentComponentArgs{...} } -type NetworkInsightsAnalysisReturnPathComponentComponentArrayInput interface { +// NetworkInsightsAnalysisForwardPathComponentSourceVpcArray{ NetworkInsightsAnalysisForwardPathComponentSourceVpcArgs{...} } +type NetworkInsightsAnalysisForwardPathComponentSourceVpcArrayInput interface { pulumi.Input - ToNetworkInsightsAnalysisReturnPathComponentComponentArrayOutput() NetworkInsightsAnalysisReturnPathComponentComponentArrayOutput - ToNetworkInsightsAnalysisReturnPathComponentComponentArrayOutputWithContext(context.Context) NetworkInsightsAnalysisReturnPathComponentComponentArrayOutput + ToNetworkInsightsAnalysisForwardPathComponentSourceVpcArrayOutput() NetworkInsightsAnalysisForwardPathComponentSourceVpcArrayOutput + ToNetworkInsightsAnalysisForwardPathComponentSourceVpcArrayOutputWithContext(context.Context) NetworkInsightsAnalysisForwardPathComponentSourceVpcArrayOutput } -type NetworkInsightsAnalysisReturnPathComponentComponentArray []NetworkInsightsAnalysisReturnPathComponentComponentInput +type NetworkInsightsAnalysisForwardPathComponentSourceVpcArray []NetworkInsightsAnalysisForwardPathComponentSourceVpcInput -func (NetworkInsightsAnalysisReturnPathComponentComponentArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]NetworkInsightsAnalysisReturnPathComponentComponent)(nil)).Elem() +func (NetworkInsightsAnalysisForwardPathComponentSourceVpcArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkInsightsAnalysisForwardPathComponentSourceVpc)(nil)).Elem() } -func (i NetworkInsightsAnalysisReturnPathComponentComponentArray) ToNetworkInsightsAnalysisReturnPathComponentComponentArrayOutput() NetworkInsightsAnalysisReturnPathComponentComponentArrayOutput { - return i.ToNetworkInsightsAnalysisReturnPathComponentComponentArrayOutputWithContext(context.Background()) +func (i NetworkInsightsAnalysisForwardPathComponentSourceVpcArray) ToNetworkInsightsAnalysisForwardPathComponentSourceVpcArrayOutput() NetworkInsightsAnalysisForwardPathComponentSourceVpcArrayOutput { + return i.ToNetworkInsightsAnalysisForwardPathComponentSourceVpcArrayOutputWithContext(context.Background()) } -func (i NetworkInsightsAnalysisReturnPathComponentComponentArray) ToNetworkInsightsAnalysisReturnPathComponentComponentArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisReturnPathComponentComponentArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisReturnPathComponentComponentArrayOutput) +func (i NetworkInsightsAnalysisForwardPathComponentSourceVpcArray) ToNetworkInsightsAnalysisForwardPathComponentSourceVpcArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisForwardPathComponentSourceVpcArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisForwardPathComponentSourceVpcArrayOutput) } -type NetworkInsightsAnalysisReturnPathComponentComponentOutput struct{ *pulumi.OutputState } +type NetworkInsightsAnalysisForwardPathComponentSourceVpcOutput struct{ *pulumi.OutputState } -func (NetworkInsightsAnalysisReturnPathComponentComponentOutput) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkInsightsAnalysisReturnPathComponentComponent)(nil)).Elem() +func (NetworkInsightsAnalysisForwardPathComponentSourceVpcOutput) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInsightsAnalysisForwardPathComponentSourceVpc)(nil)).Elem() } -func (o NetworkInsightsAnalysisReturnPathComponentComponentOutput) ToNetworkInsightsAnalysisReturnPathComponentComponentOutput() NetworkInsightsAnalysisReturnPathComponentComponentOutput { +func (o NetworkInsightsAnalysisForwardPathComponentSourceVpcOutput) ToNetworkInsightsAnalysisForwardPathComponentSourceVpcOutput() NetworkInsightsAnalysisForwardPathComponentSourceVpcOutput { return o } -func (o NetworkInsightsAnalysisReturnPathComponentComponentOutput) ToNetworkInsightsAnalysisReturnPathComponentComponentOutputWithContext(ctx context.Context) NetworkInsightsAnalysisReturnPathComponentComponentOutput { +func (o NetworkInsightsAnalysisForwardPathComponentSourceVpcOutput) ToNetworkInsightsAnalysisForwardPathComponentSourceVpcOutputWithContext(ctx context.Context) NetworkInsightsAnalysisForwardPathComponentSourceVpcOutput { return o } // ARN of the Network Insights Analysis. -func (o NetworkInsightsAnalysisReturnPathComponentComponentOutput) Arn() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponentComponent) *string { return v.Arn }).(pulumi.StringPtrOutput) +func (o NetworkInsightsAnalysisForwardPathComponentSourceVpcOutput) Arn() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponentSourceVpc) *string { return v.Arn }).(pulumi.StringPtrOutput) } // ID of the Network Insights Analysis. -func (o NetworkInsightsAnalysisReturnPathComponentComponentOutput) Id() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponentComponent) *string { return v.Id }).(pulumi.StringPtrOutput) +func (o NetworkInsightsAnalysisForwardPathComponentSourceVpcOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponentSourceVpc) *string { return v.Id }).(pulumi.StringPtrOutput) } -func (o NetworkInsightsAnalysisReturnPathComponentComponentOutput) Name() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponentComponent) *string { return v.Name }).(pulumi.StringPtrOutput) +func (o NetworkInsightsAnalysisForwardPathComponentSourceVpcOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponentSourceVpc) *string { return v.Name }).(pulumi.StringPtrOutput) } -type NetworkInsightsAnalysisReturnPathComponentComponentArrayOutput struct{ *pulumi.OutputState } +type NetworkInsightsAnalysisForwardPathComponentSourceVpcArrayOutput struct{ *pulumi.OutputState } -func (NetworkInsightsAnalysisReturnPathComponentComponentArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]NetworkInsightsAnalysisReturnPathComponentComponent)(nil)).Elem() +func (NetworkInsightsAnalysisForwardPathComponentSourceVpcArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkInsightsAnalysisForwardPathComponentSourceVpc)(nil)).Elem() } -func (o NetworkInsightsAnalysisReturnPathComponentComponentArrayOutput) ToNetworkInsightsAnalysisReturnPathComponentComponentArrayOutput() NetworkInsightsAnalysisReturnPathComponentComponentArrayOutput { +func (o NetworkInsightsAnalysisForwardPathComponentSourceVpcArrayOutput) ToNetworkInsightsAnalysisForwardPathComponentSourceVpcArrayOutput() NetworkInsightsAnalysisForwardPathComponentSourceVpcArrayOutput { return o } -func (o NetworkInsightsAnalysisReturnPathComponentComponentArrayOutput) ToNetworkInsightsAnalysisReturnPathComponentComponentArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisReturnPathComponentComponentArrayOutput { +func (o NetworkInsightsAnalysisForwardPathComponentSourceVpcArrayOutput) ToNetworkInsightsAnalysisForwardPathComponentSourceVpcArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisForwardPathComponentSourceVpcArrayOutput { return o } -func (o NetworkInsightsAnalysisReturnPathComponentComponentArrayOutput) Index(i pulumi.IntInput) NetworkInsightsAnalysisReturnPathComponentComponentOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkInsightsAnalysisReturnPathComponentComponent { - return vs[0].([]NetworkInsightsAnalysisReturnPathComponentComponent)[vs[1].(int)] - }).(NetworkInsightsAnalysisReturnPathComponentComponentOutput) +func (o NetworkInsightsAnalysisForwardPathComponentSourceVpcArrayOutput) Index(i pulumi.IntInput) NetworkInsightsAnalysisForwardPathComponentSourceVpcOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkInsightsAnalysisForwardPathComponentSourceVpc { + return vs[0].([]NetworkInsightsAnalysisForwardPathComponentSourceVpc)[vs[1].(int)] + }).(NetworkInsightsAnalysisForwardPathComponentSourceVpcOutput) } -type NetworkInsightsAnalysisReturnPathComponentDestinationVpc struct { +type NetworkInsightsAnalysisForwardPathComponentSubnet struct { // ARN of the Network Insights Analysis. Arn *string `pulumi:"arn"` // ID of the Network Insights Analysis. @@ -24462,18 +25083,18 @@ type NetworkInsightsAnalysisReturnPathComponentDestinationVpc struct { Name *string `pulumi:"name"` } -// NetworkInsightsAnalysisReturnPathComponentDestinationVpcInput is an input type that accepts NetworkInsightsAnalysisReturnPathComponentDestinationVpcArgs and NetworkInsightsAnalysisReturnPathComponentDestinationVpcOutput values. -// You can construct a concrete instance of `NetworkInsightsAnalysisReturnPathComponentDestinationVpcInput` via: +// NetworkInsightsAnalysisForwardPathComponentSubnetInput is an input type that accepts NetworkInsightsAnalysisForwardPathComponentSubnetArgs and NetworkInsightsAnalysisForwardPathComponentSubnetOutput values. +// You can construct a concrete instance of `NetworkInsightsAnalysisForwardPathComponentSubnetInput` via: // -// NetworkInsightsAnalysisReturnPathComponentDestinationVpcArgs{...} -type NetworkInsightsAnalysisReturnPathComponentDestinationVpcInput interface { +// NetworkInsightsAnalysisForwardPathComponentSubnetArgs{...} +type NetworkInsightsAnalysisForwardPathComponentSubnetInput interface { pulumi.Input - ToNetworkInsightsAnalysisReturnPathComponentDestinationVpcOutput() NetworkInsightsAnalysisReturnPathComponentDestinationVpcOutput - ToNetworkInsightsAnalysisReturnPathComponentDestinationVpcOutputWithContext(context.Context) NetworkInsightsAnalysisReturnPathComponentDestinationVpcOutput + ToNetworkInsightsAnalysisForwardPathComponentSubnetOutput() NetworkInsightsAnalysisForwardPathComponentSubnetOutput + ToNetworkInsightsAnalysisForwardPathComponentSubnetOutputWithContext(context.Context) NetworkInsightsAnalysisForwardPathComponentSubnetOutput } -type NetworkInsightsAnalysisReturnPathComponentDestinationVpcArgs struct { +type NetworkInsightsAnalysisForwardPathComponentSubnetArgs struct { // ARN of the Network Insights Analysis. Arn pulumi.StringPtrInput `pulumi:"arn"` // ID of the Network Insights Analysis. @@ -24481,1124 +25102,1220 @@ type NetworkInsightsAnalysisReturnPathComponentDestinationVpcArgs struct { Name pulumi.StringPtrInput `pulumi:"name"` } -func (NetworkInsightsAnalysisReturnPathComponentDestinationVpcArgs) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkInsightsAnalysisReturnPathComponentDestinationVpc)(nil)).Elem() +func (NetworkInsightsAnalysisForwardPathComponentSubnetArgs) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInsightsAnalysisForwardPathComponentSubnet)(nil)).Elem() } -func (i NetworkInsightsAnalysisReturnPathComponentDestinationVpcArgs) ToNetworkInsightsAnalysisReturnPathComponentDestinationVpcOutput() NetworkInsightsAnalysisReturnPathComponentDestinationVpcOutput { - return i.ToNetworkInsightsAnalysisReturnPathComponentDestinationVpcOutputWithContext(context.Background()) +func (i NetworkInsightsAnalysisForwardPathComponentSubnetArgs) ToNetworkInsightsAnalysisForwardPathComponentSubnetOutput() NetworkInsightsAnalysisForwardPathComponentSubnetOutput { + return i.ToNetworkInsightsAnalysisForwardPathComponentSubnetOutputWithContext(context.Background()) } -func (i NetworkInsightsAnalysisReturnPathComponentDestinationVpcArgs) ToNetworkInsightsAnalysisReturnPathComponentDestinationVpcOutputWithContext(ctx context.Context) NetworkInsightsAnalysisReturnPathComponentDestinationVpcOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisReturnPathComponentDestinationVpcOutput) +func (i NetworkInsightsAnalysisForwardPathComponentSubnetArgs) ToNetworkInsightsAnalysisForwardPathComponentSubnetOutputWithContext(ctx context.Context) NetworkInsightsAnalysisForwardPathComponentSubnetOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisForwardPathComponentSubnetOutput) } -// NetworkInsightsAnalysisReturnPathComponentDestinationVpcArrayInput is an input type that accepts NetworkInsightsAnalysisReturnPathComponentDestinationVpcArray and NetworkInsightsAnalysisReturnPathComponentDestinationVpcArrayOutput values. -// You can construct a concrete instance of `NetworkInsightsAnalysisReturnPathComponentDestinationVpcArrayInput` via: +// NetworkInsightsAnalysisForwardPathComponentSubnetArrayInput is an input type that accepts NetworkInsightsAnalysisForwardPathComponentSubnetArray and NetworkInsightsAnalysisForwardPathComponentSubnetArrayOutput values. +// You can construct a concrete instance of `NetworkInsightsAnalysisForwardPathComponentSubnetArrayInput` via: // -// NetworkInsightsAnalysisReturnPathComponentDestinationVpcArray{ NetworkInsightsAnalysisReturnPathComponentDestinationVpcArgs{...} } -type NetworkInsightsAnalysisReturnPathComponentDestinationVpcArrayInput interface { +// NetworkInsightsAnalysisForwardPathComponentSubnetArray{ NetworkInsightsAnalysisForwardPathComponentSubnetArgs{...} } +type NetworkInsightsAnalysisForwardPathComponentSubnetArrayInput interface { pulumi.Input - ToNetworkInsightsAnalysisReturnPathComponentDestinationVpcArrayOutput() NetworkInsightsAnalysisReturnPathComponentDestinationVpcArrayOutput - ToNetworkInsightsAnalysisReturnPathComponentDestinationVpcArrayOutputWithContext(context.Context) NetworkInsightsAnalysisReturnPathComponentDestinationVpcArrayOutput + ToNetworkInsightsAnalysisForwardPathComponentSubnetArrayOutput() NetworkInsightsAnalysisForwardPathComponentSubnetArrayOutput + ToNetworkInsightsAnalysisForwardPathComponentSubnetArrayOutputWithContext(context.Context) NetworkInsightsAnalysisForwardPathComponentSubnetArrayOutput } -type NetworkInsightsAnalysisReturnPathComponentDestinationVpcArray []NetworkInsightsAnalysisReturnPathComponentDestinationVpcInput +type NetworkInsightsAnalysisForwardPathComponentSubnetArray []NetworkInsightsAnalysisForwardPathComponentSubnetInput -func (NetworkInsightsAnalysisReturnPathComponentDestinationVpcArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]NetworkInsightsAnalysisReturnPathComponentDestinationVpc)(nil)).Elem() +func (NetworkInsightsAnalysisForwardPathComponentSubnetArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkInsightsAnalysisForwardPathComponentSubnet)(nil)).Elem() } -func (i NetworkInsightsAnalysisReturnPathComponentDestinationVpcArray) ToNetworkInsightsAnalysisReturnPathComponentDestinationVpcArrayOutput() NetworkInsightsAnalysisReturnPathComponentDestinationVpcArrayOutput { - return i.ToNetworkInsightsAnalysisReturnPathComponentDestinationVpcArrayOutputWithContext(context.Background()) +func (i NetworkInsightsAnalysisForwardPathComponentSubnetArray) ToNetworkInsightsAnalysisForwardPathComponentSubnetArrayOutput() NetworkInsightsAnalysisForwardPathComponentSubnetArrayOutput { + return i.ToNetworkInsightsAnalysisForwardPathComponentSubnetArrayOutputWithContext(context.Background()) } -func (i NetworkInsightsAnalysisReturnPathComponentDestinationVpcArray) ToNetworkInsightsAnalysisReturnPathComponentDestinationVpcArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisReturnPathComponentDestinationVpcArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisReturnPathComponentDestinationVpcArrayOutput) +func (i NetworkInsightsAnalysisForwardPathComponentSubnetArray) ToNetworkInsightsAnalysisForwardPathComponentSubnetArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisForwardPathComponentSubnetArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisForwardPathComponentSubnetArrayOutput) } -type NetworkInsightsAnalysisReturnPathComponentDestinationVpcOutput struct{ *pulumi.OutputState } +type NetworkInsightsAnalysisForwardPathComponentSubnetOutput struct{ *pulumi.OutputState } -func (NetworkInsightsAnalysisReturnPathComponentDestinationVpcOutput) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkInsightsAnalysisReturnPathComponentDestinationVpc)(nil)).Elem() +func (NetworkInsightsAnalysisForwardPathComponentSubnetOutput) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInsightsAnalysisForwardPathComponentSubnet)(nil)).Elem() } -func (o NetworkInsightsAnalysisReturnPathComponentDestinationVpcOutput) ToNetworkInsightsAnalysisReturnPathComponentDestinationVpcOutput() NetworkInsightsAnalysisReturnPathComponentDestinationVpcOutput { +func (o NetworkInsightsAnalysisForwardPathComponentSubnetOutput) ToNetworkInsightsAnalysisForwardPathComponentSubnetOutput() NetworkInsightsAnalysisForwardPathComponentSubnetOutput { return o } -func (o NetworkInsightsAnalysisReturnPathComponentDestinationVpcOutput) ToNetworkInsightsAnalysisReturnPathComponentDestinationVpcOutputWithContext(ctx context.Context) NetworkInsightsAnalysisReturnPathComponentDestinationVpcOutput { +func (o NetworkInsightsAnalysisForwardPathComponentSubnetOutput) ToNetworkInsightsAnalysisForwardPathComponentSubnetOutputWithContext(ctx context.Context) NetworkInsightsAnalysisForwardPathComponentSubnetOutput { return o } // ARN of the Network Insights Analysis. -func (o NetworkInsightsAnalysisReturnPathComponentDestinationVpcOutput) Arn() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponentDestinationVpc) *string { return v.Arn }).(pulumi.StringPtrOutput) +func (o NetworkInsightsAnalysisForwardPathComponentSubnetOutput) Arn() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponentSubnet) *string { return v.Arn }).(pulumi.StringPtrOutput) } // ID of the Network Insights Analysis. -func (o NetworkInsightsAnalysisReturnPathComponentDestinationVpcOutput) Id() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponentDestinationVpc) *string { return v.Id }).(pulumi.StringPtrOutput) +func (o NetworkInsightsAnalysisForwardPathComponentSubnetOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponentSubnet) *string { return v.Id }).(pulumi.StringPtrOutput) } -func (o NetworkInsightsAnalysisReturnPathComponentDestinationVpcOutput) Name() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponentDestinationVpc) *string { return v.Name }).(pulumi.StringPtrOutput) +func (o NetworkInsightsAnalysisForwardPathComponentSubnetOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponentSubnet) *string { return v.Name }).(pulumi.StringPtrOutput) } -type NetworkInsightsAnalysisReturnPathComponentDestinationVpcArrayOutput struct{ *pulumi.OutputState } +type NetworkInsightsAnalysisForwardPathComponentSubnetArrayOutput struct{ *pulumi.OutputState } -func (NetworkInsightsAnalysisReturnPathComponentDestinationVpcArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]NetworkInsightsAnalysisReturnPathComponentDestinationVpc)(nil)).Elem() +func (NetworkInsightsAnalysisForwardPathComponentSubnetArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkInsightsAnalysisForwardPathComponentSubnet)(nil)).Elem() } -func (o NetworkInsightsAnalysisReturnPathComponentDestinationVpcArrayOutput) ToNetworkInsightsAnalysisReturnPathComponentDestinationVpcArrayOutput() NetworkInsightsAnalysisReturnPathComponentDestinationVpcArrayOutput { +func (o NetworkInsightsAnalysisForwardPathComponentSubnetArrayOutput) ToNetworkInsightsAnalysisForwardPathComponentSubnetArrayOutput() NetworkInsightsAnalysisForwardPathComponentSubnetArrayOutput { return o } -func (o NetworkInsightsAnalysisReturnPathComponentDestinationVpcArrayOutput) ToNetworkInsightsAnalysisReturnPathComponentDestinationVpcArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisReturnPathComponentDestinationVpcArrayOutput { +func (o NetworkInsightsAnalysisForwardPathComponentSubnetArrayOutput) ToNetworkInsightsAnalysisForwardPathComponentSubnetArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisForwardPathComponentSubnetArrayOutput { return o } -func (o NetworkInsightsAnalysisReturnPathComponentDestinationVpcArrayOutput) Index(i pulumi.IntInput) NetworkInsightsAnalysisReturnPathComponentDestinationVpcOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkInsightsAnalysisReturnPathComponentDestinationVpc { - return vs[0].([]NetworkInsightsAnalysisReturnPathComponentDestinationVpc)[vs[1].(int)] - }).(NetworkInsightsAnalysisReturnPathComponentDestinationVpcOutput) +func (o NetworkInsightsAnalysisForwardPathComponentSubnetArrayOutput) Index(i pulumi.IntInput) NetworkInsightsAnalysisForwardPathComponentSubnetOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkInsightsAnalysisForwardPathComponentSubnet { + return vs[0].([]NetworkInsightsAnalysisForwardPathComponentSubnet)[vs[1].(int)] + }).(NetworkInsightsAnalysisForwardPathComponentSubnetOutput) } -type NetworkInsightsAnalysisReturnPathComponentInboundHeader struct { - DestinationAddresses []string `pulumi:"destinationAddresses"` - DestinationPortRanges []NetworkInsightsAnalysisReturnPathComponentInboundHeaderDestinationPortRange `pulumi:"destinationPortRanges"` - Protocol *string `pulumi:"protocol"` - SourceAddresses []string `pulumi:"sourceAddresses"` - SourcePortRanges []NetworkInsightsAnalysisReturnPathComponentInboundHeaderSourcePortRange `pulumi:"sourcePortRanges"` +type NetworkInsightsAnalysisForwardPathComponentTransitGateway struct { + // ARN of the Network Insights Analysis. + Arn *string `pulumi:"arn"` + // ID of the Network Insights Analysis. + Id *string `pulumi:"id"` + Name *string `pulumi:"name"` } -// NetworkInsightsAnalysisReturnPathComponentInboundHeaderInput is an input type that accepts NetworkInsightsAnalysisReturnPathComponentInboundHeaderArgs and NetworkInsightsAnalysisReturnPathComponentInboundHeaderOutput values. -// You can construct a concrete instance of `NetworkInsightsAnalysisReturnPathComponentInboundHeaderInput` via: +// NetworkInsightsAnalysisForwardPathComponentTransitGatewayInput is an input type that accepts NetworkInsightsAnalysisForwardPathComponentTransitGatewayArgs and NetworkInsightsAnalysisForwardPathComponentTransitGatewayOutput values. +// You can construct a concrete instance of `NetworkInsightsAnalysisForwardPathComponentTransitGatewayInput` via: // -// NetworkInsightsAnalysisReturnPathComponentInboundHeaderArgs{...} -type NetworkInsightsAnalysisReturnPathComponentInboundHeaderInput interface { +// NetworkInsightsAnalysisForwardPathComponentTransitGatewayArgs{...} +type NetworkInsightsAnalysisForwardPathComponentTransitGatewayInput interface { pulumi.Input - ToNetworkInsightsAnalysisReturnPathComponentInboundHeaderOutput() NetworkInsightsAnalysisReturnPathComponentInboundHeaderOutput - ToNetworkInsightsAnalysisReturnPathComponentInboundHeaderOutputWithContext(context.Context) NetworkInsightsAnalysisReturnPathComponentInboundHeaderOutput + ToNetworkInsightsAnalysisForwardPathComponentTransitGatewayOutput() NetworkInsightsAnalysisForwardPathComponentTransitGatewayOutput + ToNetworkInsightsAnalysisForwardPathComponentTransitGatewayOutputWithContext(context.Context) NetworkInsightsAnalysisForwardPathComponentTransitGatewayOutput } -type NetworkInsightsAnalysisReturnPathComponentInboundHeaderArgs struct { - DestinationAddresses pulumi.StringArrayInput `pulumi:"destinationAddresses"` - DestinationPortRanges NetworkInsightsAnalysisReturnPathComponentInboundHeaderDestinationPortRangeArrayInput `pulumi:"destinationPortRanges"` - Protocol pulumi.StringPtrInput `pulumi:"protocol"` - SourceAddresses pulumi.StringArrayInput `pulumi:"sourceAddresses"` - SourcePortRanges NetworkInsightsAnalysisReturnPathComponentInboundHeaderSourcePortRangeArrayInput `pulumi:"sourcePortRanges"` +type NetworkInsightsAnalysisForwardPathComponentTransitGatewayArgs struct { + // ARN of the Network Insights Analysis. + Arn pulumi.StringPtrInput `pulumi:"arn"` + // ID of the Network Insights Analysis. + Id pulumi.StringPtrInput `pulumi:"id"` + Name pulumi.StringPtrInput `pulumi:"name"` } -func (NetworkInsightsAnalysisReturnPathComponentInboundHeaderArgs) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkInsightsAnalysisReturnPathComponentInboundHeader)(nil)).Elem() +func (NetworkInsightsAnalysisForwardPathComponentTransitGatewayArgs) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInsightsAnalysisForwardPathComponentTransitGateway)(nil)).Elem() } -func (i NetworkInsightsAnalysisReturnPathComponentInboundHeaderArgs) ToNetworkInsightsAnalysisReturnPathComponentInboundHeaderOutput() NetworkInsightsAnalysisReturnPathComponentInboundHeaderOutput { - return i.ToNetworkInsightsAnalysisReturnPathComponentInboundHeaderOutputWithContext(context.Background()) +func (i NetworkInsightsAnalysisForwardPathComponentTransitGatewayArgs) ToNetworkInsightsAnalysisForwardPathComponentTransitGatewayOutput() NetworkInsightsAnalysisForwardPathComponentTransitGatewayOutput { + return i.ToNetworkInsightsAnalysisForwardPathComponentTransitGatewayOutputWithContext(context.Background()) } -func (i NetworkInsightsAnalysisReturnPathComponentInboundHeaderArgs) ToNetworkInsightsAnalysisReturnPathComponentInboundHeaderOutputWithContext(ctx context.Context) NetworkInsightsAnalysisReturnPathComponentInboundHeaderOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisReturnPathComponentInboundHeaderOutput) +func (i NetworkInsightsAnalysisForwardPathComponentTransitGatewayArgs) ToNetworkInsightsAnalysisForwardPathComponentTransitGatewayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisForwardPathComponentTransitGatewayOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisForwardPathComponentTransitGatewayOutput) } -// NetworkInsightsAnalysisReturnPathComponentInboundHeaderArrayInput is an input type that accepts NetworkInsightsAnalysisReturnPathComponentInboundHeaderArray and NetworkInsightsAnalysisReturnPathComponentInboundHeaderArrayOutput values. -// You can construct a concrete instance of `NetworkInsightsAnalysisReturnPathComponentInboundHeaderArrayInput` via: +// NetworkInsightsAnalysisForwardPathComponentTransitGatewayArrayInput is an input type that accepts NetworkInsightsAnalysisForwardPathComponentTransitGatewayArray and NetworkInsightsAnalysisForwardPathComponentTransitGatewayArrayOutput values. +// You can construct a concrete instance of `NetworkInsightsAnalysisForwardPathComponentTransitGatewayArrayInput` via: // -// NetworkInsightsAnalysisReturnPathComponentInboundHeaderArray{ NetworkInsightsAnalysisReturnPathComponentInboundHeaderArgs{...} } -type NetworkInsightsAnalysisReturnPathComponentInboundHeaderArrayInput interface { +// NetworkInsightsAnalysisForwardPathComponentTransitGatewayArray{ NetworkInsightsAnalysisForwardPathComponentTransitGatewayArgs{...} } +type NetworkInsightsAnalysisForwardPathComponentTransitGatewayArrayInput interface { pulumi.Input - ToNetworkInsightsAnalysisReturnPathComponentInboundHeaderArrayOutput() NetworkInsightsAnalysisReturnPathComponentInboundHeaderArrayOutput - ToNetworkInsightsAnalysisReturnPathComponentInboundHeaderArrayOutputWithContext(context.Context) NetworkInsightsAnalysisReturnPathComponentInboundHeaderArrayOutput + ToNetworkInsightsAnalysisForwardPathComponentTransitGatewayArrayOutput() NetworkInsightsAnalysisForwardPathComponentTransitGatewayArrayOutput + ToNetworkInsightsAnalysisForwardPathComponentTransitGatewayArrayOutputWithContext(context.Context) NetworkInsightsAnalysisForwardPathComponentTransitGatewayArrayOutput } -type NetworkInsightsAnalysisReturnPathComponentInboundHeaderArray []NetworkInsightsAnalysisReturnPathComponentInboundHeaderInput +type NetworkInsightsAnalysisForwardPathComponentTransitGatewayArray []NetworkInsightsAnalysisForwardPathComponentTransitGatewayInput -func (NetworkInsightsAnalysisReturnPathComponentInboundHeaderArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]NetworkInsightsAnalysisReturnPathComponentInboundHeader)(nil)).Elem() +func (NetworkInsightsAnalysisForwardPathComponentTransitGatewayArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkInsightsAnalysisForwardPathComponentTransitGateway)(nil)).Elem() } -func (i NetworkInsightsAnalysisReturnPathComponentInboundHeaderArray) ToNetworkInsightsAnalysisReturnPathComponentInboundHeaderArrayOutput() NetworkInsightsAnalysisReturnPathComponentInboundHeaderArrayOutput { - return i.ToNetworkInsightsAnalysisReturnPathComponentInboundHeaderArrayOutputWithContext(context.Background()) +func (i NetworkInsightsAnalysisForwardPathComponentTransitGatewayArray) ToNetworkInsightsAnalysisForwardPathComponentTransitGatewayArrayOutput() NetworkInsightsAnalysisForwardPathComponentTransitGatewayArrayOutput { + return i.ToNetworkInsightsAnalysisForwardPathComponentTransitGatewayArrayOutputWithContext(context.Background()) } -func (i NetworkInsightsAnalysisReturnPathComponentInboundHeaderArray) ToNetworkInsightsAnalysisReturnPathComponentInboundHeaderArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisReturnPathComponentInboundHeaderArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisReturnPathComponentInboundHeaderArrayOutput) +func (i NetworkInsightsAnalysisForwardPathComponentTransitGatewayArray) ToNetworkInsightsAnalysisForwardPathComponentTransitGatewayArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisForwardPathComponentTransitGatewayArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisForwardPathComponentTransitGatewayArrayOutput) } -type NetworkInsightsAnalysisReturnPathComponentInboundHeaderOutput struct{ *pulumi.OutputState } +type NetworkInsightsAnalysisForwardPathComponentTransitGatewayOutput struct{ *pulumi.OutputState } -func (NetworkInsightsAnalysisReturnPathComponentInboundHeaderOutput) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkInsightsAnalysisReturnPathComponentInboundHeader)(nil)).Elem() +func (NetworkInsightsAnalysisForwardPathComponentTransitGatewayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInsightsAnalysisForwardPathComponentTransitGateway)(nil)).Elem() } -func (o NetworkInsightsAnalysisReturnPathComponentInboundHeaderOutput) ToNetworkInsightsAnalysisReturnPathComponentInboundHeaderOutput() NetworkInsightsAnalysisReturnPathComponentInboundHeaderOutput { +func (o NetworkInsightsAnalysisForwardPathComponentTransitGatewayOutput) ToNetworkInsightsAnalysisForwardPathComponentTransitGatewayOutput() NetworkInsightsAnalysisForwardPathComponentTransitGatewayOutput { return o } -func (o NetworkInsightsAnalysisReturnPathComponentInboundHeaderOutput) ToNetworkInsightsAnalysisReturnPathComponentInboundHeaderOutputWithContext(ctx context.Context) NetworkInsightsAnalysisReturnPathComponentInboundHeaderOutput { +func (o NetworkInsightsAnalysisForwardPathComponentTransitGatewayOutput) ToNetworkInsightsAnalysisForwardPathComponentTransitGatewayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisForwardPathComponentTransitGatewayOutput { return o } -func (o NetworkInsightsAnalysisReturnPathComponentInboundHeaderOutput) DestinationAddresses() pulumi.StringArrayOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponentInboundHeader) []string { - return v.DestinationAddresses - }).(pulumi.StringArrayOutput) -} - -func (o NetworkInsightsAnalysisReturnPathComponentInboundHeaderOutput) DestinationPortRanges() NetworkInsightsAnalysisReturnPathComponentInboundHeaderDestinationPortRangeArrayOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponentInboundHeader) []NetworkInsightsAnalysisReturnPathComponentInboundHeaderDestinationPortRange { - return v.DestinationPortRanges - }).(NetworkInsightsAnalysisReturnPathComponentInboundHeaderDestinationPortRangeArrayOutput) -} - -func (o NetworkInsightsAnalysisReturnPathComponentInboundHeaderOutput) Protocol() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponentInboundHeader) *string { return v.Protocol }).(pulumi.StringPtrOutput) +// ARN of the Network Insights Analysis. +func (o NetworkInsightsAnalysisForwardPathComponentTransitGatewayOutput) Arn() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponentTransitGateway) *string { return v.Arn }).(pulumi.StringPtrOutput) } -func (o NetworkInsightsAnalysisReturnPathComponentInboundHeaderOutput) SourceAddresses() pulumi.StringArrayOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponentInboundHeader) []string { return v.SourceAddresses }).(pulumi.StringArrayOutput) +// ID of the Network Insights Analysis. +func (o NetworkInsightsAnalysisForwardPathComponentTransitGatewayOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponentTransitGateway) *string { return v.Id }).(pulumi.StringPtrOutput) } -func (o NetworkInsightsAnalysisReturnPathComponentInboundHeaderOutput) SourcePortRanges() NetworkInsightsAnalysisReturnPathComponentInboundHeaderSourcePortRangeArrayOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponentInboundHeader) []NetworkInsightsAnalysisReturnPathComponentInboundHeaderSourcePortRange { - return v.SourcePortRanges - }).(NetworkInsightsAnalysisReturnPathComponentInboundHeaderSourcePortRangeArrayOutput) +func (o NetworkInsightsAnalysisForwardPathComponentTransitGatewayOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponentTransitGateway) *string { return v.Name }).(pulumi.StringPtrOutput) } -type NetworkInsightsAnalysisReturnPathComponentInboundHeaderArrayOutput struct{ *pulumi.OutputState } +type NetworkInsightsAnalysisForwardPathComponentTransitGatewayArrayOutput struct{ *pulumi.OutputState } -func (NetworkInsightsAnalysisReturnPathComponentInboundHeaderArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]NetworkInsightsAnalysisReturnPathComponentInboundHeader)(nil)).Elem() +func (NetworkInsightsAnalysisForwardPathComponentTransitGatewayArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkInsightsAnalysisForwardPathComponentTransitGateway)(nil)).Elem() } -func (o NetworkInsightsAnalysisReturnPathComponentInboundHeaderArrayOutput) ToNetworkInsightsAnalysisReturnPathComponentInboundHeaderArrayOutput() NetworkInsightsAnalysisReturnPathComponentInboundHeaderArrayOutput { +func (o NetworkInsightsAnalysisForwardPathComponentTransitGatewayArrayOutput) ToNetworkInsightsAnalysisForwardPathComponentTransitGatewayArrayOutput() NetworkInsightsAnalysisForwardPathComponentTransitGatewayArrayOutput { return o } -func (o NetworkInsightsAnalysisReturnPathComponentInboundHeaderArrayOutput) ToNetworkInsightsAnalysisReturnPathComponentInboundHeaderArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisReturnPathComponentInboundHeaderArrayOutput { +func (o NetworkInsightsAnalysisForwardPathComponentTransitGatewayArrayOutput) ToNetworkInsightsAnalysisForwardPathComponentTransitGatewayArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisForwardPathComponentTransitGatewayArrayOutput { return o } -func (o NetworkInsightsAnalysisReturnPathComponentInboundHeaderArrayOutput) Index(i pulumi.IntInput) NetworkInsightsAnalysisReturnPathComponentInboundHeaderOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkInsightsAnalysisReturnPathComponentInboundHeader { - return vs[0].([]NetworkInsightsAnalysisReturnPathComponentInboundHeader)[vs[1].(int)] - }).(NetworkInsightsAnalysisReturnPathComponentInboundHeaderOutput) +func (o NetworkInsightsAnalysisForwardPathComponentTransitGatewayArrayOutput) Index(i pulumi.IntInput) NetworkInsightsAnalysisForwardPathComponentTransitGatewayOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkInsightsAnalysisForwardPathComponentTransitGateway { + return vs[0].([]NetworkInsightsAnalysisForwardPathComponentTransitGateway)[vs[1].(int)] + }).(NetworkInsightsAnalysisForwardPathComponentTransitGatewayOutput) } -type NetworkInsightsAnalysisReturnPathComponentInboundHeaderDestinationPortRange struct { - From *int `pulumi:"from"` - To *int `pulumi:"to"` +type NetworkInsightsAnalysisForwardPathComponentTransitGatewayRouteTableRoute struct { + AttachmentId *string `pulumi:"attachmentId"` + DestinationCidr *string `pulumi:"destinationCidr"` + PrefixListId *string `pulumi:"prefixListId"` + ResourceId *string `pulumi:"resourceId"` + ResourceType *string `pulumi:"resourceType"` + RouteOrigin *string `pulumi:"routeOrigin"` + State *string `pulumi:"state"` } -// NetworkInsightsAnalysisReturnPathComponentInboundHeaderDestinationPortRangeInput is an input type that accepts NetworkInsightsAnalysisReturnPathComponentInboundHeaderDestinationPortRangeArgs and NetworkInsightsAnalysisReturnPathComponentInboundHeaderDestinationPortRangeOutput values. -// You can construct a concrete instance of `NetworkInsightsAnalysisReturnPathComponentInboundHeaderDestinationPortRangeInput` via: +// NetworkInsightsAnalysisForwardPathComponentTransitGatewayRouteTableRouteInput is an input type that accepts NetworkInsightsAnalysisForwardPathComponentTransitGatewayRouteTableRouteArgs and NetworkInsightsAnalysisForwardPathComponentTransitGatewayRouteTableRouteOutput values. +// You can construct a concrete instance of `NetworkInsightsAnalysisForwardPathComponentTransitGatewayRouteTableRouteInput` via: // -// NetworkInsightsAnalysisReturnPathComponentInboundHeaderDestinationPortRangeArgs{...} -type NetworkInsightsAnalysisReturnPathComponentInboundHeaderDestinationPortRangeInput interface { +// NetworkInsightsAnalysisForwardPathComponentTransitGatewayRouteTableRouteArgs{...} +type NetworkInsightsAnalysisForwardPathComponentTransitGatewayRouteTableRouteInput interface { pulumi.Input - ToNetworkInsightsAnalysisReturnPathComponentInboundHeaderDestinationPortRangeOutput() NetworkInsightsAnalysisReturnPathComponentInboundHeaderDestinationPortRangeOutput - ToNetworkInsightsAnalysisReturnPathComponentInboundHeaderDestinationPortRangeOutputWithContext(context.Context) NetworkInsightsAnalysisReturnPathComponentInboundHeaderDestinationPortRangeOutput + ToNetworkInsightsAnalysisForwardPathComponentTransitGatewayRouteTableRouteOutput() NetworkInsightsAnalysisForwardPathComponentTransitGatewayRouteTableRouteOutput + ToNetworkInsightsAnalysisForwardPathComponentTransitGatewayRouteTableRouteOutputWithContext(context.Context) NetworkInsightsAnalysisForwardPathComponentTransitGatewayRouteTableRouteOutput } -type NetworkInsightsAnalysisReturnPathComponentInboundHeaderDestinationPortRangeArgs struct { - From pulumi.IntPtrInput `pulumi:"from"` - To pulumi.IntPtrInput `pulumi:"to"` +type NetworkInsightsAnalysisForwardPathComponentTransitGatewayRouteTableRouteArgs struct { + AttachmentId pulumi.StringPtrInput `pulumi:"attachmentId"` + DestinationCidr pulumi.StringPtrInput `pulumi:"destinationCidr"` + PrefixListId pulumi.StringPtrInput `pulumi:"prefixListId"` + ResourceId pulumi.StringPtrInput `pulumi:"resourceId"` + ResourceType pulumi.StringPtrInput `pulumi:"resourceType"` + RouteOrigin pulumi.StringPtrInput `pulumi:"routeOrigin"` + State pulumi.StringPtrInput `pulumi:"state"` } -func (NetworkInsightsAnalysisReturnPathComponentInboundHeaderDestinationPortRangeArgs) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkInsightsAnalysisReturnPathComponentInboundHeaderDestinationPortRange)(nil)).Elem() +func (NetworkInsightsAnalysisForwardPathComponentTransitGatewayRouteTableRouteArgs) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInsightsAnalysisForwardPathComponentTransitGatewayRouteTableRoute)(nil)).Elem() } -func (i NetworkInsightsAnalysisReturnPathComponentInboundHeaderDestinationPortRangeArgs) ToNetworkInsightsAnalysisReturnPathComponentInboundHeaderDestinationPortRangeOutput() NetworkInsightsAnalysisReturnPathComponentInboundHeaderDestinationPortRangeOutput { - return i.ToNetworkInsightsAnalysisReturnPathComponentInboundHeaderDestinationPortRangeOutputWithContext(context.Background()) +func (i NetworkInsightsAnalysisForwardPathComponentTransitGatewayRouteTableRouteArgs) ToNetworkInsightsAnalysisForwardPathComponentTransitGatewayRouteTableRouteOutput() NetworkInsightsAnalysisForwardPathComponentTransitGatewayRouteTableRouteOutput { + return i.ToNetworkInsightsAnalysisForwardPathComponentTransitGatewayRouteTableRouteOutputWithContext(context.Background()) } -func (i NetworkInsightsAnalysisReturnPathComponentInboundHeaderDestinationPortRangeArgs) ToNetworkInsightsAnalysisReturnPathComponentInboundHeaderDestinationPortRangeOutputWithContext(ctx context.Context) NetworkInsightsAnalysisReturnPathComponentInboundHeaderDestinationPortRangeOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisReturnPathComponentInboundHeaderDestinationPortRangeOutput) +func (i NetworkInsightsAnalysisForwardPathComponentTransitGatewayRouteTableRouteArgs) ToNetworkInsightsAnalysisForwardPathComponentTransitGatewayRouteTableRouteOutputWithContext(ctx context.Context) NetworkInsightsAnalysisForwardPathComponentTransitGatewayRouteTableRouteOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisForwardPathComponentTransitGatewayRouteTableRouteOutput) } -// NetworkInsightsAnalysisReturnPathComponentInboundHeaderDestinationPortRangeArrayInput is an input type that accepts NetworkInsightsAnalysisReturnPathComponentInboundHeaderDestinationPortRangeArray and NetworkInsightsAnalysisReturnPathComponentInboundHeaderDestinationPortRangeArrayOutput values. -// You can construct a concrete instance of `NetworkInsightsAnalysisReturnPathComponentInboundHeaderDestinationPortRangeArrayInput` via: +// NetworkInsightsAnalysisForwardPathComponentTransitGatewayRouteTableRouteArrayInput is an input type that accepts NetworkInsightsAnalysisForwardPathComponentTransitGatewayRouteTableRouteArray and NetworkInsightsAnalysisForwardPathComponentTransitGatewayRouteTableRouteArrayOutput values. +// You can construct a concrete instance of `NetworkInsightsAnalysisForwardPathComponentTransitGatewayRouteTableRouteArrayInput` via: // -// NetworkInsightsAnalysisReturnPathComponentInboundHeaderDestinationPortRangeArray{ NetworkInsightsAnalysisReturnPathComponentInboundHeaderDestinationPortRangeArgs{...} } -type NetworkInsightsAnalysisReturnPathComponentInboundHeaderDestinationPortRangeArrayInput interface { +// NetworkInsightsAnalysisForwardPathComponentTransitGatewayRouteTableRouteArray{ NetworkInsightsAnalysisForwardPathComponentTransitGatewayRouteTableRouteArgs{...} } +type NetworkInsightsAnalysisForwardPathComponentTransitGatewayRouteTableRouteArrayInput interface { pulumi.Input - ToNetworkInsightsAnalysisReturnPathComponentInboundHeaderDestinationPortRangeArrayOutput() NetworkInsightsAnalysisReturnPathComponentInboundHeaderDestinationPortRangeArrayOutput - ToNetworkInsightsAnalysisReturnPathComponentInboundHeaderDestinationPortRangeArrayOutputWithContext(context.Context) NetworkInsightsAnalysisReturnPathComponentInboundHeaderDestinationPortRangeArrayOutput + ToNetworkInsightsAnalysisForwardPathComponentTransitGatewayRouteTableRouteArrayOutput() NetworkInsightsAnalysisForwardPathComponentTransitGatewayRouteTableRouteArrayOutput + ToNetworkInsightsAnalysisForwardPathComponentTransitGatewayRouteTableRouteArrayOutputWithContext(context.Context) NetworkInsightsAnalysisForwardPathComponentTransitGatewayRouteTableRouteArrayOutput } -type NetworkInsightsAnalysisReturnPathComponentInboundHeaderDestinationPortRangeArray []NetworkInsightsAnalysisReturnPathComponentInboundHeaderDestinationPortRangeInput +type NetworkInsightsAnalysisForwardPathComponentTransitGatewayRouteTableRouteArray []NetworkInsightsAnalysisForwardPathComponentTransitGatewayRouteTableRouteInput -func (NetworkInsightsAnalysisReturnPathComponentInboundHeaderDestinationPortRangeArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]NetworkInsightsAnalysisReturnPathComponentInboundHeaderDestinationPortRange)(nil)).Elem() +func (NetworkInsightsAnalysisForwardPathComponentTransitGatewayRouteTableRouteArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkInsightsAnalysisForwardPathComponentTransitGatewayRouteTableRoute)(nil)).Elem() } -func (i NetworkInsightsAnalysisReturnPathComponentInboundHeaderDestinationPortRangeArray) ToNetworkInsightsAnalysisReturnPathComponentInboundHeaderDestinationPortRangeArrayOutput() NetworkInsightsAnalysisReturnPathComponentInboundHeaderDestinationPortRangeArrayOutput { - return i.ToNetworkInsightsAnalysisReturnPathComponentInboundHeaderDestinationPortRangeArrayOutputWithContext(context.Background()) +func (i NetworkInsightsAnalysisForwardPathComponentTransitGatewayRouteTableRouteArray) ToNetworkInsightsAnalysisForwardPathComponentTransitGatewayRouteTableRouteArrayOutput() NetworkInsightsAnalysisForwardPathComponentTransitGatewayRouteTableRouteArrayOutput { + return i.ToNetworkInsightsAnalysisForwardPathComponentTransitGatewayRouteTableRouteArrayOutputWithContext(context.Background()) } -func (i NetworkInsightsAnalysisReturnPathComponentInboundHeaderDestinationPortRangeArray) ToNetworkInsightsAnalysisReturnPathComponentInboundHeaderDestinationPortRangeArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisReturnPathComponentInboundHeaderDestinationPortRangeArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisReturnPathComponentInboundHeaderDestinationPortRangeArrayOutput) +func (i NetworkInsightsAnalysisForwardPathComponentTransitGatewayRouteTableRouteArray) ToNetworkInsightsAnalysisForwardPathComponentTransitGatewayRouteTableRouteArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisForwardPathComponentTransitGatewayRouteTableRouteArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisForwardPathComponentTransitGatewayRouteTableRouteArrayOutput) } -type NetworkInsightsAnalysisReturnPathComponentInboundHeaderDestinationPortRangeOutput struct{ *pulumi.OutputState } +type NetworkInsightsAnalysisForwardPathComponentTransitGatewayRouteTableRouteOutput struct{ *pulumi.OutputState } -func (NetworkInsightsAnalysisReturnPathComponentInboundHeaderDestinationPortRangeOutput) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkInsightsAnalysisReturnPathComponentInboundHeaderDestinationPortRange)(nil)).Elem() +func (NetworkInsightsAnalysisForwardPathComponentTransitGatewayRouteTableRouteOutput) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInsightsAnalysisForwardPathComponentTransitGatewayRouteTableRoute)(nil)).Elem() } -func (o NetworkInsightsAnalysisReturnPathComponentInboundHeaderDestinationPortRangeOutput) ToNetworkInsightsAnalysisReturnPathComponentInboundHeaderDestinationPortRangeOutput() NetworkInsightsAnalysisReturnPathComponentInboundHeaderDestinationPortRangeOutput { +func (o NetworkInsightsAnalysisForwardPathComponentTransitGatewayRouteTableRouteOutput) ToNetworkInsightsAnalysisForwardPathComponentTransitGatewayRouteTableRouteOutput() NetworkInsightsAnalysisForwardPathComponentTransitGatewayRouteTableRouteOutput { return o } -func (o NetworkInsightsAnalysisReturnPathComponentInboundHeaderDestinationPortRangeOutput) ToNetworkInsightsAnalysisReturnPathComponentInboundHeaderDestinationPortRangeOutputWithContext(ctx context.Context) NetworkInsightsAnalysisReturnPathComponentInboundHeaderDestinationPortRangeOutput { +func (o NetworkInsightsAnalysisForwardPathComponentTransitGatewayRouteTableRouteOutput) ToNetworkInsightsAnalysisForwardPathComponentTransitGatewayRouteTableRouteOutputWithContext(ctx context.Context) NetworkInsightsAnalysisForwardPathComponentTransitGatewayRouteTableRouteOutput { return o } -func (o NetworkInsightsAnalysisReturnPathComponentInboundHeaderDestinationPortRangeOutput) From() pulumi.IntPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponentInboundHeaderDestinationPortRange) *int { - return v.From - }).(pulumi.IntPtrOutput) -} - -func (o NetworkInsightsAnalysisReturnPathComponentInboundHeaderDestinationPortRangeOutput) To() pulumi.IntPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponentInboundHeaderDestinationPortRange) *int { return v.To }).(pulumi.IntPtrOutput) +func (o NetworkInsightsAnalysisForwardPathComponentTransitGatewayRouteTableRouteOutput) AttachmentId() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponentTransitGatewayRouteTableRoute) *string { + return v.AttachmentId + }).(pulumi.StringPtrOutput) } -type NetworkInsightsAnalysisReturnPathComponentInboundHeaderDestinationPortRangeArrayOutput struct{ *pulumi.OutputState } +func (o NetworkInsightsAnalysisForwardPathComponentTransitGatewayRouteTableRouteOutput) DestinationCidr() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponentTransitGatewayRouteTableRoute) *string { + return v.DestinationCidr + }).(pulumi.StringPtrOutput) +} -func (NetworkInsightsAnalysisReturnPathComponentInboundHeaderDestinationPortRangeArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]NetworkInsightsAnalysisReturnPathComponentInboundHeaderDestinationPortRange)(nil)).Elem() +func (o NetworkInsightsAnalysisForwardPathComponentTransitGatewayRouteTableRouteOutput) PrefixListId() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponentTransitGatewayRouteTableRoute) *string { + return v.PrefixListId + }).(pulumi.StringPtrOutput) } -func (o NetworkInsightsAnalysisReturnPathComponentInboundHeaderDestinationPortRangeArrayOutput) ToNetworkInsightsAnalysisReturnPathComponentInboundHeaderDestinationPortRangeArrayOutput() NetworkInsightsAnalysisReturnPathComponentInboundHeaderDestinationPortRangeArrayOutput { +func (o NetworkInsightsAnalysisForwardPathComponentTransitGatewayRouteTableRouteOutput) ResourceId() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponentTransitGatewayRouteTableRoute) *string { + return v.ResourceId + }).(pulumi.StringPtrOutput) +} + +func (o NetworkInsightsAnalysisForwardPathComponentTransitGatewayRouteTableRouteOutput) ResourceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponentTransitGatewayRouteTableRoute) *string { + return v.ResourceType + }).(pulumi.StringPtrOutput) +} + +func (o NetworkInsightsAnalysisForwardPathComponentTransitGatewayRouteTableRouteOutput) RouteOrigin() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponentTransitGatewayRouteTableRoute) *string { + return v.RouteOrigin + }).(pulumi.StringPtrOutput) +} + +func (o NetworkInsightsAnalysisForwardPathComponentTransitGatewayRouteTableRouteOutput) State() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponentTransitGatewayRouteTableRoute) *string { + return v.State + }).(pulumi.StringPtrOutput) +} + +type NetworkInsightsAnalysisForwardPathComponentTransitGatewayRouteTableRouteArrayOutput struct{ *pulumi.OutputState } + +func (NetworkInsightsAnalysisForwardPathComponentTransitGatewayRouteTableRouteArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkInsightsAnalysisForwardPathComponentTransitGatewayRouteTableRoute)(nil)).Elem() +} + +func (o NetworkInsightsAnalysisForwardPathComponentTransitGatewayRouteTableRouteArrayOutput) ToNetworkInsightsAnalysisForwardPathComponentTransitGatewayRouteTableRouteArrayOutput() NetworkInsightsAnalysisForwardPathComponentTransitGatewayRouteTableRouteArrayOutput { return o } -func (o NetworkInsightsAnalysisReturnPathComponentInboundHeaderDestinationPortRangeArrayOutput) ToNetworkInsightsAnalysisReturnPathComponentInboundHeaderDestinationPortRangeArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisReturnPathComponentInboundHeaderDestinationPortRangeArrayOutput { +func (o NetworkInsightsAnalysisForwardPathComponentTransitGatewayRouteTableRouteArrayOutput) ToNetworkInsightsAnalysisForwardPathComponentTransitGatewayRouteTableRouteArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisForwardPathComponentTransitGatewayRouteTableRouteArrayOutput { return o } -func (o NetworkInsightsAnalysisReturnPathComponentInboundHeaderDestinationPortRangeArrayOutput) Index(i pulumi.IntInput) NetworkInsightsAnalysisReturnPathComponentInboundHeaderDestinationPortRangeOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkInsightsAnalysisReturnPathComponentInboundHeaderDestinationPortRange { - return vs[0].([]NetworkInsightsAnalysisReturnPathComponentInboundHeaderDestinationPortRange)[vs[1].(int)] - }).(NetworkInsightsAnalysisReturnPathComponentInboundHeaderDestinationPortRangeOutput) +func (o NetworkInsightsAnalysisForwardPathComponentTransitGatewayRouteTableRouteArrayOutput) Index(i pulumi.IntInput) NetworkInsightsAnalysisForwardPathComponentTransitGatewayRouteTableRouteOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkInsightsAnalysisForwardPathComponentTransitGatewayRouteTableRoute { + return vs[0].([]NetworkInsightsAnalysisForwardPathComponentTransitGatewayRouteTableRoute)[vs[1].(int)] + }).(NetworkInsightsAnalysisForwardPathComponentTransitGatewayRouteTableRouteOutput) } -type NetworkInsightsAnalysisReturnPathComponentInboundHeaderSourcePortRange struct { - From *int `pulumi:"from"` - To *int `pulumi:"to"` +type NetworkInsightsAnalysisForwardPathComponentVpc struct { + // ARN of the Network Insights Analysis. + Arn *string `pulumi:"arn"` + // ID of the Network Insights Analysis. + Id *string `pulumi:"id"` + Name *string `pulumi:"name"` } -// NetworkInsightsAnalysisReturnPathComponentInboundHeaderSourcePortRangeInput is an input type that accepts NetworkInsightsAnalysisReturnPathComponentInboundHeaderSourcePortRangeArgs and NetworkInsightsAnalysisReturnPathComponentInboundHeaderSourcePortRangeOutput values. -// You can construct a concrete instance of `NetworkInsightsAnalysisReturnPathComponentInboundHeaderSourcePortRangeInput` via: +// NetworkInsightsAnalysisForwardPathComponentVpcInput is an input type that accepts NetworkInsightsAnalysisForwardPathComponentVpcArgs and NetworkInsightsAnalysisForwardPathComponentVpcOutput values. +// You can construct a concrete instance of `NetworkInsightsAnalysisForwardPathComponentVpcInput` via: // -// NetworkInsightsAnalysisReturnPathComponentInboundHeaderSourcePortRangeArgs{...} -type NetworkInsightsAnalysisReturnPathComponentInboundHeaderSourcePortRangeInput interface { +// NetworkInsightsAnalysisForwardPathComponentVpcArgs{...} +type NetworkInsightsAnalysisForwardPathComponentVpcInput interface { pulumi.Input - ToNetworkInsightsAnalysisReturnPathComponentInboundHeaderSourcePortRangeOutput() NetworkInsightsAnalysisReturnPathComponentInboundHeaderSourcePortRangeOutput - ToNetworkInsightsAnalysisReturnPathComponentInboundHeaderSourcePortRangeOutputWithContext(context.Context) NetworkInsightsAnalysisReturnPathComponentInboundHeaderSourcePortRangeOutput + ToNetworkInsightsAnalysisForwardPathComponentVpcOutput() NetworkInsightsAnalysisForwardPathComponentVpcOutput + ToNetworkInsightsAnalysisForwardPathComponentVpcOutputWithContext(context.Context) NetworkInsightsAnalysisForwardPathComponentVpcOutput } -type NetworkInsightsAnalysisReturnPathComponentInboundHeaderSourcePortRangeArgs struct { - From pulumi.IntPtrInput `pulumi:"from"` - To pulumi.IntPtrInput `pulumi:"to"` +type NetworkInsightsAnalysisForwardPathComponentVpcArgs struct { + // ARN of the Network Insights Analysis. + Arn pulumi.StringPtrInput `pulumi:"arn"` + // ID of the Network Insights Analysis. + Id pulumi.StringPtrInput `pulumi:"id"` + Name pulumi.StringPtrInput `pulumi:"name"` } -func (NetworkInsightsAnalysisReturnPathComponentInboundHeaderSourcePortRangeArgs) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkInsightsAnalysisReturnPathComponentInboundHeaderSourcePortRange)(nil)).Elem() +func (NetworkInsightsAnalysisForwardPathComponentVpcArgs) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInsightsAnalysisForwardPathComponentVpc)(nil)).Elem() } -func (i NetworkInsightsAnalysisReturnPathComponentInboundHeaderSourcePortRangeArgs) ToNetworkInsightsAnalysisReturnPathComponentInboundHeaderSourcePortRangeOutput() NetworkInsightsAnalysisReturnPathComponentInboundHeaderSourcePortRangeOutput { - return i.ToNetworkInsightsAnalysisReturnPathComponentInboundHeaderSourcePortRangeOutputWithContext(context.Background()) +func (i NetworkInsightsAnalysisForwardPathComponentVpcArgs) ToNetworkInsightsAnalysisForwardPathComponentVpcOutput() NetworkInsightsAnalysisForwardPathComponentVpcOutput { + return i.ToNetworkInsightsAnalysisForwardPathComponentVpcOutputWithContext(context.Background()) } -func (i NetworkInsightsAnalysisReturnPathComponentInboundHeaderSourcePortRangeArgs) ToNetworkInsightsAnalysisReturnPathComponentInboundHeaderSourcePortRangeOutputWithContext(ctx context.Context) NetworkInsightsAnalysisReturnPathComponentInboundHeaderSourcePortRangeOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisReturnPathComponentInboundHeaderSourcePortRangeOutput) +func (i NetworkInsightsAnalysisForwardPathComponentVpcArgs) ToNetworkInsightsAnalysisForwardPathComponentVpcOutputWithContext(ctx context.Context) NetworkInsightsAnalysisForwardPathComponentVpcOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisForwardPathComponentVpcOutput) } -// NetworkInsightsAnalysisReturnPathComponentInboundHeaderSourcePortRangeArrayInput is an input type that accepts NetworkInsightsAnalysisReturnPathComponentInboundHeaderSourcePortRangeArray and NetworkInsightsAnalysisReturnPathComponentInboundHeaderSourcePortRangeArrayOutput values. -// You can construct a concrete instance of `NetworkInsightsAnalysisReturnPathComponentInboundHeaderSourcePortRangeArrayInput` via: +// NetworkInsightsAnalysisForwardPathComponentVpcArrayInput is an input type that accepts NetworkInsightsAnalysisForwardPathComponentVpcArray and NetworkInsightsAnalysisForwardPathComponentVpcArrayOutput values. +// You can construct a concrete instance of `NetworkInsightsAnalysisForwardPathComponentVpcArrayInput` via: // -// NetworkInsightsAnalysisReturnPathComponentInboundHeaderSourcePortRangeArray{ NetworkInsightsAnalysisReturnPathComponentInboundHeaderSourcePortRangeArgs{...} } -type NetworkInsightsAnalysisReturnPathComponentInboundHeaderSourcePortRangeArrayInput interface { +// NetworkInsightsAnalysisForwardPathComponentVpcArray{ NetworkInsightsAnalysisForwardPathComponentVpcArgs{...} } +type NetworkInsightsAnalysisForwardPathComponentVpcArrayInput interface { pulumi.Input - ToNetworkInsightsAnalysisReturnPathComponentInboundHeaderSourcePortRangeArrayOutput() NetworkInsightsAnalysisReturnPathComponentInboundHeaderSourcePortRangeArrayOutput - ToNetworkInsightsAnalysisReturnPathComponentInboundHeaderSourcePortRangeArrayOutputWithContext(context.Context) NetworkInsightsAnalysisReturnPathComponentInboundHeaderSourcePortRangeArrayOutput + ToNetworkInsightsAnalysisForwardPathComponentVpcArrayOutput() NetworkInsightsAnalysisForwardPathComponentVpcArrayOutput + ToNetworkInsightsAnalysisForwardPathComponentVpcArrayOutputWithContext(context.Context) NetworkInsightsAnalysisForwardPathComponentVpcArrayOutput } -type NetworkInsightsAnalysisReturnPathComponentInboundHeaderSourcePortRangeArray []NetworkInsightsAnalysisReturnPathComponentInboundHeaderSourcePortRangeInput +type NetworkInsightsAnalysisForwardPathComponentVpcArray []NetworkInsightsAnalysisForwardPathComponentVpcInput -func (NetworkInsightsAnalysisReturnPathComponentInboundHeaderSourcePortRangeArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]NetworkInsightsAnalysisReturnPathComponentInboundHeaderSourcePortRange)(nil)).Elem() +func (NetworkInsightsAnalysisForwardPathComponentVpcArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkInsightsAnalysisForwardPathComponentVpc)(nil)).Elem() } -func (i NetworkInsightsAnalysisReturnPathComponentInboundHeaderSourcePortRangeArray) ToNetworkInsightsAnalysisReturnPathComponentInboundHeaderSourcePortRangeArrayOutput() NetworkInsightsAnalysisReturnPathComponentInboundHeaderSourcePortRangeArrayOutput { - return i.ToNetworkInsightsAnalysisReturnPathComponentInboundHeaderSourcePortRangeArrayOutputWithContext(context.Background()) +func (i NetworkInsightsAnalysisForwardPathComponentVpcArray) ToNetworkInsightsAnalysisForwardPathComponentVpcArrayOutput() NetworkInsightsAnalysisForwardPathComponentVpcArrayOutput { + return i.ToNetworkInsightsAnalysisForwardPathComponentVpcArrayOutputWithContext(context.Background()) } -func (i NetworkInsightsAnalysisReturnPathComponentInboundHeaderSourcePortRangeArray) ToNetworkInsightsAnalysisReturnPathComponentInboundHeaderSourcePortRangeArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisReturnPathComponentInboundHeaderSourcePortRangeArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisReturnPathComponentInboundHeaderSourcePortRangeArrayOutput) +func (i NetworkInsightsAnalysisForwardPathComponentVpcArray) ToNetworkInsightsAnalysisForwardPathComponentVpcArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisForwardPathComponentVpcArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisForwardPathComponentVpcArrayOutput) } -type NetworkInsightsAnalysisReturnPathComponentInboundHeaderSourcePortRangeOutput struct{ *pulumi.OutputState } +type NetworkInsightsAnalysisForwardPathComponentVpcOutput struct{ *pulumi.OutputState } -func (NetworkInsightsAnalysisReturnPathComponentInboundHeaderSourcePortRangeOutput) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkInsightsAnalysisReturnPathComponentInboundHeaderSourcePortRange)(nil)).Elem() +func (NetworkInsightsAnalysisForwardPathComponentVpcOutput) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInsightsAnalysisForwardPathComponentVpc)(nil)).Elem() } -func (o NetworkInsightsAnalysisReturnPathComponentInboundHeaderSourcePortRangeOutput) ToNetworkInsightsAnalysisReturnPathComponentInboundHeaderSourcePortRangeOutput() NetworkInsightsAnalysisReturnPathComponentInboundHeaderSourcePortRangeOutput { +func (o NetworkInsightsAnalysisForwardPathComponentVpcOutput) ToNetworkInsightsAnalysisForwardPathComponentVpcOutput() NetworkInsightsAnalysisForwardPathComponentVpcOutput { return o } -func (o NetworkInsightsAnalysisReturnPathComponentInboundHeaderSourcePortRangeOutput) ToNetworkInsightsAnalysisReturnPathComponentInboundHeaderSourcePortRangeOutputWithContext(ctx context.Context) NetworkInsightsAnalysisReturnPathComponentInboundHeaderSourcePortRangeOutput { +func (o NetworkInsightsAnalysisForwardPathComponentVpcOutput) ToNetworkInsightsAnalysisForwardPathComponentVpcOutputWithContext(ctx context.Context) NetworkInsightsAnalysisForwardPathComponentVpcOutput { return o } -func (o NetworkInsightsAnalysisReturnPathComponentInboundHeaderSourcePortRangeOutput) From() pulumi.IntPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponentInboundHeaderSourcePortRange) *int { return v.From }).(pulumi.IntPtrOutput) +// ARN of the Network Insights Analysis. +func (o NetworkInsightsAnalysisForwardPathComponentVpcOutput) Arn() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponentVpc) *string { return v.Arn }).(pulumi.StringPtrOutput) } -func (o NetworkInsightsAnalysisReturnPathComponentInboundHeaderSourcePortRangeOutput) To() pulumi.IntPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponentInboundHeaderSourcePortRange) *int { return v.To }).(pulumi.IntPtrOutput) +// ID of the Network Insights Analysis. +func (o NetworkInsightsAnalysisForwardPathComponentVpcOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponentVpc) *string { return v.Id }).(pulumi.StringPtrOutput) } -type NetworkInsightsAnalysisReturnPathComponentInboundHeaderSourcePortRangeArrayOutput struct{ *pulumi.OutputState } +func (o NetworkInsightsAnalysisForwardPathComponentVpcOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisForwardPathComponentVpc) *string { return v.Name }).(pulumi.StringPtrOutput) +} -func (NetworkInsightsAnalysisReturnPathComponentInboundHeaderSourcePortRangeArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]NetworkInsightsAnalysisReturnPathComponentInboundHeaderSourcePortRange)(nil)).Elem() +type NetworkInsightsAnalysisForwardPathComponentVpcArrayOutput struct{ *pulumi.OutputState } + +func (NetworkInsightsAnalysisForwardPathComponentVpcArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkInsightsAnalysisForwardPathComponentVpc)(nil)).Elem() } -func (o NetworkInsightsAnalysisReturnPathComponentInboundHeaderSourcePortRangeArrayOutput) ToNetworkInsightsAnalysisReturnPathComponentInboundHeaderSourcePortRangeArrayOutput() NetworkInsightsAnalysisReturnPathComponentInboundHeaderSourcePortRangeArrayOutput { +func (o NetworkInsightsAnalysisForwardPathComponentVpcArrayOutput) ToNetworkInsightsAnalysisForwardPathComponentVpcArrayOutput() NetworkInsightsAnalysisForwardPathComponentVpcArrayOutput { return o } -func (o NetworkInsightsAnalysisReturnPathComponentInboundHeaderSourcePortRangeArrayOutput) ToNetworkInsightsAnalysisReturnPathComponentInboundHeaderSourcePortRangeArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisReturnPathComponentInboundHeaderSourcePortRangeArrayOutput { +func (o NetworkInsightsAnalysisForwardPathComponentVpcArrayOutput) ToNetworkInsightsAnalysisForwardPathComponentVpcArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisForwardPathComponentVpcArrayOutput { return o } -func (o NetworkInsightsAnalysisReturnPathComponentInboundHeaderSourcePortRangeArrayOutput) Index(i pulumi.IntInput) NetworkInsightsAnalysisReturnPathComponentInboundHeaderSourcePortRangeOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkInsightsAnalysisReturnPathComponentInboundHeaderSourcePortRange { - return vs[0].([]NetworkInsightsAnalysisReturnPathComponentInboundHeaderSourcePortRange)[vs[1].(int)] - }).(NetworkInsightsAnalysisReturnPathComponentInboundHeaderSourcePortRangeOutput) +func (o NetworkInsightsAnalysisForwardPathComponentVpcArrayOutput) Index(i pulumi.IntInput) NetworkInsightsAnalysisForwardPathComponentVpcOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkInsightsAnalysisForwardPathComponentVpc { + return vs[0].([]NetworkInsightsAnalysisForwardPathComponentVpc)[vs[1].(int)] + }).(NetworkInsightsAnalysisForwardPathComponentVpcOutput) } -type NetworkInsightsAnalysisReturnPathComponentOutboundHeader struct { - DestinationAddresses []string `pulumi:"destinationAddresses"` - DestinationPortRanges []NetworkInsightsAnalysisReturnPathComponentOutboundHeaderDestinationPortRange `pulumi:"destinationPortRanges"` - Protocol *string `pulumi:"protocol"` - SourceAddresses []string `pulumi:"sourceAddresses"` - SourcePortRanges []NetworkInsightsAnalysisReturnPathComponentOutboundHeaderSourcePortRange `pulumi:"sourcePortRanges"` +type NetworkInsightsAnalysisReturnPathComponent struct { + AclRules []NetworkInsightsAnalysisReturnPathComponentAclRule `pulumi:"aclRules"` + AdditionalDetails []NetworkInsightsAnalysisReturnPathComponentAdditionalDetail `pulumi:"additionalDetails"` + AttachedTos []NetworkInsightsAnalysisReturnPathComponentAttachedTo `pulumi:"attachedTos"` + Components []NetworkInsightsAnalysisReturnPathComponentComponent `pulumi:"components"` + DestinationVpcs []NetworkInsightsAnalysisReturnPathComponentDestinationVpc `pulumi:"destinationVpcs"` + InboundHeaders []NetworkInsightsAnalysisReturnPathComponentInboundHeader `pulumi:"inboundHeaders"` + OutboundHeaders []NetworkInsightsAnalysisReturnPathComponentOutboundHeader `pulumi:"outboundHeaders"` + RouteTableRoutes []NetworkInsightsAnalysisReturnPathComponentRouteTableRoute `pulumi:"routeTableRoutes"` + SecurityGroupRules []NetworkInsightsAnalysisReturnPathComponentSecurityGroupRule `pulumi:"securityGroupRules"` + SequenceNumber *int `pulumi:"sequenceNumber"` + SourceVpcs []NetworkInsightsAnalysisReturnPathComponentSourceVpc `pulumi:"sourceVpcs"` + Subnets []NetworkInsightsAnalysisReturnPathComponentSubnet `pulumi:"subnets"` + TransitGatewayRouteTableRoutes []NetworkInsightsAnalysisReturnPathComponentTransitGatewayRouteTableRoute `pulumi:"transitGatewayRouteTableRoutes"` + TransitGateways []NetworkInsightsAnalysisReturnPathComponentTransitGateway `pulumi:"transitGateways"` + Vpcs []NetworkInsightsAnalysisReturnPathComponentVpc `pulumi:"vpcs"` } -// NetworkInsightsAnalysisReturnPathComponentOutboundHeaderInput is an input type that accepts NetworkInsightsAnalysisReturnPathComponentOutboundHeaderArgs and NetworkInsightsAnalysisReturnPathComponentOutboundHeaderOutput values. -// You can construct a concrete instance of `NetworkInsightsAnalysisReturnPathComponentOutboundHeaderInput` via: +// NetworkInsightsAnalysisReturnPathComponentInput is an input type that accepts NetworkInsightsAnalysisReturnPathComponentArgs and NetworkInsightsAnalysisReturnPathComponentOutput values. +// You can construct a concrete instance of `NetworkInsightsAnalysisReturnPathComponentInput` via: // -// NetworkInsightsAnalysisReturnPathComponentOutboundHeaderArgs{...} -type NetworkInsightsAnalysisReturnPathComponentOutboundHeaderInput interface { +// NetworkInsightsAnalysisReturnPathComponentArgs{...} +type NetworkInsightsAnalysisReturnPathComponentInput interface { pulumi.Input - ToNetworkInsightsAnalysisReturnPathComponentOutboundHeaderOutput() NetworkInsightsAnalysisReturnPathComponentOutboundHeaderOutput - ToNetworkInsightsAnalysisReturnPathComponentOutboundHeaderOutputWithContext(context.Context) NetworkInsightsAnalysisReturnPathComponentOutboundHeaderOutput + ToNetworkInsightsAnalysisReturnPathComponentOutput() NetworkInsightsAnalysisReturnPathComponentOutput + ToNetworkInsightsAnalysisReturnPathComponentOutputWithContext(context.Context) NetworkInsightsAnalysisReturnPathComponentOutput } -type NetworkInsightsAnalysisReturnPathComponentOutboundHeaderArgs struct { - DestinationAddresses pulumi.StringArrayInput `pulumi:"destinationAddresses"` - DestinationPortRanges NetworkInsightsAnalysisReturnPathComponentOutboundHeaderDestinationPortRangeArrayInput `pulumi:"destinationPortRanges"` - Protocol pulumi.StringPtrInput `pulumi:"protocol"` - SourceAddresses pulumi.StringArrayInput `pulumi:"sourceAddresses"` - SourcePortRanges NetworkInsightsAnalysisReturnPathComponentOutboundHeaderSourcePortRangeArrayInput `pulumi:"sourcePortRanges"` +type NetworkInsightsAnalysisReturnPathComponentArgs struct { + AclRules NetworkInsightsAnalysisReturnPathComponentAclRuleArrayInput `pulumi:"aclRules"` + AdditionalDetails NetworkInsightsAnalysisReturnPathComponentAdditionalDetailArrayInput `pulumi:"additionalDetails"` + AttachedTos NetworkInsightsAnalysisReturnPathComponentAttachedToArrayInput `pulumi:"attachedTos"` + Components NetworkInsightsAnalysisReturnPathComponentComponentArrayInput `pulumi:"components"` + DestinationVpcs NetworkInsightsAnalysisReturnPathComponentDestinationVpcArrayInput `pulumi:"destinationVpcs"` + InboundHeaders NetworkInsightsAnalysisReturnPathComponentInboundHeaderArrayInput `pulumi:"inboundHeaders"` + OutboundHeaders NetworkInsightsAnalysisReturnPathComponentOutboundHeaderArrayInput `pulumi:"outboundHeaders"` + RouteTableRoutes NetworkInsightsAnalysisReturnPathComponentRouteTableRouteArrayInput `pulumi:"routeTableRoutes"` + SecurityGroupRules NetworkInsightsAnalysisReturnPathComponentSecurityGroupRuleArrayInput `pulumi:"securityGroupRules"` + SequenceNumber pulumi.IntPtrInput `pulumi:"sequenceNumber"` + SourceVpcs NetworkInsightsAnalysisReturnPathComponentSourceVpcArrayInput `pulumi:"sourceVpcs"` + Subnets NetworkInsightsAnalysisReturnPathComponentSubnetArrayInput `pulumi:"subnets"` + TransitGatewayRouteTableRoutes NetworkInsightsAnalysisReturnPathComponentTransitGatewayRouteTableRouteArrayInput `pulumi:"transitGatewayRouteTableRoutes"` + TransitGateways NetworkInsightsAnalysisReturnPathComponentTransitGatewayArrayInput `pulumi:"transitGateways"` + Vpcs NetworkInsightsAnalysisReturnPathComponentVpcArrayInput `pulumi:"vpcs"` } -func (NetworkInsightsAnalysisReturnPathComponentOutboundHeaderArgs) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkInsightsAnalysisReturnPathComponentOutboundHeader)(nil)).Elem() +func (NetworkInsightsAnalysisReturnPathComponentArgs) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInsightsAnalysisReturnPathComponent)(nil)).Elem() } -func (i NetworkInsightsAnalysisReturnPathComponentOutboundHeaderArgs) ToNetworkInsightsAnalysisReturnPathComponentOutboundHeaderOutput() NetworkInsightsAnalysisReturnPathComponentOutboundHeaderOutput { - return i.ToNetworkInsightsAnalysisReturnPathComponentOutboundHeaderOutputWithContext(context.Background()) +func (i NetworkInsightsAnalysisReturnPathComponentArgs) ToNetworkInsightsAnalysisReturnPathComponentOutput() NetworkInsightsAnalysisReturnPathComponentOutput { + return i.ToNetworkInsightsAnalysisReturnPathComponentOutputWithContext(context.Background()) } -func (i NetworkInsightsAnalysisReturnPathComponentOutboundHeaderArgs) ToNetworkInsightsAnalysisReturnPathComponentOutboundHeaderOutputWithContext(ctx context.Context) NetworkInsightsAnalysisReturnPathComponentOutboundHeaderOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisReturnPathComponentOutboundHeaderOutput) +func (i NetworkInsightsAnalysisReturnPathComponentArgs) ToNetworkInsightsAnalysisReturnPathComponentOutputWithContext(ctx context.Context) NetworkInsightsAnalysisReturnPathComponentOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisReturnPathComponentOutput) } -// NetworkInsightsAnalysisReturnPathComponentOutboundHeaderArrayInput is an input type that accepts NetworkInsightsAnalysisReturnPathComponentOutboundHeaderArray and NetworkInsightsAnalysisReturnPathComponentOutboundHeaderArrayOutput values. -// You can construct a concrete instance of `NetworkInsightsAnalysisReturnPathComponentOutboundHeaderArrayInput` via: +// NetworkInsightsAnalysisReturnPathComponentArrayInput is an input type that accepts NetworkInsightsAnalysisReturnPathComponentArray and NetworkInsightsAnalysisReturnPathComponentArrayOutput values. +// You can construct a concrete instance of `NetworkInsightsAnalysisReturnPathComponentArrayInput` via: // -// NetworkInsightsAnalysisReturnPathComponentOutboundHeaderArray{ NetworkInsightsAnalysisReturnPathComponentOutboundHeaderArgs{...} } -type NetworkInsightsAnalysisReturnPathComponentOutboundHeaderArrayInput interface { +// NetworkInsightsAnalysisReturnPathComponentArray{ NetworkInsightsAnalysisReturnPathComponentArgs{...} } +type NetworkInsightsAnalysisReturnPathComponentArrayInput interface { pulumi.Input - ToNetworkInsightsAnalysisReturnPathComponentOutboundHeaderArrayOutput() NetworkInsightsAnalysisReturnPathComponentOutboundHeaderArrayOutput - ToNetworkInsightsAnalysisReturnPathComponentOutboundHeaderArrayOutputWithContext(context.Context) NetworkInsightsAnalysisReturnPathComponentOutboundHeaderArrayOutput + ToNetworkInsightsAnalysisReturnPathComponentArrayOutput() NetworkInsightsAnalysisReturnPathComponentArrayOutput + ToNetworkInsightsAnalysisReturnPathComponentArrayOutputWithContext(context.Context) NetworkInsightsAnalysisReturnPathComponentArrayOutput } -type NetworkInsightsAnalysisReturnPathComponentOutboundHeaderArray []NetworkInsightsAnalysisReturnPathComponentOutboundHeaderInput +type NetworkInsightsAnalysisReturnPathComponentArray []NetworkInsightsAnalysisReturnPathComponentInput -func (NetworkInsightsAnalysisReturnPathComponentOutboundHeaderArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]NetworkInsightsAnalysisReturnPathComponentOutboundHeader)(nil)).Elem() +func (NetworkInsightsAnalysisReturnPathComponentArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkInsightsAnalysisReturnPathComponent)(nil)).Elem() } -func (i NetworkInsightsAnalysisReturnPathComponentOutboundHeaderArray) ToNetworkInsightsAnalysisReturnPathComponentOutboundHeaderArrayOutput() NetworkInsightsAnalysisReturnPathComponentOutboundHeaderArrayOutput { - return i.ToNetworkInsightsAnalysisReturnPathComponentOutboundHeaderArrayOutputWithContext(context.Background()) +func (i NetworkInsightsAnalysisReturnPathComponentArray) ToNetworkInsightsAnalysisReturnPathComponentArrayOutput() NetworkInsightsAnalysisReturnPathComponentArrayOutput { + return i.ToNetworkInsightsAnalysisReturnPathComponentArrayOutputWithContext(context.Background()) } -func (i NetworkInsightsAnalysisReturnPathComponentOutboundHeaderArray) ToNetworkInsightsAnalysisReturnPathComponentOutboundHeaderArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisReturnPathComponentOutboundHeaderArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisReturnPathComponentOutboundHeaderArrayOutput) +func (i NetworkInsightsAnalysisReturnPathComponentArray) ToNetworkInsightsAnalysisReturnPathComponentArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisReturnPathComponentArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisReturnPathComponentArrayOutput) } -type NetworkInsightsAnalysisReturnPathComponentOutboundHeaderOutput struct{ *pulumi.OutputState } +type NetworkInsightsAnalysisReturnPathComponentOutput struct{ *pulumi.OutputState } -func (NetworkInsightsAnalysisReturnPathComponentOutboundHeaderOutput) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkInsightsAnalysisReturnPathComponentOutboundHeader)(nil)).Elem() +func (NetworkInsightsAnalysisReturnPathComponentOutput) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInsightsAnalysisReturnPathComponent)(nil)).Elem() } -func (o NetworkInsightsAnalysisReturnPathComponentOutboundHeaderOutput) ToNetworkInsightsAnalysisReturnPathComponentOutboundHeaderOutput() NetworkInsightsAnalysisReturnPathComponentOutboundHeaderOutput { +func (o NetworkInsightsAnalysisReturnPathComponentOutput) ToNetworkInsightsAnalysisReturnPathComponentOutput() NetworkInsightsAnalysisReturnPathComponentOutput { return o } -func (o NetworkInsightsAnalysisReturnPathComponentOutboundHeaderOutput) ToNetworkInsightsAnalysisReturnPathComponentOutboundHeaderOutputWithContext(ctx context.Context) NetworkInsightsAnalysisReturnPathComponentOutboundHeaderOutput { +func (o NetworkInsightsAnalysisReturnPathComponentOutput) ToNetworkInsightsAnalysisReturnPathComponentOutputWithContext(ctx context.Context) NetworkInsightsAnalysisReturnPathComponentOutput { return o } -func (o NetworkInsightsAnalysisReturnPathComponentOutboundHeaderOutput) DestinationAddresses() pulumi.StringArrayOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponentOutboundHeader) []string { - return v.DestinationAddresses - }).(pulumi.StringArrayOutput) +func (o NetworkInsightsAnalysisReturnPathComponentOutput) AclRules() NetworkInsightsAnalysisReturnPathComponentAclRuleArrayOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponent) []NetworkInsightsAnalysisReturnPathComponentAclRule { + return v.AclRules + }).(NetworkInsightsAnalysisReturnPathComponentAclRuleArrayOutput) } -func (o NetworkInsightsAnalysisReturnPathComponentOutboundHeaderOutput) DestinationPortRanges() NetworkInsightsAnalysisReturnPathComponentOutboundHeaderDestinationPortRangeArrayOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponentOutboundHeader) []NetworkInsightsAnalysisReturnPathComponentOutboundHeaderDestinationPortRange { - return v.DestinationPortRanges - }).(NetworkInsightsAnalysisReturnPathComponentOutboundHeaderDestinationPortRangeArrayOutput) +func (o NetworkInsightsAnalysisReturnPathComponentOutput) AdditionalDetails() NetworkInsightsAnalysisReturnPathComponentAdditionalDetailArrayOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponent) []NetworkInsightsAnalysisReturnPathComponentAdditionalDetail { + return v.AdditionalDetails + }).(NetworkInsightsAnalysisReturnPathComponentAdditionalDetailArrayOutput) } -func (o NetworkInsightsAnalysisReturnPathComponentOutboundHeaderOutput) Protocol() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponentOutboundHeader) *string { return v.Protocol }).(pulumi.StringPtrOutput) +func (o NetworkInsightsAnalysisReturnPathComponentOutput) AttachedTos() NetworkInsightsAnalysisReturnPathComponentAttachedToArrayOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponent) []NetworkInsightsAnalysisReturnPathComponentAttachedTo { + return v.AttachedTos + }).(NetworkInsightsAnalysisReturnPathComponentAttachedToArrayOutput) } -func (o NetworkInsightsAnalysisReturnPathComponentOutboundHeaderOutput) SourceAddresses() pulumi.StringArrayOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponentOutboundHeader) []string { return v.SourceAddresses }).(pulumi.StringArrayOutput) +func (o NetworkInsightsAnalysisReturnPathComponentOutput) Components() NetworkInsightsAnalysisReturnPathComponentComponentArrayOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponent) []NetworkInsightsAnalysisReturnPathComponentComponent { + return v.Components + }).(NetworkInsightsAnalysisReturnPathComponentComponentArrayOutput) } -func (o NetworkInsightsAnalysisReturnPathComponentOutboundHeaderOutput) SourcePortRanges() NetworkInsightsAnalysisReturnPathComponentOutboundHeaderSourcePortRangeArrayOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponentOutboundHeader) []NetworkInsightsAnalysisReturnPathComponentOutboundHeaderSourcePortRange { - return v.SourcePortRanges - }).(NetworkInsightsAnalysisReturnPathComponentOutboundHeaderSourcePortRangeArrayOutput) +func (o NetworkInsightsAnalysisReturnPathComponentOutput) DestinationVpcs() NetworkInsightsAnalysisReturnPathComponentDestinationVpcArrayOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponent) []NetworkInsightsAnalysisReturnPathComponentDestinationVpc { + return v.DestinationVpcs + }).(NetworkInsightsAnalysisReturnPathComponentDestinationVpcArrayOutput) } -type NetworkInsightsAnalysisReturnPathComponentOutboundHeaderArrayOutput struct{ *pulumi.OutputState } +func (o NetworkInsightsAnalysisReturnPathComponentOutput) InboundHeaders() NetworkInsightsAnalysisReturnPathComponentInboundHeaderArrayOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponent) []NetworkInsightsAnalysisReturnPathComponentInboundHeader { + return v.InboundHeaders + }).(NetworkInsightsAnalysisReturnPathComponentInboundHeaderArrayOutput) +} -func (NetworkInsightsAnalysisReturnPathComponentOutboundHeaderArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]NetworkInsightsAnalysisReturnPathComponentOutboundHeader)(nil)).Elem() +func (o NetworkInsightsAnalysisReturnPathComponentOutput) OutboundHeaders() NetworkInsightsAnalysisReturnPathComponentOutboundHeaderArrayOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponent) []NetworkInsightsAnalysisReturnPathComponentOutboundHeader { + return v.OutboundHeaders + }).(NetworkInsightsAnalysisReturnPathComponentOutboundHeaderArrayOutput) } -func (o NetworkInsightsAnalysisReturnPathComponentOutboundHeaderArrayOutput) ToNetworkInsightsAnalysisReturnPathComponentOutboundHeaderArrayOutput() NetworkInsightsAnalysisReturnPathComponentOutboundHeaderArrayOutput { +func (o NetworkInsightsAnalysisReturnPathComponentOutput) RouteTableRoutes() NetworkInsightsAnalysisReturnPathComponentRouteTableRouteArrayOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponent) []NetworkInsightsAnalysisReturnPathComponentRouteTableRoute { + return v.RouteTableRoutes + }).(NetworkInsightsAnalysisReturnPathComponentRouteTableRouteArrayOutput) +} + +func (o NetworkInsightsAnalysisReturnPathComponentOutput) SecurityGroupRules() NetworkInsightsAnalysisReturnPathComponentSecurityGroupRuleArrayOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponent) []NetworkInsightsAnalysisReturnPathComponentSecurityGroupRule { + return v.SecurityGroupRules + }).(NetworkInsightsAnalysisReturnPathComponentSecurityGroupRuleArrayOutput) +} + +func (o NetworkInsightsAnalysisReturnPathComponentOutput) SequenceNumber() pulumi.IntPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponent) *int { return v.SequenceNumber }).(pulumi.IntPtrOutput) +} + +func (o NetworkInsightsAnalysisReturnPathComponentOutput) SourceVpcs() NetworkInsightsAnalysisReturnPathComponentSourceVpcArrayOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponent) []NetworkInsightsAnalysisReturnPathComponentSourceVpc { + return v.SourceVpcs + }).(NetworkInsightsAnalysisReturnPathComponentSourceVpcArrayOutput) +} + +func (o NetworkInsightsAnalysisReturnPathComponentOutput) Subnets() NetworkInsightsAnalysisReturnPathComponentSubnetArrayOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponent) []NetworkInsightsAnalysisReturnPathComponentSubnet { + return v.Subnets + }).(NetworkInsightsAnalysisReturnPathComponentSubnetArrayOutput) +} + +func (o NetworkInsightsAnalysisReturnPathComponentOutput) TransitGatewayRouteTableRoutes() NetworkInsightsAnalysisReturnPathComponentTransitGatewayRouteTableRouteArrayOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponent) []NetworkInsightsAnalysisReturnPathComponentTransitGatewayRouteTableRoute { + return v.TransitGatewayRouteTableRoutes + }).(NetworkInsightsAnalysisReturnPathComponentTransitGatewayRouteTableRouteArrayOutput) +} + +func (o NetworkInsightsAnalysisReturnPathComponentOutput) TransitGateways() NetworkInsightsAnalysisReturnPathComponentTransitGatewayArrayOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponent) []NetworkInsightsAnalysisReturnPathComponentTransitGateway { + return v.TransitGateways + }).(NetworkInsightsAnalysisReturnPathComponentTransitGatewayArrayOutput) +} + +func (o NetworkInsightsAnalysisReturnPathComponentOutput) Vpcs() NetworkInsightsAnalysisReturnPathComponentVpcArrayOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponent) []NetworkInsightsAnalysisReturnPathComponentVpc { + return v.Vpcs + }).(NetworkInsightsAnalysisReturnPathComponentVpcArrayOutput) +} + +type NetworkInsightsAnalysisReturnPathComponentArrayOutput struct{ *pulumi.OutputState } + +func (NetworkInsightsAnalysisReturnPathComponentArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkInsightsAnalysisReturnPathComponent)(nil)).Elem() +} + +func (o NetworkInsightsAnalysisReturnPathComponentArrayOutput) ToNetworkInsightsAnalysisReturnPathComponentArrayOutput() NetworkInsightsAnalysisReturnPathComponentArrayOutput { return o } -func (o NetworkInsightsAnalysisReturnPathComponentOutboundHeaderArrayOutput) ToNetworkInsightsAnalysisReturnPathComponentOutboundHeaderArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisReturnPathComponentOutboundHeaderArrayOutput { +func (o NetworkInsightsAnalysisReturnPathComponentArrayOutput) ToNetworkInsightsAnalysisReturnPathComponentArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisReturnPathComponentArrayOutput { return o } -func (o NetworkInsightsAnalysisReturnPathComponentOutboundHeaderArrayOutput) Index(i pulumi.IntInput) NetworkInsightsAnalysisReturnPathComponentOutboundHeaderOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkInsightsAnalysisReturnPathComponentOutboundHeader { - return vs[0].([]NetworkInsightsAnalysisReturnPathComponentOutboundHeader)[vs[1].(int)] - }).(NetworkInsightsAnalysisReturnPathComponentOutboundHeaderOutput) +func (o NetworkInsightsAnalysisReturnPathComponentArrayOutput) Index(i pulumi.IntInput) NetworkInsightsAnalysisReturnPathComponentOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkInsightsAnalysisReturnPathComponent { + return vs[0].([]NetworkInsightsAnalysisReturnPathComponent)[vs[1].(int)] + }).(NetworkInsightsAnalysisReturnPathComponentOutput) } -type NetworkInsightsAnalysisReturnPathComponentOutboundHeaderDestinationPortRange struct { - From *int `pulumi:"from"` - To *int `pulumi:"to"` +type NetworkInsightsAnalysisReturnPathComponentAclRule struct { + Cidr *string `pulumi:"cidr"` + Egress *bool `pulumi:"egress"` + PortRanges []NetworkInsightsAnalysisReturnPathComponentAclRulePortRange `pulumi:"portRanges"` + Protocol *string `pulumi:"protocol"` + RuleAction *string `pulumi:"ruleAction"` + RuleNumber *int `pulumi:"ruleNumber"` } -// NetworkInsightsAnalysisReturnPathComponentOutboundHeaderDestinationPortRangeInput is an input type that accepts NetworkInsightsAnalysisReturnPathComponentOutboundHeaderDestinationPortRangeArgs and NetworkInsightsAnalysisReturnPathComponentOutboundHeaderDestinationPortRangeOutput values. -// You can construct a concrete instance of `NetworkInsightsAnalysisReturnPathComponentOutboundHeaderDestinationPortRangeInput` via: +// NetworkInsightsAnalysisReturnPathComponentAclRuleInput is an input type that accepts NetworkInsightsAnalysisReturnPathComponentAclRuleArgs and NetworkInsightsAnalysisReturnPathComponentAclRuleOutput values. +// You can construct a concrete instance of `NetworkInsightsAnalysisReturnPathComponentAclRuleInput` via: // -// NetworkInsightsAnalysisReturnPathComponentOutboundHeaderDestinationPortRangeArgs{...} -type NetworkInsightsAnalysisReturnPathComponentOutboundHeaderDestinationPortRangeInput interface { +// NetworkInsightsAnalysisReturnPathComponentAclRuleArgs{...} +type NetworkInsightsAnalysisReturnPathComponentAclRuleInput interface { pulumi.Input - ToNetworkInsightsAnalysisReturnPathComponentOutboundHeaderDestinationPortRangeOutput() NetworkInsightsAnalysisReturnPathComponentOutboundHeaderDestinationPortRangeOutput - ToNetworkInsightsAnalysisReturnPathComponentOutboundHeaderDestinationPortRangeOutputWithContext(context.Context) NetworkInsightsAnalysisReturnPathComponentOutboundHeaderDestinationPortRangeOutput + ToNetworkInsightsAnalysisReturnPathComponentAclRuleOutput() NetworkInsightsAnalysisReturnPathComponentAclRuleOutput + ToNetworkInsightsAnalysisReturnPathComponentAclRuleOutputWithContext(context.Context) NetworkInsightsAnalysisReturnPathComponentAclRuleOutput } -type NetworkInsightsAnalysisReturnPathComponentOutboundHeaderDestinationPortRangeArgs struct { - From pulumi.IntPtrInput `pulumi:"from"` - To pulumi.IntPtrInput `pulumi:"to"` +type NetworkInsightsAnalysisReturnPathComponentAclRuleArgs struct { + Cidr pulumi.StringPtrInput `pulumi:"cidr"` + Egress pulumi.BoolPtrInput `pulumi:"egress"` + PortRanges NetworkInsightsAnalysisReturnPathComponentAclRulePortRangeArrayInput `pulumi:"portRanges"` + Protocol pulumi.StringPtrInput `pulumi:"protocol"` + RuleAction pulumi.StringPtrInput `pulumi:"ruleAction"` + RuleNumber pulumi.IntPtrInput `pulumi:"ruleNumber"` } -func (NetworkInsightsAnalysisReturnPathComponentOutboundHeaderDestinationPortRangeArgs) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkInsightsAnalysisReturnPathComponentOutboundHeaderDestinationPortRange)(nil)).Elem() +func (NetworkInsightsAnalysisReturnPathComponentAclRuleArgs) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInsightsAnalysisReturnPathComponentAclRule)(nil)).Elem() } -func (i NetworkInsightsAnalysisReturnPathComponentOutboundHeaderDestinationPortRangeArgs) ToNetworkInsightsAnalysisReturnPathComponentOutboundHeaderDestinationPortRangeOutput() NetworkInsightsAnalysisReturnPathComponentOutboundHeaderDestinationPortRangeOutput { - return i.ToNetworkInsightsAnalysisReturnPathComponentOutboundHeaderDestinationPortRangeOutputWithContext(context.Background()) +func (i NetworkInsightsAnalysisReturnPathComponentAclRuleArgs) ToNetworkInsightsAnalysisReturnPathComponentAclRuleOutput() NetworkInsightsAnalysisReturnPathComponentAclRuleOutput { + return i.ToNetworkInsightsAnalysisReturnPathComponentAclRuleOutputWithContext(context.Background()) } -func (i NetworkInsightsAnalysisReturnPathComponentOutboundHeaderDestinationPortRangeArgs) ToNetworkInsightsAnalysisReturnPathComponentOutboundHeaderDestinationPortRangeOutputWithContext(ctx context.Context) NetworkInsightsAnalysisReturnPathComponentOutboundHeaderDestinationPortRangeOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisReturnPathComponentOutboundHeaderDestinationPortRangeOutput) +func (i NetworkInsightsAnalysisReturnPathComponentAclRuleArgs) ToNetworkInsightsAnalysisReturnPathComponentAclRuleOutputWithContext(ctx context.Context) NetworkInsightsAnalysisReturnPathComponentAclRuleOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisReturnPathComponentAclRuleOutput) } -// NetworkInsightsAnalysisReturnPathComponentOutboundHeaderDestinationPortRangeArrayInput is an input type that accepts NetworkInsightsAnalysisReturnPathComponentOutboundHeaderDestinationPortRangeArray and NetworkInsightsAnalysisReturnPathComponentOutboundHeaderDestinationPortRangeArrayOutput values. -// You can construct a concrete instance of `NetworkInsightsAnalysisReturnPathComponentOutboundHeaderDestinationPortRangeArrayInput` via: +// NetworkInsightsAnalysisReturnPathComponentAclRuleArrayInput is an input type that accepts NetworkInsightsAnalysisReturnPathComponentAclRuleArray and NetworkInsightsAnalysisReturnPathComponentAclRuleArrayOutput values. +// You can construct a concrete instance of `NetworkInsightsAnalysisReturnPathComponentAclRuleArrayInput` via: // -// NetworkInsightsAnalysisReturnPathComponentOutboundHeaderDestinationPortRangeArray{ NetworkInsightsAnalysisReturnPathComponentOutboundHeaderDestinationPortRangeArgs{...} } -type NetworkInsightsAnalysisReturnPathComponentOutboundHeaderDestinationPortRangeArrayInput interface { +// NetworkInsightsAnalysisReturnPathComponentAclRuleArray{ NetworkInsightsAnalysisReturnPathComponentAclRuleArgs{...} } +type NetworkInsightsAnalysisReturnPathComponentAclRuleArrayInput interface { pulumi.Input - ToNetworkInsightsAnalysisReturnPathComponentOutboundHeaderDestinationPortRangeArrayOutput() NetworkInsightsAnalysisReturnPathComponentOutboundHeaderDestinationPortRangeArrayOutput - ToNetworkInsightsAnalysisReturnPathComponentOutboundHeaderDestinationPortRangeArrayOutputWithContext(context.Context) NetworkInsightsAnalysisReturnPathComponentOutboundHeaderDestinationPortRangeArrayOutput + ToNetworkInsightsAnalysisReturnPathComponentAclRuleArrayOutput() NetworkInsightsAnalysisReturnPathComponentAclRuleArrayOutput + ToNetworkInsightsAnalysisReturnPathComponentAclRuleArrayOutputWithContext(context.Context) NetworkInsightsAnalysisReturnPathComponentAclRuleArrayOutput } -type NetworkInsightsAnalysisReturnPathComponentOutboundHeaderDestinationPortRangeArray []NetworkInsightsAnalysisReturnPathComponentOutboundHeaderDestinationPortRangeInput +type NetworkInsightsAnalysisReturnPathComponentAclRuleArray []NetworkInsightsAnalysisReturnPathComponentAclRuleInput -func (NetworkInsightsAnalysisReturnPathComponentOutboundHeaderDestinationPortRangeArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]NetworkInsightsAnalysisReturnPathComponentOutboundHeaderDestinationPortRange)(nil)).Elem() +func (NetworkInsightsAnalysisReturnPathComponentAclRuleArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkInsightsAnalysisReturnPathComponentAclRule)(nil)).Elem() } -func (i NetworkInsightsAnalysisReturnPathComponentOutboundHeaderDestinationPortRangeArray) ToNetworkInsightsAnalysisReturnPathComponentOutboundHeaderDestinationPortRangeArrayOutput() NetworkInsightsAnalysisReturnPathComponentOutboundHeaderDestinationPortRangeArrayOutput { - return i.ToNetworkInsightsAnalysisReturnPathComponentOutboundHeaderDestinationPortRangeArrayOutputWithContext(context.Background()) +func (i NetworkInsightsAnalysisReturnPathComponentAclRuleArray) ToNetworkInsightsAnalysisReturnPathComponentAclRuleArrayOutput() NetworkInsightsAnalysisReturnPathComponentAclRuleArrayOutput { + return i.ToNetworkInsightsAnalysisReturnPathComponentAclRuleArrayOutputWithContext(context.Background()) } -func (i NetworkInsightsAnalysisReturnPathComponentOutboundHeaderDestinationPortRangeArray) ToNetworkInsightsAnalysisReturnPathComponentOutboundHeaderDestinationPortRangeArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisReturnPathComponentOutboundHeaderDestinationPortRangeArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisReturnPathComponentOutboundHeaderDestinationPortRangeArrayOutput) +func (i NetworkInsightsAnalysisReturnPathComponentAclRuleArray) ToNetworkInsightsAnalysisReturnPathComponentAclRuleArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisReturnPathComponentAclRuleArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisReturnPathComponentAclRuleArrayOutput) } -type NetworkInsightsAnalysisReturnPathComponentOutboundHeaderDestinationPortRangeOutput struct{ *pulumi.OutputState } +type NetworkInsightsAnalysisReturnPathComponentAclRuleOutput struct{ *pulumi.OutputState } -func (NetworkInsightsAnalysisReturnPathComponentOutboundHeaderDestinationPortRangeOutput) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkInsightsAnalysisReturnPathComponentOutboundHeaderDestinationPortRange)(nil)).Elem() +func (NetworkInsightsAnalysisReturnPathComponentAclRuleOutput) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInsightsAnalysisReturnPathComponentAclRule)(nil)).Elem() } -func (o NetworkInsightsAnalysisReturnPathComponentOutboundHeaderDestinationPortRangeOutput) ToNetworkInsightsAnalysisReturnPathComponentOutboundHeaderDestinationPortRangeOutput() NetworkInsightsAnalysisReturnPathComponentOutboundHeaderDestinationPortRangeOutput { +func (o NetworkInsightsAnalysisReturnPathComponentAclRuleOutput) ToNetworkInsightsAnalysisReturnPathComponentAclRuleOutput() NetworkInsightsAnalysisReturnPathComponentAclRuleOutput { return o } -func (o NetworkInsightsAnalysisReturnPathComponentOutboundHeaderDestinationPortRangeOutput) ToNetworkInsightsAnalysisReturnPathComponentOutboundHeaderDestinationPortRangeOutputWithContext(ctx context.Context) NetworkInsightsAnalysisReturnPathComponentOutboundHeaderDestinationPortRangeOutput { +func (o NetworkInsightsAnalysisReturnPathComponentAclRuleOutput) ToNetworkInsightsAnalysisReturnPathComponentAclRuleOutputWithContext(ctx context.Context) NetworkInsightsAnalysisReturnPathComponentAclRuleOutput { return o } -func (o NetworkInsightsAnalysisReturnPathComponentOutboundHeaderDestinationPortRangeOutput) From() pulumi.IntPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponentOutboundHeaderDestinationPortRange) *int { - return v.From - }).(pulumi.IntPtrOutput) +func (o NetworkInsightsAnalysisReturnPathComponentAclRuleOutput) Cidr() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponentAclRule) *string { return v.Cidr }).(pulumi.StringPtrOutput) } -func (o NetworkInsightsAnalysisReturnPathComponentOutboundHeaderDestinationPortRangeOutput) To() pulumi.IntPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponentOutboundHeaderDestinationPortRange) *int { return v.To }).(pulumi.IntPtrOutput) +func (o NetworkInsightsAnalysisReturnPathComponentAclRuleOutput) Egress() pulumi.BoolPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponentAclRule) *bool { return v.Egress }).(pulumi.BoolPtrOutput) } -type NetworkInsightsAnalysisReturnPathComponentOutboundHeaderDestinationPortRangeArrayOutput struct{ *pulumi.OutputState } +func (o NetworkInsightsAnalysisReturnPathComponentAclRuleOutput) PortRanges() NetworkInsightsAnalysisReturnPathComponentAclRulePortRangeArrayOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponentAclRule) []NetworkInsightsAnalysisReturnPathComponentAclRulePortRange { + return v.PortRanges + }).(NetworkInsightsAnalysisReturnPathComponentAclRulePortRangeArrayOutput) +} -func (NetworkInsightsAnalysisReturnPathComponentOutboundHeaderDestinationPortRangeArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]NetworkInsightsAnalysisReturnPathComponentOutboundHeaderDestinationPortRange)(nil)).Elem() +func (o NetworkInsightsAnalysisReturnPathComponentAclRuleOutput) Protocol() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponentAclRule) *string { return v.Protocol }).(pulumi.StringPtrOutput) } -func (o NetworkInsightsAnalysisReturnPathComponentOutboundHeaderDestinationPortRangeArrayOutput) ToNetworkInsightsAnalysisReturnPathComponentOutboundHeaderDestinationPortRangeArrayOutput() NetworkInsightsAnalysisReturnPathComponentOutboundHeaderDestinationPortRangeArrayOutput { +func (o NetworkInsightsAnalysisReturnPathComponentAclRuleOutput) RuleAction() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponentAclRule) *string { return v.RuleAction }).(pulumi.StringPtrOutput) +} + +func (o NetworkInsightsAnalysisReturnPathComponentAclRuleOutput) RuleNumber() pulumi.IntPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponentAclRule) *int { return v.RuleNumber }).(pulumi.IntPtrOutput) +} + +type NetworkInsightsAnalysisReturnPathComponentAclRuleArrayOutput struct{ *pulumi.OutputState } + +func (NetworkInsightsAnalysisReturnPathComponentAclRuleArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkInsightsAnalysisReturnPathComponentAclRule)(nil)).Elem() +} + +func (o NetworkInsightsAnalysisReturnPathComponentAclRuleArrayOutput) ToNetworkInsightsAnalysisReturnPathComponentAclRuleArrayOutput() NetworkInsightsAnalysisReturnPathComponentAclRuleArrayOutput { return o } -func (o NetworkInsightsAnalysisReturnPathComponentOutboundHeaderDestinationPortRangeArrayOutput) ToNetworkInsightsAnalysisReturnPathComponentOutboundHeaderDestinationPortRangeArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisReturnPathComponentOutboundHeaderDestinationPortRangeArrayOutput { +func (o NetworkInsightsAnalysisReturnPathComponentAclRuleArrayOutput) ToNetworkInsightsAnalysisReturnPathComponentAclRuleArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisReturnPathComponentAclRuleArrayOutput { return o } -func (o NetworkInsightsAnalysisReturnPathComponentOutboundHeaderDestinationPortRangeArrayOutput) Index(i pulumi.IntInput) NetworkInsightsAnalysisReturnPathComponentOutboundHeaderDestinationPortRangeOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkInsightsAnalysisReturnPathComponentOutboundHeaderDestinationPortRange { - return vs[0].([]NetworkInsightsAnalysisReturnPathComponentOutboundHeaderDestinationPortRange)[vs[1].(int)] - }).(NetworkInsightsAnalysisReturnPathComponentOutboundHeaderDestinationPortRangeOutput) +func (o NetworkInsightsAnalysisReturnPathComponentAclRuleArrayOutput) Index(i pulumi.IntInput) NetworkInsightsAnalysisReturnPathComponentAclRuleOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkInsightsAnalysisReturnPathComponentAclRule { + return vs[0].([]NetworkInsightsAnalysisReturnPathComponentAclRule)[vs[1].(int)] + }).(NetworkInsightsAnalysisReturnPathComponentAclRuleOutput) } -type NetworkInsightsAnalysisReturnPathComponentOutboundHeaderSourcePortRange struct { +type NetworkInsightsAnalysisReturnPathComponentAclRulePortRange struct { From *int `pulumi:"from"` To *int `pulumi:"to"` } -// NetworkInsightsAnalysisReturnPathComponentOutboundHeaderSourcePortRangeInput is an input type that accepts NetworkInsightsAnalysisReturnPathComponentOutboundHeaderSourcePortRangeArgs and NetworkInsightsAnalysisReturnPathComponentOutboundHeaderSourcePortRangeOutput values. -// You can construct a concrete instance of `NetworkInsightsAnalysisReturnPathComponentOutboundHeaderSourcePortRangeInput` via: +// NetworkInsightsAnalysisReturnPathComponentAclRulePortRangeInput is an input type that accepts NetworkInsightsAnalysisReturnPathComponentAclRulePortRangeArgs and NetworkInsightsAnalysisReturnPathComponentAclRulePortRangeOutput values. +// You can construct a concrete instance of `NetworkInsightsAnalysisReturnPathComponentAclRulePortRangeInput` via: // -// NetworkInsightsAnalysisReturnPathComponentOutboundHeaderSourcePortRangeArgs{...} -type NetworkInsightsAnalysisReturnPathComponentOutboundHeaderSourcePortRangeInput interface { +// NetworkInsightsAnalysisReturnPathComponentAclRulePortRangeArgs{...} +type NetworkInsightsAnalysisReturnPathComponentAclRulePortRangeInput interface { pulumi.Input - ToNetworkInsightsAnalysisReturnPathComponentOutboundHeaderSourcePortRangeOutput() NetworkInsightsAnalysisReturnPathComponentOutboundHeaderSourcePortRangeOutput - ToNetworkInsightsAnalysisReturnPathComponentOutboundHeaderSourcePortRangeOutputWithContext(context.Context) NetworkInsightsAnalysisReturnPathComponentOutboundHeaderSourcePortRangeOutput + ToNetworkInsightsAnalysisReturnPathComponentAclRulePortRangeOutput() NetworkInsightsAnalysisReturnPathComponentAclRulePortRangeOutput + ToNetworkInsightsAnalysisReturnPathComponentAclRulePortRangeOutputWithContext(context.Context) NetworkInsightsAnalysisReturnPathComponentAclRulePortRangeOutput } -type NetworkInsightsAnalysisReturnPathComponentOutboundHeaderSourcePortRangeArgs struct { +type NetworkInsightsAnalysisReturnPathComponentAclRulePortRangeArgs struct { From pulumi.IntPtrInput `pulumi:"from"` To pulumi.IntPtrInput `pulumi:"to"` } -func (NetworkInsightsAnalysisReturnPathComponentOutboundHeaderSourcePortRangeArgs) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkInsightsAnalysisReturnPathComponentOutboundHeaderSourcePortRange)(nil)).Elem() +func (NetworkInsightsAnalysisReturnPathComponentAclRulePortRangeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInsightsAnalysisReturnPathComponentAclRulePortRange)(nil)).Elem() } -func (i NetworkInsightsAnalysisReturnPathComponentOutboundHeaderSourcePortRangeArgs) ToNetworkInsightsAnalysisReturnPathComponentOutboundHeaderSourcePortRangeOutput() NetworkInsightsAnalysisReturnPathComponentOutboundHeaderSourcePortRangeOutput { - return i.ToNetworkInsightsAnalysisReturnPathComponentOutboundHeaderSourcePortRangeOutputWithContext(context.Background()) +func (i NetworkInsightsAnalysisReturnPathComponentAclRulePortRangeArgs) ToNetworkInsightsAnalysisReturnPathComponentAclRulePortRangeOutput() NetworkInsightsAnalysisReturnPathComponentAclRulePortRangeOutput { + return i.ToNetworkInsightsAnalysisReturnPathComponentAclRulePortRangeOutputWithContext(context.Background()) } -func (i NetworkInsightsAnalysisReturnPathComponentOutboundHeaderSourcePortRangeArgs) ToNetworkInsightsAnalysisReturnPathComponentOutboundHeaderSourcePortRangeOutputWithContext(ctx context.Context) NetworkInsightsAnalysisReturnPathComponentOutboundHeaderSourcePortRangeOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisReturnPathComponentOutboundHeaderSourcePortRangeOutput) +func (i NetworkInsightsAnalysisReturnPathComponentAclRulePortRangeArgs) ToNetworkInsightsAnalysisReturnPathComponentAclRulePortRangeOutputWithContext(ctx context.Context) NetworkInsightsAnalysisReturnPathComponentAclRulePortRangeOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisReturnPathComponentAclRulePortRangeOutput) } -// NetworkInsightsAnalysisReturnPathComponentOutboundHeaderSourcePortRangeArrayInput is an input type that accepts NetworkInsightsAnalysisReturnPathComponentOutboundHeaderSourcePortRangeArray and NetworkInsightsAnalysisReturnPathComponentOutboundHeaderSourcePortRangeArrayOutput values. -// You can construct a concrete instance of `NetworkInsightsAnalysisReturnPathComponentOutboundHeaderSourcePortRangeArrayInput` via: +// NetworkInsightsAnalysisReturnPathComponentAclRulePortRangeArrayInput is an input type that accepts NetworkInsightsAnalysisReturnPathComponentAclRulePortRangeArray and NetworkInsightsAnalysisReturnPathComponentAclRulePortRangeArrayOutput values. +// You can construct a concrete instance of `NetworkInsightsAnalysisReturnPathComponentAclRulePortRangeArrayInput` via: // -// NetworkInsightsAnalysisReturnPathComponentOutboundHeaderSourcePortRangeArray{ NetworkInsightsAnalysisReturnPathComponentOutboundHeaderSourcePortRangeArgs{...} } -type NetworkInsightsAnalysisReturnPathComponentOutboundHeaderSourcePortRangeArrayInput interface { +// NetworkInsightsAnalysisReturnPathComponentAclRulePortRangeArray{ NetworkInsightsAnalysisReturnPathComponentAclRulePortRangeArgs{...} } +type NetworkInsightsAnalysisReturnPathComponentAclRulePortRangeArrayInput interface { pulumi.Input - ToNetworkInsightsAnalysisReturnPathComponentOutboundHeaderSourcePortRangeArrayOutput() NetworkInsightsAnalysisReturnPathComponentOutboundHeaderSourcePortRangeArrayOutput - ToNetworkInsightsAnalysisReturnPathComponentOutboundHeaderSourcePortRangeArrayOutputWithContext(context.Context) NetworkInsightsAnalysisReturnPathComponentOutboundHeaderSourcePortRangeArrayOutput + ToNetworkInsightsAnalysisReturnPathComponentAclRulePortRangeArrayOutput() NetworkInsightsAnalysisReturnPathComponentAclRulePortRangeArrayOutput + ToNetworkInsightsAnalysisReturnPathComponentAclRulePortRangeArrayOutputWithContext(context.Context) NetworkInsightsAnalysisReturnPathComponentAclRulePortRangeArrayOutput } -type NetworkInsightsAnalysisReturnPathComponentOutboundHeaderSourcePortRangeArray []NetworkInsightsAnalysisReturnPathComponentOutboundHeaderSourcePortRangeInput +type NetworkInsightsAnalysisReturnPathComponentAclRulePortRangeArray []NetworkInsightsAnalysisReturnPathComponentAclRulePortRangeInput -func (NetworkInsightsAnalysisReturnPathComponentOutboundHeaderSourcePortRangeArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]NetworkInsightsAnalysisReturnPathComponentOutboundHeaderSourcePortRange)(nil)).Elem() +func (NetworkInsightsAnalysisReturnPathComponentAclRulePortRangeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkInsightsAnalysisReturnPathComponentAclRulePortRange)(nil)).Elem() } -func (i NetworkInsightsAnalysisReturnPathComponentOutboundHeaderSourcePortRangeArray) ToNetworkInsightsAnalysisReturnPathComponentOutboundHeaderSourcePortRangeArrayOutput() NetworkInsightsAnalysisReturnPathComponentOutboundHeaderSourcePortRangeArrayOutput { - return i.ToNetworkInsightsAnalysisReturnPathComponentOutboundHeaderSourcePortRangeArrayOutputWithContext(context.Background()) +func (i NetworkInsightsAnalysisReturnPathComponentAclRulePortRangeArray) ToNetworkInsightsAnalysisReturnPathComponentAclRulePortRangeArrayOutput() NetworkInsightsAnalysisReturnPathComponentAclRulePortRangeArrayOutput { + return i.ToNetworkInsightsAnalysisReturnPathComponentAclRulePortRangeArrayOutputWithContext(context.Background()) } -func (i NetworkInsightsAnalysisReturnPathComponentOutboundHeaderSourcePortRangeArray) ToNetworkInsightsAnalysisReturnPathComponentOutboundHeaderSourcePortRangeArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisReturnPathComponentOutboundHeaderSourcePortRangeArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisReturnPathComponentOutboundHeaderSourcePortRangeArrayOutput) +func (i NetworkInsightsAnalysisReturnPathComponentAclRulePortRangeArray) ToNetworkInsightsAnalysisReturnPathComponentAclRulePortRangeArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisReturnPathComponentAclRulePortRangeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisReturnPathComponentAclRulePortRangeArrayOutput) } -type NetworkInsightsAnalysisReturnPathComponentOutboundHeaderSourcePortRangeOutput struct{ *pulumi.OutputState } +type NetworkInsightsAnalysisReturnPathComponentAclRulePortRangeOutput struct{ *pulumi.OutputState } -func (NetworkInsightsAnalysisReturnPathComponentOutboundHeaderSourcePortRangeOutput) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkInsightsAnalysisReturnPathComponentOutboundHeaderSourcePortRange)(nil)).Elem() +func (NetworkInsightsAnalysisReturnPathComponentAclRulePortRangeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInsightsAnalysisReturnPathComponentAclRulePortRange)(nil)).Elem() } -func (o NetworkInsightsAnalysisReturnPathComponentOutboundHeaderSourcePortRangeOutput) ToNetworkInsightsAnalysisReturnPathComponentOutboundHeaderSourcePortRangeOutput() NetworkInsightsAnalysisReturnPathComponentOutboundHeaderSourcePortRangeOutput { +func (o NetworkInsightsAnalysisReturnPathComponentAclRulePortRangeOutput) ToNetworkInsightsAnalysisReturnPathComponentAclRulePortRangeOutput() NetworkInsightsAnalysisReturnPathComponentAclRulePortRangeOutput { return o } -func (o NetworkInsightsAnalysisReturnPathComponentOutboundHeaderSourcePortRangeOutput) ToNetworkInsightsAnalysisReturnPathComponentOutboundHeaderSourcePortRangeOutputWithContext(ctx context.Context) NetworkInsightsAnalysisReturnPathComponentOutboundHeaderSourcePortRangeOutput { +func (o NetworkInsightsAnalysisReturnPathComponentAclRulePortRangeOutput) ToNetworkInsightsAnalysisReturnPathComponentAclRulePortRangeOutputWithContext(ctx context.Context) NetworkInsightsAnalysisReturnPathComponentAclRulePortRangeOutput { return o } -func (o NetworkInsightsAnalysisReturnPathComponentOutboundHeaderSourcePortRangeOutput) From() pulumi.IntPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponentOutboundHeaderSourcePortRange) *int { return v.From }).(pulumi.IntPtrOutput) +func (o NetworkInsightsAnalysisReturnPathComponentAclRulePortRangeOutput) From() pulumi.IntPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponentAclRulePortRange) *int { return v.From }).(pulumi.IntPtrOutput) } -func (o NetworkInsightsAnalysisReturnPathComponentOutboundHeaderSourcePortRangeOutput) To() pulumi.IntPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponentOutboundHeaderSourcePortRange) *int { return v.To }).(pulumi.IntPtrOutput) +func (o NetworkInsightsAnalysisReturnPathComponentAclRulePortRangeOutput) To() pulumi.IntPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponentAclRulePortRange) *int { return v.To }).(pulumi.IntPtrOutput) } -type NetworkInsightsAnalysisReturnPathComponentOutboundHeaderSourcePortRangeArrayOutput struct{ *pulumi.OutputState } +type NetworkInsightsAnalysisReturnPathComponentAclRulePortRangeArrayOutput struct{ *pulumi.OutputState } -func (NetworkInsightsAnalysisReturnPathComponentOutboundHeaderSourcePortRangeArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]NetworkInsightsAnalysisReturnPathComponentOutboundHeaderSourcePortRange)(nil)).Elem() +func (NetworkInsightsAnalysisReturnPathComponentAclRulePortRangeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkInsightsAnalysisReturnPathComponentAclRulePortRange)(nil)).Elem() } -func (o NetworkInsightsAnalysisReturnPathComponentOutboundHeaderSourcePortRangeArrayOutput) ToNetworkInsightsAnalysisReturnPathComponentOutboundHeaderSourcePortRangeArrayOutput() NetworkInsightsAnalysisReturnPathComponentOutboundHeaderSourcePortRangeArrayOutput { +func (o NetworkInsightsAnalysisReturnPathComponentAclRulePortRangeArrayOutput) ToNetworkInsightsAnalysisReturnPathComponentAclRulePortRangeArrayOutput() NetworkInsightsAnalysisReturnPathComponentAclRulePortRangeArrayOutput { return o } -func (o NetworkInsightsAnalysisReturnPathComponentOutboundHeaderSourcePortRangeArrayOutput) ToNetworkInsightsAnalysisReturnPathComponentOutboundHeaderSourcePortRangeArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisReturnPathComponentOutboundHeaderSourcePortRangeArrayOutput { +func (o NetworkInsightsAnalysisReturnPathComponentAclRulePortRangeArrayOutput) ToNetworkInsightsAnalysisReturnPathComponentAclRulePortRangeArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisReturnPathComponentAclRulePortRangeArrayOutput { return o } -func (o NetworkInsightsAnalysisReturnPathComponentOutboundHeaderSourcePortRangeArrayOutput) Index(i pulumi.IntInput) NetworkInsightsAnalysisReturnPathComponentOutboundHeaderSourcePortRangeOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkInsightsAnalysisReturnPathComponentOutboundHeaderSourcePortRange { - return vs[0].([]NetworkInsightsAnalysisReturnPathComponentOutboundHeaderSourcePortRange)[vs[1].(int)] - }).(NetworkInsightsAnalysisReturnPathComponentOutboundHeaderSourcePortRangeOutput) +func (o NetworkInsightsAnalysisReturnPathComponentAclRulePortRangeArrayOutput) Index(i pulumi.IntInput) NetworkInsightsAnalysisReturnPathComponentAclRulePortRangeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkInsightsAnalysisReturnPathComponentAclRulePortRange { + return vs[0].([]NetworkInsightsAnalysisReturnPathComponentAclRulePortRange)[vs[1].(int)] + }).(NetworkInsightsAnalysisReturnPathComponentAclRulePortRangeOutput) } -type NetworkInsightsAnalysisReturnPathComponentRouteTableRoute struct { - DestinationCidr *string `pulumi:"destinationCidr"` - DestinationPrefixListId *string `pulumi:"destinationPrefixListId"` - EgressOnlyInternetGatewayId *string `pulumi:"egressOnlyInternetGatewayId"` - GatewayId *string `pulumi:"gatewayId"` - InstanceId *string `pulumi:"instanceId"` - NatGatewayId *string `pulumi:"natGatewayId"` - NetworkInterfaceId *string `pulumi:"networkInterfaceId"` - Origin *string `pulumi:"origin"` - TransitGatewayId *string `pulumi:"transitGatewayId"` - VpcPeeringConnectionId *string `pulumi:"vpcPeeringConnectionId"` +type NetworkInsightsAnalysisReturnPathComponentAdditionalDetail struct { + AdditionalDetailType *string `pulumi:"additionalDetailType"` + Components []NetworkInsightsAnalysisReturnPathComponentAdditionalDetailComponent `pulumi:"components"` } -// NetworkInsightsAnalysisReturnPathComponentRouteTableRouteInput is an input type that accepts NetworkInsightsAnalysisReturnPathComponentRouteTableRouteArgs and NetworkInsightsAnalysisReturnPathComponentRouteTableRouteOutput values. -// You can construct a concrete instance of `NetworkInsightsAnalysisReturnPathComponentRouteTableRouteInput` via: +// NetworkInsightsAnalysisReturnPathComponentAdditionalDetailInput is an input type that accepts NetworkInsightsAnalysisReturnPathComponentAdditionalDetailArgs and NetworkInsightsAnalysisReturnPathComponentAdditionalDetailOutput values. +// You can construct a concrete instance of `NetworkInsightsAnalysisReturnPathComponentAdditionalDetailInput` via: // -// NetworkInsightsAnalysisReturnPathComponentRouteTableRouteArgs{...} -type NetworkInsightsAnalysisReturnPathComponentRouteTableRouteInput interface { +// NetworkInsightsAnalysisReturnPathComponentAdditionalDetailArgs{...} +type NetworkInsightsAnalysisReturnPathComponentAdditionalDetailInput interface { pulumi.Input - ToNetworkInsightsAnalysisReturnPathComponentRouteTableRouteOutput() NetworkInsightsAnalysisReturnPathComponentRouteTableRouteOutput - ToNetworkInsightsAnalysisReturnPathComponentRouteTableRouteOutputWithContext(context.Context) NetworkInsightsAnalysisReturnPathComponentRouteTableRouteOutput + ToNetworkInsightsAnalysisReturnPathComponentAdditionalDetailOutput() NetworkInsightsAnalysisReturnPathComponentAdditionalDetailOutput + ToNetworkInsightsAnalysisReturnPathComponentAdditionalDetailOutputWithContext(context.Context) NetworkInsightsAnalysisReturnPathComponentAdditionalDetailOutput } -type NetworkInsightsAnalysisReturnPathComponentRouteTableRouteArgs struct { - DestinationCidr pulumi.StringPtrInput `pulumi:"destinationCidr"` - DestinationPrefixListId pulumi.StringPtrInput `pulumi:"destinationPrefixListId"` - EgressOnlyInternetGatewayId pulumi.StringPtrInput `pulumi:"egressOnlyInternetGatewayId"` - GatewayId pulumi.StringPtrInput `pulumi:"gatewayId"` - InstanceId pulumi.StringPtrInput `pulumi:"instanceId"` - NatGatewayId pulumi.StringPtrInput `pulumi:"natGatewayId"` - NetworkInterfaceId pulumi.StringPtrInput `pulumi:"networkInterfaceId"` - Origin pulumi.StringPtrInput `pulumi:"origin"` - TransitGatewayId pulumi.StringPtrInput `pulumi:"transitGatewayId"` - VpcPeeringConnectionId pulumi.StringPtrInput `pulumi:"vpcPeeringConnectionId"` +type NetworkInsightsAnalysisReturnPathComponentAdditionalDetailArgs struct { + AdditionalDetailType pulumi.StringPtrInput `pulumi:"additionalDetailType"` + Components NetworkInsightsAnalysisReturnPathComponentAdditionalDetailComponentArrayInput `pulumi:"components"` } -func (NetworkInsightsAnalysisReturnPathComponentRouteTableRouteArgs) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkInsightsAnalysisReturnPathComponentRouteTableRoute)(nil)).Elem() +func (NetworkInsightsAnalysisReturnPathComponentAdditionalDetailArgs) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInsightsAnalysisReturnPathComponentAdditionalDetail)(nil)).Elem() } -func (i NetworkInsightsAnalysisReturnPathComponentRouteTableRouteArgs) ToNetworkInsightsAnalysisReturnPathComponentRouteTableRouteOutput() NetworkInsightsAnalysisReturnPathComponentRouteTableRouteOutput { - return i.ToNetworkInsightsAnalysisReturnPathComponentRouteTableRouteOutputWithContext(context.Background()) +func (i NetworkInsightsAnalysisReturnPathComponentAdditionalDetailArgs) ToNetworkInsightsAnalysisReturnPathComponentAdditionalDetailOutput() NetworkInsightsAnalysisReturnPathComponentAdditionalDetailOutput { + return i.ToNetworkInsightsAnalysisReturnPathComponentAdditionalDetailOutputWithContext(context.Background()) } -func (i NetworkInsightsAnalysisReturnPathComponentRouteTableRouteArgs) ToNetworkInsightsAnalysisReturnPathComponentRouteTableRouteOutputWithContext(ctx context.Context) NetworkInsightsAnalysisReturnPathComponentRouteTableRouteOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisReturnPathComponentRouteTableRouteOutput) +func (i NetworkInsightsAnalysisReturnPathComponentAdditionalDetailArgs) ToNetworkInsightsAnalysisReturnPathComponentAdditionalDetailOutputWithContext(ctx context.Context) NetworkInsightsAnalysisReturnPathComponentAdditionalDetailOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisReturnPathComponentAdditionalDetailOutput) } -// NetworkInsightsAnalysisReturnPathComponentRouteTableRouteArrayInput is an input type that accepts NetworkInsightsAnalysisReturnPathComponentRouteTableRouteArray and NetworkInsightsAnalysisReturnPathComponentRouteTableRouteArrayOutput values. -// You can construct a concrete instance of `NetworkInsightsAnalysisReturnPathComponentRouteTableRouteArrayInput` via: +// NetworkInsightsAnalysisReturnPathComponentAdditionalDetailArrayInput is an input type that accepts NetworkInsightsAnalysisReturnPathComponentAdditionalDetailArray and NetworkInsightsAnalysisReturnPathComponentAdditionalDetailArrayOutput values. +// You can construct a concrete instance of `NetworkInsightsAnalysisReturnPathComponentAdditionalDetailArrayInput` via: // -// NetworkInsightsAnalysisReturnPathComponentRouteTableRouteArray{ NetworkInsightsAnalysisReturnPathComponentRouteTableRouteArgs{...} } -type NetworkInsightsAnalysisReturnPathComponentRouteTableRouteArrayInput interface { +// NetworkInsightsAnalysisReturnPathComponentAdditionalDetailArray{ NetworkInsightsAnalysisReturnPathComponentAdditionalDetailArgs{...} } +type NetworkInsightsAnalysisReturnPathComponentAdditionalDetailArrayInput interface { pulumi.Input - ToNetworkInsightsAnalysisReturnPathComponentRouteTableRouteArrayOutput() NetworkInsightsAnalysisReturnPathComponentRouteTableRouteArrayOutput - ToNetworkInsightsAnalysisReturnPathComponentRouteTableRouteArrayOutputWithContext(context.Context) NetworkInsightsAnalysisReturnPathComponentRouteTableRouteArrayOutput + ToNetworkInsightsAnalysisReturnPathComponentAdditionalDetailArrayOutput() NetworkInsightsAnalysisReturnPathComponentAdditionalDetailArrayOutput + ToNetworkInsightsAnalysisReturnPathComponentAdditionalDetailArrayOutputWithContext(context.Context) NetworkInsightsAnalysisReturnPathComponentAdditionalDetailArrayOutput } -type NetworkInsightsAnalysisReturnPathComponentRouteTableRouteArray []NetworkInsightsAnalysisReturnPathComponentRouteTableRouteInput +type NetworkInsightsAnalysisReturnPathComponentAdditionalDetailArray []NetworkInsightsAnalysisReturnPathComponentAdditionalDetailInput -func (NetworkInsightsAnalysisReturnPathComponentRouteTableRouteArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]NetworkInsightsAnalysisReturnPathComponentRouteTableRoute)(nil)).Elem() +func (NetworkInsightsAnalysisReturnPathComponentAdditionalDetailArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkInsightsAnalysisReturnPathComponentAdditionalDetail)(nil)).Elem() } -func (i NetworkInsightsAnalysisReturnPathComponentRouteTableRouteArray) ToNetworkInsightsAnalysisReturnPathComponentRouteTableRouteArrayOutput() NetworkInsightsAnalysisReturnPathComponentRouteTableRouteArrayOutput { - return i.ToNetworkInsightsAnalysisReturnPathComponentRouteTableRouteArrayOutputWithContext(context.Background()) +func (i NetworkInsightsAnalysisReturnPathComponentAdditionalDetailArray) ToNetworkInsightsAnalysisReturnPathComponentAdditionalDetailArrayOutput() NetworkInsightsAnalysisReturnPathComponentAdditionalDetailArrayOutput { + return i.ToNetworkInsightsAnalysisReturnPathComponentAdditionalDetailArrayOutputWithContext(context.Background()) } -func (i NetworkInsightsAnalysisReturnPathComponentRouteTableRouteArray) ToNetworkInsightsAnalysisReturnPathComponentRouteTableRouteArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisReturnPathComponentRouteTableRouteArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisReturnPathComponentRouteTableRouteArrayOutput) +func (i NetworkInsightsAnalysisReturnPathComponentAdditionalDetailArray) ToNetworkInsightsAnalysisReturnPathComponentAdditionalDetailArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisReturnPathComponentAdditionalDetailArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisReturnPathComponentAdditionalDetailArrayOutput) } -type NetworkInsightsAnalysisReturnPathComponentRouteTableRouteOutput struct{ *pulumi.OutputState } +type NetworkInsightsAnalysisReturnPathComponentAdditionalDetailOutput struct{ *pulumi.OutputState } -func (NetworkInsightsAnalysisReturnPathComponentRouteTableRouteOutput) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkInsightsAnalysisReturnPathComponentRouteTableRoute)(nil)).Elem() +func (NetworkInsightsAnalysisReturnPathComponentAdditionalDetailOutput) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInsightsAnalysisReturnPathComponentAdditionalDetail)(nil)).Elem() } -func (o NetworkInsightsAnalysisReturnPathComponentRouteTableRouteOutput) ToNetworkInsightsAnalysisReturnPathComponentRouteTableRouteOutput() NetworkInsightsAnalysisReturnPathComponentRouteTableRouteOutput { +func (o NetworkInsightsAnalysisReturnPathComponentAdditionalDetailOutput) ToNetworkInsightsAnalysisReturnPathComponentAdditionalDetailOutput() NetworkInsightsAnalysisReturnPathComponentAdditionalDetailOutput { return o } -func (o NetworkInsightsAnalysisReturnPathComponentRouteTableRouteOutput) ToNetworkInsightsAnalysisReturnPathComponentRouteTableRouteOutputWithContext(ctx context.Context) NetworkInsightsAnalysisReturnPathComponentRouteTableRouteOutput { +func (o NetworkInsightsAnalysisReturnPathComponentAdditionalDetailOutput) ToNetworkInsightsAnalysisReturnPathComponentAdditionalDetailOutputWithContext(ctx context.Context) NetworkInsightsAnalysisReturnPathComponentAdditionalDetailOutput { return o } -func (o NetworkInsightsAnalysisReturnPathComponentRouteTableRouteOutput) DestinationCidr() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponentRouteTableRoute) *string { return v.DestinationCidr }).(pulumi.StringPtrOutput) -} - -func (o NetworkInsightsAnalysisReturnPathComponentRouteTableRouteOutput) DestinationPrefixListId() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponentRouteTableRoute) *string { - return v.DestinationPrefixListId - }).(pulumi.StringPtrOutput) -} - -func (o NetworkInsightsAnalysisReturnPathComponentRouteTableRouteOutput) EgressOnlyInternetGatewayId() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponentRouteTableRoute) *string { - return v.EgressOnlyInternetGatewayId +func (o NetworkInsightsAnalysisReturnPathComponentAdditionalDetailOutput) AdditionalDetailType() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponentAdditionalDetail) *string { + return v.AdditionalDetailType }).(pulumi.StringPtrOutput) } -func (o NetworkInsightsAnalysisReturnPathComponentRouteTableRouteOutput) GatewayId() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponentRouteTableRoute) *string { return v.GatewayId }).(pulumi.StringPtrOutput) -} - -func (o NetworkInsightsAnalysisReturnPathComponentRouteTableRouteOutput) InstanceId() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponentRouteTableRoute) *string { return v.InstanceId }).(pulumi.StringPtrOutput) -} - -func (o NetworkInsightsAnalysisReturnPathComponentRouteTableRouteOutput) NatGatewayId() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponentRouteTableRoute) *string { return v.NatGatewayId }).(pulumi.StringPtrOutput) -} - -func (o NetworkInsightsAnalysisReturnPathComponentRouteTableRouteOutput) NetworkInterfaceId() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponentRouteTableRoute) *string { return v.NetworkInterfaceId }).(pulumi.StringPtrOutput) -} - -func (o NetworkInsightsAnalysisReturnPathComponentRouteTableRouteOutput) Origin() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponentRouteTableRoute) *string { return v.Origin }).(pulumi.StringPtrOutput) -} - -func (o NetworkInsightsAnalysisReturnPathComponentRouteTableRouteOutput) TransitGatewayId() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponentRouteTableRoute) *string { return v.TransitGatewayId }).(pulumi.StringPtrOutput) -} - -func (o NetworkInsightsAnalysisReturnPathComponentRouteTableRouteOutput) VpcPeeringConnectionId() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponentRouteTableRoute) *string { - return v.VpcPeeringConnectionId - }).(pulumi.StringPtrOutput) +func (o NetworkInsightsAnalysisReturnPathComponentAdditionalDetailOutput) Components() NetworkInsightsAnalysisReturnPathComponentAdditionalDetailComponentArrayOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponentAdditionalDetail) []NetworkInsightsAnalysisReturnPathComponentAdditionalDetailComponent { + return v.Components + }).(NetworkInsightsAnalysisReturnPathComponentAdditionalDetailComponentArrayOutput) } -type NetworkInsightsAnalysisReturnPathComponentRouteTableRouteArrayOutput struct{ *pulumi.OutputState } +type NetworkInsightsAnalysisReturnPathComponentAdditionalDetailArrayOutput struct{ *pulumi.OutputState } -func (NetworkInsightsAnalysisReturnPathComponentRouteTableRouteArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]NetworkInsightsAnalysisReturnPathComponentRouteTableRoute)(nil)).Elem() +func (NetworkInsightsAnalysisReturnPathComponentAdditionalDetailArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkInsightsAnalysisReturnPathComponentAdditionalDetail)(nil)).Elem() } -func (o NetworkInsightsAnalysisReturnPathComponentRouteTableRouteArrayOutput) ToNetworkInsightsAnalysisReturnPathComponentRouteTableRouteArrayOutput() NetworkInsightsAnalysisReturnPathComponentRouteTableRouteArrayOutput { +func (o NetworkInsightsAnalysisReturnPathComponentAdditionalDetailArrayOutput) ToNetworkInsightsAnalysisReturnPathComponentAdditionalDetailArrayOutput() NetworkInsightsAnalysisReturnPathComponentAdditionalDetailArrayOutput { return o } -func (o NetworkInsightsAnalysisReturnPathComponentRouteTableRouteArrayOutput) ToNetworkInsightsAnalysisReturnPathComponentRouteTableRouteArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisReturnPathComponentRouteTableRouteArrayOutput { +func (o NetworkInsightsAnalysisReturnPathComponentAdditionalDetailArrayOutput) ToNetworkInsightsAnalysisReturnPathComponentAdditionalDetailArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisReturnPathComponentAdditionalDetailArrayOutput { return o } -func (o NetworkInsightsAnalysisReturnPathComponentRouteTableRouteArrayOutput) Index(i pulumi.IntInput) NetworkInsightsAnalysisReturnPathComponentRouteTableRouteOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkInsightsAnalysisReturnPathComponentRouteTableRoute { - return vs[0].([]NetworkInsightsAnalysisReturnPathComponentRouteTableRoute)[vs[1].(int)] - }).(NetworkInsightsAnalysisReturnPathComponentRouteTableRouteOutput) +func (o NetworkInsightsAnalysisReturnPathComponentAdditionalDetailArrayOutput) Index(i pulumi.IntInput) NetworkInsightsAnalysisReturnPathComponentAdditionalDetailOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkInsightsAnalysisReturnPathComponentAdditionalDetail { + return vs[0].([]NetworkInsightsAnalysisReturnPathComponentAdditionalDetail)[vs[1].(int)] + }).(NetworkInsightsAnalysisReturnPathComponentAdditionalDetailOutput) } -type NetworkInsightsAnalysisReturnPathComponentSecurityGroupRule struct { - Cidr *string `pulumi:"cidr"` - Direction *string `pulumi:"direction"` - PortRanges []NetworkInsightsAnalysisReturnPathComponentSecurityGroupRulePortRange `pulumi:"portRanges"` - PrefixListId *string `pulumi:"prefixListId"` - Protocol *string `pulumi:"protocol"` - SecurityGroupId *string `pulumi:"securityGroupId"` +type NetworkInsightsAnalysisReturnPathComponentAdditionalDetailComponent struct { + // ARN of the Network Insights Analysis. + Arn *string `pulumi:"arn"` + // ID of the Network Insights Analysis. + Id *string `pulumi:"id"` + Name *string `pulumi:"name"` } -// NetworkInsightsAnalysisReturnPathComponentSecurityGroupRuleInput is an input type that accepts NetworkInsightsAnalysisReturnPathComponentSecurityGroupRuleArgs and NetworkInsightsAnalysisReturnPathComponentSecurityGroupRuleOutput values. -// You can construct a concrete instance of `NetworkInsightsAnalysisReturnPathComponentSecurityGroupRuleInput` via: +// NetworkInsightsAnalysisReturnPathComponentAdditionalDetailComponentInput is an input type that accepts NetworkInsightsAnalysisReturnPathComponentAdditionalDetailComponentArgs and NetworkInsightsAnalysisReturnPathComponentAdditionalDetailComponentOutput values. +// You can construct a concrete instance of `NetworkInsightsAnalysisReturnPathComponentAdditionalDetailComponentInput` via: // -// NetworkInsightsAnalysisReturnPathComponentSecurityGroupRuleArgs{...} -type NetworkInsightsAnalysisReturnPathComponentSecurityGroupRuleInput interface { +// NetworkInsightsAnalysisReturnPathComponentAdditionalDetailComponentArgs{...} +type NetworkInsightsAnalysisReturnPathComponentAdditionalDetailComponentInput interface { pulumi.Input - ToNetworkInsightsAnalysisReturnPathComponentSecurityGroupRuleOutput() NetworkInsightsAnalysisReturnPathComponentSecurityGroupRuleOutput - ToNetworkInsightsAnalysisReturnPathComponentSecurityGroupRuleOutputWithContext(context.Context) NetworkInsightsAnalysisReturnPathComponentSecurityGroupRuleOutput + ToNetworkInsightsAnalysisReturnPathComponentAdditionalDetailComponentOutput() NetworkInsightsAnalysisReturnPathComponentAdditionalDetailComponentOutput + ToNetworkInsightsAnalysisReturnPathComponentAdditionalDetailComponentOutputWithContext(context.Context) NetworkInsightsAnalysisReturnPathComponentAdditionalDetailComponentOutput } -type NetworkInsightsAnalysisReturnPathComponentSecurityGroupRuleArgs struct { - Cidr pulumi.StringPtrInput `pulumi:"cidr"` - Direction pulumi.StringPtrInput `pulumi:"direction"` - PortRanges NetworkInsightsAnalysisReturnPathComponentSecurityGroupRulePortRangeArrayInput `pulumi:"portRanges"` - PrefixListId pulumi.StringPtrInput `pulumi:"prefixListId"` - Protocol pulumi.StringPtrInput `pulumi:"protocol"` - SecurityGroupId pulumi.StringPtrInput `pulumi:"securityGroupId"` +type NetworkInsightsAnalysisReturnPathComponentAdditionalDetailComponentArgs struct { + // ARN of the Network Insights Analysis. + Arn pulumi.StringPtrInput `pulumi:"arn"` + // ID of the Network Insights Analysis. + Id pulumi.StringPtrInput `pulumi:"id"` + Name pulumi.StringPtrInput `pulumi:"name"` } -func (NetworkInsightsAnalysisReturnPathComponentSecurityGroupRuleArgs) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkInsightsAnalysisReturnPathComponentSecurityGroupRule)(nil)).Elem() +func (NetworkInsightsAnalysisReturnPathComponentAdditionalDetailComponentArgs) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInsightsAnalysisReturnPathComponentAdditionalDetailComponent)(nil)).Elem() } -func (i NetworkInsightsAnalysisReturnPathComponentSecurityGroupRuleArgs) ToNetworkInsightsAnalysisReturnPathComponentSecurityGroupRuleOutput() NetworkInsightsAnalysisReturnPathComponentSecurityGroupRuleOutput { - return i.ToNetworkInsightsAnalysisReturnPathComponentSecurityGroupRuleOutputWithContext(context.Background()) +func (i NetworkInsightsAnalysisReturnPathComponentAdditionalDetailComponentArgs) ToNetworkInsightsAnalysisReturnPathComponentAdditionalDetailComponentOutput() NetworkInsightsAnalysisReturnPathComponentAdditionalDetailComponentOutput { + return i.ToNetworkInsightsAnalysisReturnPathComponentAdditionalDetailComponentOutputWithContext(context.Background()) } -func (i NetworkInsightsAnalysisReturnPathComponentSecurityGroupRuleArgs) ToNetworkInsightsAnalysisReturnPathComponentSecurityGroupRuleOutputWithContext(ctx context.Context) NetworkInsightsAnalysisReturnPathComponentSecurityGroupRuleOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisReturnPathComponentSecurityGroupRuleOutput) +func (i NetworkInsightsAnalysisReturnPathComponentAdditionalDetailComponentArgs) ToNetworkInsightsAnalysisReturnPathComponentAdditionalDetailComponentOutputWithContext(ctx context.Context) NetworkInsightsAnalysisReturnPathComponentAdditionalDetailComponentOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisReturnPathComponentAdditionalDetailComponentOutput) } -// NetworkInsightsAnalysisReturnPathComponentSecurityGroupRuleArrayInput is an input type that accepts NetworkInsightsAnalysisReturnPathComponentSecurityGroupRuleArray and NetworkInsightsAnalysisReturnPathComponentSecurityGroupRuleArrayOutput values. -// You can construct a concrete instance of `NetworkInsightsAnalysisReturnPathComponentSecurityGroupRuleArrayInput` via: +// NetworkInsightsAnalysisReturnPathComponentAdditionalDetailComponentArrayInput is an input type that accepts NetworkInsightsAnalysisReturnPathComponentAdditionalDetailComponentArray and NetworkInsightsAnalysisReturnPathComponentAdditionalDetailComponentArrayOutput values. +// You can construct a concrete instance of `NetworkInsightsAnalysisReturnPathComponentAdditionalDetailComponentArrayInput` via: // -// NetworkInsightsAnalysisReturnPathComponentSecurityGroupRuleArray{ NetworkInsightsAnalysisReturnPathComponentSecurityGroupRuleArgs{...} } -type NetworkInsightsAnalysisReturnPathComponentSecurityGroupRuleArrayInput interface { +// NetworkInsightsAnalysisReturnPathComponentAdditionalDetailComponentArray{ NetworkInsightsAnalysisReturnPathComponentAdditionalDetailComponentArgs{...} } +type NetworkInsightsAnalysisReturnPathComponentAdditionalDetailComponentArrayInput interface { pulumi.Input - ToNetworkInsightsAnalysisReturnPathComponentSecurityGroupRuleArrayOutput() NetworkInsightsAnalysisReturnPathComponentSecurityGroupRuleArrayOutput - ToNetworkInsightsAnalysisReturnPathComponentSecurityGroupRuleArrayOutputWithContext(context.Context) NetworkInsightsAnalysisReturnPathComponentSecurityGroupRuleArrayOutput + ToNetworkInsightsAnalysisReturnPathComponentAdditionalDetailComponentArrayOutput() NetworkInsightsAnalysisReturnPathComponentAdditionalDetailComponentArrayOutput + ToNetworkInsightsAnalysisReturnPathComponentAdditionalDetailComponentArrayOutputWithContext(context.Context) NetworkInsightsAnalysisReturnPathComponentAdditionalDetailComponentArrayOutput } -type NetworkInsightsAnalysisReturnPathComponentSecurityGroupRuleArray []NetworkInsightsAnalysisReturnPathComponentSecurityGroupRuleInput +type NetworkInsightsAnalysisReturnPathComponentAdditionalDetailComponentArray []NetworkInsightsAnalysisReturnPathComponentAdditionalDetailComponentInput -func (NetworkInsightsAnalysisReturnPathComponentSecurityGroupRuleArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]NetworkInsightsAnalysisReturnPathComponentSecurityGroupRule)(nil)).Elem() +func (NetworkInsightsAnalysisReturnPathComponentAdditionalDetailComponentArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkInsightsAnalysisReturnPathComponentAdditionalDetailComponent)(nil)).Elem() } -func (i NetworkInsightsAnalysisReturnPathComponentSecurityGroupRuleArray) ToNetworkInsightsAnalysisReturnPathComponentSecurityGroupRuleArrayOutput() NetworkInsightsAnalysisReturnPathComponentSecurityGroupRuleArrayOutput { - return i.ToNetworkInsightsAnalysisReturnPathComponentSecurityGroupRuleArrayOutputWithContext(context.Background()) +func (i NetworkInsightsAnalysisReturnPathComponentAdditionalDetailComponentArray) ToNetworkInsightsAnalysisReturnPathComponentAdditionalDetailComponentArrayOutput() NetworkInsightsAnalysisReturnPathComponentAdditionalDetailComponentArrayOutput { + return i.ToNetworkInsightsAnalysisReturnPathComponentAdditionalDetailComponentArrayOutputWithContext(context.Background()) } -func (i NetworkInsightsAnalysisReturnPathComponentSecurityGroupRuleArray) ToNetworkInsightsAnalysisReturnPathComponentSecurityGroupRuleArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisReturnPathComponentSecurityGroupRuleArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisReturnPathComponentSecurityGroupRuleArrayOutput) +func (i NetworkInsightsAnalysisReturnPathComponentAdditionalDetailComponentArray) ToNetworkInsightsAnalysisReturnPathComponentAdditionalDetailComponentArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisReturnPathComponentAdditionalDetailComponentArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisReturnPathComponentAdditionalDetailComponentArrayOutput) } -type NetworkInsightsAnalysisReturnPathComponentSecurityGroupRuleOutput struct{ *pulumi.OutputState } +type NetworkInsightsAnalysisReturnPathComponentAdditionalDetailComponentOutput struct{ *pulumi.OutputState } -func (NetworkInsightsAnalysisReturnPathComponentSecurityGroupRuleOutput) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkInsightsAnalysisReturnPathComponentSecurityGroupRule)(nil)).Elem() +func (NetworkInsightsAnalysisReturnPathComponentAdditionalDetailComponentOutput) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInsightsAnalysisReturnPathComponentAdditionalDetailComponent)(nil)).Elem() } -func (o NetworkInsightsAnalysisReturnPathComponentSecurityGroupRuleOutput) ToNetworkInsightsAnalysisReturnPathComponentSecurityGroupRuleOutput() NetworkInsightsAnalysisReturnPathComponentSecurityGroupRuleOutput { +func (o NetworkInsightsAnalysisReturnPathComponentAdditionalDetailComponentOutput) ToNetworkInsightsAnalysisReturnPathComponentAdditionalDetailComponentOutput() NetworkInsightsAnalysisReturnPathComponentAdditionalDetailComponentOutput { return o } -func (o NetworkInsightsAnalysisReturnPathComponentSecurityGroupRuleOutput) ToNetworkInsightsAnalysisReturnPathComponentSecurityGroupRuleOutputWithContext(ctx context.Context) NetworkInsightsAnalysisReturnPathComponentSecurityGroupRuleOutput { +func (o NetworkInsightsAnalysisReturnPathComponentAdditionalDetailComponentOutput) ToNetworkInsightsAnalysisReturnPathComponentAdditionalDetailComponentOutputWithContext(ctx context.Context) NetworkInsightsAnalysisReturnPathComponentAdditionalDetailComponentOutput { return o } -func (o NetworkInsightsAnalysisReturnPathComponentSecurityGroupRuleOutput) Cidr() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponentSecurityGroupRule) *string { return v.Cidr }).(pulumi.StringPtrOutput) -} - -func (o NetworkInsightsAnalysisReturnPathComponentSecurityGroupRuleOutput) Direction() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponentSecurityGroupRule) *string { return v.Direction }).(pulumi.StringPtrOutput) -} - -func (o NetworkInsightsAnalysisReturnPathComponentSecurityGroupRuleOutput) PortRanges() NetworkInsightsAnalysisReturnPathComponentSecurityGroupRulePortRangeArrayOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponentSecurityGroupRule) []NetworkInsightsAnalysisReturnPathComponentSecurityGroupRulePortRange { - return v.PortRanges - }).(NetworkInsightsAnalysisReturnPathComponentSecurityGroupRulePortRangeArrayOutput) -} - -func (o NetworkInsightsAnalysisReturnPathComponentSecurityGroupRuleOutput) PrefixListId() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponentSecurityGroupRule) *string { return v.PrefixListId }).(pulumi.StringPtrOutput) +// ARN of the Network Insights Analysis. +func (o NetworkInsightsAnalysisReturnPathComponentAdditionalDetailComponentOutput) Arn() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponentAdditionalDetailComponent) *string { return v.Arn }).(pulumi.StringPtrOutput) } -func (o NetworkInsightsAnalysisReturnPathComponentSecurityGroupRuleOutput) Protocol() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponentSecurityGroupRule) *string { return v.Protocol }).(pulumi.StringPtrOutput) +// ID of the Network Insights Analysis. +func (o NetworkInsightsAnalysisReturnPathComponentAdditionalDetailComponentOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponentAdditionalDetailComponent) *string { return v.Id }).(pulumi.StringPtrOutput) } -func (o NetworkInsightsAnalysisReturnPathComponentSecurityGroupRuleOutput) SecurityGroupId() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponentSecurityGroupRule) *string { return v.SecurityGroupId }).(pulumi.StringPtrOutput) +func (o NetworkInsightsAnalysisReturnPathComponentAdditionalDetailComponentOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponentAdditionalDetailComponent) *string { return v.Name }).(pulumi.StringPtrOutput) } -type NetworkInsightsAnalysisReturnPathComponentSecurityGroupRuleArrayOutput struct{ *pulumi.OutputState } +type NetworkInsightsAnalysisReturnPathComponentAdditionalDetailComponentArrayOutput struct{ *pulumi.OutputState } -func (NetworkInsightsAnalysisReturnPathComponentSecurityGroupRuleArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]NetworkInsightsAnalysisReturnPathComponentSecurityGroupRule)(nil)).Elem() +func (NetworkInsightsAnalysisReturnPathComponentAdditionalDetailComponentArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkInsightsAnalysisReturnPathComponentAdditionalDetailComponent)(nil)).Elem() } -func (o NetworkInsightsAnalysisReturnPathComponentSecurityGroupRuleArrayOutput) ToNetworkInsightsAnalysisReturnPathComponentSecurityGroupRuleArrayOutput() NetworkInsightsAnalysisReturnPathComponentSecurityGroupRuleArrayOutput { +func (o NetworkInsightsAnalysisReturnPathComponentAdditionalDetailComponentArrayOutput) ToNetworkInsightsAnalysisReturnPathComponentAdditionalDetailComponentArrayOutput() NetworkInsightsAnalysisReturnPathComponentAdditionalDetailComponentArrayOutput { return o } -func (o NetworkInsightsAnalysisReturnPathComponentSecurityGroupRuleArrayOutput) ToNetworkInsightsAnalysisReturnPathComponentSecurityGroupRuleArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisReturnPathComponentSecurityGroupRuleArrayOutput { +func (o NetworkInsightsAnalysisReturnPathComponentAdditionalDetailComponentArrayOutput) ToNetworkInsightsAnalysisReturnPathComponentAdditionalDetailComponentArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisReturnPathComponentAdditionalDetailComponentArrayOutput { return o } -func (o NetworkInsightsAnalysisReturnPathComponentSecurityGroupRuleArrayOutput) Index(i pulumi.IntInput) NetworkInsightsAnalysisReturnPathComponentSecurityGroupRuleOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkInsightsAnalysisReturnPathComponentSecurityGroupRule { - return vs[0].([]NetworkInsightsAnalysisReturnPathComponentSecurityGroupRule)[vs[1].(int)] - }).(NetworkInsightsAnalysisReturnPathComponentSecurityGroupRuleOutput) +func (o NetworkInsightsAnalysisReturnPathComponentAdditionalDetailComponentArrayOutput) Index(i pulumi.IntInput) NetworkInsightsAnalysisReturnPathComponentAdditionalDetailComponentOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkInsightsAnalysisReturnPathComponentAdditionalDetailComponent { + return vs[0].([]NetworkInsightsAnalysisReturnPathComponentAdditionalDetailComponent)[vs[1].(int)] + }).(NetworkInsightsAnalysisReturnPathComponentAdditionalDetailComponentOutput) } -type NetworkInsightsAnalysisReturnPathComponentSecurityGroupRulePortRange struct { - From *int `pulumi:"from"` - To *int `pulumi:"to"` +type NetworkInsightsAnalysisReturnPathComponentAttachedTo struct { + // ARN of the Network Insights Analysis. + Arn *string `pulumi:"arn"` + // ID of the Network Insights Analysis. + Id *string `pulumi:"id"` + Name *string `pulumi:"name"` } -// NetworkInsightsAnalysisReturnPathComponentSecurityGroupRulePortRangeInput is an input type that accepts NetworkInsightsAnalysisReturnPathComponentSecurityGroupRulePortRangeArgs and NetworkInsightsAnalysisReturnPathComponentSecurityGroupRulePortRangeOutput values. -// You can construct a concrete instance of `NetworkInsightsAnalysisReturnPathComponentSecurityGroupRulePortRangeInput` via: +// NetworkInsightsAnalysisReturnPathComponentAttachedToInput is an input type that accepts NetworkInsightsAnalysisReturnPathComponentAttachedToArgs and NetworkInsightsAnalysisReturnPathComponentAttachedToOutput values. +// You can construct a concrete instance of `NetworkInsightsAnalysisReturnPathComponentAttachedToInput` via: // -// NetworkInsightsAnalysisReturnPathComponentSecurityGroupRulePortRangeArgs{...} -type NetworkInsightsAnalysisReturnPathComponentSecurityGroupRulePortRangeInput interface { +// NetworkInsightsAnalysisReturnPathComponentAttachedToArgs{...} +type NetworkInsightsAnalysisReturnPathComponentAttachedToInput interface { pulumi.Input - ToNetworkInsightsAnalysisReturnPathComponentSecurityGroupRulePortRangeOutput() NetworkInsightsAnalysisReturnPathComponentSecurityGroupRulePortRangeOutput - ToNetworkInsightsAnalysisReturnPathComponentSecurityGroupRulePortRangeOutputWithContext(context.Context) NetworkInsightsAnalysisReturnPathComponentSecurityGroupRulePortRangeOutput + ToNetworkInsightsAnalysisReturnPathComponentAttachedToOutput() NetworkInsightsAnalysisReturnPathComponentAttachedToOutput + ToNetworkInsightsAnalysisReturnPathComponentAttachedToOutputWithContext(context.Context) NetworkInsightsAnalysisReturnPathComponentAttachedToOutput } -type NetworkInsightsAnalysisReturnPathComponentSecurityGroupRulePortRangeArgs struct { - From pulumi.IntPtrInput `pulumi:"from"` - To pulumi.IntPtrInput `pulumi:"to"` +type NetworkInsightsAnalysisReturnPathComponentAttachedToArgs struct { + // ARN of the Network Insights Analysis. + Arn pulumi.StringPtrInput `pulumi:"arn"` + // ID of the Network Insights Analysis. + Id pulumi.StringPtrInput `pulumi:"id"` + Name pulumi.StringPtrInput `pulumi:"name"` } -func (NetworkInsightsAnalysisReturnPathComponentSecurityGroupRulePortRangeArgs) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkInsightsAnalysisReturnPathComponentSecurityGroupRulePortRange)(nil)).Elem() +func (NetworkInsightsAnalysisReturnPathComponentAttachedToArgs) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInsightsAnalysisReturnPathComponentAttachedTo)(nil)).Elem() } -func (i NetworkInsightsAnalysisReturnPathComponentSecurityGroupRulePortRangeArgs) ToNetworkInsightsAnalysisReturnPathComponentSecurityGroupRulePortRangeOutput() NetworkInsightsAnalysisReturnPathComponentSecurityGroupRulePortRangeOutput { - return i.ToNetworkInsightsAnalysisReturnPathComponentSecurityGroupRulePortRangeOutputWithContext(context.Background()) +func (i NetworkInsightsAnalysisReturnPathComponentAttachedToArgs) ToNetworkInsightsAnalysisReturnPathComponentAttachedToOutput() NetworkInsightsAnalysisReturnPathComponentAttachedToOutput { + return i.ToNetworkInsightsAnalysisReturnPathComponentAttachedToOutputWithContext(context.Background()) } -func (i NetworkInsightsAnalysisReturnPathComponentSecurityGroupRulePortRangeArgs) ToNetworkInsightsAnalysisReturnPathComponentSecurityGroupRulePortRangeOutputWithContext(ctx context.Context) NetworkInsightsAnalysisReturnPathComponentSecurityGroupRulePortRangeOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisReturnPathComponentSecurityGroupRulePortRangeOutput) +func (i NetworkInsightsAnalysisReturnPathComponentAttachedToArgs) ToNetworkInsightsAnalysisReturnPathComponentAttachedToOutputWithContext(ctx context.Context) NetworkInsightsAnalysisReturnPathComponentAttachedToOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisReturnPathComponentAttachedToOutput) } -// NetworkInsightsAnalysisReturnPathComponentSecurityGroupRulePortRangeArrayInput is an input type that accepts NetworkInsightsAnalysisReturnPathComponentSecurityGroupRulePortRangeArray and NetworkInsightsAnalysisReturnPathComponentSecurityGroupRulePortRangeArrayOutput values. -// You can construct a concrete instance of `NetworkInsightsAnalysisReturnPathComponentSecurityGroupRulePortRangeArrayInput` via: +// NetworkInsightsAnalysisReturnPathComponentAttachedToArrayInput is an input type that accepts NetworkInsightsAnalysisReturnPathComponentAttachedToArray and NetworkInsightsAnalysisReturnPathComponentAttachedToArrayOutput values. +// You can construct a concrete instance of `NetworkInsightsAnalysisReturnPathComponentAttachedToArrayInput` via: // -// NetworkInsightsAnalysisReturnPathComponentSecurityGroupRulePortRangeArray{ NetworkInsightsAnalysisReturnPathComponentSecurityGroupRulePortRangeArgs{...} } -type NetworkInsightsAnalysisReturnPathComponentSecurityGroupRulePortRangeArrayInput interface { +// NetworkInsightsAnalysisReturnPathComponentAttachedToArray{ NetworkInsightsAnalysisReturnPathComponentAttachedToArgs{...} } +type NetworkInsightsAnalysisReturnPathComponentAttachedToArrayInput interface { pulumi.Input - ToNetworkInsightsAnalysisReturnPathComponentSecurityGroupRulePortRangeArrayOutput() NetworkInsightsAnalysisReturnPathComponentSecurityGroupRulePortRangeArrayOutput - ToNetworkInsightsAnalysisReturnPathComponentSecurityGroupRulePortRangeArrayOutputWithContext(context.Context) NetworkInsightsAnalysisReturnPathComponentSecurityGroupRulePortRangeArrayOutput + ToNetworkInsightsAnalysisReturnPathComponentAttachedToArrayOutput() NetworkInsightsAnalysisReturnPathComponentAttachedToArrayOutput + ToNetworkInsightsAnalysisReturnPathComponentAttachedToArrayOutputWithContext(context.Context) NetworkInsightsAnalysisReturnPathComponentAttachedToArrayOutput } -type NetworkInsightsAnalysisReturnPathComponentSecurityGroupRulePortRangeArray []NetworkInsightsAnalysisReturnPathComponentSecurityGroupRulePortRangeInput +type NetworkInsightsAnalysisReturnPathComponentAttachedToArray []NetworkInsightsAnalysisReturnPathComponentAttachedToInput -func (NetworkInsightsAnalysisReturnPathComponentSecurityGroupRulePortRangeArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]NetworkInsightsAnalysisReturnPathComponentSecurityGroupRulePortRange)(nil)).Elem() +func (NetworkInsightsAnalysisReturnPathComponentAttachedToArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkInsightsAnalysisReturnPathComponentAttachedTo)(nil)).Elem() } -func (i NetworkInsightsAnalysisReturnPathComponentSecurityGroupRulePortRangeArray) ToNetworkInsightsAnalysisReturnPathComponentSecurityGroupRulePortRangeArrayOutput() NetworkInsightsAnalysisReturnPathComponentSecurityGroupRulePortRangeArrayOutput { - return i.ToNetworkInsightsAnalysisReturnPathComponentSecurityGroupRulePortRangeArrayOutputWithContext(context.Background()) +func (i NetworkInsightsAnalysisReturnPathComponentAttachedToArray) ToNetworkInsightsAnalysisReturnPathComponentAttachedToArrayOutput() NetworkInsightsAnalysisReturnPathComponentAttachedToArrayOutput { + return i.ToNetworkInsightsAnalysisReturnPathComponentAttachedToArrayOutputWithContext(context.Background()) } -func (i NetworkInsightsAnalysisReturnPathComponentSecurityGroupRulePortRangeArray) ToNetworkInsightsAnalysisReturnPathComponentSecurityGroupRulePortRangeArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisReturnPathComponentSecurityGroupRulePortRangeArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisReturnPathComponentSecurityGroupRulePortRangeArrayOutput) +func (i NetworkInsightsAnalysisReturnPathComponentAttachedToArray) ToNetworkInsightsAnalysisReturnPathComponentAttachedToArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisReturnPathComponentAttachedToArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisReturnPathComponentAttachedToArrayOutput) } -type NetworkInsightsAnalysisReturnPathComponentSecurityGroupRulePortRangeOutput struct{ *pulumi.OutputState } +type NetworkInsightsAnalysisReturnPathComponentAttachedToOutput struct{ *pulumi.OutputState } -func (NetworkInsightsAnalysisReturnPathComponentSecurityGroupRulePortRangeOutput) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkInsightsAnalysisReturnPathComponentSecurityGroupRulePortRange)(nil)).Elem() +func (NetworkInsightsAnalysisReturnPathComponentAttachedToOutput) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInsightsAnalysisReturnPathComponentAttachedTo)(nil)).Elem() } -func (o NetworkInsightsAnalysisReturnPathComponentSecurityGroupRulePortRangeOutput) ToNetworkInsightsAnalysisReturnPathComponentSecurityGroupRulePortRangeOutput() NetworkInsightsAnalysisReturnPathComponentSecurityGroupRulePortRangeOutput { +func (o NetworkInsightsAnalysisReturnPathComponentAttachedToOutput) ToNetworkInsightsAnalysisReturnPathComponentAttachedToOutput() NetworkInsightsAnalysisReturnPathComponentAttachedToOutput { return o } -func (o NetworkInsightsAnalysisReturnPathComponentSecurityGroupRulePortRangeOutput) ToNetworkInsightsAnalysisReturnPathComponentSecurityGroupRulePortRangeOutputWithContext(ctx context.Context) NetworkInsightsAnalysisReturnPathComponentSecurityGroupRulePortRangeOutput { +func (o NetworkInsightsAnalysisReturnPathComponentAttachedToOutput) ToNetworkInsightsAnalysisReturnPathComponentAttachedToOutputWithContext(ctx context.Context) NetworkInsightsAnalysisReturnPathComponentAttachedToOutput { return o } -func (o NetworkInsightsAnalysisReturnPathComponentSecurityGroupRulePortRangeOutput) From() pulumi.IntPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponentSecurityGroupRulePortRange) *int { return v.From }).(pulumi.IntPtrOutput) +// ARN of the Network Insights Analysis. +func (o NetworkInsightsAnalysisReturnPathComponentAttachedToOutput) Arn() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponentAttachedTo) *string { return v.Arn }).(pulumi.StringPtrOutput) } -func (o NetworkInsightsAnalysisReturnPathComponentSecurityGroupRulePortRangeOutput) To() pulumi.IntPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponentSecurityGroupRulePortRange) *int { return v.To }).(pulumi.IntPtrOutput) +// ID of the Network Insights Analysis. +func (o NetworkInsightsAnalysisReturnPathComponentAttachedToOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponentAttachedTo) *string { return v.Id }).(pulumi.StringPtrOutput) } -type NetworkInsightsAnalysisReturnPathComponentSecurityGroupRulePortRangeArrayOutput struct{ *pulumi.OutputState } +func (o NetworkInsightsAnalysisReturnPathComponentAttachedToOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponentAttachedTo) *string { return v.Name }).(pulumi.StringPtrOutput) +} -func (NetworkInsightsAnalysisReturnPathComponentSecurityGroupRulePortRangeArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]NetworkInsightsAnalysisReturnPathComponentSecurityGroupRulePortRange)(nil)).Elem() +type NetworkInsightsAnalysisReturnPathComponentAttachedToArrayOutput struct{ *pulumi.OutputState } + +func (NetworkInsightsAnalysisReturnPathComponentAttachedToArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkInsightsAnalysisReturnPathComponentAttachedTo)(nil)).Elem() } -func (o NetworkInsightsAnalysisReturnPathComponentSecurityGroupRulePortRangeArrayOutput) ToNetworkInsightsAnalysisReturnPathComponentSecurityGroupRulePortRangeArrayOutput() NetworkInsightsAnalysisReturnPathComponentSecurityGroupRulePortRangeArrayOutput { +func (o NetworkInsightsAnalysisReturnPathComponentAttachedToArrayOutput) ToNetworkInsightsAnalysisReturnPathComponentAttachedToArrayOutput() NetworkInsightsAnalysisReturnPathComponentAttachedToArrayOutput { return o } -func (o NetworkInsightsAnalysisReturnPathComponentSecurityGroupRulePortRangeArrayOutput) ToNetworkInsightsAnalysisReturnPathComponentSecurityGroupRulePortRangeArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisReturnPathComponentSecurityGroupRulePortRangeArrayOutput { +func (o NetworkInsightsAnalysisReturnPathComponentAttachedToArrayOutput) ToNetworkInsightsAnalysisReturnPathComponentAttachedToArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisReturnPathComponentAttachedToArrayOutput { return o } -func (o NetworkInsightsAnalysisReturnPathComponentSecurityGroupRulePortRangeArrayOutput) Index(i pulumi.IntInput) NetworkInsightsAnalysisReturnPathComponentSecurityGroupRulePortRangeOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkInsightsAnalysisReturnPathComponentSecurityGroupRulePortRange { - return vs[0].([]NetworkInsightsAnalysisReturnPathComponentSecurityGroupRulePortRange)[vs[1].(int)] - }).(NetworkInsightsAnalysisReturnPathComponentSecurityGroupRulePortRangeOutput) +func (o NetworkInsightsAnalysisReturnPathComponentAttachedToArrayOutput) Index(i pulumi.IntInput) NetworkInsightsAnalysisReturnPathComponentAttachedToOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkInsightsAnalysisReturnPathComponentAttachedTo { + return vs[0].([]NetworkInsightsAnalysisReturnPathComponentAttachedTo)[vs[1].(int)] + }).(NetworkInsightsAnalysisReturnPathComponentAttachedToOutput) } -type NetworkInsightsAnalysisReturnPathComponentSourceVpc struct { +type NetworkInsightsAnalysisReturnPathComponentComponent struct { // ARN of the Network Insights Analysis. Arn *string `pulumi:"arn"` // ID of the Network Insights Analysis. @@ -25606,18 +26323,18 @@ type NetworkInsightsAnalysisReturnPathComponentSourceVpc struct { Name *string `pulumi:"name"` } -// NetworkInsightsAnalysisReturnPathComponentSourceVpcInput is an input type that accepts NetworkInsightsAnalysisReturnPathComponentSourceVpcArgs and NetworkInsightsAnalysisReturnPathComponentSourceVpcOutput values. -// You can construct a concrete instance of `NetworkInsightsAnalysisReturnPathComponentSourceVpcInput` via: +// NetworkInsightsAnalysisReturnPathComponentComponentInput is an input type that accepts NetworkInsightsAnalysisReturnPathComponentComponentArgs and NetworkInsightsAnalysisReturnPathComponentComponentOutput values. +// You can construct a concrete instance of `NetworkInsightsAnalysisReturnPathComponentComponentInput` via: // -// NetworkInsightsAnalysisReturnPathComponentSourceVpcArgs{...} -type NetworkInsightsAnalysisReturnPathComponentSourceVpcInput interface { +// NetworkInsightsAnalysisReturnPathComponentComponentArgs{...} +type NetworkInsightsAnalysisReturnPathComponentComponentInput interface { pulumi.Input - ToNetworkInsightsAnalysisReturnPathComponentSourceVpcOutput() NetworkInsightsAnalysisReturnPathComponentSourceVpcOutput - ToNetworkInsightsAnalysisReturnPathComponentSourceVpcOutputWithContext(context.Context) NetworkInsightsAnalysisReturnPathComponentSourceVpcOutput + ToNetworkInsightsAnalysisReturnPathComponentComponentOutput() NetworkInsightsAnalysisReturnPathComponentComponentOutput + ToNetworkInsightsAnalysisReturnPathComponentComponentOutputWithContext(context.Context) NetworkInsightsAnalysisReturnPathComponentComponentOutput } -type NetworkInsightsAnalysisReturnPathComponentSourceVpcArgs struct { +type NetworkInsightsAnalysisReturnPathComponentComponentArgs struct { // ARN of the Network Insights Analysis. Arn pulumi.StringPtrInput `pulumi:"arn"` // ID of the Network Insights Analysis. @@ -25625,92 +26342,92 @@ type NetworkInsightsAnalysisReturnPathComponentSourceVpcArgs struct { Name pulumi.StringPtrInput `pulumi:"name"` } -func (NetworkInsightsAnalysisReturnPathComponentSourceVpcArgs) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkInsightsAnalysisReturnPathComponentSourceVpc)(nil)).Elem() +func (NetworkInsightsAnalysisReturnPathComponentComponentArgs) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInsightsAnalysisReturnPathComponentComponent)(nil)).Elem() } -func (i NetworkInsightsAnalysisReturnPathComponentSourceVpcArgs) ToNetworkInsightsAnalysisReturnPathComponentSourceVpcOutput() NetworkInsightsAnalysisReturnPathComponentSourceVpcOutput { - return i.ToNetworkInsightsAnalysisReturnPathComponentSourceVpcOutputWithContext(context.Background()) +func (i NetworkInsightsAnalysisReturnPathComponentComponentArgs) ToNetworkInsightsAnalysisReturnPathComponentComponentOutput() NetworkInsightsAnalysisReturnPathComponentComponentOutput { + return i.ToNetworkInsightsAnalysisReturnPathComponentComponentOutputWithContext(context.Background()) } -func (i NetworkInsightsAnalysisReturnPathComponentSourceVpcArgs) ToNetworkInsightsAnalysisReturnPathComponentSourceVpcOutputWithContext(ctx context.Context) NetworkInsightsAnalysisReturnPathComponentSourceVpcOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisReturnPathComponentSourceVpcOutput) +func (i NetworkInsightsAnalysisReturnPathComponentComponentArgs) ToNetworkInsightsAnalysisReturnPathComponentComponentOutputWithContext(ctx context.Context) NetworkInsightsAnalysisReturnPathComponentComponentOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisReturnPathComponentComponentOutput) } -// NetworkInsightsAnalysisReturnPathComponentSourceVpcArrayInput is an input type that accepts NetworkInsightsAnalysisReturnPathComponentSourceVpcArray and NetworkInsightsAnalysisReturnPathComponentSourceVpcArrayOutput values. -// You can construct a concrete instance of `NetworkInsightsAnalysisReturnPathComponentSourceVpcArrayInput` via: +// NetworkInsightsAnalysisReturnPathComponentComponentArrayInput is an input type that accepts NetworkInsightsAnalysisReturnPathComponentComponentArray and NetworkInsightsAnalysisReturnPathComponentComponentArrayOutput values. +// You can construct a concrete instance of `NetworkInsightsAnalysisReturnPathComponentComponentArrayInput` via: // -// NetworkInsightsAnalysisReturnPathComponentSourceVpcArray{ NetworkInsightsAnalysisReturnPathComponentSourceVpcArgs{...} } -type NetworkInsightsAnalysisReturnPathComponentSourceVpcArrayInput interface { +// NetworkInsightsAnalysisReturnPathComponentComponentArray{ NetworkInsightsAnalysisReturnPathComponentComponentArgs{...} } +type NetworkInsightsAnalysisReturnPathComponentComponentArrayInput interface { pulumi.Input - ToNetworkInsightsAnalysisReturnPathComponentSourceVpcArrayOutput() NetworkInsightsAnalysisReturnPathComponentSourceVpcArrayOutput - ToNetworkInsightsAnalysisReturnPathComponentSourceVpcArrayOutputWithContext(context.Context) NetworkInsightsAnalysisReturnPathComponentSourceVpcArrayOutput + ToNetworkInsightsAnalysisReturnPathComponentComponentArrayOutput() NetworkInsightsAnalysisReturnPathComponentComponentArrayOutput + ToNetworkInsightsAnalysisReturnPathComponentComponentArrayOutputWithContext(context.Context) NetworkInsightsAnalysisReturnPathComponentComponentArrayOutput } -type NetworkInsightsAnalysisReturnPathComponentSourceVpcArray []NetworkInsightsAnalysisReturnPathComponentSourceVpcInput +type NetworkInsightsAnalysisReturnPathComponentComponentArray []NetworkInsightsAnalysisReturnPathComponentComponentInput -func (NetworkInsightsAnalysisReturnPathComponentSourceVpcArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]NetworkInsightsAnalysisReturnPathComponentSourceVpc)(nil)).Elem() +func (NetworkInsightsAnalysisReturnPathComponentComponentArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkInsightsAnalysisReturnPathComponentComponent)(nil)).Elem() } -func (i NetworkInsightsAnalysisReturnPathComponentSourceVpcArray) ToNetworkInsightsAnalysisReturnPathComponentSourceVpcArrayOutput() NetworkInsightsAnalysisReturnPathComponentSourceVpcArrayOutput { - return i.ToNetworkInsightsAnalysisReturnPathComponentSourceVpcArrayOutputWithContext(context.Background()) +func (i NetworkInsightsAnalysisReturnPathComponentComponentArray) ToNetworkInsightsAnalysisReturnPathComponentComponentArrayOutput() NetworkInsightsAnalysisReturnPathComponentComponentArrayOutput { + return i.ToNetworkInsightsAnalysisReturnPathComponentComponentArrayOutputWithContext(context.Background()) } -func (i NetworkInsightsAnalysisReturnPathComponentSourceVpcArray) ToNetworkInsightsAnalysisReturnPathComponentSourceVpcArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisReturnPathComponentSourceVpcArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisReturnPathComponentSourceVpcArrayOutput) +func (i NetworkInsightsAnalysisReturnPathComponentComponentArray) ToNetworkInsightsAnalysisReturnPathComponentComponentArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisReturnPathComponentComponentArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisReturnPathComponentComponentArrayOutput) } -type NetworkInsightsAnalysisReturnPathComponentSourceVpcOutput struct{ *pulumi.OutputState } +type NetworkInsightsAnalysisReturnPathComponentComponentOutput struct{ *pulumi.OutputState } -func (NetworkInsightsAnalysisReturnPathComponentSourceVpcOutput) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkInsightsAnalysisReturnPathComponentSourceVpc)(nil)).Elem() +func (NetworkInsightsAnalysisReturnPathComponentComponentOutput) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInsightsAnalysisReturnPathComponentComponent)(nil)).Elem() } -func (o NetworkInsightsAnalysisReturnPathComponentSourceVpcOutput) ToNetworkInsightsAnalysisReturnPathComponentSourceVpcOutput() NetworkInsightsAnalysisReturnPathComponentSourceVpcOutput { +func (o NetworkInsightsAnalysisReturnPathComponentComponentOutput) ToNetworkInsightsAnalysisReturnPathComponentComponentOutput() NetworkInsightsAnalysisReturnPathComponentComponentOutput { return o } -func (o NetworkInsightsAnalysisReturnPathComponentSourceVpcOutput) ToNetworkInsightsAnalysisReturnPathComponentSourceVpcOutputWithContext(ctx context.Context) NetworkInsightsAnalysisReturnPathComponentSourceVpcOutput { +func (o NetworkInsightsAnalysisReturnPathComponentComponentOutput) ToNetworkInsightsAnalysisReturnPathComponentComponentOutputWithContext(ctx context.Context) NetworkInsightsAnalysisReturnPathComponentComponentOutput { return o } // ARN of the Network Insights Analysis. -func (o NetworkInsightsAnalysisReturnPathComponentSourceVpcOutput) Arn() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponentSourceVpc) *string { return v.Arn }).(pulumi.StringPtrOutput) +func (o NetworkInsightsAnalysisReturnPathComponentComponentOutput) Arn() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponentComponent) *string { return v.Arn }).(pulumi.StringPtrOutput) } // ID of the Network Insights Analysis. -func (o NetworkInsightsAnalysisReturnPathComponentSourceVpcOutput) Id() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponentSourceVpc) *string { return v.Id }).(pulumi.StringPtrOutput) +func (o NetworkInsightsAnalysisReturnPathComponentComponentOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponentComponent) *string { return v.Id }).(pulumi.StringPtrOutput) } -func (o NetworkInsightsAnalysisReturnPathComponentSourceVpcOutput) Name() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponentSourceVpc) *string { return v.Name }).(pulumi.StringPtrOutput) +func (o NetworkInsightsAnalysisReturnPathComponentComponentOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponentComponent) *string { return v.Name }).(pulumi.StringPtrOutput) } -type NetworkInsightsAnalysisReturnPathComponentSourceVpcArrayOutput struct{ *pulumi.OutputState } +type NetworkInsightsAnalysisReturnPathComponentComponentArrayOutput struct{ *pulumi.OutputState } -func (NetworkInsightsAnalysisReturnPathComponentSourceVpcArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]NetworkInsightsAnalysisReturnPathComponentSourceVpc)(nil)).Elem() +func (NetworkInsightsAnalysisReturnPathComponentComponentArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkInsightsAnalysisReturnPathComponentComponent)(nil)).Elem() } -func (o NetworkInsightsAnalysisReturnPathComponentSourceVpcArrayOutput) ToNetworkInsightsAnalysisReturnPathComponentSourceVpcArrayOutput() NetworkInsightsAnalysisReturnPathComponentSourceVpcArrayOutput { +func (o NetworkInsightsAnalysisReturnPathComponentComponentArrayOutput) ToNetworkInsightsAnalysisReturnPathComponentComponentArrayOutput() NetworkInsightsAnalysisReturnPathComponentComponentArrayOutput { return o } -func (o NetworkInsightsAnalysisReturnPathComponentSourceVpcArrayOutput) ToNetworkInsightsAnalysisReturnPathComponentSourceVpcArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisReturnPathComponentSourceVpcArrayOutput { +func (o NetworkInsightsAnalysisReturnPathComponentComponentArrayOutput) ToNetworkInsightsAnalysisReturnPathComponentComponentArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisReturnPathComponentComponentArrayOutput { return o } -func (o NetworkInsightsAnalysisReturnPathComponentSourceVpcArrayOutput) Index(i pulumi.IntInput) NetworkInsightsAnalysisReturnPathComponentSourceVpcOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkInsightsAnalysisReturnPathComponentSourceVpc { - return vs[0].([]NetworkInsightsAnalysisReturnPathComponentSourceVpc)[vs[1].(int)] - }).(NetworkInsightsAnalysisReturnPathComponentSourceVpcOutput) +func (o NetworkInsightsAnalysisReturnPathComponentComponentArrayOutput) Index(i pulumi.IntInput) NetworkInsightsAnalysisReturnPathComponentComponentOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkInsightsAnalysisReturnPathComponentComponent { + return vs[0].([]NetworkInsightsAnalysisReturnPathComponentComponent)[vs[1].(int)] + }).(NetworkInsightsAnalysisReturnPathComponentComponentOutput) } -type NetworkInsightsAnalysisReturnPathComponentSubnet struct { +type NetworkInsightsAnalysisReturnPathComponentDestinationVpc struct { // ARN of the Network Insights Analysis. Arn *string `pulumi:"arn"` // ID of the Network Insights Analysis. @@ -25718,18 +26435,18 @@ type NetworkInsightsAnalysisReturnPathComponentSubnet struct { Name *string `pulumi:"name"` } -// NetworkInsightsAnalysisReturnPathComponentSubnetInput is an input type that accepts NetworkInsightsAnalysisReturnPathComponentSubnetArgs and NetworkInsightsAnalysisReturnPathComponentSubnetOutput values. -// You can construct a concrete instance of `NetworkInsightsAnalysisReturnPathComponentSubnetInput` via: +// NetworkInsightsAnalysisReturnPathComponentDestinationVpcInput is an input type that accepts NetworkInsightsAnalysisReturnPathComponentDestinationVpcArgs and NetworkInsightsAnalysisReturnPathComponentDestinationVpcOutput values. +// You can construct a concrete instance of `NetworkInsightsAnalysisReturnPathComponentDestinationVpcInput` via: // -// NetworkInsightsAnalysisReturnPathComponentSubnetArgs{...} -type NetworkInsightsAnalysisReturnPathComponentSubnetInput interface { +// NetworkInsightsAnalysisReturnPathComponentDestinationVpcArgs{...} +type NetworkInsightsAnalysisReturnPathComponentDestinationVpcInput interface { pulumi.Input - ToNetworkInsightsAnalysisReturnPathComponentSubnetOutput() NetworkInsightsAnalysisReturnPathComponentSubnetOutput - ToNetworkInsightsAnalysisReturnPathComponentSubnetOutputWithContext(context.Context) NetworkInsightsAnalysisReturnPathComponentSubnetOutput + ToNetworkInsightsAnalysisReturnPathComponentDestinationVpcOutput() NetworkInsightsAnalysisReturnPathComponentDestinationVpcOutput + ToNetworkInsightsAnalysisReturnPathComponentDestinationVpcOutputWithContext(context.Context) NetworkInsightsAnalysisReturnPathComponentDestinationVpcOutput } -type NetworkInsightsAnalysisReturnPathComponentSubnetArgs struct { +type NetworkInsightsAnalysisReturnPathComponentDestinationVpcArgs struct { // ARN of the Network Insights Analysis. Arn pulumi.StringPtrInput `pulumi:"arn"` // ID of the Network Insights Analysis. @@ -25737,4340 +26454,6868 @@ type NetworkInsightsAnalysisReturnPathComponentSubnetArgs struct { Name pulumi.StringPtrInput `pulumi:"name"` } -func (NetworkInsightsAnalysisReturnPathComponentSubnetArgs) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkInsightsAnalysisReturnPathComponentSubnet)(nil)).Elem() +func (NetworkInsightsAnalysisReturnPathComponentDestinationVpcArgs) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInsightsAnalysisReturnPathComponentDestinationVpc)(nil)).Elem() } -func (i NetworkInsightsAnalysisReturnPathComponentSubnetArgs) ToNetworkInsightsAnalysisReturnPathComponentSubnetOutput() NetworkInsightsAnalysisReturnPathComponentSubnetOutput { - return i.ToNetworkInsightsAnalysisReturnPathComponentSubnetOutputWithContext(context.Background()) +func (i NetworkInsightsAnalysisReturnPathComponentDestinationVpcArgs) ToNetworkInsightsAnalysisReturnPathComponentDestinationVpcOutput() NetworkInsightsAnalysisReturnPathComponentDestinationVpcOutput { + return i.ToNetworkInsightsAnalysisReturnPathComponentDestinationVpcOutputWithContext(context.Background()) } -func (i NetworkInsightsAnalysisReturnPathComponentSubnetArgs) ToNetworkInsightsAnalysisReturnPathComponentSubnetOutputWithContext(ctx context.Context) NetworkInsightsAnalysisReturnPathComponentSubnetOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisReturnPathComponentSubnetOutput) +func (i NetworkInsightsAnalysisReturnPathComponentDestinationVpcArgs) ToNetworkInsightsAnalysisReturnPathComponentDestinationVpcOutputWithContext(ctx context.Context) NetworkInsightsAnalysisReturnPathComponentDestinationVpcOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisReturnPathComponentDestinationVpcOutput) } -// NetworkInsightsAnalysisReturnPathComponentSubnetArrayInput is an input type that accepts NetworkInsightsAnalysisReturnPathComponentSubnetArray and NetworkInsightsAnalysisReturnPathComponentSubnetArrayOutput values. -// You can construct a concrete instance of `NetworkInsightsAnalysisReturnPathComponentSubnetArrayInput` via: +// NetworkInsightsAnalysisReturnPathComponentDestinationVpcArrayInput is an input type that accepts NetworkInsightsAnalysisReturnPathComponentDestinationVpcArray and NetworkInsightsAnalysisReturnPathComponentDestinationVpcArrayOutput values. +// You can construct a concrete instance of `NetworkInsightsAnalysisReturnPathComponentDestinationVpcArrayInput` via: // -// NetworkInsightsAnalysisReturnPathComponentSubnetArray{ NetworkInsightsAnalysisReturnPathComponentSubnetArgs{...} } -type NetworkInsightsAnalysisReturnPathComponentSubnetArrayInput interface { +// NetworkInsightsAnalysisReturnPathComponentDestinationVpcArray{ NetworkInsightsAnalysisReturnPathComponentDestinationVpcArgs{...} } +type NetworkInsightsAnalysisReturnPathComponentDestinationVpcArrayInput interface { pulumi.Input - ToNetworkInsightsAnalysisReturnPathComponentSubnetArrayOutput() NetworkInsightsAnalysisReturnPathComponentSubnetArrayOutput - ToNetworkInsightsAnalysisReturnPathComponentSubnetArrayOutputWithContext(context.Context) NetworkInsightsAnalysisReturnPathComponentSubnetArrayOutput + ToNetworkInsightsAnalysisReturnPathComponentDestinationVpcArrayOutput() NetworkInsightsAnalysisReturnPathComponentDestinationVpcArrayOutput + ToNetworkInsightsAnalysisReturnPathComponentDestinationVpcArrayOutputWithContext(context.Context) NetworkInsightsAnalysisReturnPathComponentDestinationVpcArrayOutput } -type NetworkInsightsAnalysisReturnPathComponentSubnetArray []NetworkInsightsAnalysisReturnPathComponentSubnetInput +type NetworkInsightsAnalysisReturnPathComponentDestinationVpcArray []NetworkInsightsAnalysisReturnPathComponentDestinationVpcInput -func (NetworkInsightsAnalysisReturnPathComponentSubnetArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]NetworkInsightsAnalysisReturnPathComponentSubnet)(nil)).Elem() +func (NetworkInsightsAnalysisReturnPathComponentDestinationVpcArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkInsightsAnalysisReturnPathComponentDestinationVpc)(nil)).Elem() } -func (i NetworkInsightsAnalysisReturnPathComponentSubnetArray) ToNetworkInsightsAnalysisReturnPathComponentSubnetArrayOutput() NetworkInsightsAnalysisReturnPathComponentSubnetArrayOutput { - return i.ToNetworkInsightsAnalysisReturnPathComponentSubnetArrayOutputWithContext(context.Background()) +func (i NetworkInsightsAnalysisReturnPathComponentDestinationVpcArray) ToNetworkInsightsAnalysisReturnPathComponentDestinationVpcArrayOutput() NetworkInsightsAnalysisReturnPathComponentDestinationVpcArrayOutput { + return i.ToNetworkInsightsAnalysisReturnPathComponentDestinationVpcArrayOutputWithContext(context.Background()) } -func (i NetworkInsightsAnalysisReturnPathComponentSubnetArray) ToNetworkInsightsAnalysisReturnPathComponentSubnetArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisReturnPathComponentSubnetArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisReturnPathComponentSubnetArrayOutput) +func (i NetworkInsightsAnalysisReturnPathComponentDestinationVpcArray) ToNetworkInsightsAnalysisReturnPathComponentDestinationVpcArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisReturnPathComponentDestinationVpcArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisReturnPathComponentDestinationVpcArrayOutput) } -type NetworkInsightsAnalysisReturnPathComponentSubnetOutput struct{ *pulumi.OutputState } +type NetworkInsightsAnalysisReturnPathComponentDestinationVpcOutput struct{ *pulumi.OutputState } -func (NetworkInsightsAnalysisReturnPathComponentSubnetOutput) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkInsightsAnalysisReturnPathComponentSubnet)(nil)).Elem() +func (NetworkInsightsAnalysisReturnPathComponentDestinationVpcOutput) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInsightsAnalysisReturnPathComponentDestinationVpc)(nil)).Elem() } -func (o NetworkInsightsAnalysisReturnPathComponentSubnetOutput) ToNetworkInsightsAnalysisReturnPathComponentSubnetOutput() NetworkInsightsAnalysisReturnPathComponentSubnetOutput { +func (o NetworkInsightsAnalysisReturnPathComponentDestinationVpcOutput) ToNetworkInsightsAnalysisReturnPathComponentDestinationVpcOutput() NetworkInsightsAnalysisReturnPathComponentDestinationVpcOutput { return o } -func (o NetworkInsightsAnalysisReturnPathComponentSubnetOutput) ToNetworkInsightsAnalysisReturnPathComponentSubnetOutputWithContext(ctx context.Context) NetworkInsightsAnalysisReturnPathComponentSubnetOutput { +func (o NetworkInsightsAnalysisReturnPathComponentDestinationVpcOutput) ToNetworkInsightsAnalysisReturnPathComponentDestinationVpcOutputWithContext(ctx context.Context) NetworkInsightsAnalysisReturnPathComponentDestinationVpcOutput { return o } // ARN of the Network Insights Analysis. -func (o NetworkInsightsAnalysisReturnPathComponentSubnetOutput) Arn() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponentSubnet) *string { return v.Arn }).(pulumi.StringPtrOutput) +func (o NetworkInsightsAnalysisReturnPathComponentDestinationVpcOutput) Arn() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponentDestinationVpc) *string { return v.Arn }).(pulumi.StringPtrOutput) } // ID of the Network Insights Analysis. -func (o NetworkInsightsAnalysisReturnPathComponentSubnetOutput) Id() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponentSubnet) *string { return v.Id }).(pulumi.StringPtrOutput) +func (o NetworkInsightsAnalysisReturnPathComponentDestinationVpcOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponentDestinationVpc) *string { return v.Id }).(pulumi.StringPtrOutput) } -func (o NetworkInsightsAnalysisReturnPathComponentSubnetOutput) Name() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponentSubnet) *string { return v.Name }).(pulumi.StringPtrOutput) +func (o NetworkInsightsAnalysisReturnPathComponentDestinationVpcOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponentDestinationVpc) *string { return v.Name }).(pulumi.StringPtrOutput) } -type NetworkInsightsAnalysisReturnPathComponentSubnetArrayOutput struct{ *pulumi.OutputState } +type NetworkInsightsAnalysisReturnPathComponentDestinationVpcArrayOutput struct{ *pulumi.OutputState } -func (NetworkInsightsAnalysisReturnPathComponentSubnetArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]NetworkInsightsAnalysisReturnPathComponentSubnet)(nil)).Elem() +func (NetworkInsightsAnalysisReturnPathComponentDestinationVpcArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkInsightsAnalysisReturnPathComponentDestinationVpc)(nil)).Elem() } -func (o NetworkInsightsAnalysisReturnPathComponentSubnetArrayOutput) ToNetworkInsightsAnalysisReturnPathComponentSubnetArrayOutput() NetworkInsightsAnalysisReturnPathComponentSubnetArrayOutput { +func (o NetworkInsightsAnalysisReturnPathComponentDestinationVpcArrayOutput) ToNetworkInsightsAnalysisReturnPathComponentDestinationVpcArrayOutput() NetworkInsightsAnalysisReturnPathComponentDestinationVpcArrayOutput { return o } -func (o NetworkInsightsAnalysisReturnPathComponentSubnetArrayOutput) ToNetworkInsightsAnalysisReturnPathComponentSubnetArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisReturnPathComponentSubnetArrayOutput { +func (o NetworkInsightsAnalysisReturnPathComponentDestinationVpcArrayOutput) ToNetworkInsightsAnalysisReturnPathComponentDestinationVpcArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisReturnPathComponentDestinationVpcArrayOutput { return o } -func (o NetworkInsightsAnalysisReturnPathComponentSubnetArrayOutput) Index(i pulumi.IntInput) NetworkInsightsAnalysisReturnPathComponentSubnetOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkInsightsAnalysisReturnPathComponentSubnet { - return vs[0].([]NetworkInsightsAnalysisReturnPathComponentSubnet)[vs[1].(int)] - }).(NetworkInsightsAnalysisReturnPathComponentSubnetOutput) +func (o NetworkInsightsAnalysisReturnPathComponentDestinationVpcArrayOutput) Index(i pulumi.IntInput) NetworkInsightsAnalysisReturnPathComponentDestinationVpcOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkInsightsAnalysisReturnPathComponentDestinationVpc { + return vs[0].([]NetworkInsightsAnalysisReturnPathComponentDestinationVpc)[vs[1].(int)] + }).(NetworkInsightsAnalysisReturnPathComponentDestinationVpcOutput) } -type NetworkInsightsAnalysisReturnPathComponentTransitGateway struct { - // ARN of the Network Insights Analysis. - Arn *string `pulumi:"arn"` - // ID of the Network Insights Analysis. - Id *string `pulumi:"id"` - Name *string `pulumi:"name"` +type NetworkInsightsAnalysisReturnPathComponentInboundHeader struct { + DestinationAddresses []string `pulumi:"destinationAddresses"` + DestinationPortRanges []NetworkInsightsAnalysisReturnPathComponentInboundHeaderDestinationPortRange `pulumi:"destinationPortRanges"` + Protocol *string `pulumi:"protocol"` + SourceAddresses []string `pulumi:"sourceAddresses"` + SourcePortRanges []NetworkInsightsAnalysisReturnPathComponentInboundHeaderSourcePortRange `pulumi:"sourcePortRanges"` } -// NetworkInsightsAnalysisReturnPathComponentTransitGatewayInput is an input type that accepts NetworkInsightsAnalysisReturnPathComponentTransitGatewayArgs and NetworkInsightsAnalysisReturnPathComponentTransitGatewayOutput values. -// You can construct a concrete instance of `NetworkInsightsAnalysisReturnPathComponentTransitGatewayInput` via: +// NetworkInsightsAnalysisReturnPathComponentInboundHeaderInput is an input type that accepts NetworkInsightsAnalysisReturnPathComponentInboundHeaderArgs and NetworkInsightsAnalysisReturnPathComponentInboundHeaderOutput values. +// You can construct a concrete instance of `NetworkInsightsAnalysisReturnPathComponentInboundHeaderInput` via: // -// NetworkInsightsAnalysisReturnPathComponentTransitGatewayArgs{...} -type NetworkInsightsAnalysisReturnPathComponentTransitGatewayInput interface { +// NetworkInsightsAnalysisReturnPathComponentInboundHeaderArgs{...} +type NetworkInsightsAnalysisReturnPathComponentInboundHeaderInput interface { pulumi.Input - ToNetworkInsightsAnalysisReturnPathComponentTransitGatewayOutput() NetworkInsightsAnalysisReturnPathComponentTransitGatewayOutput - ToNetworkInsightsAnalysisReturnPathComponentTransitGatewayOutputWithContext(context.Context) NetworkInsightsAnalysisReturnPathComponentTransitGatewayOutput + ToNetworkInsightsAnalysisReturnPathComponentInboundHeaderOutput() NetworkInsightsAnalysisReturnPathComponentInboundHeaderOutput + ToNetworkInsightsAnalysisReturnPathComponentInboundHeaderOutputWithContext(context.Context) NetworkInsightsAnalysisReturnPathComponentInboundHeaderOutput } -type NetworkInsightsAnalysisReturnPathComponentTransitGatewayArgs struct { - // ARN of the Network Insights Analysis. - Arn pulumi.StringPtrInput `pulumi:"arn"` - // ID of the Network Insights Analysis. - Id pulumi.StringPtrInput `pulumi:"id"` - Name pulumi.StringPtrInput `pulumi:"name"` +type NetworkInsightsAnalysisReturnPathComponentInboundHeaderArgs struct { + DestinationAddresses pulumi.StringArrayInput `pulumi:"destinationAddresses"` + DestinationPortRanges NetworkInsightsAnalysisReturnPathComponentInboundHeaderDestinationPortRangeArrayInput `pulumi:"destinationPortRanges"` + Protocol pulumi.StringPtrInput `pulumi:"protocol"` + SourceAddresses pulumi.StringArrayInput `pulumi:"sourceAddresses"` + SourcePortRanges NetworkInsightsAnalysisReturnPathComponentInboundHeaderSourcePortRangeArrayInput `pulumi:"sourcePortRanges"` } -func (NetworkInsightsAnalysisReturnPathComponentTransitGatewayArgs) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkInsightsAnalysisReturnPathComponentTransitGateway)(nil)).Elem() +func (NetworkInsightsAnalysisReturnPathComponentInboundHeaderArgs) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInsightsAnalysisReturnPathComponentInboundHeader)(nil)).Elem() } -func (i NetworkInsightsAnalysisReturnPathComponentTransitGatewayArgs) ToNetworkInsightsAnalysisReturnPathComponentTransitGatewayOutput() NetworkInsightsAnalysisReturnPathComponentTransitGatewayOutput { - return i.ToNetworkInsightsAnalysisReturnPathComponentTransitGatewayOutputWithContext(context.Background()) +func (i NetworkInsightsAnalysisReturnPathComponentInboundHeaderArgs) ToNetworkInsightsAnalysisReturnPathComponentInboundHeaderOutput() NetworkInsightsAnalysisReturnPathComponentInboundHeaderOutput { + return i.ToNetworkInsightsAnalysisReturnPathComponentInboundHeaderOutputWithContext(context.Background()) } -func (i NetworkInsightsAnalysisReturnPathComponentTransitGatewayArgs) ToNetworkInsightsAnalysisReturnPathComponentTransitGatewayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisReturnPathComponentTransitGatewayOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisReturnPathComponentTransitGatewayOutput) +func (i NetworkInsightsAnalysisReturnPathComponentInboundHeaderArgs) ToNetworkInsightsAnalysisReturnPathComponentInboundHeaderOutputWithContext(ctx context.Context) NetworkInsightsAnalysisReturnPathComponentInboundHeaderOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisReturnPathComponentInboundHeaderOutput) } -// NetworkInsightsAnalysisReturnPathComponentTransitGatewayArrayInput is an input type that accepts NetworkInsightsAnalysisReturnPathComponentTransitGatewayArray and NetworkInsightsAnalysisReturnPathComponentTransitGatewayArrayOutput values. -// You can construct a concrete instance of `NetworkInsightsAnalysisReturnPathComponentTransitGatewayArrayInput` via: +// NetworkInsightsAnalysisReturnPathComponentInboundHeaderArrayInput is an input type that accepts NetworkInsightsAnalysisReturnPathComponentInboundHeaderArray and NetworkInsightsAnalysisReturnPathComponentInboundHeaderArrayOutput values. +// You can construct a concrete instance of `NetworkInsightsAnalysisReturnPathComponentInboundHeaderArrayInput` via: // -// NetworkInsightsAnalysisReturnPathComponentTransitGatewayArray{ NetworkInsightsAnalysisReturnPathComponentTransitGatewayArgs{...} } -type NetworkInsightsAnalysisReturnPathComponentTransitGatewayArrayInput interface { +// NetworkInsightsAnalysisReturnPathComponentInboundHeaderArray{ NetworkInsightsAnalysisReturnPathComponentInboundHeaderArgs{...} } +type NetworkInsightsAnalysisReturnPathComponentInboundHeaderArrayInput interface { pulumi.Input - ToNetworkInsightsAnalysisReturnPathComponentTransitGatewayArrayOutput() NetworkInsightsAnalysisReturnPathComponentTransitGatewayArrayOutput - ToNetworkInsightsAnalysisReturnPathComponentTransitGatewayArrayOutputWithContext(context.Context) NetworkInsightsAnalysisReturnPathComponentTransitGatewayArrayOutput + ToNetworkInsightsAnalysisReturnPathComponentInboundHeaderArrayOutput() NetworkInsightsAnalysisReturnPathComponentInboundHeaderArrayOutput + ToNetworkInsightsAnalysisReturnPathComponentInboundHeaderArrayOutputWithContext(context.Context) NetworkInsightsAnalysisReturnPathComponentInboundHeaderArrayOutput } -type NetworkInsightsAnalysisReturnPathComponentTransitGatewayArray []NetworkInsightsAnalysisReturnPathComponentTransitGatewayInput +type NetworkInsightsAnalysisReturnPathComponentInboundHeaderArray []NetworkInsightsAnalysisReturnPathComponentInboundHeaderInput -func (NetworkInsightsAnalysisReturnPathComponentTransitGatewayArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]NetworkInsightsAnalysisReturnPathComponentTransitGateway)(nil)).Elem() +func (NetworkInsightsAnalysisReturnPathComponentInboundHeaderArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkInsightsAnalysisReturnPathComponentInboundHeader)(nil)).Elem() } -func (i NetworkInsightsAnalysisReturnPathComponentTransitGatewayArray) ToNetworkInsightsAnalysisReturnPathComponentTransitGatewayArrayOutput() NetworkInsightsAnalysisReturnPathComponentTransitGatewayArrayOutput { - return i.ToNetworkInsightsAnalysisReturnPathComponentTransitGatewayArrayOutputWithContext(context.Background()) +func (i NetworkInsightsAnalysisReturnPathComponentInboundHeaderArray) ToNetworkInsightsAnalysisReturnPathComponentInboundHeaderArrayOutput() NetworkInsightsAnalysisReturnPathComponentInboundHeaderArrayOutput { + return i.ToNetworkInsightsAnalysisReturnPathComponentInboundHeaderArrayOutputWithContext(context.Background()) } -func (i NetworkInsightsAnalysisReturnPathComponentTransitGatewayArray) ToNetworkInsightsAnalysisReturnPathComponentTransitGatewayArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisReturnPathComponentTransitGatewayArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisReturnPathComponentTransitGatewayArrayOutput) +func (i NetworkInsightsAnalysisReturnPathComponentInboundHeaderArray) ToNetworkInsightsAnalysisReturnPathComponentInboundHeaderArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisReturnPathComponentInboundHeaderArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisReturnPathComponentInboundHeaderArrayOutput) } -type NetworkInsightsAnalysisReturnPathComponentTransitGatewayOutput struct{ *pulumi.OutputState } +type NetworkInsightsAnalysisReturnPathComponentInboundHeaderOutput struct{ *pulumi.OutputState } -func (NetworkInsightsAnalysisReturnPathComponentTransitGatewayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkInsightsAnalysisReturnPathComponentTransitGateway)(nil)).Elem() +func (NetworkInsightsAnalysisReturnPathComponentInboundHeaderOutput) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInsightsAnalysisReturnPathComponentInboundHeader)(nil)).Elem() } -func (o NetworkInsightsAnalysisReturnPathComponentTransitGatewayOutput) ToNetworkInsightsAnalysisReturnPathComponentTransitGatewayOutput() NetworkInsightsAnalysisReturnPathComponentTransitGatewayOutput { +func (o NetworkInsightsAnalysisReturnPathComponentInboundHeaderOutput) ToNetworkInsightsAnalysisReturnPathComponentInboundHeaderOutput() NetworkInsightsAnalysisReturnPathComponentInboundHeaderOutput { return o } -func (o NetworkInsightsAnalysisReturnPathComponentTransitGatewayOutput) ToNetworkInsightsAnalysisReturnPathComponentTransitGatewayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisReturnPathComponentTransitGatewayOutput { +func (o NetworkInsightsAnalysisReturnPathComponentInboundHeaderOutput) ToNetworkInsightsAnalysisReturnPathComponentInboundHeaderOutputWithContext(ctx context.Context) NetworkInsightsAnalysisReturnPathComponentInboundHeaderOutput { return o } -// ARN of the Network Insights Analysis. -func (o NetworkInsightsAnalysisReturnPathComponentTransitGatewayOutput) Arn() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponentTransitGateway) *string { return v.Arn }).(pulumi.StringPtrOutput) +func (o NetworkInsightsAnalysisReturnPathComponentInboundHeaderOutput) DestinationAddresses() pulumi.StringArrayOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponentInboundHeader) []string { + return v.DestinationAddresses + }).(pulumi.StringArrayOutput) } -// ID of the Network Insights Analysis. -func (o NetworkInsightsAnalysisReturnPathComponentTransitGatewayOutput) Id() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponentTransitGateway) *string { return v.Id }).(pulumi.StringPtrOutput) +func (o NetworkInsightsAnalysisReturnPathComponentInboundHeaderOutput) DestinationPortRanges() NetworkInsightsAnalysisReturnPathComponentInboundHeaderDestinationPortRangeArrayOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponentInboundHeader) []NetworkInsightsAnalysisReturnPathComponentInboundHeaderDestinationPortRange { + return v.DestinationPortRanges + }).(NetworkInsightsAnalysisReturnPathComponentInboundHeaderDestinationPortRangeArrayOutput) } -func (o NetworkInsightsAnalysisReturnPathComponentTransitGatewayOutput) Name() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponentTransitGateway) *string { return v.Name }).(pulumi.StringPtrOutput) +func (o NetworkInsightsAnalysisReturnPathComponentInboundHeaderOutput) Protocol() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponentInboundHeader) *string { return v.Protocol }).(pulumi.StringPtrOutput) } -type NetworkInsightsAnalysisReturnPathComponentTransitGatewayArrayOutput struct{ *pulumi.OutputState } +func (o NetworkInsightsAnalysisReturnPathComponentInboundHeaderOutput) SourceAddresses() pulumi.StringArrayOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponentInboundHeader) []string { return v.SourceAddresses }).(pulumi.StringArrayOutput) +} -func (NetworkInsightsAnalysisReturnPathComponentTransitGatewayArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]NetworkInsightsAnalysisReturnPathComponentTransitGateway)(nil)).Elem() +func (o NetworkInsightsAnalysisReturnPathComponentInboundHeaderOutput) SourcePortRanges() NetworkInsightsAnalysisReturnPathComponentInboundHeaderSourcePortRangeArrayOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponentInboundHeader) []NetworkInsightsAnalysisReturnPathComponentInboundHeaderSourcePortRange { + return v.SourcePortRanges + }).(NetworkInsightsAnalysisReturnPathComponentInboundHeaderSourcePortRangeArrayOutput) } -func (o NetworkInsightsAnalysisReturnPathComponentTransitGatewayArrayOutput) ToNetworkInsightsAnalysisReturnPathComponentTransitGatewayArrayOutput() NetworkInsightsAnalysisReturnPathComponentTransitGatewayArrayOutput { +type NetworkInsightsAnalysisReturnPathComponentInboundHeaderArrayOutput struct{ *pulumi.OutputState } + +func (NetworkInsightsAnalysisReturnPathComponentInboundHeaderArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkInsightsAnalysisReturnPathComponentInboundHeader)(nil)).Elem() +} + +func (o NetworkInsightsAnalysisReturnPathComponentInboundHeaderArrayOutput) ToNetworkInsightsAnalysisReturnPathComponentInboundHeaderArrayOutput() NetworkInsightsAnalysisReturnPathComponentInboundHeaderArrayOutput { return o } -func (o NetworkInsightsAnalysisReturnPathComponentTransitGatewayArrayOutput) ToNetworkInsightsAnalysisReturnPathComponentTransitGatewayArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisReturnPathComponentTransitGatewayArrayOutput { +func (o NetworkInsightsAnalysisReturnPathComponentInboundHeaderArrayOutput) ToNetworkInsightsAnalysisReturnPathComponentInboundHeaderArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisReturnPathComponentInboundHeaderArrayOutput { return o } -func (o NetworkInsightsAnalysisReturnPathComponentTransitGatewayArrayOutput) Index(i pulumi.IntInput) NetworkInsightsAnalysisReturnPathComponentTransitGatewayOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkInsightsAnalysisReturnPathComponentTransitGateway { - return vs[0].([]NetworkInsightsAnalysisReturnPathComponentTransitGateway)[vs[1].(int)] - }).(NetworkInsightsAnalysisReturnPathComponentTransitGatewayOutput) +func (o NetworkInsightsAnalysisReturnPathComponentInboundHeaderArrayOutput) Index(i pulumi.IntInput) NetworkInsightsAnalysisReturnPathComponentInboundHeaderOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkInsightsAnalysisReturnPathComponentInboundHeader { + return vs[0].([]NetworkInsightsAnalysisReturnPathComponentInboundHeader)[vs[1].(int)] + }).(NetworkInsightsAnalysisReturnPathComponentInboundHeaderOutput) } -type NetworkInsightsAnalysisReturnPathComponentTransitGatewayRouteTableRoute struct { - AttachmentId *string `pulumi:"attachmentId"` - DestinationCidr *string `pulumi:"destinationCidr"` - PrefixListId *string `pulumi:"prefixListId"` - ResourceId *string `pulumi:"resourceId"` - ResourceType *string `pulumi:"resourceType"` - RouteOrigin *string `pulumi:"routeOrigin"` - State *string `pulumi:"state"` +type NetworkInsightsAnalysisReturnPathComponentInboundHeaderDestinationPortRange struct { + From *int `pulumi:"from"` + To *int `pulumi:"to"` } -// NetworkInsightsAnalysisReturnPathComponentTransitGatewayRouteTableRouteInput is an input type that accepts NetworkInsightsAnalysisReturnPathComponentTransitGatewayRouteTableRouteArgs and NetworkInsightsAnalysisReturnPathComponentTransitGatewayRouteTableRouteOutput values. -// You can construct a concrete instance of `NetworkInsightsAnalysisReturnPathComponentTransitGatewayRouteTableRouteInput` via: +// NetworkInsightsAnalysisReturnPathComponentInboundHeaderDestinationPortRangeInput is an input type that accepts NetworkInsightsAnalysisReturnPathComponentInboundHeaderDestinationPortRangeArgs and NetworkInsightsAnalysisReturnPathComponentInboundHeaderDestinationPortRangeOutput values. +// You can construct a concrete instance of `NetworkInsightsAnalysisReturnPathComponentInboundHeaderDestinationPortRangeInput` via: // -// NetworkInsightsAnalysisReturnPathComponentTransitGatewayRouteTableRouteArgs{...} -type NetworkInsightsAnalysisReturnPathComponentTransitGatewayRouteTableRouteInput interface { +// NetworkInsightsAnalysisReturnPathComponentInboundHeaderDestinationPortRangeArgs{...} +type NetworkInsightsAnalysisReturnPathComponentInboundHeaderDestinationPortRangeInput interface { pulumi.Input - ToNetworkInsightsAnalysisReturnPathComponentTransitGatewayRouteTableRouteOutput() NetworkInsightsAnalysisReturnPathComponentTransitGatewayRouteTableRouteOutput - ToNetworkInsightsAnalysisReturnPathComponentTransitGatewayRouteTableRouteOutputWithContext(context.Context) NetworkInsightsAnalysisReturnPathComponentTransitGatewayRouteTableRouteOutput + ToNetworkInsightsAnalysisReturnPathComponentInboundHeaderDestinationPortRangeOutput() NetworkInsightsAnalysisReturnPathComponentInboundHeaderDestinationPortRangeOutput + ToNetworkInsightsAnalysisReturnPathComponentInboundHeaderDestinationPortRangeOutputWithContext(context.Context) NetworkInsightsAnalysisReturnPathComponentInboundHeaderDestinationPortRangeOutput } -type NetworkInsightsAnalysisReturnPathComponentTransitGatewayRouteTableRouteArgs struct { - AttachmentId pulumi.StringPtrInput `pulumi:"attachmentId"` - DestinationCidr pulumi.StringPtrInput `pulumi:"destinationCidr"` - PrefixListId pulumi.StringPtrInput `pulumi:"prefixListId"` - ResourceId pulumi.StringPtrInput `pulumi:"resourceId"` - ResourceType pulumi.StringPtrInput `pulumi:"resourceType"` - RouteOrigin pulumi.StringPtrInput `pulumi:"routeOrigin"` - State pulumi.StringPtrInput `pulumi:"state"` +type NetworkInsightsAnalysisReturnPathComponentInboundHeaderDestinationPortRangeArgs struct { + From pulumi.IntPtrInput `pulumi:"from"` + To pulumi.IntPtrInput `pulumi:"to"` } -func (NetworkInsightsAnalysisReturnPathComponentTransitGatewayRouteTableRouteArgs) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkInsightsAnalysisReturnPathComponentTransitGatewayRouteTableRoute)(nil)).Elem() +func (NetworkInsightsAnalysisReturnPathComponentInboundHeaderDestinationPortRangeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInsightsAnalysisReturnPathComponentInboundHeaderDestinationPortRange)(nil)).Elem() } -func (i NetworkInsightsAnalysisReturnPathComponentTransitGatewayRouteTableRouteArgs) ToNetworkInsightsAnalysisReturnPathComponentTransitGatewayRouteTableRouteOutput() NetworkInsightsAnalysisReturnPathComponentTransitGatewayRouteTableRouteOutput { - return i.ToNetworkInsightsAnalysisReturnPathComponentTransitGatewayRouteTableRouteOutputWithContext(context.Background()) +func (i NetworkInsightsAnalysisReturnPathComponentInboundHeaderDestinationPortRangeArgs) ToNetworkInsightsAnalysisReturnPathComponentInboundHeaderDestinationPortRangeOutput() NetworkInsightsAnalysisReturnPathComponentInboundHeaderDestinationPortRangeOutput { + return i.ToNetworkInsightsAnalysisReturnPathComponentInboundHeaderDestinationPortRangeOutputWithContext(context.Background()) } -func (i NetworkInsightsAnalysisReturnPathComponentTransitGatewayRouteTableRouteArgs) ToNetworkInsightsAnalysisReturnPathComponentTransitGatewayRouteTableRouteOutputWithContext(ctx context.Context) NetworkInsightsAnalysisReturnPathComponentTransitGatewayRouteTableRouteOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisReturnPathComponentTransitGatewayRouteTableRouteOutput) +func (i NetworkInsightsAnalysisReturnPathComponentInboundHeaderDestinationPortRangeArgs) ToNetworkInsightsAnalysisReturnPathComponentInboundHeaderDestinationPortRangeOutputWithContext(ctx context.Context) NetworkInsightsAnalysisReturnPathComponentInboundHeaderDestinationPortRangeOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisReturnPathComponentInboundHeaderDestinationPortRangeOutput) } -// NetworkInsightsAnalysisReturnPathComponentTransitGatewayRouteTableRouteArrayInput is an input type that accepts NetworkInsightsAnalysisReturnPathComponentTransitGatewayRouteTableRouteArray and NetworkInsightsAnalysisReturnPathComponentTransitGatewayRouteTableRouteArrayOutput values. -// You can construct a concrete instance of `NetworkInsightsAnalysisReturnPathComponentTransitGatewayRouteTableRouteArrayInput` via: +// NetworkInsightsAnalysisReturnPathComponentInboundHeaderDestinationPortRangeArrayInput is an input type that accepts NetworkInsightsAnalysisReturnPathComponentInboundHeaderDestinationPortRangeArray and NetworkInsightsAnalysisReturnPathComponentInboundHeaderDestinationPortRangeArrayOutput values. +// You can construct a concrete instance of `NetworkInsightsAnalysisReturnPathComponentInboundHeaderDestinationPortRangeArrayInput` via: // -// NetworkInsightsAnalysisReturnPathComponentTransitGatewayRouteTableRouteArray{ NetworkInsightsAnalysisReturnPathComponentTransitGatewayRouteTableRouteArgs{...} } -type NetworkInsightsAnalysisReturnPathComponentTransitGatewayRouteTableRouteArrayInput interface { +// NetworkInsightsAnalysisReturnPathComponentInboundHeaderDestinationPortRangeArray{ NetworkInsightsAnalysisReturnPathComponentInboundHeaderDestinationPortRangeArgs{...} } +type NetworkInsightsAnalysisReturnPathComponentInboundHeaderDestinationPortRangeArrayInput interface { pulumi.Input - ToNetworkInsightsAnalysisReturnPathComponentTransitGatewayRouteTableRouteArrayOutput() NetworkInsightsAnalysisReturnPathComponentTransitGatewayRouteTableRouteArrayOutput - ToNetworkInsightsAnalysisReturnPathComponentTransitGatewayRouteTableRouteArrayOutputWithContext(context.Context) NetworkInsightsAnalysisReturnPathComponentTransitGatewayRouteTableRouteArrayOutput + ToNetworkInsightsAnalysisReturnPathComponentInboundHeaderDestinationPortRangeArrayOutput() NetworkInsightsAnalysisReturnPathComponentInboundHeaderDestinationPortRangeArrayOutput + ToNetworkInsightsAnalysisReturnPathComponentInboundHeaderDestinationPortRangeArrayOutputWithContext(context.Context) NetworkInsightsAnalysisReturnPathComponentInboundHeaderDestinationPortRangeArrayOutput } -type NetworkInsightsAnalysisReturnPathComponentTransitGatewayRouteTableRouteArray []NetworkInsightsAnalysisReturnPathComponentTransitGatewayRouteTableRouteInput +type NetworkInsightsAnalysisReturnPathComponentInboundHeaderDestinationPortRangeArray []NetworkInsightsAnalysisReturnPathComponentInboundHeaderDestinationPortRangeInput -func (NetworkInsightsAnalysisReturnPathComponentTransitGatewayRouteTableRouteArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]NetworkInsightsAnalysisReturnPathComponentTransitGatewayRouteTableRoute)(nil)).Elem() +func (NetworkInsightsAnalysisReturnPathComponentInboundHeaderDestinationPortRangeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkInsightsAnalysisReturnPathComponentInboundHeaderDestinationPortRange)(nil)).Elem() } -func (i NetworkInsightsAnalysisReturnPathComponentTransitGatewayRouteTableRouteArray) ToNetworkInsightsAnalysisReturnPathComponentTransitGatewayRouteTableRouteArrayOutput() NetworkInsightsAnalysisReturnPathComponentTransitGatewayRouteTableRouteArrayOutput { - return i.ToNetworkInsightsAnalysisReturnPathComponentTransitGatewayRouteTableRouteArrayOutputWithContext(context.Background()) +func (i NetworkInsightsAnalysisReturnPathComponentInboundHeaderDestinationPortRangeArray) ToNetworkInsightsAnalysisReturnPathComponentInboundHeaderDestinationPortRangeArrayOutput() NetworkInsightsAnalysisReturnPathComponentInboundHeaderDestinationPortRangeArrayOutput { + return i.ToNetworkInsightsAnalysisReturnPathComponentInboundHeaderDestinationPortRangeArrayOutputWithContext(context.Background()) } -func (i NetworkInsightsAnalysisReturnPathComponentTransitGatewayRouteTableRouteArray) ToNetworkInsightsAnalysisReturnPathComponentTransitGatewayRouteTableRouteArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisReturnPathComponentTransitGatewayRouteTableRouteArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisReturnPathComponentTransitGatewayRouteTableRouteArrayOutput) +func (i NetworkInsightsAnalysisReturnPathComponentInboundHeaderDestinationPortRangeArray) ToNetworkInsightsAnalysisReturnPathComponentInboundHeaderDestinationPortRangeArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisReturnPathComponentInboundHeaderDestinationPortRangeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisReturnPathComponentInboundHeaderDestinationPortRangeArrayOutput) } -type NetworkInsightsAnalysisReturnPathComponentTransitGatewayRouteTableRouteOutput struct{ *pulumi.OutputState } +type NetworkInsightsAnalysisReturnPathComponentInboundHeaderDestinationPortRangeOutput struct{ *pulumi.OutputState } -func (NetworkInsightsAnalysisReturnPathComponentTransitGatewayRouteTableRouteOutput) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkInsightsAnalysisReturnPathComponentTransitGatewayRouteTableRoute)(nil)).Elem() +func (NetworkInsightsAnalysisReturnPathComponentInboundHeaderDestinationPortRangeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInsightsAnalysisReturnPathComponentInboundHeaderDestinationPortRange)(nil)).Elem() } -func (o NetworkInsightsAnalysisReturnPathComponentTransitGatewayRouteTableRouteOutput) ToNetworkInsightsAnalysisReturnPathComponentTransitGatewayRouteTableRouteOutput() NetworkInsightsAnalysisReturnPathComponentTransitGatewayRouteTableRouteOutput { +func (o NetworkInsightsAnalysisReturnPathComponentInboundHeaderDestinationPortRangeOutput) ToNetworkInsightsAnalysisReturnPathComponentInboundHeaderDestinationPortRangeOutput() NetworkInsightsAnalysisReturnPathComponentInboundHeaderDestinationPortRangeOutput { return o } -func (o NetworkInsightsAnalysisReturnPathComponentTransitGatewayRouteTableRouteOutput) ToNetworkInsightsAnalysisReturnPathComponentTransitGatewayRouteTableRouteOutputWithContext(ctx context.Context) NetworkInsightsAnalysisReturnPathComponentTransitGatewayRouteTableRouteOutput { +func (o NetworkInsightsAnalysisReturnPathComponentInboundHeaderDestinationPortRangeOutput) ToNetworkInsightsAnalysisReturnPathComponentInboundHeaderDestinationPortRangeOutputWithContext(ctx context.Context) NetworkInsightsAnalysisReturnPathComponentInboundHeaderDestinationPortRangeOutput { return o } -func (o NetworkInsightsAnalysisReturnPathComponentTransitGatewayRouteTableRouteOutput) AttachmentId() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponentTransitGatewayRouteTableRoute) *string { - return v.AttachmentId - }).(pulumi.StringPtrOutput) -} - -func (o NetworkInsightsAnalysisReturnPathComponentTransitGatewayRouteTableRouteOutput) DestinationCidr() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponentTransitGatewayRouteTableRoute) *string { - return v.DestinationCidr - }).(pulumi.StringPtrOutput) -} - -func (o NetworkInsightsAnalysisReturnPathComponentTransitGatewayRouteTableRouteOutput) PrefixListId() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponentTransitGatewayRouteTableRoute) *string { - return v.PrefixListId - }).(pulumi.StringPtrOutput) -} - -func (o NetworkInsightsAnalysisReturnPathComponentTransitGatewayRouteTableRouteOutput) ResourceId() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponentTransitGatewayRouteTableRoute) *string { - return v.ResourceId - }).(pulumi.StringPtrOutput) -} - -func (o NetworkInsightsAnalysisReturnPathComponentTransitGatewayRouteTableRouteOutput) ResourceType() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponentTransitGatewayRouteTableRoute) *string { - return v.ResourceType - }).(pulumi.StringPtrOutput) -} - -func (o NetworkInsightsAnalysisReturnPathComponentTransitGatewayRouteTableRouteOutput) RouteOrigin() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponentTransitGatewayRouteTableRoute) *string { - return v.RouteOrigin - }).(pulumi.StringPtrOutput) +func (o NetworkInsightsAnalysisReturnPathComponentInboundHeaderDestinationPortRangeOutput) From() pulumi.IntPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponentInboundHeaderDestinationPortRange) *int { + return v.From + }).(pulumi.IntPtrOutput) } -func (o NetworkInsightsAnalysisReturnPathComponentTransitGatewayRouteTableRouteOutput) State() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponentTransitGatewayRouteTableRoute) *string { - return v.State - }).(pulumi.StringPtrOutput) +func (o NetworkInsightsAnalysisReturnPathComponentInboundHeaderDestinationPortRangeOutput) To() pulumi.IntPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponentInboundHeaderDestinationPortRange) *int { return v.To }).(pulumi.IntPtrOutput) } -type NetworkInsightsAnalysisReturnPathComponentTransitGatewayRouteTableRouteArrayOutput struct{ *pulumi.OutputState } +type NetworkInsightsAnalysisReturnPathComponentInboundHeaderDestinationPortRangeArrayOutput struct{ *pulumi.OutputState } -func (NetworkInsightsAnalysisReturnPathComponentTransitGatewayRouteTableRouteArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]NetworkInsightsAnalysisReturnPathComponentTransitGatewayRouteTableRoute)(nil)).Elem() +func (NetworkInsightsAnalysisReturnPathComponentInboundHeaderDestinationPortRangeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkInsightsAnalysisReturnPathComponentInboundHeaderDestinationPortRange)(nil)).Elem() } -func (o NetworkInsightsAnalysisReturnPathComponentTransitGatewayRouteTableRouteArrayOutput) ToNetworkInsightsAnalysisReturnPathComponentTransitGatewayRouteTableRouteArrayOutput() NetworkInsightsAnalysisReturnPathComponentTransitGatewayRouteTableRouteArrayOutput { +func (o NetworkInsightsAnalysisReturnPathComponentInboundHeaderDestinationPortRangeArrayOutput) ToNetworkInsightsAnalysisReturnPathComponentInboundHeaderDestinationPortRangeArrayOutput() NetworkInsightsAnalysisReturnPathComponentInboundHeaderDestinationPortRangeArrayOutput { return o } -func (o NetworkInsightsAnalysisReturnPathComponentTransitGatewayRouteTableRouteArrayOutput) ToNetworkInsightsAnalysisReturnPathComponentTransitGatewayRouteTableRouteArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisReturnPathComponentTransitGatewayRouteTableRouteArrayOutput { +func (o NetworkInsightsAnalysisReturnPathComponentInboundHeaderDestinationPortRangeArrayOutput) ToNetworkInsightsAnalysisReturnPathComponentInboundHeaderDestinationPortRangeArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisReturnPathComponentInboundHeaderDestinationPortRangeArrayOutput { return o } -func (o NetworkInsightsAnalysisReturnPathComponentTransitGatewayRouteTableRouteArrayOutput) Index(i pulumi.IntInput) NetworkInsightsAnalysisReturnPathComponentTransitGatewayRouteTableRouteOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkInsightsAnalysisReturnPathComponentTransitGatewayRouteTableRoute { - return vs[0].([]NetworkInsightsAnalysisReturnPathComponentTransitGatewayRouteTableRoute)[vs[1].(int)] - }).(NetworkInsightsAnalysisReturnPathComponentTransitGatewayRouteTableRouteOutput) +func (o NetworkInsightsAnalysisReturnPathComponentInboundHeaderDestinationPortRangeArrayOutput) Index(i pulumi.IntInput) NetworkInsightsAnalysisReturnPathComponentInboundHeaderDestinationPortRangeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkInsightsAnalysisReturnPathComponentInboundHeaderDestinationPortRange { + return vs[0].([]NetworkInsightsAnalysisReturnPathComponentInboundHeaderDestinationPortRange)[vs[1].(int)] + }).(NetworkInsightsAnalysisReturnPathComponentInboundHeaderDestinationPortRangeOutput) } -type NetworkInsightsAnalysisReturnPathComponentVpc struct { - // ARN of the Network Insights Analysis. - Arn *string `pulumi:"arn"` - // ID of the Network Insights Analysis. - Id *string `pulumi:"id"` - Name *string `pulumi:"name"` +type NetworkInsightsAnalysisReturnPathComponentInboundHeaderSourcePortRange struct { + From *int `pulumi:"from"` + To *int `pulumi:"to"` } -// NetworkInsightsAnalysisReturnPathComponentVpcInput is an input type that accepts NetworkInsightsAnalysisReturnPathComponentVpcArgs and NetworkInsightsAnalysisReturnPathComponentVpcOutput values. -// You can construct a concrete instance of `NetworkInsightsAnalysisReturnPathComponentVpcInput` via: +// NetworkInsightsAnalysisReturnPathComponentInboundHeaderSourcePortRangeInput is an input type that accepts NetworkInsightsAnalysisReturnPathComponentInboundHeaderSourcePortRangeArgs and NetworkInsightsAnalysisReturnPathComponentInboundHeaderSourcePortRangeOutput values. +// You can construct a concrete instance of `NetworkInsightsAnalysisReturnPathComponentInboundHeaderSourcePortRangeInput` via: // -// NetworkInsightsAnalysisReturnPathComponentVpcArgs{...} -type NetworkInsightsAnalysisReturnPathComponentVpcInput interface { +// NetworkInsightsAnalysisReturnPathComponentInboundHeaderSourcePortRangeArgs{...} +type NetworkInsightsAnalysisReturnPathComponentInboundHeaderSourcePortRangeInput interface { pulumi.Input - ToNetworkInsightsAnalysisReturnPathComponentVpcOutput() NetworkInsightsAnalysisReturnPathComponentVpcOutput - ToNetworkInsightsAnalysisReturnPathComponentVpcOutputWithContext(context.Context) NetworkInsightsAnalysisReturnPathComponentVpcOutput + ToNetworkInsightsAnalysisReturnPathComponentInboundHeaderSourcePortRangeOutput() NetworkInsightsAnalysisReturnPathComponentInboundHeaderSourcePortRangeOutput + ToNetworkInsightsAnalysisReturnPathComponentInboundHeaderSourcePortRangeOutputWithContext(context.Context) NetworkInsightsAnalysisReturnPathComponentInboundHeaderSourcePortRangeOutput } -type NetworkInsightsAnalysisReturnPathComponentVpcArgs struct { - // ARN of the Network Insights Analysis. - Arn pulumi.StringPtrInput `pulumi:"arn"` - // ID of the Network Insights Analysis. - Id pulumi.StringPtrInput `pulumi:"id"` - Name pulumi.StringPtrInput `pulumi:"name"` +type NetworkInsightsAnalysisReturnPathComponentInboundHeaderSourcePortRangeArgs struct { + From pulumi.IntPtrInput `pulumi:"from"` + To pulumi.IntPtrInput `pulumi:"to"` } -func (NetworkInsightsAnalysisReturnPathComponentVpcArgs) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkInsightsAnalysisReturnPathComponentVpc)(nil)).Elem() +func (NetworkInsightsAnalysisReturnPathComponentInboundHeaderSourcePortRangeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInsightsAnalysisReturnPathComponentInboundHeaderSourcePortRange)(nil)).Elem() } -func (i NetworkInsightsAnalysisReturnPathComponentVpcArgs) ToNetworkInsightsAnalysisReturnPathComponentVpcOutput() NetworkInsightsAnalysisReturnPathComponentVpcOutput { - return i.ToNetworkInsightsAnalysisReturnPathComponentVpcOutputWithContext(context.Background()) +func (i NetworkInsightsAnalysisReturnPathComponentInboundHeaderSourcePortRangeArgs) ToNetworkInsightsAnalysisReturnPathComponentInboundHeaderSourcePortRangeOutput() NetworkInsightsAnalysisReturnPathComponentInboundHeaderSourcePortRangeOutput { + return i.ToNetworkInsightsAnalysisReturnPathComponentInboundHeaderSourcePortRangeOutputWithContext(context.Background()) } -func (i NetworkInsightsAnalysisReturnPathComponentVpcArgs) ToNetworkInsightsAnalysisReturnPathComponentVpcOutputWithContext(ctx context.Context) NetworkInsightsAnalysisReturnPathComponentVpcOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisReturnPathComponentVpcOutput) +func (i NetworkInsightsAnalysisReturnPathComponentInboundHeaderSourcePortRangeArgs) ToNetworkInsightsAnalysisReturnPathComponentInboundHeaderSourcePortRangeOutputWithContext(ctx context.Context) NetworkInsightsAnalysisReturnPathComponentInboundHeaderSourcePortRangeOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisReturnPathComponentInboundHeaderSourcePortRangeOutput) } -// NetworkInsightsAnalysisReturnPathComponentVpcArrayInput is an input type that accepts NetworkInsightsAnalysisReturnPathComponentVpcArray and NetworkInsightsAnalysisReturnPathComponentVpcArrayOutput values. -// You can construct a concrete instance of `NetworkInsightsAnalysisReturnPathComponentVpcArrayInput` via: +// NetworkInsightsAnalysisReturnPathComponentInboundHeaderSourcePortRangeArrayInput is an input type that accepts NetworkInsightsAnalysisReturnPathComponentInboundHeaderSourcePortRangeArray and NetworkInsightsAnalysisReturnPathComponentInboundHeaderSourcePortRangeArrayOutput values. +// You can construct a concrete instance of `NetworkInsightsAnalysisReturnPathComponentInboundHeaderSourcePortRangeArrayInput` via: // -// NetworkInsightsAnalysisReturnPathComponentVpcArray{ NetworkInsightsAnalysisReturnPathComponentVpcArgs{...} } -type NetworkInsightsAnalysisReturnPathComponentVpcArrayInput interface { +// NetworkInsightsAnalysisReturnPathComponentInboundHeaderSourcePortRangeArray{ NetworkInsightsAnalysisReturnPathComponentInboundHeaderSourcePortRangeArgs{...} } +type NetworkInsightsAnalysisReturnPathComponentInboundHeaderSourcePortRangeArrayInput interface { pulumi.Input - ToNetworkInsightsAnalysisReturnPathComponentVpcArrayOutput() NetworkInsightsAnalysisReturnPathComponentVpcArrayOutput - ToNetworkInsightsAnalysisReturnPathComponentVpcArrayOutputWithContext(context.Context) NetworkInsightsAnalysisReturnPathComponentVpcArrayOutput + ToNetworkInsightsAnalysisReturnPathComponentInboundHeaderSourcePortRangeArrayOutput() NetworkInsightsAnalysisReturnPathComponentInboundHeaderSourcePortRangeArrayOutput + ToNetworkInsightsAnalysisReturnPathComponentInboundHeaderSourcePortRangeArrayOutputWithContext(context.Context) NetworkInsightsAnalysisReturnPathComponentInboundHeaderSourcePortRangeArrayOutput } -type NetworkInsightsAnalysisReturnPathComponentVpcArray []NetworkInsightsAnalysisReturnPathComponentVpcInput +type NetworkInsightsAnalysisReturnPathComponentInboundHeaderSourcePortRangeArray []NetworkInsightsAnalysisReturnPathComponentInboundHeaderSourcePortRangeInput -func (NetworkInsightsAnalysisReturnPathComponentVpcArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]NetworkInsightsAnalysisReturnPathComponentVpc)(nil)).Elem() +func (NetworkInsightsAnalysisReturnPathComponentInboundHeaderSourcePortRangeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkInsightsAnalysisReturnPathComponentInboundHeaderSourcePortRange)(nil)).Elem() } -func (i NetworkInsightsAnalysisReturnPathComponentVpcArray) ToNetworkInsightsAnalysisReturnPathComponentVpcArrayOutput() NetworkInsightsAnalysisReturnPathComponentVpcArrayOutput { - return i.ToNetworkInsightsAnalysisReturnPathComponentVpcArrayOutputWithContext(context.Background()) +func (i NetworkInsightsAnalysisReturnPathComponentInboundHeaderSourcePortRangeArray) ToNetworkInsightsAnalysisReturnPathComponentInboundHeaderSourcePortRangeArrayOutput() NetworkInsightsAnalysisReturnPathComponentInboundHeaderSourcePortRangeArrayOutput { + return i.ToNetworkInsightsAnalysisReturnPathComponentInboundHeaderSourcePortRangeArrayOutputWithContext(context.Background()) } -func (i NetworkInsightsAnalysisReturnPathComponentVpcArray) ToNetworkInsightsAnalysisReturnPathComponentVpcArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisReturnPathComponentVpcArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisReturnPathComponentVpcArrayOutput) +func (i NetworkInsightsAnalysisReturnPathComponentInboundHeaderSourcePortRangeArray) ToNetworkInsightsAnalysisReturnPathComponentInboundHeaderSourcePortRangeArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisReturnPathComponentInboundHeaderSourcePortRangeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisReturnPathComponentInboundHeaderSourcePortRangeArrayOutput) } -type NetworkInsightsAnalysisReturnPathComponentVpcOutput struct{ *pulumi.OutputState } +type NetworkInsightsAnalysisReturnPathComponentInboundHeaderSourcePortRangeOutput struct{ *pulumi.OutputState } -func (NetworkInsightsAnalysisReturnPathComponentVpcOutput) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkInsightsAnalysisReturnPathComponentVpc)(nil)).Elem() +func (NetworkInsightsAnalysisReturnPathComponentInboundHeaderSourcePortRangeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInsightsAnalysisReturnPathComponentInboundHeaderSourcePortRange)(nil)).Elem() } -func (o NetworkInsightsAnalysisReturnPathComponentVpcOutput) ToNetworkInsightsAnalysisReturnPathComponentVpcOutput() NetworkInsightsAnalysisReturnPathComponentVpcOutput { +func (o NetworkInsightsAnalysisReturnPathComponentInboundHeaderSourcePortRangeOutput) ToNetworkInsightsAnalysisReturnPathComponentInboundHeaderSourcePortRangeOutput() NetworkInsightsAnalysisReturnPathComponentInboundHeaderSourcePortRangeOutput { return o } -func (o NetworkInsightsAnalysisReturnPathComponentVpcOutput) ToNetworkInsightsAnalysisReturnPathComponentVpcOutputWithContext(ctx context.Context) NetworkInsightsAnalysisReturnPathComponentVpcOutput { +func (o NetworkInsightsAnalysisReturnPathComponentInboundHeaderSourcePortRangeOutput) ToNetworkInsightsAnalysisReturnPathComponentInboundHeaderSourcePortRangeOutputWithContext(ctx context.Context) NetworkInsightsAnalysisReturnPathComponentInboundHeaderSourcePortRangeOutput { return o } -// ARN of the Network Insights Analysis. -func (o NetworkInsightsAnalysisReturnPathComponentVpcOutput) Arn() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponentVpc) *string { return v.Arn }).(pulumi.StringPtrOutput) +func (o NetworkInsightsAnalysisReturnPathComponentInboundHeaderSourcePortRangeOutput) From() pulumi.IntPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponentInboundHeaderSourcePortRange) *int { return v.From }).(pulumi.IntPtrOutput) } -// ID of the Network Insights Analysis. -func (o NetworkInsightsAnalysisReturnPathComponentVpcOutput) Id() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponentVpc) *string { return v.Id }).(pulumi.StringPtrOutput) -} - -func (o NetworkInsightsAnalysisReturnPathComponentVpcOutput) Name() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponentVpc) *string { return v.Name }).(pulumi.StringPtrOutput) +func (o NetworkInsightsAnalysisReturnPathComponentInboundHeaderSourcePortRangeOutput) To() pulumi.IntPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponentInboundHeaderSourcePortRange) *int { return v.To }).(pulumi.IntPtrOutput) } -type NetworkInsightsAnalysisReturnPathComponentVpcArrayOutput struct{ *pulumi.OutputState } +type NetworkInsightsAnalysisReturnPathComponentInboundHeaderSourcePortRangeArrayOutput struct{ *pulumi.OutputState } -func (NetworkInsightsAnalysisReturnPathComponentVpcArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]NetworkInsightsAnalysisReturnPathComponentVpc)(nil)).Elem() +func (NetworkInsightsAnalysisReturnPathComponentInboundHeaderSourcePortRangeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkInsightsAnalysisReturnPathComponentInboundHeaderSourcePortRange)(nil)).Elem() } -func (o NetworkInsightsAnalysisReturnPathComponentVpcArrayOutput) ToNetworkInsightsAnalysisReturnPathComponentVpcArrayOutput() NetworkInsightsAnalysisReturnPathComponentVpcArrayOutput { +func (o NetworkInsightsAnalysisReturnPathComponentInboundHeaderSourcePortRangeArrayOutput) ToNetworkInsightsAnalysisReturnPathComponentInboundHeaderSourcePortRangeArrayOutput() NetworkInsightsAnalysisReturnPathComponentInboundHeaderSourcePortRangeArrayOutput { return o } -func (o NetworkInsightsAnalysisReturnPathComponentVpcArrayOutput) ToNetworkInsightsAnalysisReturnPathComponentVpcArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisReturnPathComponentVpcArrayOutput { +func (o NetworkInsightsAnalysisReturnPathComponentInboundHeaderSourcePortRangeArrayOutput) ToNetworkInsightsAnalysisReturnPathComponentInboundHeaderSourcePortRangeArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisReturnPathComponentInboundHeaderSourcePortRangeArrayOutput { return o } -func (o NetworkInsightsAnalysisReturnPathComponentVpcArrayOutput) Index(i pulumi.IntInput) NetworkInsightsAnalysisReturnPathComponentVpcOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkInsightsAnalysisReturnPathComponentVpc { - return vs[0].([]NetworkInsightsAnalysisReturnPathComponentVpc)[vs[1].(int)] - }).(NetworkInsightsAnalysisReturnPathComponentVpcOutput) +func (o NetworkInsightsAnalysisReturnPathComponentInboundHeaderSourcePortRangeArrayOutput) Index(i pulumi.IntInput) NetworkInsightsAnalysisReturnPathComponentInboundHeaderSourcePortRangeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkInsightsAnalysisReturnPathComponentInboundHeaderSourcePortRange { + return vs[0].([]NetworkInsightsAnalysisReturnPathComponentInboundHeaderSourcePortRange)[vs[1].(int)] + }).(NetworkInsightsAnalysisReturnPathComponentInboundHeaderSourcePortRangeOutput) } -type NetworkInsightsPathFilterAtDestination struct { - // The destination IPv4 address. - DestinationAddress *string `pulumi:"destinationAddress"` - // The destination port range. See below for details. - DestinationPortRange *NetworkInsightsPathFilterAtDestinationDestinationPortRange `pulumi:"destinationPortRange"` - // IP address of the source resource. - SourceAddress *string `pulumi:"sourceAddress"` - // The source port range. See below for details. - SourcePortRange *NetworkInsightsPathFilterAtDestinationSourcePortRange `pulumi:"sourcePortRange"` +type NetworkInsightsAnalysisReturnPathComponentOutboundHeader struct { + DestinationAddresses []string `pulumi:"destinationAddresses"` + DestinationPortRanges []NetworkInsightsAnalysisReturnPathComponentOutboundHeaderDestinationPortRange `pulumi:"destinationPortRanges"` + Protocol *string `pulumi:"protocol"` + SourceAddresses []string `pulumi:"sourceAddresses"` + SourcePortRanges []NetworkInsightsAnalysisReturnPathComponentOutboundHeaderSourcePortRange `pulumi:"sourcePortRanges"` } -// NetworkInsightsPathFilterAtDestinationInput is an input type that accepts NetworkInsightsPathFilterAtDestinationArgs and NetworkInsightsPathFilterAtDestinationOutput values. -// You can construct a concrete instance of `NetworkInsightsPathFilterAtDestinationInput` via: +// NetworkInsightsAnalysisReturnPathComponentOutboundHeaderInput is an input type that accepts NetworkInsightsAnalysisReturnPathComponentOutboundHeaderArgs and NetworkInsightsAnalysisReturnPathComponentOutboundHeaderOutput values. +// You can construct a concrete instance of `NetworkInsightsAnalysisReturnPathComponentOutboundHeaderInput` via: // -// NetworkInsightsPathFilterAtDestinationArgs{...} -type NetworkInsightsPathFilterAtDestinationInput interface { +// NetworkInsightsAnalysisReturnPathComponentOutboundHeaderArgs{...} +type NetworkInsightsAnalysisReturnPathComponentOutboundHeaderInput interface { pulumi.Input - ToNetworkInsightsPathFilterAtDestinationOutput() NetworkInsightsPathFilterAtDestinationOutput - ToNetworkInsightsPathFilterAtDestinationOutputWithContext(context.Context) NetworkInsightsPathFilterAtDestinationOutput -} - -type NetworkInsightsPathFilterAtDestinationArgs struct { - // The destination IPv4 address. - DestinationAddress pulumi.StringPtrInput `pulumi:"destinationAddress"` - // The destination port range. See below for details. - DestinationPortRange NetworkInsightsPathFilterAtDestinationDestinationPortRangePtrInput `pulumi:"destinationPortRange"` - // IP address of the source resource. - SourceAddress pulumi.StringPtrInput `pulumi:"sourceAddress"` - // The source port range. See below for details. - SourcePortRange NetworkInsightsPathFilterAtDestinationSourcePortRangePtrInput `pulumi:"sourcePortRange"` -} - -func (NetworkInsightsPathFilterAtDestinationArgs) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkInsightsPathFilterAtDestination)(nil)).Elem() + ToNetworkInsightsAnalysisReturnPathComponentOutboundHeaderOutput() NetworkInsightsAnalysisReturnPathComponentOutboundHeaderOutput + ToNetworkInsightsAnalysisReturnPathComponentOutboundHeaderOutputWithContext(context.Context) NetworkInsightsAnalysisReturnPathComponentOutboundHeaderOutput } -func (i NetworkInsightsPathFilterAtDestinationArgs) ToNetworkInsightsPathFilterAtDestinationOutput() NetworkInsightsPathFilterAtDestinationOutput { - return i.ToNetworkInsightsPathFilterAtDestinationOutputWithContext(context.Background()) +type NetworkInsightsAnalysisReturnPathComponentOutboundHeaderArgs struct { + DestinationAddresses pulumi.StringArrayInput `pulumi:"destinationAddresses"` + DestinationPortRanges NetworkInsightsAnalysisReturnPathComponentOutboundHeaderDestinationPortRangeArrayInput `pulumi:"destinationPortRanges"` + Protocol pulumi.StringPtrInput `pulumi:"protocol"` + SourceAddresses pulumi.StringArrayInput `pulumi:"sourceAddresses"` + SourcePortRanges NetworkInsightsAnalysisReturnPathComponentOutboundHeaderSourcePortRangeArrayInput `pulumi:"sourcePortRanges"` } -func (i NetworkInsightsPathFilterAtDestinationArgs) ToNetworkInsightsPathFilterAtDestinationOutputWithContext(ctx context.Context) NetworkInsightsPathFilterAtDestinationOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsPathFilterAtDestinationOutput) +func (NetworkInsightsAnalysisReturnPathComponentOutboundHeaderArgs) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInsightsAnalysisReturnPathComponentOutboundHeader)(nil)).Elem() } -func (i NetworkInsightsPathFilterAtDestinationArgs) ToNetworkInsightsPathFilterAtDestinationPtrOutput() NetworkInsightsPathFilterAtDestinationPtrOutput { - return i.ToNetworkInsightsPathFilterAtDestinationPtrOutputWithContext(context.Background()) +func (i NetworkInsightsAnalysisReturnPathComponentOutboundHeaderArgs) ToNetworkInsightsAnalysisReturnPathComponentOutboundHeaderOutput() NetworkInsightsAnalysisReturnPathComponentOutboundHeaderOutput { + return i.ToNetworkInsightsAnalysisReturnPathComponentOutboundHeaderOutputWithContext(context.Background()) } -func (i NetworkInsightsPathFilterAtDestinationArgs) ToNetworkInsightsPathFilterAtDestinationPtrOutputWithContext(ctx context.Context) NetworkInsightsPathFilterAtDestinationPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsPathFilterAtDestinationOutput).ToNetworkInsightsPathFilterAtDestinationPtrOutputWithContext(ctx) +func (i NetworkInsightsAnalysisReturnPathComponentOutboundHeaderArgs) ToNetworkInsightsAnalysisReturnPathComponentOutboundHeaderOutputWithContext(ctx context.Context) NetworkInsightsAnalysisReturnPathComponentOutboundHeaderOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisReturnPathComponentOutboundHeaderOutput) } -// NetworkInsightsPathFilterAtDestinationPtrInput is an input type that accepts NetworkInsightsPathFilterAtDestinationArgs, NetworkInsightsPathFilterAtDestinationPtr and NetworkInsightsPathFilterAtDestinationPtrOutput values. -// You can construct a concrete instance of `NetworkInsightsPathFilterAtDestinationPtrInput` via: -// -// NetworkInsightsPathFilterAtDestinationArgs{...} -// -// or: +// NetworkInsightsAnalysisReturnPathComponentOutboundHeaderArrayInput is an input type that accepts NetworkInsightsAnalysisReturnPathComponentOutboundHeaderArray and NetworkInsightsAnalysisReturnPathComponentOutboundHeaderArrayOutput values. +// You can construct a concrete instance of `NetworkInsightsAnalysisReturnPathComponentOutboundHeaderArrayInput` via: // -// nil -type NetworkInsightsPathFilterAtDestinationPtrInput interface { +// NetworkInsightsAnalysisReturnPathComponentOutboundHeaderArray{ NetworkInsightsAnalysisReturnPathComponentOutboundHeaderArgs{...} } +type NetworkInsightsAnalysisReturnPathComponentOutboundHeaderArrayInput interface { pulumi.Input - ToNetworkInsightsPathFilterAtDestinationPtrOutput() NetworkInsightsPathFilterAtDestinationPtrOutput - ToNetworkInsightsPathFilterAtDestinationPtrOutputWithContext(context.Context) NetworkInsightsPathFilterAtDestinationPtrOutput + ToNetworkInsightsAnalysisReturnPathComponentOutboundHeaderArrayOutput() NetworkInsightsAnalysisReturnPathComponentOutboundHeaderArrayOutput + ToNetworkInsightsAnalysisReturnPathComponentOutboundHeaderArrayOutputWithContext(context.Context) NetworkInsightsAnalysisReturnPathComponentOutboundHeaderArrayOutput } -type networkInsightsPathFilterAtDestinationPtrType NetworkInsightsPathFilterAtDestinationArgs - -func NetworkInsightsPathFilterAtDestinationPtr(v *NetworkInsightsPathFilterAtDestinationArgs) NetworkInsightsPathFilterAtDestinationPtrInput { - return (*networkInsightsPathFilterAtDestinationPtrType)(v) -} +type NetworkInsightsAnalysisReturnPathComponentOutboundHeaderArray []NetworkInsightsAnalysisReturnPathComponentOutboundHeaderInput -func (*networkInsightsPathFilterAtDestinationPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**NetworkInsightsPathFilterAtDestination)(nil)).Elem() +func (NetworkInsightsAnalysisReturnPathComponentOutboundHeaderArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkInsightsAnalysisReturnPathComponentOutboundHeader)(nil)).Elem() } -func (i *networkInsightsPathFilterAtDestinationPtrType) ToNetworkInsightsPathFilterAtDestinationPtrOutput() NetworkInsightsPathFilterAtDestinationPtrOutput { - return i.ToNetworkInsightsPathFilterAtDestinationPtrOutputWithContext(context.Background()) +func (i NetworkInsightsAnalysisReturnPathComponentOutboundHeaderArray) ToNetworkInsightsAnalysisReturnPathComponentOutboundHeaderArrayOutput() NetworkInsightsAnalysisReturnPathComponentOutboundHeaderArrayOutput { + return i.ToNetworkInsightsAnalysisReturnPathComponentOutboundHeaderArrayOutputWithContext(context.Background()) } -func (i *networkInsightsPathFilterAtDestinationPtrType) ToNetworkInsightsPathFilterAtDestinationPtrOutputWithContext(ctx context.Context) NetworkInsightsPathFilterAtDestinationPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsPathFilterAtDestinationPtrOutput) +func (i NetworkInsightsAnalysisReturnPathComponentOutboundHeaderArray) ToNetworkInsightsAnalysisReturnPathComponentOutboundHeaderArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisReturnPathComponentOutboundHeaderArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisReturnPathComponentOutboundHeaderArrayOutput) } -type NetworkInsightsPathFilterAtDestinationOutput struct{ *pulumi.OutputState } +type NetworkInsightsAnalysisReturnPathComponentOutboundHeaderOutput struct{ *pulumi.OutputState } -func (NetworkInsightsPathFilterAtDestinationOutput) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkInsightsPathFilterAtDestination)(nil)).Elem() +func (NetworkInsightsAnalysisReturnPathComponentOutboundHeaderOutput) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInsightsAnalysisReturnPathComponentOutboundHeader)(nil)).Elem() } -func (o NetworkInsightsPathFilterAtDestinationOutput) ToNetworkInsightsPathFilterAtDestinationOutput() NetworkInsightsPathFilterAtDestinationOutput { +func (o NetworkInsightsAnalysisReturnPathComponentOutboundHeaderOutput) ToNetworkInsightsAnalysisReturnPathComponentOutboundHeaderOutput() NetworkInsightsAnalysisReturnPathComponentOutboundHeaderOutput { return o } -func (o NetworkInsightsPathFilterAtDestinationOutput) ToNetworkInsightsPathFilterAtDestinationOutputWithContext(ctx context.Context) NetworkInsightsPathFilterAtDestinationOutput { +func (o NetworkInsightsAnalysisReturnPathComponentOutboundHeaderOutput) ToNetworkInsightsAnalysisReturnPathComponentOutboundHeaderOutputWithContext(ctx context.Context) NetworkInsightsAnalysisReturnPathComponentOutboundHeaderOutput { return o } -func (o NetworkInsightsPathFilterAtDestinationOutput) ToNetworkInsightsPathFilterAtDestinationPtrOutput() NetworkInsightsPathFilterAtDestinationPtrOutput { - return o.ToNetworkInsightsPathFilterAtDestinationPtrOutputWithContext(context.Background()) -} - -func (o NetworkInsightsPathFilterAtDestinationOutput) ToNetworkInsightsPathFilterAtDestinationPtrOutputWithContext(ctx context.Context) NetworkInsightsPathFilterAtDestinationPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v NetworkInsightsPathFilterAtDestination) *NetworkInsightsPathFilterAtDestination { - return &v - }).(NetworkInsightsPathFilterAtDestinationPtrOutput) +func (o NetworkInsightsAnalysisReturnPathComponentOutboundHeaderOutput) DestinationAddresses() pulumi.StringArrayOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponentOutboundHeader) []string { + return v.DestinationAddresses + }).(pulumi.StringArrayOutput) } -// The destination IPv4 address. -func (o NetworkInsightsPathFilterAtDestinationOutput) DestinationAddress() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsPathFilterAtDestination) *string { return v.DestinationAddress }).(pulumi.StringPtrOutput) +func (o NetworkInsightsAnalysisReturnPathComponentOutboundHeaderOutput) DestinationPortRanges() NetworkInsightsAnalysisReturnPathComponentOutboundHeaderDestinationPortRangeArrayOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponentOutboundHeader) []NetworkInsightsAnalysisReturnPathComponentOutboundHeaderDestinationPortRange { + return v.DestinationPortRanges + }).(NetworkInsightsAnalysisReturnPathComponentOutboundHeaderDestinationPortRangeArrayOutput) } -// The destination port range. See below for details. -func (o NetworkInsightsPathFilterAtDestinationOutput) DestinationPortRange() NetworkInsightsPathFilterAtDestinationDestinationPortRangePtrOutput { - return o.ApplyT(func(v NetworkInsightsPathFilterAtDestination) *NetworkInsightsPathFilterAtDestinationDestinationPortRange { - return v.DestinationPortRange - }).(NetworkInsightsPathFilterAtDestinationDestinationPortRangePtrOutput) +func (o NetworkInsightsAnalysisReturnPathComponentOutboundHeaderOutput) Protocol() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponentOutboundHeader) *string { return v.Protocol }).(pulumi.StringPtrOutput) } -// IP address of the source resource. -func (o NetworkInsightsPathFilterAtDestinationOutput) SourceAddress() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsPathFilterAtDestination) *string { return v.SourceAddress }).(pulumi.StringPtrOutput) +func (o NetworkInsightsAnalysisReturnPathComponentOutboundHeaderOutput) SourceAddresses() pulumi.StringArrayOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponentOutboundHeader) []string { return v.SourceAddresses }).(pulumi.StringArrayOutput) } -// The source port range. See below for details. -func (o NetworkInsightsPathFilterAtDestinationOutput) SourcePortRange() NetworkInsightsPathFilterAtDestinationSourcePortRangePtrOutput { - return o.ApplyT(func(v NetworkInsightsPathFilterAtDestination) *NetworkInsightsPathFilterAtDestinationSourcePortRange { - return v.SourcePortRange - }).(NetworkInsightsPathFilterAtDestinationSourcePortRangePtrOutput) +func (o NetworkInsightsAnalysisReturnPathComponentOutboundHeaderOutput) SourcePortRanges() NetworkInsightsAnalysisReturnPathComponentOutboundHeaderSourcePortRangeArrayOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponentOutboundHeader) []NetworkInsightsAnalysisReturnPathComponentOutboundHeaderSourcePortRange { + return v.SourcePortRanges + }).(NetworkInsightsAnalysisReturnPathComponentOutboundHeaderSourcePortRangeArrayOutput) } -type NetworkInsightsPathFilterAtDestinationPtrOutput struct{ *pulumi.OutputState } +type NetworkInsightsAnalysisReturnPathComponentOutboundHeaderArrayOutput struct{ *pulumi.OutputState } -func (NetworkInsightsPathFilterAtDestinationPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**NetworkInsightsPathFilterAtDestination)(nil)).Elem() +func (NetworkInsightsAnalysisReturnPathComponentOutboundHeaderArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkInsightsAnalysisReturnPathComponentOutboundHeader)(nil)).Elem() } -func (o NetworkInsightsPathFilterAtDestinationPtrOutput) ToNetworkInsightsPathFilterAtDestinationPtrOutput() NetworkInsightsPathFilterAtDestinationPtrOutput { +func (o NetworkInsightsAnalysisReturnPathComponentOutboundHeaderArrayOutput) ToNetworkInsightsAnalysisReturnPathComponentOutboundHeaderArrayOutput() NetworkInsightsAnalysisReturnPathComponentOutboundHeaderArrayOutput { return o } -func (o NetworkInsightsPathFilterAtDestinationPtrOutput) ToNetworkInsightsPathFilterAtDestinationPtrOutputWithContext(ctx context.Context) NetworkInsightsPathFilterAtDestinationPtrOutput { +func (o NetworkInsightsAnalysisReturnPathComponentOutboundHeaderArrayOutput) ToNetworkInsightsAnalysisReturnPathComponentOutboundHeaderArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisReturnPathComponentOutboundHeaderArrayOutput { return o } -func (o NetworkInsightsPathFilterAtDestinationPtrOutput) Elem() NetworkInsightsPathFilterAtDestinationOutput { - return o.ApplyT(func(v *NetworkInsightsPathFilterAtDestination) NetworkInsightsPathFilterAtDestination { - if v != nil { - return *v - } - var ret NetworkInsightsPathFilterAtDestination - return ret - }).(NetworkInsightsPathFilterAtDestinationOutput) -} - -// The destination IPv4 address. -func (o NetworkInsightsPathFilterAtDestinationPtrOutput) DestinationAddress() pulumi.StringPtrOutput { - return o.ApplyT(func(v *NetworkInsightsPathFilterAtDestination) *string { - if v == nil { - return nil - } - return v.DestinationAddress - }).(pulumi.StringPtrOutput) -} - -// The destination port range. See below for details. -func (o NetworkInsightsPathFilterAtDestinationPtrOutput) DestinationPortRange() NetworkInsightsPathFilterAtDestinationDestinationPortRangePtrOutput { - return o.ApplyT(func(v *NetworkInsightsPathFilterAtDestination) *NetworkInsightsPathFilterAtDestinationDestinationPortRange { - if v == nil { - return nil - } - return v.DestinationPortRange - }).(NetworkInsightsPathFilterAtDestinationDestinationPortRangePtrOutput) -} - -// IP address of the source resource. -func (o NetworkInsightsPathFilterAtDestinationPtrOutput) SourceAddress() pulumi.StringPtrOutput { - return o.ApplyT(func(v *NetworkInsightsPathFilterAtDestination) *string { - if v == nil { - return nil - } - return v.SourceAddress - }).(pulumi.StringPtrOutput) -} - -// The source port range. See below for details. -func (o NetworkInsightsPathFilterAtDestinationPtrOutput) SourcePortRange() NetworkInsightsPathFilterAtDestinationSourcePortRangePtrOutput { - return o.ApplyT(func(v *NetworkInsightsPathFilterAtDestination) *NetworkInsightsPathFilterAtDestinationSourcePortRange { - if v == nil { - return nil - } - return v.SourcePortRange - }).(NetworkInsightsPathFilterAtDestinationSourcePortRangePtrOutput) +func (o NetworkInsightsAnalysisReturnPathComponentOutboundHeaderArrayOutput) Index(i pulumi.IntInput) NetworkInsightsAnalysisReturnPathComponentOutboundHeaderOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkInsightsAnalysisReturnPathComponentOutboundHeader { + return vs[0].([]NetworkInsightsAnalysisReturnPathComponentOutboundHeader)[vs[1].(int)] + }).(NetworkInsightsAnalysisReturnPathComponentOutboundHeaderOutput) } -type NetworkInsightsPathFilterAtDestinationDestinationPortRange struct { - // The first port in the range. - FromPort *int `pulumi:"fromPort"` - // The last port in the range. - ToPort *int `pulumi:"toPort"` +type NetworkInsightsAnalysisReturnPathComponentOutboundHeaderDestinationPortRange struct { + From *int `pulumi:"from"` + To *int `pulumi:"to"` } -// NetworkInsightsPathFilterAtDestinationDestinationPortRangeInput is an input type that accepts NetworkInsightsPathFilterAtDestinationDestinationPortRangeArgs and NetworkInsightsPathFilterAtDestinationDestinationPortRangeOutput values. -// You can construct a concrete instance of `NetworkInsightsPathFilterAtDestinationDestinationPortRangeInput` via: +// NetworkInsightsAnalysisReturnPathComponentOutboundHeaderDestinationPortRangeInput is an input type that accepts NetworkInsightsAnalysisReturnPathComponentOutboundHeaderDestinationPortRangeArgs and NetworkInsightsAnalysisReturnPathComponentOutboundHeaderDestinationPortRangeOutput values. +// You can construct a concrete instance of `NetworkInsightsAnalysisReturnPathComponentOutboundHeaderDestinationPortRangeInput` via: // -// NetworkInsightsPathFilterAtDestinationDestinationPortRangeArgs{...} -type NetworkInsightsPathFilterAtDestinationDestinationPortRangeInput interface { +// NetworkInsightsAnalysisReturnPathComponentOutboundHeaderDestinationPortRangeArgs{...} +type NetworkInsightsAnalysisReturnPathComponentOutboundHeaderDestinationPortRangeInput interface { pulumi.Input - ToNetworkInsightsPathFilterAtDestinationDestinationPortRangeOutput() NetworkInsightsPathFilterAtDestinationDestinationPortRangeOutput - ToNetworkInsightsPathFilterAtDestinationDestinationPortRangeOutputWithContext(context.Context) NetworkInsightsPathFilterAtDestinationDestinationPortRangeOutput -} - -type NetworkInsightsPathFilterAtDestinationDestinationPortRangeArgs struct { - // The first port in the range. - FromPort pulumi.IntPtrInput `pulumi:"fromPort"` - // The last port in the range. - ToPort pulumi.IntPtrInput `pulumi:"toPort"` -} - -func (NetworkInsightsPathFilterAtDestinationDestinationPortRangeArgs) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkInsightsPathFilterAtDestinationDestinationPortRange)(nil)).Elem() + ToNetworkInsightsAnalysisReturnPathComponentOutboundHeaderDestinationPortRangeOutput() NetworkInsightsAnalysisReturnPathComponentOutboundHeaderDestinationPortRangeOutput + ToNetworkInsightsAnalysisReturnPathComponentOutboundHeaderDestinationPortRangeOutputWithContext(context.Context) NetworkInsightsAnalysisReturnPathComponentOutboundHeaderDestinationPortRangeOutput } -func (i NetworkInsightsPathFilterAtDestinationDestinationPortRangeArgs) ToNetworkInsightsPathFilterAtDestinationDestinationPortRangeOutput() NetworkInsightsPathFilterAtDestinationDestinationPortRangeOutput { - return i.ToNetworkInsightsPathFilterAtDestinationDestinationPortRangeOutputWithContext(context.Background()) +type NetworkInsightsAnalysisReturnPathComponentOutboundHeaderDestinationPortRangeArgs struct { + From pulumi.IntPtrInput `pulumi:"from"` + To pulumi.IntPtrInput `pulumi:"to"` } -func (i NetworkInsightsPathFilterAtDestinationDestinationPortRangeArgs) ToNetworkInsightsPathFilterAtDestinationDestinationPortRangeOutputWithContext(ctx context.Context) NetworkInsightsPathFilterAtDestinationDestinationPortRangeOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsPathFilterAtDestinationDestinationPortRangeOutput) +func (NetworkInsightsAnalysisReturnPathComponentOutboundHeaderDestinationPortRangeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInsightsAnalysisReturnPathComponentOutboundHeaderDestinationPortRange)(nil)).Elem() } -func (i NetworkInsightsPathFilterAtDestinationDestinationPortRangeArgs) ToNetworkInsightsPathFilterAtDestinationDestinationPortRangePtrOutput() NetworkInsightsPathFilterAtDestinationDestinationPortRangePtrOutput { - return i.ToNetworkInsightsPathFilterAtDestinationDestinationPortRangePtrOutputWithContext(context.Background()) +func (i NetworkInsightsAnalysisReturnPathComponentOutboundHeaderDestinationPortRangeArgs) ToNetworkInsightsAnalysisReturnPathComponentOutboundHeaderDestinationPortRangeOutput() NetworkInsightsAnalysisReturnPathComponentOutboundHeaderDestinationPortRangeOutput { + return i.ToNetworkInsightsAnalysisReturnPathComponentOutboundHeaderDestinationPortRangeOutputWithContext(context.Background()) } -func (i NetworkInsightsPathFilterAtDestinationDestinationPortRangeArgs) ToNetworkInsightsPathFilterAtDestinationDestinationPortRangePtrOutputWithContext(ctx context.Context) NetworkInsightsPathFilterAtDestinationDestinationPortRangePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsPathFilterAtDestinationDestinationPortRangeOutput).ToNetworkInsightsPathFilterAtDestinationDestinationPortRangePtrOutputWithContext(ctx) +func (i NetworkInsightsAnalysisReturnPathComponentOutboundHeaderDestinationPortRangeArgs) ToNetworkInsightsAnalysisReturnPathComponentOutboundHeaderDestinationPortRangeOutputWithContext(ctx context.Context) NetworkInsightsAnalysisReturnPathComponentOutboundHeaderDestinationPortRangeOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisReturnPathComponentOutboundHeaderDestinationPortRangeOutput) } -// NetworkInsightsPathFilterAtDestinationDestinationPortRangePtrInput is an input type that accepts NetworkInsightsPathFilterAtDestinationDestinationPortRangeArgs, NetworkInsightsPathFilterAtDestinationDestinationPortRangePtr and NetworkInsightsPathFilterAtDestinationDestinationPortRangePtrOutput values. -// You can construct a concrete instance of `NetworkInsightsPathFilterAtDestinationDestinationPortRangePtrInput` via: -// -// NetworkInsightsPathFilterAtDestinationDestinationPortRangeArgs{...} -// -// or: +// NetworkInsightsAnalysisReturnPathComponentOutboundHeaderDestinationPortRangeArrayInput is an input type that accepts NetworkInsightsAnalysisReturnPathComponentOutboundHeaderDestinationPortRangeArray and NetworkInsightsAnalysisReturnPathComponentOutboundHeaderDestinationPortRangeArrayOutput values. +// You can construct a concrete instance of `NetworkInsightsAnalysisReturnPathComponentOutboundHeaderDestinationPortRangeArrayInput` via: // -// nil -type NetworkInsightsPathFilterAtDestinationDestinationPortRangePtrInput interface { +// NetworkInsightsAnalysisReturnPathComponentOutboundHeaderDestinationPortRangeArray{ NetworkInsightsAnalysisReturnPathComponentOutboundHeaderDestinationPortRangeArgs{...} } +type NetworkInsightsAnalysisReturnPathComponentOutboundHeaderDestinationPortRangeArrayInput interface { pulumi.Input - ToNetworkInsightsPathFilterAtDestinationDestinationPortRangePtrOutput() NetworkInsightsPathFilterAtDestinationDestinationPortRangePtrOutput - ToNetworkInsightsPathFilterAtDestinationDestinationPortRangePtrOutputWithContext(context.Context) NetworkInsightsPathFilterAtDestinationDestinationPortRangePtrOutput + ToNetworkInsightsAnalysisReturnPathComponentOutboundHeaderDestinationPortRangeArrayOutput() NetworkInsightsAnalysisReturnPathComponentOutboundHeaderDestinationPortRangeArrayOutput + ToNetworkInsightsAnalysisReturnPathComponentOutboundHeaderDestinationPortRangeArrayOutputWithContext(context.Context) NetworkInsightsAnalysisReturnPathComponentOutboundHeaderDestinationPortRangeArrayOutput } -type networkInsightsPathFilterAtDestinationDestinationPortRangePtrType NetworkInsightsPathFilterAtDestinationDestinationPortRangeArgs - -func NetworkInsightsPathFilterAtDestinationDestinationPortRangePtr(v *NetworkInsightsPathFilterAtDestinationDestinationPortRangeArgs) NetworkInsightsPathFilterAtDestinationDestinationPortRangePtrInput { - return (*networkInsightsPathFilterAtDestinationDestinationPortRangePtrType)(v) -} +type NetworkInsightsAnalysisReturnPathComponentOutboundHeaderDestinationPortRangeArray []NetworkInsightsAnalysisReturnPathComponentOutboundHeaderDestinationPortRangeInput -func (*networkInsightsPathFilterAtDestinationDestinationPortRangePtrType) ElementType() reflect.Type { - return reflect.TypeOf((**NetworkInsightsPathFilterAtDestinationDestinationPortRange)(nil)).Elem() +func (NetworkInsightsAnalysisReturnPathComponentOutboundHeaderDestinationPortRangeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkInsightsAnalysisReturnPathComponentOutboundHeaderDestinationPortRange)(nil)).Elem() } -func (i *networkInsightsPathFilterAtDestinationDestinationPortRangePtrType) ToNetworkInsightsPathFilterAtDestinationDestinationPortRangePtrOutput() NetworkInsightsPathFilterAtDestinationDestinationPortRangePtrOutput { - return i.ToNetworkInsightsPathFilterAtDestinationDestinationPortRangePtrOutputWithContext(context.Background()) +func (i NetworkInsightsAnalysisReturnPathComponentOutboundHeaderDestinationPortRangeArray) ToNetworkInsightsAnalysisReturnPathComponentOutboundHeaderDestinationPortRangeArrayOutput() NetworkInsightsAnalysisReturnPathComponentOutboundHeaderDestinationPortRangeArrayOutput { + return i.ToNetworkInsightsAnalysisReturnPathComponentOutboundHeaderDestinationPortRangeArrayOutputWithContext(context.Background()) } -func (i *networkInsightsPathFilterAtDestinationDestinationPortRangePtrType) ToNetworkInsightsPathFilterAtDestinationDestinationPortRangePtrOutputWithContext(ctx context.Context) NetworkInsightsPathFilterAtDestinationDestinationPortRangePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsPathFilterAtDestinationDestinationPortRangePtrOutput) +func (i NetworkInsightsAnalysisReturnPathComponentOutboundHeaderDestinationPortRangeArray) ToNetworkInsightsAnalysisReturnPathComponentOutboundHeaderDestinationPortRangeArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisReturnPathComponentOutboundHeaderDestinationPortRangeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisReturnPathComponentOutboundHeaderDestinationPortRangeArrayOutput) } -type NetworkInsightsPathFilterAtDestinationDestinationPortRangeOutput struct{ *pulumi.OutputState } +type NetworkInsightsAnalysisReturnPathComponentOutboundHeaderDestinationPortRangeOutput struct{ *pulumi.OutputState } -func (NetworkInsightsPathFilterAtDestinationDestinationPortRangeOutput) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkInsightsPathFilterAtDestinationDestinationPortRange)(nil)).Elem() +func (NetworkInsightsAnalysisReturnPathComponentOutboundHeaderDestinationPortRangeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInsightsAnalysisReturnPathComponentOutboundHeaderDestinationPortRange)(nil)).Elem() } -func (o NetworkInsightsPathFilterAtDestinationDestinationPortRangeOutput) ToNetworkInsightsPathFilterAtDestinationDestinationPortRangeOutput() NetworkInsightsPathFilterAtDestinationDestinationPortRangeOutput { +func (o NetworkInsightsAnalysisReturnPathComponentOutboundHeaderDestinationPortRangeOutput) ToNetworkInsightsAnalysisReturnPathComponentOutboundHeaderDestinationPortRangeOutput() NetworkInsightsAnalysisReturnPathComponentOutboundHeaderDestinationPortRangeOutput { return o } -func (o NetworkInsightsPathFilterAtDestinationDestinationPortRangeOutput) ToNetworkInsightsPathFilterAtDestinationDestinationPortRangeOutputWithContext(ctx context.Context) NetworkInsightsPathFilterAtDestinationDestinationPortRangeOutput { +func (o NetworkInsightsAnalysisReturnPathComponentOutboundHeaderDestinationPortRangeOutput) ToNetworkInsightsAnalysisReturnPathComponentOutboundHeaderDestinationPortRangeOutputWithContext(ctx context.Context) NetworkInsightsAnalysisReturnPathComponentOutboundHeaderDestinationPortRangeOutput { return o } -func (o NetworkInsightsPathFilterAtDestinationDestinationPortRangeOutput) ToNetworkInsightsPathFilterAtDestinationDestinationPortRangePtrOutput() NetworkInsightsPathFilterAtDestinationDestinationPortRangePtrOutput { - return o.ToNetworkInsightsPathFilterAtDestinationDestinationPortRangePtrOutputWithContext(context.Background()) -} - -func (o NetworkInsightsPathFilterAtDestinationDestinationPortRangeOutput) ToNetworkInsightsPathFilterAtDestinationDestinationPortRangePtrOutputWithContext(ctx context.Context) NetworkInsightsPathFilterAtDestinationDestinationPortRangePtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v NetworkInsightsPathFilterAtDestinationDestinationPortRange) *NetworkInsightsPathFilterAtDestinationDestinationPortRange { - return &v - }).(NetworkInsightsPathFilterAtDestinationDestinationPortRangePtrOutput) -} - -// The first port in the range. -func (o NetworkInsightsPathFilterAtDestinationDestinationPortRangeOutput) FromPort() pulumi.IntPtrOutput { - return o.ApplyT(func(v NetworkInsightsPathFilterAtDestinationDestinationPortRange) *int { return v.FromPort }).(pulumi.IntPtrOutput) +func (o NetworkInsightsAnalysisReturnPathComponentOutboundHeaderDestinationPortRangeOutput) From() pulumi.IntPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponentOutboundHeaderDestinationPortRange) *int { + return v.From + }).(pulumi.IntPtrOutput) } -// The last port in the range. -func (o NetworkInsightsPathFilterAtDestinationDestinationPortRangeOutput) ToPort() pulumi.IntPtrOutput { - return o.ApplyT(func(v NetworkInsightsPathFilterAtDestinationDestinationPortRange) *int { return v.ToPort }).(pulumi.IntPtrOutput) +func (o NetworkInsightsAnalysisReturnPathComponentOutboundHeaderDestinationPortRangeOutput) To() pulumi.IntPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponentOutboundHeaderDestinationPortRange) *int { return v.To }).(pulumi.IntPtrOutput) } -type NetworkInsightsPathFilterAtDestinationDestinationPortRangePtrOutput struct{ *pulumi.OutputState } +type NetworkInsightsAnalysisReturnPathComponentOutboundHeaderDestinationPortRangeArrayOutput struct{ *pulumi.OutputState } -func (NetworkInsightsPathFilterAtDestinationDestinationPortRangePtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**NetworkInsightsPathFilterAtDestinationDestinationPortRange)(nil)).Elem() +func (NetworkInsightsAnalysisReturnPathComponentOutboundHeaderDestinationPortRangeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkInsightsAnalysisReturnPathComponentOutboundHeaderDestinationPortRange)(nil)).Elem() } -func (o NetworkInsightsPathFilterAtDestinationDestinationPortRangePtrOutput) ToNetworkInsightsPathFilterAtDestinationDestinationPortRangePtrOutput() NetworkInsightsPathFilterAtDestinationDestinationPortRangePtrOutput { +func (o NetworkInsightsAnalysisReturnPathComponentOutboundHeaderDestinationPortRangeArrayOutput) ToNetworkInsightsAnalysisReturnPathComponentOutboundHeaderDestinationPortRangeArrayOutput() NetworkInsightsAnalysisReturnPathComponentOutboundHeaderDestinationPortRangeArrayOutput { return o } -func (o NetworkInsightsPathFilterAtDestinationDestinationPortRangePtrOutput) ToNetworkInsightsPathFilterAtDestinationDestinationPortRangePtrOutputWithContext(ctx context.Context) NetworkInsightsPathFilterAtDestinationDestinationPortRangePtrOutput { +func (o NetworkInsightsAnalysisReturnPathComponentOutboundHeaderDestinationPortRangeArrayOutput) ToNetworkInsightsAnalysisReturnPathComponentOutboundHeaderDestinationPortRangeArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisReturnPathComponentOutboundHeaderDestinationPortRangeArrayOutput { return o } -func (o NetworkInsightsPathFilterAtDestinationDestinationPortRangePtrOutput) Elem() NetworkInsightsPathFilterAtDestinationDestinationPortRangeOutput { - return o.ApplyT(func(v *NetworkInsightsPathFilterAtDestinationDestinationPortRange) NetworkInsightsPathFilterAtDestinationDestinationPortRange { - if v != nil { - return *v - } - var ret NetworkInsightsPathFilterAtDestinationDestinationPortRange - return ret - }).(NetworkInsightsPathFilterAtDestinationDestinationPortRangeOutput) -} - -// The first port in the range. -func (o NetworkInsightsPathFilterAtDestinationDestinationPortRangePtrOutput) FromPort() pulumi.IntPtrOutput { - return o.ApplyT(func(v *NetworkInsightsPathFilterAtDestinationDestinationPortRange) *int { - if v == nil { - return nil - } - return v.FromPort - }).(pulumi.IntPtrOutput) -} - -// The last port in the range. -func (o NetworkInsightsPathFilterAtDestinationDestinationPortRangePtrOutput) ToPort() pulumi.IntPtrOutput { - return o.ApplyT(func(v *NetworkInsightsPathFilterAtDestinationDestinationPortRange) *int { - if v == nil { - return nil - } - return v.ToPort - }).(pulumi.IntPtrOutput) +func (o NetworkInsightsAnalysisReturnPathComponentOutboundHeaderDestinationPortRangeArrayOutput) Index(i pulumi.IntInput) NetworkInsightsAnalysisReturnPathComponentOutboundHeaderDestinationPortRangeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkInsightsAnalysisReturnPathComponentOutboundHeaderDestinationPortRange { + return vs[0].([]NetworkInsightsAnalysisReturnPathComponentOutboundHeaderDestinationPortRange)[vs[1].(int)] + }).(NetworkInsightsAnalysisReturnPathComponentOutboundHeaderDestinationPortRangeOutput) } -type NetworkInsightsPathFilterAtDestinationSourcePortRange struct { - // The first port in the range. - FromPort *int `pulumi:"fromPort"` - // The last port in the range. - ToPort *int `pulumi:"toPort"` +type NetworkInsightsAnalysisReturnPathComponentOutboundHeaderSourcePortRange struct { + From *int `pulumi:"from"` + To *int `pulumi:"to"` } -// NetworkInsightsPathFilterAtDestinationSourcePortRangeInput is an input type that accepts NetworkInsightsPathFilterAtDestinationSourcePortRangeArgs and NetworkInsightsPathFilterAtDestinationSourcePortRangeOutput values. -// You can construct a concrete instance of `NetworkInsightsPathFilterAtDestinationSourcePortRangeInput` via: +// NetworkInsightsAnalysisReturnPathComponentOutboundHeaderSourcePortRangeInput is an input type that accepts NetworkInsightsAnalysisReturnPathComponentOutboundHeaderSourcePortRangeArgs and NetworkInsightsAnalysisReturnPathComponentOutboundHeaderSourcePortRangeOutput values. +// You can construct a concrete instance of `NetworkInsightsAnalysisReturnPathComponentOutboundHeaderSourcePortRangeInput` via: // -// NetworkInsightsPathFilterAtDestinationSourcePortRangeArgs{...} -type NetworkInsightsPathFilterAtDestinationSourcePortRangeInput interface { +// NetworkInsightsAnalysisReturnPathComponentOutboundHeaderSourcePortRangeArgs{...} +type NetworkInsightsAnalysisReturnPathComponentOutboundHeaderSourcePortRangeInput interface { pulumi.Input - ToNetworkInsightsPathFilterAtDestinationSourcePortRangeOutput() NetworkInsightsPathFilterAtDestinationSourcePortRangeOutput - ToNetworkInsightsPathFilterAtDestinationSourcePortRangeOutputWithContext(context.Context) NetworkInsightsPathFilterAtDestinationSourcePortRangeOutput -} - -type NetworkInsightsPathFilterAtDestinationSourcePortRangeArgs struct { - // The first port in the range. - FromPort pulumi.IntPtrInput `pulumi:"fromPort"` - // The last port in the range. - ToPort pulumi.IntPtrInput `pulumi:"toPort"` -} - -func (NetworkInsightsPathFilterAtDestinationSourcePortRangeArgs) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkInsightsPathFilterAtDestinationSourcePortRange)(nil)).Elem() + ToNetworkInsightsAnalysisReturnPathComponentOutboundHeaderSourcePortRangeOutput() NetworkInsightsAnalysisReturnPathComponentOutboundHeaderSourcePortRangeOutput + ToNetworkInsightsAnalysisReturnPathComponentOutboundHeaderSourcePortRangeOutputWithContext(context.Context) NetworkInsightsAnalysisReturnPathComponentOutboundHeaderSourcePortRangeOutput } -func (i NetworkInsightsPathFilterAtDestinationSourcePortRangeArgs) ToNetworkInsightsPathFilterAtDestinationSourcePortRangeOutput() NetworkInsightsPathFilterAtDestinationSourcePortRangeOutput { - return i.ToNetworkInsightsPathFilterAtDestinationSourcePortRangeOutputWithContext(context.Background()) +type NetworkInsightsAnalysisReturnPathComponentOutboundHeaderSourcePortRangeArgs struct { + From pulumi.IntPtrInput `pulumi:"from"` + To pulumi.IntPtrInput `pulumi:"to"` } -func (i NetworkInsightsPathFilterAtDestinationSourcePortRangeArgs) ToNetworkInsightsPathFilterAtDestinationSourcePortRangeOutputWithContext(ctx context.Context) NetworkInsightsPathFilterAtDestinationSourcePortRangeOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsPathFilterAtDestinationSourcePortRangeOutput) +func (NetworkInsightsAnalysisReturnPathComponentOutboundHeaderSourcePortRangeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInsightsAnalysisReturnPathComponentOutboundHeaderSourcePortRange)(nil)).Elem() } -func (i NetworkInsightsPathFilterAtDestinationSourcePortRangeArgs) ToNetworkInsightsPathFilterAtDestinationSourcePortRangePtrOutput() NetworkInsightsPathFilterAtDestinationSourcePortRangePtrOutput { - return i.ToNetworkInsightsPathFilterAtDestinationSourcePortRangePtrOutputWithContext(context.Background()) +func (i NetworkInsightsAnalysisReturnPathComponentOutboundHeaderSourcePortRangeArgs) ToNetworkInsightsAnalysisReturnPathComponentOutboundHeaderSourcePortRangeOutput() NetworkInsightsAnalysisReturnPathComponentOutboundHeaderSourcePortRangeOutput { + return i.ToNetworkInsightsAnalysisReturnPathComponentOutboundHeaderSourcePortRangeOutputWithContext(context.Background()) } -func (i NetworkInsightsPathFilterAtDestinationSourcePortRangeArgs) ToNetworkInsightsPathFilterAtDestinationSourcePortRangePtrOutputWithContext(ctx context.Context) NetworkInsightsPathFilterAtDestinationSourcePortRangePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsPathFilterAtDestinationSourcePortRangeOutput).ToNetworkInsightsPathFilterAtDestinationSourcePortRangePtrOutputWithContext(ctx) +func (i NetworkInsightsAnalysisReturnPathComponentOutboundHeaderSourcePortRangeArgs) ToNetworkInsightsAnalysisReturnPathComponentOutboundHeaderSourcePortRangeOutputWithContext(ctx context.Context) NetworkInsightsAnalysisReturnPathComponentOutboundHeaderSourcePortRangeOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisReturnPathComponentOutboundHeaderSourcePortRangeOutput) } -// NetworkInsightsPathFilterAtDestinationSourcePortRangePtrInput is an input type that accepts NetworkInsightsPathFilterAtDestinationSourcePortRangeArgs, NetworkInsightsPathFilterAtDestinationSourcePortRangePtr and NetworkInsightsPathFilterAtDestinationSourcePortRangePtrOutput values. -// You can construct a concrete instance of `NetworkInsightsPathFilterAtDestinationSourcePortRangePtrInput` via: -// -// NetworkInsightsPathFilterAtDestinationSourcePortRangeArgs{...} -// -// or: +// NetworkInsightsAnalysisReturnPathComponentOutboundHeaderSourcePortRangeArrayInput is an input type that accepts NetworkInsightsAnalysisReturnPathComponentOutboundHeaderSourcePortRangeArray and NetworkInsightsAnalysisReturnPathComponentOutboundHeaderSourcePortRangeArrayOutput values. +// You can construct a concrete instance of `NetworkInsightsAnalysisReturnPathComponentOutboundHeaderSourcePortRangeArrayInput` via: // -// nil -type NetworkInsightsPathFilterAtDestinationSourcePortRangePtrInput interface { +// NetworkInsightsAnalysisReturnPathComponentOutboundHeaderSourcePortRangeArray{ NetworkInsightsAnalysisReturnPathComponentOutboundHeaderSourcePortRangeArgs{...} } +type NetworkInsightsAnalysisReturnPathComponentOutboundHeaderSourcePortRangeArrayInput interface { pulumi.Input - ToNetworkInsightsPathFilterAtDestinationSourcePortRangePtrOutput() NetworkInsightsPathFilterAtDestinationSourcePortRangePtrOutput - ToNetworkInsightsPathFilterAtDestinationSourcePortRangePtrOutputWithContext(context.Context) NetworkInsightsPathFilterAtDestinationSourcePortRangePtrOutput + ToNetworkInsightsAnalysisReturnPathComponentOutboundHeaderSourcePortRangeArrayOutput() NetworkInsightsAnalysisReturnPathComponentOutboundHeaderSourcePortRangeArrayOutput + ToNetworkInsightsAnalysisReturnPathComponentOutboundHeaderSourcePortRangeArrayOutputWithContext(context.Context) NetworkInsightsAnalysisReturnPathComponentOutboundHeaderSourcePortRangeArrayOutput } -type networkInsightsPathFilterAtDestinationSourcePortRangePtrType NetworkInsightsPathFilterAtDestinationSourcePortRangeArgs - -func NetworkInsightsPathFilterAtDestinationSourcePortRangePtr(v *NetworkInsightsPathFilterAtDestinationSourcePortRangeArgs) NetworkInsightsPathFilterAtDestinationSourcePortRangePtrInput { - return (*networkInsightsPathFilterAtDestinationSourcePortRangePtrType)(v) -} +type NetworkInsightsAnalysisReturnPathComponentOutboundHeaderSourcePortRangeArray []NetworkInsightsAnalysisReturnPathComponentOutboundHeaderSourcePortRangeInput -func (*networkInsightsPathFilterAtDestinationSourcePortRangePtrType) ElementType() reflect.Type { - return reflect.TypeOf((**NetworkInsightsPathFilterAtDestinationSourcePortRange)(nil)).Elem() +func (NetworkInsightsAnalysisReturnPathComponentOutboundHeaderSourcePortRangeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkInsightsAnalysisReturnPathComponentOutboundHeaderSourcePortRange)(nil)).Elem() } -func (i *networkInsightsPathFilterAtDestinationSourcePortRangePtrType) ToNetworkInsightsPathFilterAtDestinationSourcePortRangePtrOutput() NetworkInsightsPathFilterAtDestinationSourcePortRangePtrOutput { - return i.ToNetworkInsightsPathFilterAtDestinationSourcePortRangePtrOutputWithContext(context.Background()) +func (i NetworkInsightsAnalysisReturnPathComponentOutboundHeaderSourcePortRangeArray) ToNetworkInsightsAnalysisReturnPathComponentOutboundHeaderSourcePortRangeArrayOutput() NetworkInsightsAnalysisReturnPathComponentOutboundHeaderSourcePortRangeArrayOutput { + return i.ToNetworkInsightsAnalysisReturnPathComponentOutboundHeaderSourcePortRangeArrayOutputWithContext(context.Background()) } -func (i *networkInsightsPathFilterAtDestinationSourcePortRangePtrType) ToNetworkInsightsPathFilterAtDestinationSourcePortRangePtrOutputWithContext(ctx context.Context) NetworkInsightsPathFilterAtDestinationSourcePortRangePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsPathFilterAtDestinationSourcePortRangePtrOutput) +func (i NetworkInsightsAnalysisReturnPathComponentOutboundHeaderSourcePortRangeArray) ToNetworkInsightsAnalysisReturnPathComponentOutboundHeaderSourcePortRangeArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisReturnPathComponentOutboundHeaderSourcePortRangeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisReturnPathComponentOutboundHeaderSourcePortRangeArrayOutput) } -type NetworkInsightsPathFilterAtDestinationSourcePortRangeOutput struct{ *pulumi.OutputState } +type NetworkInsightsAnalysisReturnPathComponentOutboundHeaderSourcePortRangeOutput struct{ *pulumi.OutputState } -func (NetworkInsightsPathFilterAtDestinationSourcePortRangeOutput) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkInsightsPathFilterAtDestinationSourcePortRange)(nil)).Elem() +func (NetworkInsightsAnalysisReturnPathComponentOutboundHeaderSourcePortRangeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInsightsAnalysisReturnPathComponentOutboundHeaderSourcePortRange)(nil)).Elem() } -func (o NetworkInsightsPathFilterAtDestinationSourcePortRangeOutput) ToNetworkInsightsPathFilterAtDestinationSourcePortRangeOutput() NetworkInsightsPathFilterAtDestinationSourcePortRangeOutput { +func (o NetworkInsightsAnalysisReturnPathComponentOutboundHeaderSourcePortRangeOutput) ToNetworkInsightsAnalysisReturnPathComponentOutboundHeaderSourcePortRangeOutput() NetworkInsightsAnalysisReturnPathComponentOutboundHeaderSourcePortRangeOutput { return o } -func (o NetworkInsightsPathFilterAtDestinationSourcePortRangeOutput) ToNetworkInsightsPathFilterAtDestinationSourcePortRangeOutputWithContext(ctx context.Context) NetworkInsightsPathFilterAtDestinationSourcePortRangeOutput { +func (o NetworkInsightsAnalysisReturnPathComponentOutboundHeaderSourcePortRangeOutput) ToNetworkInsightsAnalysisReturnPathComponentOutboundHeaderSourcePortRangeOutputWithContext(ctx context.Context) NetworkInsightsAnalysisReturnPathComponentOutboundHeaderSourcePortRangeOutput { return o } -func (o NetworkInsightsPathFilterAtDestinationSourcePortRangeOutput) ToNetworkInsightsPathFilterAtDestinationSourcePortRangePtrOutput() NetworkInsightsPathFilterAtDestinationSourcePortRangePtrOutput { - return o.ToNetworkInsightsPathFilterAtDestinationSourcePortRangePtrOutputWithContext(context.Background()) +func (o NetworkInsightsAnalysisReturnPathComponentOutboundHeaderSourcePortRangeOutput) From() pulumi.IntPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponentOutboundHeaderSourcePortRange) *int { return v.From }).(pulumi.IntPtrOutput) } -func (o NetworkInsightsPathFilterAtDestinationSourcePortRangeOutput) ToNetworkInsightsPathFilterAtDestinationSourcePortRangePtrOutputWithContext(ctx context.Context) NetworkInsightsPathFilterAtDestinationSourcePortRangePtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v NetworkInsightsPathFilterAtDestinationSourcePortRange) *NetworkInsightsPathFilterAtDestinationSourcePortRange { - return &v - }).(NetworkInsightsPathFilterAtDestinationSourcePortRangePtrOutput) +func (o NetworkInsightsAnalysisReturnPathComponentOutboundHeaderSourcePortRangeOutput) To() pulumi.IntPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponentOutboundHeaderSourcePortRange) *int { return v.To }).(pulumi.IntPtrOutput) } -// The first port in the range. -func (o NetworkInsightsPathFilterAtDestinationSourcePortRangeOutput) FromPort() pulumi.IntPtrOutput { - return o.ApplyT(func(v NetworkInsightsPathFilterAtDestinationSourcePortRange) *int { return v.FromPort }).(pulumi.IntPtrOutput) -} +type NetworkInsightsAnalysisReturnPathComponentOutboundHeaderSourcePortRangeArrayOutput struct{ *pulumi.OutputState } -// The last port in the range. -func (o NetworkInsightsPathFilterAtDestinationSourcePortRangeOutput) ToPort() pulumi.IntPtrOutput { - return o.ApplyT(func(v NetworkInsightsPathFilterAtDestinationSourcePortRange) *int { return v.ToPort }).(pulumi.IntPtrOutput) +func (NetworkInsightsAnalysisReturnPathComponentOutboundHeaderSourcePortRangeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkInsightsAnalysisReturnPathComponentOutboundHeaderSourcePortRange)(nil)).Elem() } -type NetworkInsightsPathFilterAtDestinationSourcePortRangePtrOutput struct{ *pulumi.OutputState } - -func (NetworkInsightsPathFilterAtDestinationSourcePortRangePtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**NetworkInsightsPathFilterAtDestinationSourcePortRange)(nil)).Elem() +func (o NetworkInsightsAnalysisReturnPathComponentOutboundHeaderSourcePortRangeArrayOutput) ToNetworkInsightsAnalysisReturnPathComponentOutboundHeaderSourcePortRangeArrayOutput() NetworkInsightsAnalysisReturnPathComponentOutboundHeaderSourcePortRangeArrayOutput { + return o } -func (o NetworkInsightsPathFilterAtDestinationSourcePortRangePtrOutput) ToNetworkInsightsPathFilterAtDestinationSourcePortRangePtrOutput() NetworkInsightsPathFilterAtDestinationSourcePortRangePtrOutput { +func (o NetworkInsightsAnalysisReturnPathComponentOutboundHeaderSourcePortRangeArrayOutput) ToNetworkInsightsAnalysisReturnPathComponentOutboundHeaderSourcePortRangeArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisReturnPathComponentOutboundHeaderSourcePortRangeArrayOutput { return o } -func (o NetworkInsightsPathFilterAtDestinationSourcePortRangePtrOutput) ToNetworkInsightsPathFilterAtDestinationSourcePortRangePtrOutputWithContext(ctx context.Context) NetworkInsightsPathFilterAtDestinationSourcePortRangePtrOutput { - return o -} - -func (o NetworkInsightsPathFilterAtDestinationSourcePortRangePtrOutput) Elem() NetworkInsightsPathFilterAtDestinationSourcePortRangeOutput { - return o.ApplyT(func(v *NetworkInsightsPathFilterAtDestinationSourcePortRange) NetworkInsightsPathFilterAtDestinationSourcePortRange { - if v != nil { - return *v - } - var ret NetworkInsightsPathFilterAtDestinationSourcePortRange - return ret - }).(NetworkInsightsPathFilterAtDestinationSourcePortRangeOutput) -} - -// The first port in the range. -func (o NetworkInsightsPathFilterAtDestinationSourcePortRangePtrOutput) FromPort() pulumi.IntPtrOutput { - return o.ApplyT(func(v *NetworkInsightsPathFilterAtDestinationSourcePortRange) *int { - if v == nil { - return nil - } - return v.FromPort - }).(pulumi.IntPtrOutput) -} - -// The last port in the range. -func (o NetworkInsightsPathFilterAtDestinationSourcePortRangePtrOutput) ToPort() pulumi.IntPtrOutput { - return o.ApplyT(func(v *NetworkInsightsPathFilterAtDestinationSourcePortRange) *int { - if v == nil { - return nil - } - return v.ToPort - }).(pulumi.IntPtrOutput) +func (o NetworkInsightsAnalysisReturnPathComponentOutboundHeaderSourcePortRangeArrayOutput) Index(i pulumi.IntInput) NetworkInsightsAnalysisReturnPathComponentOutboundHeaderSourcePortRangeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkInsightsAnalysisReturnPathComponentOutboundHeaderSourcePortRange { + return vs[0].([]NetworkInsightsAnalysisReturnPathComponentOutboundHeaderSourcePortRange)[vs[1].(int)] + }).(NetworkInsightsAnalysisReturnPathComponentOutboundHeaderSourcePortRangeOutput) } -type NetworkInsightsPathFilterAtSource struct { - // The destination IPv4 address. - DestinationAddress *string `pulumi:"destinationAddress"` - // The destination port range. See below for details. - DestinationPortRange *NetworkInsightsPathFilterAtSourceDestinationPortRange `pulumi:"destinationPortRange"` - // IP address of the source resource. - SourceAddress *string `pulumi:"sourceAddress"` - // The source port range. See below for details. - SourcePortRange *NetworkInsightsPathFilterAtSourceSourcePortRange `pulumi:"sourcePortRange"` +type NetworkInsightsAnalysisReturnPathComponentRouteTableRoute struct { + DestinationCidr *string `pulumi:"destinationCidr"` + DestinationPrefixListId *string `pulumi:"destinationPrefixListId"` + EgressOnlyInternetGatewayId *string `pulumi:"egressOnlyInternetGatewayId"` + GatewayId *string `pulumi:"gatewayId"` + InstanceId *string `pulumi:"instanceId"` + NatGatewayId *string `pulumi:"natGatewayId"` + NetworkInterfaceId *string `pulumi:"networkInterfaceId"` + Origin *string `pulumi:"origin"` + TransitGatewayId *string `pulumi:"transitGatewayId"` + VpcPeeringConnectionId *string `pulumi:"vpcPeeringConnectionId"` } -// NetworkInsightsPathFilterAtSourceInput is an input type that accepts NetworkInsightsPathFilterAtSourceArgs and NetworkInsightsPathFilterAtSourceOutput values. -// You can construct a concrete instance of `NetworkInsightsPathFilterAtSourceInput` via: +// NetworkInsightsAnalysisReturnPathComponentRouteTableRouteInput is an input type that accepts NetworkInsightsAnalysisReturnPathComponentRouteTableRouteArgs and NetworkInsightsAnalysisReturnPathComponentRouteTableRouteOutput values. +// You can construct a concrete instance of `NetworkInsightsAnalysisReturnPathComponentRouteTableRouteInput` via: // -// NetworkInsightsPathFilterAtSourceArgs{...} -type NetworkInsightsPathFilterAtSourceInput interface { +// NetworkInsightsAnalysisReturnPathComponentRouteTableRouteArgs{...} +type NetworkInsightsAnalysisReturnPathComponentRouteTableRouteInput interface { pulumi.Input - ToNetworkInsightsPathFilterAtSourceOutput() NetworkInsightsPathFilterAtSourceOutput - ToNetworkInsightsPathFilterAtSourceOutputWithContext(context.Context) NetworkInsightsPathFilterAtSourceOutput -} - -type NetworkInsightsPathFilterAtSourceArgs struct { - // The destination IPv4 address. - DestinationAddress pulumi.StringPtrInput `pulumi:"destinationAddress"` - // The destination port range. See below for details. - DestinationPortRange NetworkInsightsPathFilterAtSourceDestinationPortRangePtrInput `pulumi:"destinationPortRange"` - // IP address of the source resource. - SourceAddress pulumi.StringPtrInput `pulumi:"sourceAddress"` - // The source port range. See below for details. - SourcePortRange NetworkInsightsPathFilterAtSourceSourcePortRangePtrInput `pulumi:"sourcePortRange"` -} - -func (NetworkInsightsPathFilterAtSourceArgs) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkInsightsPathFilterAtSource)(nil)).Elem() + ToNetworkInsightsAnalysisReturnPathComponentRouteTableRouteOutput() NetworkInsightsAnalysisReturnPathComponentRouteTableRouteOutput + ToNetworkInsightsAnalysisReturnPathComponentRouteTableRouteOutputWithContext(context.Context) NetworkInsightsAnalysisReturnPathComponentRouteTableRouteOutput } -func (i NetworkInsightsPathFilterAtSourceArgs) ToNetworkInsightsPathFilterAtSourceOutput() NetworkInsightsPathFilterAtSourceOutput { - return i.ToNetworkInsightsPathFilterAtSourceOutputWithContext(context.Background()) +type NetworkInsightsAnalysisReturnPathComponentRouteTableRouteArgs struct { + DestinationCidr pulumi.StringPtrInput `pulumi:"destinationCidr"` + DestinationPrefixListId pulumi.StringPtrInput `pulumi:"destinationPrefixListId"` + EgressOnlyInternetGatewayId pulumi.StringPtrInput `pulumi:"egressOnlyInternetGatewayId"` + GatewayId pulumi.StringPtrInput `pulumi:"gatewayId"` + InstanceId pulumi.StringPtrInput `pulumi:"instanceId"` + NatGatewayId pulumi.StringPtrInput `pulumi:"natGatewayId"` + NetworkInterfaceId pulumi.StringPtrInput `pulumi:"networkInterfaceId"` + Origin pulumi.StringPtrInput `pulumi:"origin"` + TransitGatewayId pulumi.StringPtrInput `pulumi:"transitGatewayId"` + VpcPeeringConnectionId pulumi.StringPtrInput `pulumi:"vpcPeeringConnectionId"` } -func (i NetworkInsightsPathFilterAtSourceArgs) ToNetworkInsightsPathFilterAtSourceOutputWithContext(ctx context.Context) NetworkInsightsPathFilterAtSourceOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsPathFilterAtSourceOutput) +func (NetworkInsightsAnalysisReturnPathComponentRouteTableRouteArgs) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInsightsAnalysisReturnPathComponentRouteTableRoute)(nil)).Elem() } -func (i NetworkInsightsPathFilterAtSourceArgs) ToNetworkInsightsPathFilterAtSourcePtrOutput() NetworkInsightsPathFilterAtSourcePtrOutput { - return i.ToNetworkInsightsPathFilterAtSourcePtrOutputWithContext(context.Background()) +func (i NetworkInsightsAnalysisReturnPathComponentRouteTableRouteArgs) ToNetworkInsightsAnalysisReturnPathComponentRouteTableRouteOutput() NetworkInsightsAnalysisReturnPathComponentRouteTableRouteOutput { + return i.ToNetworkInsightsAnalysisReturnPathComponentRouteTableRouteOutputWithContext(context.Background()) } -func (i NetworkInsightsPathFilterAtSourceArgs) ToNetworkInsightsPathFilterAtSourcePtrOutputWithContext(ctx context.Context) NetworkInsightsPathFilterAtSourcePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsPathFilterAtSourceOutput).ToNetworkInsightsPathFilterAtSourcePtrOutputWithContext(ctx) +func (i NetworkInsightsAnalysisReturnPathComponentRouteTableRouteArgs) ToNetworkInsightsAnalysisReturnPathComponentRouteTableRouteOutputWithContext(ctx context.Context) NetworkInsightsAnalysisReturnPathComponentRouteTableRouteOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisReturnPathComponentRouteTableRouteOutput) } -// NetworkInsightsPathFilterAtSourcePtrInput is an input type that accepts NetworkInsightsPathFilterAtSourceArgs, NetworkInsightsPathFilterAtSourcePtr and NetworkInsightsPathFilterAtSourcePtrOutput values. -// You can construct a concrete instance of `NetworkInsightsPathFilterAtSourcePtrInput` via: -// -// NetworkInsightsPathFilterAtSourceArgs{...} -// -// or: +// NetworkInsightsAnalysisReturnPathComponentRouteTableRouteArrayInput is an input type that accepts NetworkInsightsAnalysisReturnPathComponentRouteTableRouteArray and NetworkInsightsAnalysisReturnPathComponentRouteTableRouteArrayOutput values. +// You can construct a concrete instance of `NetworkInsightsAnalysisReturnPathComponentRouteTableRouteArrayInput` via: // -// nil -type NetworkInsightsPathFilterAtSourcePtrInput interface { +// NetworkInsightsAnalysisReturnPathComponentRouteTableRouteArray{ NetworkInsightsAnalysisReturnPathComponentRouteTableRouteArgs{...} } +type NetworkInsightsAnalysisReturnPathComponentRouteTableRouteArrayInput interface { pulumi.Input - ToNetworkInsightsPathFilterAtSourcePtrOutput() NetworkInsightsPathFilterAtSourcePtrOutput - ToNetworkInsightsPathFilterAtSourcePtrOutputWithContext(context.Context) NetworkInsightsPathFilterAtSourcePtrOutput + ToNetworkInsightsAnalysisReturnPathComponentRouteTableRouteArrayOutput() NetworkInsightsAnalysisReturnPathComponentRouteTableRouteArrayOutput + ToNetworkInsightsAnalysisReturnPathComponentRouteTableRouteArrayOutputWithContext(context.Context) NetworkInsightsAnalysisReturnPathComponentRouteTableRouteArrayOutput } -type networkInsightsPathFilterAtSourcePtrType NetworkInsightsPathFilterAtSourceArgs - -func NetworkInsightsPathFilterAtSourcePtr(v *NetworkInsightsPathFilterAtSourceArgs) NetworkInsightsPathFilterAtSourcePtrInput { - return (*networkInsightsPathFilterAtSourcePtrType)(v) -} +type NetworkInsightsAnalysisReturnPathComponentRouteTableRouteArray []NetworkInsightsAnalysisReturnPathComponentRouteTableRouteInput -func (*networkInsightsPathFilterAtSourcePtrType) ElementType() reflect.Type { - return reflect.TypeOf((**NetworkInsightsPathFilterAtSource)(nil)).Elem() +func (NetworkInsightsAnalysisReturnPathComponentRouteTableRouteArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkInsightsAnalysisReturnPathComponentRouteTableRoute)(nil)).Elem() } -func (i *networkInsightsPathFilterAtSourcePtrType) ToNetworkInsightsPathFilterAtSourcePtrOutput() NetworkInsightsPathFilterAtSourcePtrOutput { - return i.ToNetworkInsightsPathFilterAtSourcePtrOutputWithContext(context.Background()) +func (i NetworkInsightsAnalysisReturnPathComponentRouteTableRouteArray) ToNetworkInsightsAnalysisReturnPathComponentRouteTableRouteArrayOutput() NetworkInsightsAnalysisReturnPathComponentRouteTableRouteArrayOutput { + return i.ToNetworkInsightsAnalysisReturnPathComponentRouteTableRouteArrayOutputWithContext(context.Background()) } -func (i *networkInsightsPathFilterAtSourcePtrType) ToNetworkInsightsPathFilterAtSourcePtrOutputWithContext(ctx context.Context) NetworkInsightsPathFilterAtSourcePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsPathFilterAtSourcePtrOutput) +func (i NetworkInsightsAnalysisReturnPathComponentRouteTableRouteArray) ToNetworkInsightsAnalysisReturnPathComponentRouteTableRouteArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisReturnPathComponentRouteTableRouteArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisReturnPathComponentRouteTableRouteArrayOutput) } -type NetworkInsightsPathFilterAtSourceOutput struct{ *pulumi.OutputState } +type NetworkInsightsAnalysisReturnPathComponentRouteTableRouteOutput struct{ *pulumi.OutputState } -func (NetworkInsightsPathFilterAtSourceOutput) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkInsightsPathFilterAtSource)(nil)).Elem() +func (NetworkInsightsAnalysisReturnPathComponentRouteTableRouteOutput) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInsightsAnalysisReturnPathComponentRouteTableRoute)(nil)).Elem() } -func (o NetworkInsightsPathFilterAtSourceOutput) ToNetworkInsightsPathFilterAtSourceOutput() NetworkInsightsPathFilterAtSourceOutput { +func (o NetworkInsightsAnalysisReturnPathComponentRouteTableRouteOutput) ToNetworkInsightsAnalysisReturnPathComponentRouteTableRouteOutput() NetworkInsightsAnalysisReturnPathComponentRouteTableRouteOutput { return o } -func (o NetworkInsightsPathFilterAtSourceOutput) ToNetworkInsightsPathFilterAtSourceOutputWithContext(ctx context.Context) NetworkInsightsPathFilterAtSourceOutput { +func (o NetworkInsightsAnalysisReturnPathComponentRouteTableRouteOutput) ToNetworkInsightsAnalysisReturnPathComponentRouteTableRouteOutputWithContext(ctx context.Context) NetworkInsightsAnalysisReturnPathComponentRouteTableRouteOutput { return o } -func (o NetworkInsightsPathFilterAtSourceOutput) ToNetworkInsightsPathFilterAtSourcePtrOutput() NetworkInsightsPathFilterAtSourcePtrOutput { - return o.ToNetworkInsightsPathFilterAtSourcePtrOutputWithContext(context.Background()) +func (o NetworkInsightsAnalysisReturnPathComponentRouteTableRouteOutput) DestinationCidr() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponentRouteTableRoute) *string { return v.DestinationCidr }).(pulumi.StringPtrOutput) } -func (o NetworkInsightsPathFilterAtSourceOutput) ToNetworkInsightsPathFilterAtSourcePtrOutputWithContext(ctx context.Context) NetworkInsightsPathFilterAtSourcePtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v NetworkInsightsPathFilterAtSource) *NetworkInsightsPathFilterAtSource { - return &v - }).(NetworkInsightsPathFilterAtSourcePtrOutput) +func (o NetworkInsightsAnalysisReturnPathComponentRouteTableRouteOutput) DestinationPrefixListId() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponentRouteTableRoute) *string { + return v.DestinationPrefixListId + }).(pulumi.StringPtrOutput) } -// The destination IPv4 address. -func (o NetworkInsightsPathFilterAtSourceOutput) DestinationAddress() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsPathFilterAtSource) *string { return v.DestinationAddress }).(pulumi.StringPtrOutput) +func (o NetworkInsightsAnalysisReturnPathComponentRouteTableRouteOutput) EgressOnlyInternetGatewayId() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponentRouteTableRoute) *string { + return v.EgressOnlyInternetGatewayId + }).(pulumi.StringPtrOutput) } -// The destination port range. See below for details. -func (o NetworkInsightsPathFilterAtSourceOutput) DestinationPortRange() NetworkInsightsPathFilterAtSourceDestinationPortRangePtrOutput { - return o.ApplyT(func(v NetworkInsightsPathFilterAtSource) *NetworkInsightsPathFilterAtSourceDestinationPortRange { - return v.DestinationPortRange - }).(NetworkInsightsPathFilterAtSourceDestinationPortRangePtrOutput) +func (o NetworkInsightsAnalysisReturnPathComponentRouteTableRouteOutput) GatewayId() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponentRouteTableRoute) *string { return v.GatewayId }).(pulumi.StringPtrOutput) } -// IP address of the source resource. -func (o NetworkInsightsPathFilterAtSourceOutput) SourceAddress() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInsightsPathFilterAtSource) *string { return v.SourceAddress }).(pulumi.StringPtrOutput) +func (o NetworkInsightsAnalysisReturnPathComponentRouteTableRouteOutput) InstanceId() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponentRouteTableRoute) *string { return v.InstanceId }).(pulumi.StringPtrOutput) } -// The source port range. See below for details. -func (o NetworkInsightsPathFilterAtSourceOutput) SourcePortRange() NetworkInsightsPathFilterAtSourceSourcePortRangePtrOutput { - return o.ApplyT(func(v NetworkInsightsPathFilterAtSource) *NetworkInsightsPathFilterAtSourceSourcePortRange { - return v.SourcePortRange - }).(NetworkInsightsPathFilterAtSourceSourcePortRangePtrOutput) +func (o NetworkInsightsAnalysisReturnPathComponentRouteTableRouteOutput) NatGatewayId() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponentRouteTableRoute) *string { return v.NatGatewayId }).(pulumi.StringPtrOutput) } -type NetworkInsightsPathFilterAtSourcePtrOutput struct{ *pulumi.OutputState } - -func (NetworkInsightsPathFilterAtSourcePtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**NetworkInsightsPathFilterAtSource)(nil)).Elem() +func (o NetworkInsightsAnalysisReturnPathComponentRouteTableRouteOutput) NetworkInterfaceId() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponentRouteTableRoute) *string { return v.NetworkInterfaceId }).(pulumi.StringPtrOutput) } -func (o NetworkInsightsPathFilterAtSourcePtrOutput) ToNetworkInsightsPathFilterAtSourcePtrOutput() NetworkInsightsPathFilterAtSourcePtrOutput { - return o +func (o NetworkInsightsAnalysisReturnPathComponentRouteTableRouteOutput) Origin() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponentRouteTableRoute) *string { return v.Origin }).(pulumi.StringPtrOutput) } -func (o NetworkInsightsPathFilterAtSourcePtrOutput) ToNetworkInsightsPathFilterAtSourcePtrOutputWithContext(ctx context.Context) NetworkInsightsPathFilterAtSourcePtrOutput { - return o +func (o NetworkInsightsAnalysisReturnPathComponentRouteTableRouteOutput) TransitGatewayId() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponentRouteTableRoute) *string { return v.TransitGatewayId }).(pulumi.StringPtrOutput) } -func (o NetworkInsightsPathFilterAtSourcePtrOutput) Elem() NetworkInsightsPathFilterAtSourceOutput { - return o.ApplyT(func(v *NetworkInsightsPathFilterAtSource) NetworkInsightsPathFilterAtSource { - if v != nil { - return *v - } - var ret NetworkInsightsPathFilterAtSource - return ret - }).(NetworkInsightsPathFilterAtSourceOutput) +func (o NetworkInsightsAnalysisReturnPathComponentRouteTableRouteOutput) VpcPeeringConnectionId() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponentRouteTableRoute) *string { + return v.VpcPeeringConnectionId + }).(pulumi.StringPtrOutput) } -// The destination IPv4 address. -func (o NetworkInsightsPathFilterAtSourcePtrOutput) DestinationAddress() pulumi.StringPtrOutput { - return o.ApplyT(func(v *NetworkInsightsPathFilterAtSource) *string { - if v == nil { - return nil - } - return v.DestinationAddress - }).(pulumi.StringPtrOutput) +type NetworkInsightsAnalysisReturnPathComponentRouteTableRouteArrayOutput struct{ *pulumi.OutputState } + +func (NetworkInsightsAnalysisReturnPathComponentRouteTableRouteArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkInsightsAnalysisReturnPathComponentRouteTableRoute)(nil)).Elem() } -// The destination port range. See below for details. -func (o NetworkInsightsPathFilterAtSourcePtrOutput) DestinationPortRange() NetworkInsightsPathFilterAtSourceDestinationPortRangePtrOutput { - return o.ApplyT(func(v *NetworkInsightsPathFilterAtSource) *NetworkInsightsPathFilterAtSourceDestinationPortRange { - if v == nil { - return nil - } - return v.DestinationPortRange - }).(NetworkInsightsPathFilterAtSourceDestinationPortRangePtrOutput) +func (o NetworkInsightsAnalysisReturnPathComponentRouteTableRouteArrayOutput) ToNetworkInsightsAnalysisReturnPathComponentRouteTableRouteArrayOutput() NetworkInsightsAnalysisReturnPathComponentRouteTableRouteArrayOutput { + return o } -// IP address of the source resource. -func (o NetworkInsightsPathFilterAtSourcePtrOutput) SourceAddress() pulumi.StringPtrOutput { - return o.ApplyT(func(v *NetworkInsightsPathFilterAtSource) *string { - if v == nil { - return nil - } - return v.SourceAddress - }).(pulumi.StringPtrOutput) +func (o NetworkInsightsAnalysisReturnPathComponentRouteTableRouteArrayOutput) ToNetworkInsightsAnalysisReturnPathComponentRouteTableRouteArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisReturnPathComponentRouteTableRouteArrayOutput { + return o } -// The source port range. See below for details. -func (o NetworkInsightsPathFilterAtSourcePtrOutput) SourcePortRange() NetworkInsightsPathFilterAtSourceSourcePortRangePtrOutput { - return o.ApplyT(func(v *NetworkInsightsPathFilterAtSource) *NetworkInsightsPathFilterAtSourceSourcePortRange { - if v == nil { - return nil - } - return v.SourcePortRange - }).(NetworkInsightsPathFilterAtSourceSourcePortRangePtrOutput) +func (o NetworkInsightsAnalysisReturnPathComponentRouteTableRouteArrayOutput) Index(i pulumi.IntInput) NetworkInsightsAnalysisReturnPathComponentRouteTableRouteOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkInsightsAnalysisReturnPathComponentRouteTableRoute { + return vs[0].([]NetworkInsightsAnalysisReturnPathComponentRouteTableRoute)[vs[1].(int)] + }).(NetworkInsightsAnalysisReturnPathComponentRouteTableRouteOutput) } -type NetworkInsightsPathFilterAtSourceDestinationPortRange struct { - // The first port in the range. - FromPort *int `pulumi:"fromPort"` - // The last port in the range. - ToPort *int `pulumi:"toPort"` +type NetworkInsightsAnalysisReturnPathComponentSecurityGroupRule struct { + Cidr *string `pulumi:"cidr"` + Direction *string `pulumi:"direction"` + PortRanges []NetworkInsightsAnalysisReturnPathComponentSecurityGroupRulePortRange `pulumi:"portRanges"` + PrefixListId *string `pulumi:"prefixListId"` + Protocol *string `pulumi:"protocol"` + SecurityGroupId *string `pulumi:"securityGroupId"` } -// NetworkInsightsPathFilterAtSourceDestinationPortRangeInput is an input type that accepts NetworkInsightsPathFilterAtSourceDestinationPortRangeArgs and NetworkInsightsPathFilterAtSourceDestinationPortRangeOutput values. -// You can construct a concrete instance of `NetworkInsightsPathFilterAtSourceDestinationPortRangeInput` via: +// NetworkInsightsAnalysisReturnPathComponentSecurityGroupRuleInput is an input type that accepts NetworkInsightsAnalysisReturnPathComponentSecurityGroupRuleArgs and NetworkInsightsAnalysisReturnPathComponentSecurityGroupRuleOutput values. +// You can construct a concrete instance of `NetworkInsightsAnalysisReturnPathComponentSecurityGroupRuleInput` via: // -// NetworkInsightsPathFilterAtSourceDestinationPortRangeArgs{...} -type NetworkInsightsPathFilterAtSourceDestinationPortRangeInput interface { +// NetworkInsightsAnalysisReturnPathComponentSecurityGroupRuleArgs{...} +type NetworkInsightsAnalysisReturnPathComponentSecurityGroupRuleInput interface { pulumi.Input - ToNetworkInsightsPathFilterAtSourceDestinationPortRangeOutput() NetworkInsightsPathFilterAtSourceDestinationPortRangeOutput - ToNetworkInsightsPathFilterAtSourceDestinationPortRangeOutputWithContext(context.Context) NetworkInsightsPathFilterAtSourceDestinationPortRangeOutput -} - -type NetworkInsightsPathFilterAtSourceDestinationPortRangeArgs struct { - // The first port in the range. - FromPort pulumi.IntPtrInput `pulumi:"fromPort"` - // The last port in the range. - ToPort pulumi.IntPtrInput `pulumi:"toPort"` -} - -func (NetworkInsightsPathFilterAtSourceDestinationPortRangeArgs) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkInsightsPathFilterAtSourceDestinationPortRange)(nil)).Elem() + ToNetworkInsightsAnalysisReturnPathComponentSecurityGroupRuleOutput() NetworkInsightsAnalysisReturnPathComponentSecurityGroupRuleOutput + ToNetworkInsightsAnalysisReturnPathComponentSecurityGroupRuleOutputWithContext(context.Context) NetworkInsightsAnalysisReturnPathComponentSecurityGroupRuleOutput } -func (i NetworkInsightsPathFilterAtSourceDestinationPortRangeArgs) ToNetworkInsightsPathFilterAtSourceDestinationPortRangeOutput() NetworkInsightsPathFilterAtSourceDestinationPortRangeOutput { - return i.ToNetworkInsightsPathFilterAtSourceDestinationPortRangeOutputWithContext(context.Background()) +type NetworkInsightsAnalysisReturnPathComponentSecurityGroupRuleArgs struct { + Cidr pulumi.StringPtrInput `pulumi:"cidr"` + Direction pulumi.StringPtrInput `pulumi:"direction"` + PortRanges NetworkInsightsAnalysisReturnPathComponentSecurityGroupRulePortRangeArrayInput `pulumi:"portRanges"` + PrefixListId pulumi.StringPtrInput `pulumi:"prefixListId"` + Protocol pulumi.StringPtrInput `pulumi:"protocol"` + SecurityGroupId pulumi.StringPtrInput `pulumi:"securityGroupId"` } -func (i NetworkInsightsPathFilterAtSourceDestinationPortRangeArgs) ToNetworkInsightsPathFilterAtSourceDestinationPortRangeOutputWithContext(ctx context.Context) NetworkInsightsPathFilterAtSourceDestinationPortRangeOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsPathFilterAtSourceDestinationPortRangeOutput) +func (NetworkInsightsAnalysisReturnPathComponentSecurityGroupRuleArgs) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInsightsAnalysisReturnPathComponentSecurityGroupRule)(nil)).Elem() } -func (i NetworkInsightsPathFilterAtSourceDestinationPortRangeArgs) ToNetworkInsightsPathFilterAtSourceDestinationPortRangePtrOutput() NetworkInsightsPathFilterAtSourceDestinationPortRangePtrOutput { - return i.ToNetworkInsightsPathFilterAtSourceDestinationPortRangePtrOutputWithContext(context.Background()) +func (i NetworkInsightsAnalysisReturnPathComponentSecurityGroupRuleArgs) ToNetworkInsightsAnalysisReturnPathComponentSecurityGroupRuleOutput() NetworkInsightsAnalysisReturnPathComponentSecurityGroupRuleOutput { + return i.ToNetworkInsightsAnalysisReturnPathComponentSecurityGroupRuleOutputWithContext(context.Background()) } -func (i NetworkInsightsPathFilterAtSourceDestinationPortRangeArgs) ToNetworkInsightsPathFilterAtSourceDestinationPortRangePtrOutputWithContext(ctx context.Context) NetworkInsightsPathFilterAtSourceDestinationPortRangePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsPathFilterAtSourceDestinationPortRangeOutput).ToNetworkInsightsPathFilterAtSourceDestinationPortRangePtrOutputWithContext(ctx) +func (i NetworkInsightsAnalysisReturnPathComponentSecurityGroupRuleArgs) ToNetworkInsightsAnalysisReturnPathComponentSecurityGroupRuleOutputWithContext(ctx context.Context) NetworkInsightsAnalysisReturnPathComponentSecurityGroupRuleOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisReturnPathComponentSecurityGroupRuleOutput) } -// NetworkInsightsPathFilterAtSourceDestinationPortRangePtrInput is an input type that accepts NetworkInsightsPathFilterAtSourceDestinationPortRangeArgs, NetworkInsightsPathFilterAtSourceDestinationPortRangePtr and NetworkInsightsPathFilterAtSourceDestinationPortRangePtrOutput values. -// You can construct a concrete instance of `NetworkInsightsPathFilterAtSourceDestinationPortRangePtrInput` via: -// -// NetworkInsightsPathFilterAtSourceDestinationPortRangeArgs{...} -// -// or: +// NetworkInsightsAnalysisReturnPathComponentSecurityGroupRuleArrayInput is an input type that accepts NetworkInsightsAnalysisReturnPathComponentSecurityGroupRuleArray and NetworkInsightsAnalysisReturnPathComponentSecurityGroupRuleArrayOutput values. +// You can construct a concrete instance of `NetworkInsightsAnalysisReturnPathComponentSecurityGroupRuleArrayInput` via: // -// nil -type NetworkInsightsPathFilterAtSourceDestinationPortRangePtrInput interface { +// NetworkInsightsAnalysisReturnPathComponentSecurityGroupRuleArray{ NetworkInsightsAnalysisReturnPathComponentSecurityGroupRuleArgs{...} } +type NetworkInsightsAnalysisReturnPathComponentSecurityGroupRuleArrayInput interface { pulumi.Input - ToNetworkInsightsPathFilterAtSourceDestinationPortRangePtrOutput() NetworkInsightsPathFilterAtSourceDestinationPortRangePtrOutput - ToNetworkInsightsPathFilterAtSourceDestinationPortRangePtrOutputWithContext(context.Context) NetworkInsightsPathFilterAtSourceDestinationPortRangePtrOutput + ToNetworkInsightsAnalysisReturnPathComponentSecurityGroupRuleArrayOutput() NetworkInsightsAnalysisReturnPathComponentSecurityGroupRuleArrayOutput + ToNetworkInsightsAnalysisReturnPathComponentSecurityGroupRuleArrayOutputWithContext(context.Context) NetworkInsightsAnalysisReturnPathComponentSecurityGroupRuleArrayOutput } -type networkInsightsPathFilterAtSourceDestinationPortRangePtrType NetworkInsightsPathFilterAtSourceDestinationPortRangeArgs - -func NetworkInsightsPathFilterAtSourceDestinationPortRangePtr(v *NetworkInsightsPathFilterAtSourceDestinationPortRangeArgs) NetworkInsightsPathFilterAtSourceDestinationPortRangePtrInput { - return (*networkInsightsPathFilterAtSourceDestinationPortRangePtrType)(v) -} +type NetworkInsightsAnalysisReturnPathComponentSecurityGroupRuleArray []NetworkInsightsAnalysisReturnPathComponentSecurityGroupRuleInput -func (*networkInsightsPathFilterAtSourceDestinationPortRangePtrType) ElementType() reflect.Type { - return reflect.TypeOf((**NetworkInsightsPathFilterAtSourceDestinationPortRange)(nil)).Elem() +func (NetworkInsightsAnalysisReturnPathComponentSecurityGroupRuleArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkInsightsAnalysisReturnPathComponentSecurityGroupRule)(nil)).Elem() } -func (i *networkInsightsPathFilterAtSourceDestinationPortRangePtrType) ToNetworkInsightsPathFilterAtSourceDestinationPortRangePtrOutput() NetworkInsightsPathFilterAtSourceDestinationPortRangePtrOutput { - return i.ToNetworkInsightsPathFilterAtSourceDestinationPortRangePtrOutputWithContext(context.Background()) +func (i NetworkInsightsAnalysisReturnPathComponentSecurityGroupRuleArray) ToNetworkInsightsAnalysisReturnPathComponentSecurityGroupRuleArrayOutput() NetworkInsightsAnalysisReturnPathComponentSecurityGroupRuleArrayOutput { + return i.ToNetworkInsightsAnalysisReturnPathComponentSecurityGroupRuleArrayOutputWithContext(context.Background()) } -func (i *networkInsightsPathFilterAtSourceDestinationPortRangePtrType) ToNetworkInsightsPathFilterAtSourceDestinationPortRangePtrOutputWithContext(ctx context.Context) NetworkInsightsPathFilterAtSourceDestinationPortRangePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsPathFilterAtSourceDestinationPortRangePtrOutput) +func (i NetworkInsightsAnalysisReturnPathComponentSecurityGroupRuleArray) ToNetworkInsightsAnalysisReturnPathComponentSecurityGroupRuleArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisReturnPathComponentSecurityGroupRuleArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisReturnPathComponentSecurityGroupRuleArrayOutput) } -type NetworkInsightsPathFilterAtSourceDestinationPortRangeOutput struct{ *pulumi.OutputState } +type NetworkInsightsAnalysisReturnPathComponentSecurityGroupRuleOutput struct{ *pulumi.OutputState } -func (NetworkInsightsPathFilterAtSourceDestinationPortRangeOutput) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkInsightsPathFilterAtSourceDestinationPortRange)(nil)).Elem() +func (NetworkInsightsAnalysisReturnPathComponentSecurityGroupRuleOutput) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInsightsAnalysisReturnPathComponentSecurityGroupRule)(nil)).Elem() } -func (o NetworkInsightsPathFilterAtSourceDestinationPortRangeOutput) ToNetworkInsightsPathFilterAtSourceDestinationPortRangeOutput() NetworkInsightsPathFilterAtSourceDestinationPortRangeOutput { +func (o NetworkInsightsAnalysisReturnPathComponentSecurityGroupRuleOutput) ToNetworkInsightsAnalysisReturnPathComponentSecurityGroupRuleOutput() NetworkInsightsAnalysisReturnPathComponentSecurityGroupRuleOutput { return o } -func (o NetworkInsightsPathFilterAtSourceDestinationPortRangeOutput) ToNetworkInsightsPathFilterAtSourceDestinationPortRangeOutputWithContext(ctx context.Context) NetworkInsightsPathFilterAtSourceDestinationPortRangeOutput { +func (o NetworkInsightsAnalysisReturnPathComponentSecurityGroupRuleOutput) ToNetworkInsightsAnalysisReturnPathComponentSecurityGroupRuleOutputWithContext(ctx context.Context) NetworkInsightsAnalysisReturnPathComponentSecurityGroupRuleOutput { return o } -func (o NetworkInsightsPathFilterAtSourceDestinationPortRangeOutput) ToNetworkInsightsPathFilterAtSourceDestinationPortRangePtrOutput() NetworkInsightsPathFilterAtSourceDestinationPortRangePtrOutput { - return o.ToNetworkInsightsPathFilterAtSourceDestinationPortRangePtrOutputWithContext(context.Background()) +func (o NetworkInsightsAnalysisReturnPathComponentSecurityGroupRuleOutput) Cidr() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponentSecurityGroupRule) *string { return v.Cidr }).(pulumi.StringPtrOutput) } -func (o NetworkInsightsPathFilterAtSourceDestinationPortRangeOutput) ToNetworkInsightsPathFilterAtSourceDestinationPortRangePtrOutputWithContext(ctx context.Context) NetworkInsightsPathFilterAtSourceDestinationPortRangePtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v NetworkInsightsPathFilterAtSourceDestinationPortRange) *NetworkInsightsPathFilterAtSourceDestinationPortRange { - return &v - }).(NetworkInsightsPathFilterAtSourceDestinationPortRangePtrOutput) +func (o NetworkInsightsAnalysisReturnPathComponentSecurityGroupRuleOutput) Direction() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponentSecurityGroupRule) *string { return v.Direction }).(pulumi.StringPtrOutput) } -// The first port in the range. -func (o NetworkInsightsPathFilterAtSourceDestinationPortRangeOutput) FromPort() pulumi.IntPtrOutput { - return o.ApplyT(func(v NetworkInsightsPathFilterAtSourceDestinationPortRange) *int { return v.FromPort }).(pulumi.IntPtrOutput) +func (o NetworkInsightsAnalysisReturnPathComponentSecurityGroupRuleOutput) PortRanges() NetworkInsightsAnalysisReturnPathComponentSecurityGroupRulePortRangeArrayOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponentSecurityGroupRule) []NetworkInsightsAnalysisReturnPathComponentSecurityGroupRulePortRange { + return v.PortRanges + }).(NetworkInsightsAnalysisReturnPathComponentSecurityGroupRulePortRangeArrayOutput) } -// The last port in the range. -func (o NetworkInsightsPathFilterAtSourceDestinationPortRangeOutput) ToPort() pulumi.IntPtrOutput { - return o.ApplyT(func(v NetworkInsightsPathFilterAtSourceDestinationPortRange) *int { return v.ToPort }).(pulumi.IntPtrOutput) +func (o NetworkInsightsAnalysisReturnPathComponentSecurityGroupRuleOutput) PrefixListId() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponentSecurityGroupRule) *string { return v.PrefixListId }).(pulumi.StringPtrOutput) } -type NetworkInsightsPathFilterAtSourceDestinationPortRangePtrOutput struct{ *pulumi.OutputState } - -func (NetworkInsightsPathFilterAtSourceDestinationPortRangePtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**NetworkInsightsPathFilterAtSourceDestinationPortRange)(nil)).Elem() +func (o NetworkInsightsAnalysisReturnPathComponentSecurityGroupRuleOutput) Protocol() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponentSecurityGroupRule) *string { return v.Protocol }).(pulumi.StringPtrOutput) } -func (o NetworkInsightsPathFilterAtSourceDestinationPortRangePtrOutput) ToNetworkInsightsPathFilterAtSourceDestinationPortRangePtrOutput() NetworkInsightsPathFilterAtSourceDestinationPortRangePtrOutput { - return o +func (o NetworkInsightsAnalysisReturnPathComponentSecurityGroupRuleOutput) SecurityGroupId() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponentSecurityGroupRule) *string { return v.SecurityGroupId }).(pulumi.StringPtrOutput) } -func (o NetworkInsightsPathFilterAtSourceDestinationPortRangePtrOutput) ToNetworkInsightsPathFilterAtSourceDestinationPortRangePtrOutputWithContext(ctx context.Context) NetworkInsightsPathFilterAtSourceDestinationPortRangePtrOutput { - return o +type NetworkInsightsAnalysisReturnPathComponentSecurityGroupRuleArrayOutput struct{ *pulumi.OutputState } + +func (NetworkInsightsAnalysisReturnPathComponentSecurityGroupRuleArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkInsightsAnalysisReturnPathComponentSecurityGroupRule)(nil)).Elem() } -func (o NetworkInsightsPathFilterAtSourceDestinationPortRangePtrOutput) Elem() NetworkInsightsPathFilterAtSourceDestinationPortRangeOutput { - return o.ApplyT(func(v *NetworkInsightsPathFilterAtSourceDestinationPortRange) NetworkInsightsPathFilterAtSourceDestinationPortRange { - if v != nil { - return *v - } - var ret NetworkInsightsPathFilterAtSourceDestinationPortRange - return ret - }).(NetworkInsightsPathFilterAtSourceDestinationPortRangeOutput) +func (o NetworkInsightsAnalysisReturnPathComponentSecurityGroupRuleArrayOutput) ToNetworkInsightsAnalysisReturnPathComponentSecurityGroupRuleArrayOutput() NetworkInsightsAnalysisReturnPathComponentSecurityGroupRuleArrayOutput { + return o } -// The first port in the range. -func (o NetworkInsightsPathFilterAtSourceDestinationPortRangePtrOutput) FromPort() pulumi.IntPtrOutput { - return o.ApplyT(func(v *NetworkInsightsPathFilterAtSourceDestinationPortRange) *int { - if v == nil { - return nil - } - return v.FromPort - }).(pulumi.IntPtrOutput) +func (o NetworkInsightsAnalysisReturnPathComponentSecurityGroupRuleArrayOutput) ToNetworkInsightsAnalysisReturnPathComponentSecurityGroupRuleArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisReturnPathComponentSecurityGroupRuleArrayOutput { + return o } -// The last port in the range. -func (o NetworkInsightsPathFilterAtSourceDestinationPortRangePtrOutput) ToPort() pulumi.IntPtrOutput { - return o.ApplyT(func(v *NetworkInsightsPathFilterAtSourceDestinationPortRange) *int { - if v == nil { - return nil - } - return v.ToPort - }).(pulumi.IntPtrOutput) +func (o NetworkInsightsAnalysisReturnPathComponentSecurityGroupRuleArrayOutput) Index(i pulumi.IntInput) NetworkInsightsAnalysisReturnPathComponentSecurityGroupRuleOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkInsightsAnalysisReturnPathComponentSecurityGroupRule { + return vs[0].([]NetworkInsightsAnalysisReturnPathComponentSecurityGroupRule)[vs[1].(int)] + }).(NetworkInsightsAnalysisReturnPathComponentSecurityGroupRuleOutput) } -type NetworkInsightsPathFilterAtSourceSourcePortRange struct { - // The first port in the range. - FromPort *int `pulumi:"fromPort"` - // The last port in the range. - ToPort *int `pulumi:"toPort"` +type NetworkInsightsAnalysisReturnPathComponentSecurityGroupRulePortRange struct { + From *int `pulumi:"from"` + To *int `pulumi:"to"` } -// NetworkInsightsPathFilterAtSourceSourcePortRangeInput is an input type that accepts NetworkInsightsPathFilterAtSourceSourcePortRangeArgs and NetworkInsightsPathFilterAtSourceSourcePortRangeOutput values. -// You can construct a concrete instance of `NetworkInsightsPathFilterAtSourceSourcePortRangeInput` via: +// NetworkInsightsAnalysisReturnPathComponentSecurityGroupRulePortRangeInput is an input type that accepts NetworkInsightsAnalysisReturnPathComponentSecurityGroupRulePortRangeArgs and NetworkInsightsAnalysisReturnPathComponentSecurityGroupRulePortRangeOutput values. +// You can construct a concrete instance of `NetworkInsightsAnalysisReturnPathComponentSecurityGroupRulePortRangeInput` via: // -// NetworkInsightsPathFilterAtSourceSourcePortRangeArgs{...} -type NetworkInsightsPathFilterAtSourceSourcePortRangeInput interface { +// NetworkInsightsAnalysisReturnPathComponentSecurityGroupRulePortRangeArgs{...} +type NetworkInsightsAnalysisReturnPathComponentSecurityGroupRulePortRangeInput interface { pulumi.Input - ToNetworkInsightsPathFilterAtSourceSourcePortRangeOutput() NetworkInsightsPathFilterAtSourceSourcePortRangeOutput - ToNetworkInsightsPathFilterAtSourceSourcePortRangeOutputWithContext(context.Context) NetworkInsightsPathFilterAtSourceSourcePortRangeOutput -} - -type NetworkInsightsPathFilterAtSourceSourcePortRangeArgs struct { - // The first port in the range. - FromPort pulumi.IntPtrInput `pulumi:"fromPort"` - // The last port in the range. - ToPort pulumi.IntPtrInput `pulumi:"toPort"` -} - -func (NetworkInsightsPathFilterAtSourceSourcePortRangeArgs) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkInsightsPathFilterAtSourceSourcePortRange)(nil)).Elem() + ToNetworkInsightsAnalysisReturnPathComponentSecurityGroupRulePortRangeOutput() NetworkInsightsAnalysisReturnPathComponentSecurityGroupRulePortRangeOutput + ToNetworkInsightsAnalysisReturnPathComponentSecurityGroupRulePortRangeOutputWithContext(context.Context) NetworkInsightsAnalysisReturnPathComponentSecurityGroupRulePortRangeOutput } -func (i NetworkInsightsPathFilterAtSourceSourcePortRangeArgs) ToNetworkInsightsPathFilterAtSourceSourcePortRangeOutput() NetworkInsightsPathFilterAtSourceSourcePortRangeOutput { - return i.ToNetworkInsightsPathFilterAtSourceSourcePortRangeOutputWithContext(context.Background()) +type NetworkInsightsAnalysisReturnPathComponentSecurityGroupRulePortRangeArgs struct { + From pulumi.IntPtrInput `pulumi:"from"` + To pulumi.IntPtrInput `pulumi:"to"` } -func (i NetworkInsightsPathFilterAtSourceSourcePortRangeArgs) ToNetworkInsightsPathFilterAtSourceSourcePortRangeOutputWithContext(ctx context.Context) NetworkInsightsPathFilterAtSourceSourcePortRangeOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsPathFilterAtSourceSourcePortRangeOutput) +func (NetworkInsightsAnalysisReturnPathComponentSecurityGroupRulePortRangeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInsightsAnalysisReturnPathComponentSecurityGroupRulePortRange)(nil)).Elem() } -func (i NetworkInsightsPathFilterAtSourceSourcePortRangeArgs) ToNetworkInsightsPathFilterAtSourceSourcePortRangePtrOutput() NetworkInsightsPathFilterAtSourceSourcePortRangePtrOutput { - return i.ToNetworkInsightsPathFilterAtSourceSourcePortRangePtrOutputWithContext(context.Background()) +func (i NetworkInsightsAnalysisReturnPathComponentSecurityGroupRulePortRangeArgs) ToNetworkInsightsAnalysisReturnPathComponentSecurityGroupRulePortRangeOutput() NetworkInsightsAnalysisReturnPathComponentSecurityGroupRulePortRangeOutput { + return i.ToNetworkInsightsAnalysisReturnPathComponentSecurityGroupRulePortRangeOutputWithContext(context.Background()) } -func (i NetworkInsightsPathFilterAtSourceSourcePortRangeArgs) ToNetworkInsightsPathFilterAtSourceSourcePortRangePtrOutputWithContext(ctx context.Context) NetworkInsightsPathFilterAtSourceSourcePortRangePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsPathFilterAtSourceSourcePortRangeOutput).ToNetworkInsightsPathFilterAtSourceSourcePortRangePtrOutputWithContext(ctx) +func (i NetworkInsightsAnalysisReturnPathComponentSecurityGroupRulePortRangeArgs) ToNetworkInsightsAnalysisReturnPathComponentSecurityGroupRulePortRangeOutputWithContext(ctx context.Context) NetworkInsightsAnalysisReturnPathComponentSecurityGroupRulePortRangeOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisReturnPathComponentSecurityGroupRulePortRangeOutput) } -// NetworkInsightsPathFilterAtSourceSourcePortRangePtrInput is an input type that accepts NetworkInsightsPathFilterAtSourceSourcePortRangeArgs, NetworkInsightsPathFilterAtSourceSourcePortRangePtr and NetworkInsightsPathFilterAtSourceSourcePortRangePtrOutput values. -// You can construct a concrete instance of `NetworkInsightsPathFilterAtSourceSourcePortRangePtrInput` via: -// -// NetworkInsightsPathFilterAtSourceSourcePortRangeArgs{...} -// -// or: +// NetworkInsightsAnalysisReturnPathComponentSecurityGroupRulePortRangeArrayInput is an input type that accepts NetworkInsightsAnalysisReturnPathComponentSecurityGroupRulePortRangeArray and NetworkInsightsAnalysisReturnPathComponentSecurityGroupRulePortRangeArrayOutput values. +// You can construct a concrete instance of `NetworkInsightsAnalysisReturnPathComponentSecurityGroupRulePortRangeArrayInput` via: // -// nil -type NetworkInsightsPathFilterAtSourceSourcePortRangePtrInput interface { +// NetworkInsightsAnalysisReturnPathComponentSecurityGroupRulePortRangeArray{ NetworkInsightsAnalysisReturnPathComponentSecurityGroupRulePortRangeArgs{...} } +type NetworkInsightsAnalysisReturnPathComponentSecurityGroupRulePortRangeArrayInput interface { pulumi.Input - ToNetworkInsightsPathFilterAtSourceSourcePortRangePtrOutput() NetworkInsightsPathFilterAtSourceSourcePortRangePtrOutput - ToNetworkInsightsPathFilterAtSourceSourcePortRangePtrOutputWithContext(context.Context) NetworkInsightsPathFilterAtSourceSourcePortRangePtrOutput + ToNetworkInsightsAnalysisReturnPathComponentSecurityGroupRulePortRangeArrayOutput() NetworkInsightsAnalysisReturnPathComponentSecurityGroupRulePortRangeArrayOutput + ToNetworkInsightsAnalysisReturnPathComponentSecurityGroupRulePortRangeArrayOutputWithContext(context.Context) NetworkInsightsAnalysisReturnPathComponentSecurityGroupRulePortRangeArrayOutput } -type networkInsightsPathFilterAtSourceSourcePortRangePtrType NetworkInsightsPathFilterAtSourceSourcePortRangeArgs +type NetworkInsightsAnalysisReturnPathComponentSecurityGroupRulePortRangeArray []NetworkInsightsAnalysisReturnPathComponentSecurityGroupRulePortRangeInput -func NetworkInsightsPathFilterAtSourceSourcePortRangePtr(v *NetworkInsightsPathFilterAtSourceSourcePortRangeArgs) NetworkInsightsPathFilterAtSourceSourcePortRangePtrInput { - return (*networkInsightsPathFilterAtSourceSourcePortRangePtrType)(v) +func (NetworkInsightsAnalysisReturnPathComponentSecurityGroupRulePortRangeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkInsightsAnalysisReturnPathComponentSecurityGroupRulePortRange)(nil)).Elem() } -func (*networkInsightsPathFilterAtSourceSourcePortRangePtrType) ElementType() reflect.Type { - return reflect.TypeOf((**NetworkInsightsPathFilterAtSourceSourcePortRange)(nil)).Elem() +func (i NetworkInsightsAnalysisReturnPathComponentSecurityGroupRulePortRangeArray) ToNetworkInsightsAnalysisReturnPathComponentSecurityGroupRulePortRangeArrayOutput() NetworkInsightsAnalysisReturnPathComponentSecurityGroupRulePortRangeArrayOutput { + return i.ToNetworkInsightsAnalysisReturnPathComponentSecurityGroupRulePortRangeArrayOutputWithContext(context.Background()) } -func (i *networkInsightsPathFilterAtSourceSourcePortRangePtrType) ToNetworkInsightsPathFilterAtSourceSourcePortRangePtrOutput() NetworkInsightsPathFilterAtSourceSourcePortRangePtrOutput { - return i.ToNetworkInsightsPathFilterAtSourceSourcePortRangePtrOutputWithContext(context.Background()) +func (i NetworkInsightsAnalysisReturnPathComponentSecurityGroupRulePortRangeArray) ToNetworkInsightsAnalysisReturnPathComponentSecurityGroupRulePortRangeArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisReturnPathComponentSecurityGroupRulePortRangeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisReturnPathComponentSecurityGroupRulePortRangeArrayOutput) } -func (i *networkInsightsPathFilterAtSourceSourcePortRangePtrType) ToNetworkInsightsPathFilterAtSourceSourcePortRangePtrOutputWithContext(ctx context.Context) NetworkInsightsPathFilterAtSourceSourcePortRangePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsPathFilterAtSourceSourcePortRangePtrOutput) -} +type NetworkInsightsAnalysisReturnPathComponentSecurityGroupRulePortRangeOutput struct{ *pulumi.OutputState } -type NetworkInsightsPathFilterAtSourceSourcePortRangeOutput struct{ *pulumi.OutputState } - -func (NetworkInsightsPathFilterAtSourceSourcePortRangeOutput) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkInsightsPathFilterAtSourceSourcePortRange)(nil)).Elem() +func (NetworkInsightsAnalysisReturnPathComponentSecurityGroupRulePortRangeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInsightsAnalysisReturnPathComponentSecurityGroupRulePortRange)(nil)).Elem() } -func (o NetworkInsightsPathFilterAtSourceSourcePortRangeOutput) ToNetworkInsightsPathFilterAtSourceSourcePortRangeOutput() NetworkInsightsPathFilterAtSourceSourcePortRangeOutput { +func (o NetworkInsightsAnalysisReturnPathComponentSecurityGroupRulePortRangeOutput) ToNetworkInsightsAnalysisReturnPathComponentSecurityGroupRulePortRangeOutput() NetworkInsightsAnalysisReturnPathComponentSecurityGroupRulePortRangeOutput { return o } -func (o NetworkInsightsPathFilterAtSourceSourcePortRangeOutput) ToNetworkInsightsPathFilterAtSourceSourcePortRangeOutputWithContext(ctx context.Context) NetworkInsightsPathFilterAtSourceSourcePortRangeOutput { +func (o NetworkInsightsAnalysisReturnPathComponentSecurityGroupRulePortRangeOutput) ToNetworkInsightsAnalysisReturnPathComponentSecurityGroupRulePortRangeOutputWithContext(ctx context.Context) NetworkInsightsAnalysisReturnPathComponentSecurityGroupRulePortRangeOutput { return o } -func (o NetworkInsightsPathFilterAtSourceSourcePortRangeOutput) ToNetworkInsightsPathFilterAtSourceSourcePortRangePtrOutput() NetworkInsightsPathFilterAtSourceSourcePortRangePtrOutput { - return o.ToNetworkInsightsPathFilterAtSourceSourcePortRangePtrOutputWithContext(context.Background()) -} - -func (o NetworkInsightsPathFilterAtSourceSourcePortRangeOutput) ToNetworkInsightsPathFilterAtSourceSourcePortRangePtrOutputWithContext(ctx context.Context) NetworkInsightsPathFilterAtSourceSourcePortRangePtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v NetworkInsightsPathFilterAtSourceSourcePortRange) *NetworkInsightsPathFilterAtSourceSourcePortRange { - return &v - }).(NetworkInsightsPathFilterAtSourceSourcePortRangePtrOutput) -} - -// The first port in the range. -func (o NetworkInsightsPathFilterAtSourceSourcePortRangeOutput) FromPort() pulumi.IntPtrOutput { - return o.ApplyT(func(v NetworkInsightsPathFilterAtSourceSourcePortRange) *int { return v.FromPort }).(pulumi.IntPtrOutput) +func (o NetworkInsightsAnalysisReturnPathComponentSecurityGroupRulePortRangeOutput) From() pulumi.IntPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponentSecurityGroupRulePortRange) *int { return v.From }).(pulumi.IntPtrOutput) } -// The last port in the range. -func (o NetworkInsightsPathFilterAtSourceSourcePortRangeOutput) ToPort() pulumi.IntPtrOutput { - return o.ApplyT(func(v NetworkInsightsPathFilterAtSourceSourcePortRange) *int { return v.ToPort }).(pulumi.IntPtrOutput) +func (o NetworkInsightsAnalysisReturnPathComponentSecurityGroupRulePortRangeOutput) To() pulumi.IntPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponentSecurityGroupRulePortRange) *int { return v.To }).(pulumi.IntPtrOutput) } -type NetworkInsightsPathFilterAtSourceSourcePortRangePtrOutput struct{ *pulumi.OutputState } +type NetworkInsightsAnalysisReturnPathComponentSecurityGroupRulePortRangeArrayOutput struct{ *pulumi.OutputState } -func (NetworkInsightsPathFilterAtSourceSourcePortRangePtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**NetworkInsightsPathFilterAtSourceSourcePortRange)(nil)).Elem() +func (NetworkInsightsAnalysisReturnPathComponentSecurityGroupRulePortRangeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkInsightsAnalysisReturnPathComponentSecurityGroupRulePortRange)(nil)).Elem() } -func (o NetworkInsightsPathFilterAtSourceSourcePortRangePtrOutput) ToNetworkInsightsPathFilterAtSourceSourcePortRangePtrOutput() NetworkInsightsPathFilterAtSourceSourcePortRangePtrOutput { +func (o NetworkInsightsAnalysisReturnPathComponentSecurityGroupRulePortRangeArrayOutput) ToNetworkInsightsAnalysisReturnPathComponentSecurityGroupRulePortRangeArrayOutput() NetworkInsightsAnalysisReturnPathComponentSecurityGroupRulePortRangeArrayOutput { return o } -func (o NetworkInsightsPathFilterAtSourceSourcePortRangePtrOutput) ToNetworkInsightsPathFilterAtSourceSourcePortRangePtrOutputWithContext(ctx context.Context) NetworkInsightsPathFilterAtSourceSourcePortRangePtrOutput { +func (o NetworkInsightsAnalysisReturnPathComponentSecurityGroupRulePortRangeArrayOutput) ToNetworkInsightsAnalysisReturnPathComponentSecurityGroupRulePortRangeArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisReturnPathComponentSecurityGroupRulePortRangeArrayOutput { return o } -func (o NetworkInsightsPathFilterAtSourceSourcePortRangePtrOutput) Elem() NetworkInsightsPathFilterAtSourceSourcePortRangeOutput { - return o.ApplyT(func(v *NetworkInsightsPathFilterAtSourceSourcePortRange) NetworkInsightsPathFilterAtSourceSourcePortRange { - if v != nil { - return *v - } - var ret NetworkInsightsPathFilterAtSourceSourcePortRange - return ret - }).(NetworkInsightsPathFilterAtSourceSourcePortRangeOutput) -} - -// The first port in the range. -func (o NetworkInsightsPathFilterAtSourceSourcePortRangePtrOutput) FromPort() pulumi.IntPtrOutput { - return o.ApplyT(func(v *NetworkInsightsPathFilterAtSourceSourcePortRange) *int { - if v == nil { - return nil - } - return v.FromPort - }).(pulumi.IntPtrOutput) -} - -// The last port in the range. -func (o NetworkInsightsPathFilterAtSourceSourcePortRangePtrOutput) ToPort() pulumi.IntPtrOutput { - return o.ApplyT(func(v *NetworkInsightsPathFilterAtSourceSourcePortRange) *int { - if v == nil { - return nil - } - return v.ToPort - }).(pulumi.IntPtrOutput) +func (o NetworkInsightsAnalysisReturnPathComponentSecurityGroupRulePortRangeArrayOutput) Index(i pulumi.IntInput) NetworkInsightsAnalysisReturnPathComponentSecurityGroupRulePortRangeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkInsightsAnalysisReturnPathComponentSecurityGroupRulePortRange { + return vs[0].([]NetworkInsightsAnalysisReturnPathComponentSecurityGroupRulePortRange)[vs[1].(int)] + }).(NetworkInsightsAnalysisReturnPathComponentSecurityGroupRulePortRangeOutput) } -type NetworkInterfaceAttachmentType struct { - AttachmentId *string `pulumi:"attachmentId"` - // Integer to define the devices index. - DeviceIndex int `pulumi:"deviceIndex"` - // ID of the instance to attach to. - Instance string `pulumi:"instance"` - // Index of the network card. Specify a value greater than 0 when using multiple network cards, which are supported by [some instance types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html#network-cards). The default is 0. - NetworkCardIndex *int `pulumi:"networkCardIndex"` +type NetworkInsightsAnalysisReturnPathComponentSourceVpc struct { + // ARN of the Network Insights Analysis. + Arn *string `pulumi:"arn"` + // ID of the Network Insights Analysis. + Id *string `pulumi:"id"` + Name *string `pulumi:"name"` } -// NetworkInterfaceAttachmentTypeInput is an input type that accepts NetworkInterfaceAttachmentTypeArgs and NetworkInterfaceAttachmentTypeOutput values. -// You can construct a concrete instance of `NetworkInterfaceAttachmentTypeInput` via: +// NetworkInsightsAnalysisReturnPathComponentSourceVpcInput is an input type that accepts NetworkInsightsAnalysisReturnPathComponentSourceVpcArgs and NetworkInsightsAnalysisReturnPathComponentSourceVpcOutput values. +// You can construct a concrete instance of `NetworkInsightsAnalysisReturnPathComponentSourceVpcInput` via: // -// NetworkInterfaceAttachmentTypeArgs{...} -type NetworkInterfaceAttachmentTypeInput interface { +// NetworkInsightsAnalysisReturnPathComponentSourceVpcArgs{...} +type NetworkInsightsAnalysisReturnPathComponentSourceVpcInput interface { pulumi.Input - ToNetworkInterfaceAttachmentTypeOutput() NetworkInterfaceAttachmentTypeOutput - ToNetworkInterfaceAttachmentTypeOutputWithContext(context.Context) NetworkInterfaceAttachmentTypeOutput + ToNetworkInsightsAnalysisReturnPathComponentSourceVpcOutput() NetworkInsightsAnalysisReturnPathComponentSourceVpcOutput + ToNetworkInsightsAnalysisReturnPathComponentSourceVpcOutputWithContext(context.Context) NetworkInsightsAnalysisReturnPathComponentSourceVpcOutput } -type NetworkInterfaceAttachmentTypeArgs struct { - AttachmentId pulumi.StringPtrInput `pulumi:"attachmentId"` - // Integer to define the devices index. - DeviceIndex pulumi.IntInput `pulumi:"deviceIndex"` - // ID of the instance to attach to. - Instance pulumi.StringInput `pulumi:"instance"` - // Index of the network card. Specify a value greater than 0 when using multiple network cards, which are supported by [some instance types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html#network-cards). The default is 0. - NetworkCardIndex pulumi.IntPtrInput `pulumi:"networkCardIndex"` +type NetworkInsightsAnalysisReturnPathComponentSourceVpcArgs struct { + // ARN of the Network Insights Analysis. + Arn pulumi.StringPtrInput `pulumi:"arn"` + // ID of the Network Insights Analysis. + Id pulumi.StringPtrInput `pulumi:"id"` + Name pulumi.StringPtrInput `pulumi:"name"` } -func (NetworkInterfaceAttachmentTypeArgs) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkInterfaceAttachmentType)(nil)).Elem() +func (NetworkInsightsAnalysisReturnPathComponentSourceVpcArgs) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInsightsAnalysisReturnPathComponentSourceVpc)(nil)).Elem() } -func (i NetworkInterfaceAttachmentTypeArgs) ToNetworkInterfaceAttachmentTypeOutput() NetworkInterfaceAttachmentTypeOutput { - return i.ToNetworkInterfaceAttachmentTypeOutputWithContext(context.Background()) +func (i NetworkInsightsAnalysisReturnPathComponentSourceVpcArgs) ToNetworkInsightsAnalysisReturnPathComponentSourceVpcOutput() NetworkInsightsAnalysisReturnPathComponentSourceVpcOutput { + return i.ToNetworkInsightsAnalysisReturnPathComponentSourceVpcOutputWithContext(context.Background()) } -func (i NetworkInterfaceAttachmentTypeArgs) ToNetworkInterfaceAttachmentTypeOutputWithContext(ctx context.Context) NetworkInterfaceAttachmentTypeOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInterfaceAttachmentTypeOutput) +func (i NetworkInsightsAnalysisReturnPathComponentSourceVpcArgs) ToNetworkInsightsAnalysisReturnPathComponentSourceVpcOutputWithContext(ctx context.Context) NetworkInsightsAnalysisReturnPathComponentSourceVpcOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisReturnPathComponentSourceVpcOutput) } -// NetworkInterfaceAttachmentTypeArrayInput is an input type that accepts NetworkInterfaceAttachmentTypeArray and NetworkInterfaceAttachmentTypeArrayOutput values. -// You can construct a concrete instance of `NetworkInterfaceAttachmentTypeArrayInput` via: +// NetworkInsightsAnalysisReturnPathComponentSourceVpcArrayInput is an input type that accepts NetworkInsightsAnalysisReturnPathComponentSourceVpcArray and NetworkInsightsAnalysisReturnPathComponentSourceVpcArrayOutput values. +// You can construct a concrete instance of `NetworkInsightsAnalysisReturnPathComponentSourceVpcArrayInput` via: // -// NetworkInterfaceAttachmentTypeArray{ NetworkInterfaceAttachmentTypeArgs{...} } -type NetworkInterfaceAttachmentTypeArrayInput interface { +// NetworkInsightsAnalysisReturnPathComponentSourceVpcArray{ NetworkInsightsAnalysisReturnPathComponentSourceVpcArgs{...} } +type NetworkInsightsAnalysisReturnPathComponentSourceVpcArrayInput interface { pulumi.Input - ToNetworkInterfaceAttachmentTypeArrayOutput() NetworkInterfaceAttachmentTypeArrayOutput - ToNetworkInterfaceAttachmentTypeArrayOutputWithContext(context.Context) NetworkInterfaceAttachmentTypeArrayOutput + ToNetworkInsightsAnalysisReturnPathComponentSourceVpcArrayOutput() NetworkInsightsAnalysisReturnPathComponentSourceVpcArrayOutput + ToNetworkInsightsAnalysisReturnPathComponentSourceVpcArrayOutputWithContext(context.Context) NetworkInsightsAnalysisReturnPathComponentSourceVpcArrayOutput } -type NetworkInterfaceAttachmentTypeArray []NetworkInterfaceAttachmentTypeInput +type NetworkInsightsAnalysisReturnPathComponentSourceVpcArray []NetworkInsightsAnalysisReturnPathComponentSourceVpcInput -func (NetworkInterfaceAttachmentTypeArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]NetworkInterfaceAttachmentType)(nil)).Elem() +func (NetworkInsightsAnalysisReturnPathComponentSourceVpcArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkInsightsAnalysisReturnPathComponentSourceVpc)(nil)).Elem() } -func (i NetworkInterfaceAttachmentTypeArray) ToNetworkInterfaceAttachmentTypeArrayOutput() NetworkInterfaceAttachmentTypeArrayOutput { - return i.ToNetworkInterfaceAttachmentTypeArrayOutputWithContext(context.Background()) +func (i NetworkInsightsAnalysisReturnPathComponentSourceVpcArray) ToNetworkInsightsAnalysisReturnPathComponentSourceVpcArrayOutput() NetworkInsightsAnalysisReturnPathComponentSourceVpcArrayOutput { + return i.ToNetworkInsightsAnalysisReturnPathComponentSourceVpcArrayOutputWithContext(context.Background()) } -func (i NetworkInterfaceAttachmentTypeArray) ToNetworkInterfaceAttachmentTypeArrayOutputWithContext(ctx context.Context) NetworkInterfaceAttachmentTypeArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInterfaceAttachmentTypeArrayOutput) +func (i NetworkInsightsAnalysisReturnPathComponentSourceVpcArray) ToNetworkInsightsAnalysisReturnPathComponentSourceVpcArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisReturnPathComponentSourceVpcArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisReturnPathComponentSourceVpcArrayOutput) } -type NetworkInterfaceAttachmentTypeOutput struct{ *pulumi.OutputState } +type NetworkInsightsAnalysisReturnPathComponentSourceVpcOutput struct{ *pulumi.OutputState } -func (NetworkInterfaceAttachmentTypeOutput) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkInterfaceAttachmentType)(nil)).Elem() +func (NetworkInsightsAnalysisReturnPathComponentSourceVpcOutput) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInsightsAnalysisReturnPathComponentSourceVpc)(nil)).Elem() } -func (o NetworkInterfaceAttachmentTypeOutput) ToNetworkInterfaceAttachmentTypeOutput() NetworkInterfaceAttachmentTypeOutput { +func (o NetworkInsightsAnalysisReturnPathComponentSourceVpcOutput) ToNetworkInsightsAnalysisReturnPathComponentSourceVpcOutput() NetworkInsightsAnalysisReturnPathComponentSourceVpcOutput { return o } -func (o NetworkInterfaceAttachmentTypeOutput) ToNetworkInterfaceAttachmentTypeOutputWithContext(ctx context.Context) NetworkInterfaceAttachmentTypeOutput { +func (o NetworkInsightsAnalysisReturnPathComponentSourceVpcOutput) ToNetworkInsightsAnalysisReturnPathComponentSourceVpcOutputWithContext(ctx context.Context) NetworkInsightsAnalysisReturnPathComponentSourceVpcOutput { return o } -func (o NetworkInterfaceAttachmentTypeOutput) AttachmentId() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInterfaceAttachmentType) *string { return v.AttachmentId }).(pulumi.StringPtrOutput) -} - -// Integer to define the devices index. -func (o NetworkInterfaceAttachmentTypeOutput) DeviceIndex() pulumi.IntOutput { - return o.ApplyT(func(v NetworkInterfaceAttachmentType) int { return v.DeviceIndex }).(pulumi.IntOutput) +// ARN of the Network Insights Analysis. +func (o NetworkInsightsAnalysisReturnPathComponentSourceVpcOutput) Arn() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponentSourceVpc) *string { return v.Arn }).(pulumi.StringPtrOutput) } -// ID of the instance to attach to. -func (o NetworkInterfaceAttachmentTypeOutput) Instance() pulumi.StringOutput { - return o.ApplyT(func(v NetworkInterfaceAttachmentType) string { return v.Instance }).(pulumi.StringOutput) +// ID of the Network Insights Analysis. +func (o NetworkInsightsAnalysisReturnPathComponentSourceVpcOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponentSourceVpc) *string { return v.Id }).(pulumi.StringPtrOutput) } -// Index of the network card. Specify a value greater than 0 when using multiple network cards, which are supported by [some instance types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html#network-cards). The default is 0. -func (o NetworkInterfaceAttachmentTypeOutput) NetworkCardIndex() pulumi.IntPtrOutput { - return o.ApplyT(func(v NetworkInterfaceAttachmentType) *int { return v.NetworkCardIndex }).(pulumi.IntPtrOutput) +func (o NetworkInsightsAnalysisReturnPathComponentSourceVpcOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponentSourceVpc) *string { return v.Name }).(pulumi.StringPtrOutput) } -type NetworkInterfaceAttachmentTypeArrayOutput struct{ *pulumi.OutputState } +type NetworkInsightsAnalysisReturnPathComponentSourceVpcArrayOutput struct{ *pulumi.OutputState } -func (NetworkInterfaceAttachmentTypeArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]NetworkInterfaceAttachmentType)(nil)).Elem() +func (NetworkInsightsAnalysisReturnPathComponentSourceVpcArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkInsightsAnalysisReturnPathComponentSourceVpc)(nil)).Elem() } -func (o NetworkInterfaceAttachmentTypeArrayOutput) ToNetworkInterfaceAttachmentTypeArrayOutput() NetworkInterfaceAttachmentTypeArrayOutput { +func (o NetworkInsightsAnalysisReturnPathComponentSourceVpcArrayOutput) ToNetworkInsightsAnalysisReturnPathComponentSourceVpcArrayOutput() NetworkInsightsAnalysisReturnPathComponentSourceVpcArrayOutput { return o } -func (o NetworkInterfaceAttachmentTypeArrayOutput) ToNetworkInterfaceAttachmentTypeArrayOutputWithContext(ctx context.Context) NetworkInterfaceAttachmentTypeArrayOutput { +func (o NetworkInsightsAnalysisReturnPathComponentSourceVpcArrayOutput) ToNetworkInsightsAnalysisReturnPathComponentSourceVpcArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisReturnPathComponentSourceVpcArrayOutput { return o } -func (o NetworkInterfaceAttachmentTypeArrayOutput) Index(i pulumi.IntInput) NetworkInterfaceAttachmentTypeOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkInterfaceAttachmentType { - return vs[0].([]NetworkInterfaceAttachmentType)[vs[1].(int)] - }).(NetworkInterfaceAttachmentTypeOutput) +func (o NetworkInsightsAnalysisReturnPathComponentSourceVpcArrayOutput) Index(i pulumi.IntInput) NetworkInsightsAnalysisReturnPathComponentSourceVpcOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkInsightsAnalysisReturnPathComponentSourceVpc { + return vs[0].([]NetworkInsightsAnalysisReturnPathComponentSourceVpc)[vs[1].(int)] + }).(NetworkInsightsAnalysisReturnPathComponentSourceVpcOutput) } -type NetworkInterfacePermissionTimeouts struct { - // A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). - Create *string `pulumi:"create"` - // A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs. - Delete *string `pulumi:"delete"` +type NetworkInsightsAnalysisReturnPathComponentSubnet struct { + // ARN of the Network Insights Analysis. + Arn *string `pulumi:"arn"` + // ID of the Network Insights Analysis. + Id *string `pulumi:"id"` + Name *string `pulumi:"name"` } -// NetworkInterfacePermissionTimeoutsInput is an input type that accepts NetworkInterfacePermissionTimeoutsArgs and NetworkInterfacePermissionTimeoutsOutput values. -// You can construct a concrete instance of `NetworkInterfacePermissionTimeoutsInput` via: +// NetworkInsightsAnalysisReturnPathComponentSubnetInput is an input type that accepts NetworkInsightsAnalysisReturnPathComponentSubnetArgs and NetworkInsightsAnalysisReturnPathComponentSubnetOutput values. +// You can construct a concrete instance of `NetworkInsightsAnalysisReturnPathComponentSubnetInput` via: // -// NetworkInterfacePermissionTimeoutsArgs{...} -type NetworkInterfacePermissionTimeoutsInput interface { +// NetworkInsightsAnalysisReturnPathComponentSubnetArgs{...} +type NetworkInsightsAnalysisReturnPathComponentSubnetInput interface { pulumi.Input - ToNetworkInterfacePermissionTimeoutsOutput() NetworkInterfacePermissionTimeoutsOutput - ToNetworkInterfacePermissionTimeoutsOutputWithContext(context.Context) NetworkInterfacePermissionTimeoutsOutput -} - -type NetworkInterfacePermissionTimeoutsArgs struct { - // A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). - Create pulumi.StringPtrInput `pulumi:"create"` - // A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs. - Delete pulumi.StringPtrInput `pulumi:"delete"` -} - -func (NetworkInterfacePermissionTimeoutsArgs) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkInterfacePermissionTimeouts)(nil)).Elem() + ToNetworkInsightsAnalysisReturnPathComponentSubnetOutput() NetworkInsightsAnalysisReturnPathComponentSubnetOutput + ToNetworkInsightsAnalysisReturnPathComponentSubnetOutputWithContext(context.Context) NetworkInsightsAnalysisReturnPathComponentSubnetOutput } -func (i NetworkInterfacePermissionTimeoutsArgs) ToNetworkInterfacePermissionTimeoutsOutput() NetworkInterfacePermissionTimeoutsOutput { - return i.ToNetworkInterfacePermissionTimeoutsOutputWithContext(context.Background()) +type NetworkInsightsAnalysisReturnPathComponentSubnetArgs struct { + // ARN of the Network Insights Analysis. + Arn pulumi.StringPtrInput `pulumi:"arn"` + // ID of the Network Insights Analysis. + Id pulumi.StringPtrInput `pulumi:"id"` + Name pulumi.StringPtrInput `pulumi:"name"` } -func (i NetworkInterfacePermissionTimeoutsArgs) ToNetworkInterfacePermissionTimeoutsOutputWithContext(ctx context.Context) NetworkInterfacePermissionTimeoutsOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInterfacePermissionTimeoutsOutput) +func (NetworkInsightsAnalysisReturnPathComponentSubnetArgs) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInsightsAnalysisReturnPathComponentSubnet)(nil)).Elem() } -func (i NetworkInterfacePermissionTimeoutsArgs) ToNetworkInterfacePermissionTimeoutsPtrOutput() NetworkInterfacePermissionTimeoutsPtrOutput { - return i.ToNetworkInterfacePermissionTimeoutsPtrOutputWithContext(context.Background()) +func (i NetworkInsightsAnalysisReturnPathComponentSubnetArgs) ToNetworkInsightsAnalysisReturnPathComponentSubnetOutput() NetworkInsightsAnalysisReturnPathComponentSubnetOutput { + return i.ToNetworkInsightsAnalysisReturnPathComponentSubnetOutputWithContext(context.Background()) } -func (i NetworkInterfacePermissionTimeoutsArgs) ToNetworkInterfacePermissionTimeoutsPtrOutputWithContext(ctx context.Context) NetworkInterfacePermissionTimeoutsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInterfacePermissionTimeoutsOutput).ToNetworkInterfacePermissionTimeoutsPtrOutputWithContext(ctx) +func (i NetworkInsightsAnalysisReturnPathComponentSubnetArgs) ToNetworkInsightsAnalysisReturnPathComponentSubnetOutputWithContext(ctx context.Context) NetworkInsightsAnalysisReturnPathComponentSubnetOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisReturnPathComponentSubnetOutput) } -// NetworkInterfacePermissionTimeoutsPtrInput is an input type that accepts NetworkInterfacePermissionTimeoutsArgs, NetworkInterfacePermissionTimeoutsPtr and NetworkInterfacePermissionTimeoutsPtrOutput values. -// You can construct a concrete instance of `NetworkInterfacePermissionTimeoutsPtrInput` via: -// -// NetworkInterfacePermissionTimeoutsArgs{...} -// -// or: +// NetworkInsightsAnalysisReturnPathComponentSubnetArrayInput is an input type that accepts NetworkInsightsAnalysisReturnPathComponentSubnetArray and NetworkInsightsAnalysisReturnPathComponentSubnetArrayOutput values. +// You can construct a concrete instance of `NetworkInsightsAnalysisReturnPathComponentSubnetArrayInput` via: // -// nil -type NetworkInterfacePermissionTimeoutsPtrInput interface { +// NetworkInsightsAnalysisReturnPathComponentSubnetArray{ NetworkInsightsAnalysisReturnPathComponentSubnetArgs{...} } +type NetworkInsightsAnalysisReturnPathComponentSubnetArrayInput interface { pulumi.Input - ToNetworkInterfacePermissionTimeoutsPtrOutput() NetworkInterfacePermissionTimeoutsPtrOutput - ToNetworkInterfacePermissionTimeoutsPtrOutputWithContext(context.Context) NetworkInterfacePermissionTimeoutsPtrOutput + ToNetworkInsightsAnalysisReturnPathComponentSubnetArrayOutput() NetworkInsightsAnalysisReturnPathComponentSubnetArrayOutput + ToNetworkInsightsAnalysisReturnPathComponentSubnetArrayOutputWithContext(context.Context) NetworkInsightsAnalysisReturnPathComponentSubnetArrayOutput } -type networkInterfacePermissionTimeoutsPtrType NetworkInterfacePermissionTimeoutsArgs - -func NetworkInterfacePermissionTimeoutsPtr(v *NetworkInterfacePermissionTimeoutsArgs) NetworkInterfacePermissionTimeoutsPtrInput { - return (*networkInterfacePermissionTimeoutsPtrType)(v) -} +type NetworkInsightsAnalysisReturnPathComponentSubnetArray []NetworkInsightsAnalysisReturnPathComponentSubnetInput -func (*networkInterfacePermissionTimeoutsPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**NetworkInterfacePermissionTimeouts)(nil)).Elem() +func (NetworkInsightsAnalysisReturnPathComponentSubnetArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkInsightsAnalysisReturnPathComponentSubnet)(nil)).Elem() } -func (i *networkInterfacePermissionTimeoutsPtrType) ToNetworkInterfacePermissionTimeoutsPtrOutput() NetworkInterfacePermissionTimeoutsPtrOutput { - return i.ToNetworkInterfacePermissionTimeoutsPtrOutputWithContext(context.Background()) +func (i NetworkInsightsAnalysisReturnPathComponentSubnetArray) ToNetworkInsightsAnalysisReturnPathComponentSubnetArrayOutput() NetworkInsightsAnalysisReturnPathComponentSubnetArrayOutput { + return i.ToNetworkInsightsAnalysisReturnPathComponentSubnetArrayOutputWithContext(context.Background()) } -func (i *networkInterfacePermissionTimeoutsPtrType) ToNetworkInterfacePermissionTimeoutsPtrOutputWithContext(ctx context.Context) NetworkInterfacePermissionTimeoutsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkInterfacePermissionTimeoutsPtrOutput) +func (i NetworkInsightsAnalysisReturnPathComponentSubnetArray) ToNetworkInsightsAnalysisReturnPathComponentSubnetArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisReturnPathComponentSubnetArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisReturnPathComponentSubnetArrayOutput) } -type NetworkInterfacePermissionTimeoutsOutput struct{ *pulumi.OutputState } +type NetworkInsightsAnalysisReturnPathComponentSubnetOutput struct{ *pulumi.OutputState } -func (NetworkInterfacePermissionTimeoutsOutput) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkInterfacePermissionTimeouts)(nil)).Elem() +func (NetworkInsightsAnalysisReturnPathComponentSubnetOutput) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInsightsAnalysisReturnPathComponentSubnet)(nil)).Elem() } -func (o NetworkInterfacePermissionTimeoutsOutput) ToNetworkInterfacePermissionTimeoutsOutput() NetworkInterfacePermissionTimeoutsOutput { +func (o NetworkInsightsAnalysisReturnPathComponentSubnetOutput) ToNetworkInsightsAnalysisReturnPathComponentSubnetOutput() NetworkInsightsAnalysisReturnPathComponentSubnetOutput { return o } -func (o NetworkInterfacePermissionTimeoutsOutput) ToNetworkInterfacePermissionTimeoutsOutputWithContext(ctx context.Context) NetworkInterfacePermissionTimeoutsOutput { +func (o NetworkInsightsAnalysisReturnPathComponentSubnetOutput) ToNetworkInsightsAnalysisReturnPathComponentSubnetOutputWithContext(ctx context.Context) NetworkInsightsAnalysisReturnPathComponentSubnetOutput { return o } -func (o NetworkInterfacePermissionTimeoutsOutput) ToNetworkInterfacePermissionTimeoutsPtrOutput() NetworkInterfacePermissionTimeoutsPtrOutput { - return o.ToNetworkInterfacePermissionTimeoutsPtrOutputWithContext(context.Background()) -} - -func (o NetworkInterfacePermissionTimeoutsOutput) ToNetworkInterfacePermissionTimeoutsPtrOutputWithContext(ctx context.Context) NetworkInterfacePermissionTimeoutsPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v NetworkInterfacePermissionTimeouts) *NetworkInterfacePermissionTimeouts { - return &v - }).(NetworkInterfacePermissionTimeoutsPtrOutput) +// ARN of the Network Insights Analysis. +func (o NetworkInsightsAnalysisReturnPathComponentSubnetOutput) Arn() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponentSubnet) *string { return v.Arn }).(pulumi.StringPtrOutput) } -// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). -func (o NetworkInterfacePermissionTimeoutsOutput) Create() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInterfacePermissionTimeouts) *string { return v.Create }).(pulumi.StringPtrOutput) +// ID of the Network Insights Analysis. +func (o NetworkInsightsAnalysisReturnPathComponentSubnetOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponentSubnet) *string { return v.Id }).(pulumi.StringPtrOutput) } -// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs. -func (o NetworkInterfacePermissionTimeoutsOutput) Delete() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkInterfacePermissionTimeouts) *string { return v.Delete }).(pulumi.StringPtrOutput) +func (o NetworkInsightsAnalysisReturnPathComponentSubnetOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponentSubnet) *string { return v.Name }).(pulumi.StringPtrOutput) } -type NetworkInterfacePermissionTimeoutsPtrOutput struct{ *pulumi.OutputState } +type NetworkInsightsAnalysisReturnPathComponentSubnetArrayOutput struct{ *pulumi.OutputState } -func (NetworkInterfacePermissionTimeoutsPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**NetworkInterfacePermissionTimeouts)(nil)).Elem() +func (NetworkInsightsAnalysisReturnPathComponentSubnetArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkInsightsAnalysisReturnPathComponentSubnet)(nil)).Elem() } -func (o NetworkInterfacePermissionTimeoutsPtrOutput) ToNetworkInterfacePermissionTimeoutsPtrOutput() NetworkInterfacePermissionTimeoutsPtrOutput { +func (o NetworkInsightsAnalysisReturnPathComponentSubnetArrayOutput) ToNetworkInsightsAnalysisReturnPathComponentSubnetArrayOutput() NetworkInsightsAnalysisReturnPathComponentSubnetArrayOutput { return o } -func (o NetworkInterfacePermissionTimeoutsPtrOutput) ToNetworkInterfacePermissionTimeoutsPtrOutputWithContext(ctx context.Context) NetworkInterfacePermissionTimeoutsPtrOutput { +func (o NetworkInsightsAnalysisReturnPathComponentSubnetArrayOutput) ToNetworkInsightsAnalysisReturnPathComponentSubnetArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisReturnPathComponentSubnetArrayOutput { return o } -func (o NetworkInterfacePermissionTimeoutsPtrOutput) Elem() NetworkInterfacePermissionTimeoutsOutput { - return o.ApplyT(func(v *NetworkInterfacePermissionTimeouts) NetworkInterfacePermissionTimeouts { - if v != nil { - return *v - } - var ret NetworkInterfacePermissionTimeouts - return ret - }).(NetworkInterfacePermissionTimeoutsOutput) -} - -// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). -func (o NetworkInterfacePermissionTimeoutsPtrOutput) Create() pulumi.StringPtrOutput { - return o.ApplyT(func(v *NetworkInterfacePermissionTimeouts) *string { - if v == nil { - return nil - } - return v.Create - }).(pulumi.StringPtrOutput) -} - -// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs. -func (o NetworkInterfacePermissionTimeoutsPtrOutput) Delete() pulumi.StringPtrOutput { - return o.ApplyT(func(v *NetworkInterfacePermissionTimeouts) *string { - if v == nil { - return nil - } - return v.Delete - }).(pulumi.StringPtrOutput) +func (o NetworkInsightsAnalysisReturnPathComponentSubnetArrayOutput) Index(i pulumi.IntInput) NetworkInsightsAnalysisReturnPathComponentSubnetOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkInsightsAnalysisReturnPathComponentSubnet { + return vs[0].([]NetworkInsightsAnalysisReturnPathComponentSubnet)[vs[1].(int)] + }).(NetworkInsightsAnalysisReturnPathComponentSubnetOutput) } -type PeeringConnectionOptionsAccepter struct { - // Allow a local VPC to resolve public DNS hostnames to private IP addresses when queried from instances in the peer VPC. - AllowRemoteVpcDnsResolution *bool `pulumi:"allowRemoteVpcDnsResolution"` +type NetworkInsightsAnalysisReturnPathComponentTransitGateway struct { + // ARN of the Network Insights Analysis. + Arn *string `pulumi:"arn"` + // ID of the Network Insights Analysis. + Id *string `pulumi:"id"` + Name *string `pulumi:"name"` } -// PeeringConnectionOptionsAccepterInput is an input type that accepts PeeringConnectionOptionsAccepterArgs and PeeringConnectionOptionsAccepterOutput values. -// You can construct a concrete instance of `PeeringConnectionOptionsAccepterInput` via: +// NetworkInsightsAnalysisReturnPathComponentTransitGatewayInput is an input type that accepts NetworkInsightsAnalysisReturnPathComponentTransitGatewayArgs and NetworkInsightsAnalysisReturnPathComponentTransitGatewayOutput values. +// You can construct a concrete instance of `NetworkInsightsAnalysisReturnPathComponentTransitGatewayInput` via: // -// PeeringConnectionOptionsAccepterArgs{...} -type PeeringConnectionOptionsAccepterInput interface { +// NetworkInsightsAnalysisReturnPathComponentTransitGatewayArgs{...} +type NetworkInsightsAnalysisReturnPathComponentTransitGatewayInput interface { pulumi.Input - ToPeeringConnectionOptionsAccepterOutput() PeeringConnectionOptionsAccepterOutput - ToPeeringConnectionOptionsAccepterOutputWithContext(context.Context) PeeringConnectionOptionsAccepterOutput -} - -type PeeringConnectionOptionsAccepterArgs struct { - // Allow a local VPC to resolve public DNS hostnames to private IP addresses when queried from instances in the peer VPC. - AllowRemoteVpcDnsResolution pulumi.BoolPtrInput `pulumi:"allowRemoteVpcDnsResolution"` -} - -func (PeeringConnectionOptionsAccepterArgs) ElementType() reflect.Type { - return reflect.TypeOf((*PeeringConnectionOptionsAccepter)(nil)).Elem() + ToNetworkInsightsAnalysisReturnPathComponentTransitGatewayOutput() NetworkInsightsAnalysisReturnPathComponentTransitGatewayOutput + ToNetworkInsightsAnalysisReturnPathComponentTransitGatewayOutputWithContext(context.Context) NetworkInsightsAnalysisReturnPathComponentTransitGatewayOutput } -func (i PeeringConnectionOptionsAccepterArgs) ToPeeringConnectionOptionsAccepterOutput() PeeringConnectionOptionsAccepterOutput { - return i.ToPeeringConnectionOptionsAccepterOutputWithContext(context.Background()) +type NetworkInsightsAnalysisReturnPathComponentTransitGatewayArgs struct { + // ARN of the Network Insights Analysis. + Arn pulumi.StringPtrInput `pulumi:"arn"` + // ID of the Network Insights Analysis. + Id pulumi.StringPtrInput `pulumi:"id"` + Name pulumi.StringPtrInput `pulumi:"name"` } -func (i PeeringConnectionOptionsAccepterArgs) ToPeeringConnectionOptionsAccepterOutputWithContext(ctx context.Context) PeeringConnectionOptionsAccepterOutput { - return pulumi.ToOutputWithContext(ctx, i).(PeeringConnectionOptionsAccepterOutput) +func (NetworkInsightsAnalysisReturnPathComponentTransitGatewayArgs) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInsightsAnalysisReturnPathComponentTransitGateway)(nil)).Elem() } -func (i PeeringConnectionOptionsAccepterArgs) ToPeeringConnectionOptionsAccepterPtrOutput() PeeringConnectionOptionsAccepterPtrOutput { - return i.ToPeeringConnectionOptionsAccepterPtrOutputWithContext(context.Background()) +func (i NetworkInsightsAnalysisReturnPathComponentTransitGatewayArgs) ToNetworkInsightsAnalysisReturnPathComponentTransitGatewayOutput() NetworkInsightsAnalysisReturnPathComponentTransitGatewayOutput { + return i.ToNetworkInsightsAnalysisReturnPathComponentTransitGatewayOutputWithContext(context.Background()) } -func (i PeeringConnectionOptionsAccepterArgs) ToPeeringConnectionOptionsAccepterPtrOutputWithContext(ctx context.Context) PeeringConnectionOptionsAccepterPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(PeeringConnectionOptionsAccepterOutput).ToPeeringConnectionOptionsAccepterPtrOutputWithContext(ctx) +func (i NetworkInsightsAnalysisReturnPathComponentTransitGatewayArgs) ToNetworkInsightsAnalysisReturnPathComponentTransitGatewayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisReturnPathComponentTransitGatewayOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisReturnPathComponentTransitGatewayOutput) } -// PeeringConnectionOptionsAccepterPtrInput is an input type that accepts PeeringConnectionOptionsAccepterArgs, PeeringConnectionOptionsAccepterPtr and PeeringConnectionOptionsAccepterPtrOutput values. -// You can construct a concrete instance of `PeeringConnectionOptionsAccepterPtrInput` via: -// -// PeeringConnectionOptionsAccepterArgs{...} -// -// or: +// NetworkInsightsAnalysisReturnPathComponentTransitGatewayArrayInput is an input type that accepts NetworkInsightsAnalysisReturnPathComponentTransitGatewayArray and NetworkInsightsAnalysisReturnPathComponentTransitGatewayArrayOutput values. +// You can construct a concrete instance of `NetworkInsightsAnalysisReturnPathComponentTransitGatewayArrayInput` via: // -// nil -type PeeringConnectionOptionsAccepterPtrInput interface { +// NetworkInsightsAnalysisReturnPathComponentTransitGatewayArray{ NetworkInsightsAnalysisReturnPathComponentTransitGatewayArgs{...} } +type NetworkInsightsAnalysisReturnPathComponentTransitGatewayArrayInput interface { pulumi.Input - ToPeeringConnectionOptionsAccepterPtrOutput() PeeringConnectionOptionsAccepterPtrOutput - ToPeeringConnectionOptionsAccepterPtrOutputWithContext(context.Context) PeeringConnectionOptionsAccepterPtrOutput + ToNetworkInsightsAnalysisReturnPathComponentTransitGatewayArrayOutput() NetworkInsightsAnalysisReturnPathComponentTransitGatewayArrayOutput + ToNetworkInsightsAnalysisReturnPathComponentTransitGatewayArrayOutputWithContext(context.Context) NetworkInsightsAnalysisReturnPathComponentTransitGatewayArrayOutput } -type peeringConnectionOptionsAccepterPtrType PeeringConnectionOptionsAccepterArgs - -func PeeringConnectionOptionsAccepterPtr(v *PeeringConnectionOptionsAccepterArgs) PeeringConnectionOptionsAccepterPtrInput { - return (*peeringConnectionOptionsAccepterPtrType)(v) -} +type NetworkInsightsAnalysisReturnPathComponentTransitGatewayArray []NetworkInsightsAnalysisReturnPathComponentTransitGatewayInput -func (*peeringConnectionOptionsAccepterPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**PeeringConnectionOptionsAccepter)(nil)).Elem() +func (NetworkInsightsAnalysisReturnPathComponentTransitGatewayArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkInsightsAnalysisReturnPathComponentTransitGateway)(nil)).Elem() } -func (i *peeringConnectionOptionsAccepterPtrType) ToPeeringConnectionOptionsAccepterPtrOutput() PeeringConnectionOptionsAccepterPtrOutput { - return i.ToPeeringConnectionOptionsAccepterPtrOutputWithContext(context.Background()) +func (i NetworkInsightsAnalysisReturnPathComponentTransitGatewayArray) ToNetworkInsightsAnalysisReturnPathComponentTransitGatewayArrayOutput() NetworkInsightsAnalysisReturnPathComponentTransitGatewayArrayOutput { + return i.ToNetworkInsightsAnalysisReturnPathComponentTransitGatewayArrayOutputWithContext(context.Background()) } -func (i *peeringConnectionOptionsAccepterPtrType) ToPeeringConnectionOptionsAccepterPtrOutputWithContext(ctx context.Context) PeeringConnectionOptionsAccepterPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(PeeringConnectionOptionsAccepterPtrOutput) +func (i NetworkInsightsAnalysisReturnPathComponentTransitGatewayArray) ToNetworkInsightsAnalysisReturnPathComponentTransitGatewayArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisReturnPathComponentTransitGatewayArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisReturnPathComponentTransitGatewayArrayOutput) } -type PeeringConnectionOptionsAccepterOutput struct{ *pulumi.OutputState } +type NetworkInsightsAnalysisReturnPathComponentTransitGatewayOutput struct{ *pulumi.OutputState } -func (PeeringConnectionOptionsAccepterOutput) ElementType() reflect.Type { - return reflect.TypeOf((*PeeringConnectionOptionsAccepter)(nil)).Elem() +func (NetworkInsightsAnalysisReturnPathComponentTransitGatewayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInsightsAnalysisReturnPathComponentTransitGateway)(nil)).Elem() } -func (o PeeringConnectionOptionsAccepterOutput) ToPeeringConnectionOptionsAccepterOutput() PeeringConnectionOptionsAccepterOutput { +func (o NetworkInsightsAnalysisReturnPathComponentTransitGatewayOutput) ToNetworkInsightsAnalysisReturnPathComponentTransitGatewayOutput() NetworkInsightsAnalysisReturnPathComponentTransitGatewayOutput { return o } -func (o PeeringConnectionOptionsAccepterOutput) ToPeeringConnectionOptionsAccepterOutputWithContext(ctx context.Context) PeeringConnectionOptionsAccepterOutput { +func (o NetworkInsightsAnalysisReturnPathComponentTransitGatewayOutput) ToNetworkInsightsAnalysisReturnPathComponentTransitGatewayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisReturnPathComponentTransitGatewayOutput { return o } -func (o PeeringConnectionOptionsAccepterOutput) ToPeeringConnectionOptionsAccepterPtrOutput() PeeringConnectionOptionsAccepterPtrOutput { - return o.ToPeeringConnectionOptionsAccepterPtrOutputWithContext(context.Background()) +// ARN of the Network Insights Analysis. +func (o NetworkInsightsAnalysisReturnPathComponentTransitGatewayOutput) Arn() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponentTransitGateway) *string { return v.Arn }).(pulumi.StringPtrOutput) } -func (o PeeringConnectionOptionsAccepterOutput) ToPeeringConnectionOptionsAccepterPtrOutputWithContext(ctx context.Context) PeeringConnectionOptionsAccepterPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v PeeringConnectionOptionsAccepter) *PeeringConnectionOptionsAccepter { - return &v - }).(PeeringConnectionOptionsAccepterPtrOutput) +// ID of the Network Insights Analysis. +func (o NetworkInsightsAnalysisReturnPathComponentTransitGatewayOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponentTransitGateway) *string { return v.Id }).(pulumi.StringPtrOutput) } -// Allow a local VPC to resolve public DNS hostnames to private IP addresses when queried from instances in the peer VPC. -func (o PeeringConnectionOptionsAccepterOutput) AllowRemoteVpcDnsResolution() pulumi.BoolPtrOutput { - return o.ApplyT(func(v PeeringConnectionOptionsAccepter) *bool { return v.AllowRemoteVpcDnsResolution }).(pulumi.BoolPtrOutput) +func (o NetworkInsightsAnalysisReturnPathComponentTransitGatewayOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponentTransitGateway) *string { return v.Name }).(pulumi.StringPtrOutput) } -type PeeringConnectionOptionsAccepterPtrOutput struct{ *pulumi.OutputState } +type NetworkInsightsAnalysisReturnPathComponentTransitGatewayArrayOutput struct{ *pulumi.OutputState } -func (PeeringConnectionOptionsAccepterPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**PeeringConnectionOptionsAccepter)(nil)).Elem() +func (NetworkInsightsAnalysisReturnPathComponentTransitGatewayArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkInsightsAnalysisReturnPathComponentTransitGateway)(nil)).Elem() } -func (o PeeringConnectionOptionsAccepterPtrOutput) ToPeeringConnectionOptionsAccepterPtrOutput() PeeringConnectionOptionsAccepterPtrOutput { +func (o NetworkInsightsAnalysisReturnPathComponentTransitGatewayArrayOutput) ToNetworkInsightsAnalysisReturnPathComponentTransitGatewayArrayOutput() NetworkInsightsAnalysisReturnPathComponentTransitGatewayArrayOutput { return o } -func (o PeeringConnectionOptionsAccepterPtrOutput) ToPeeringConnectionOptionsAccepterPtrOutputWithContext(ctx context.Context) PeeringConnectionOptionsAccepterPtrOutput { +func (o NetworkInsightsAnalysisReturnPathComponentTransitGatewayArrayOutput) ToNetworkInsightsAnalysisReturnPathComponentTransitGatewayArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisReturnPathComponentTransitGatewayArrayOutput { return o } -func (o PeeringConnectionOptionsAccepterPtrOutput) Elem() PeeringConnectionOptionsAccepterOutput { - return o.ApplyT(func(v *PeeringConnectionOptionsAccepter) PeeringConnectionOptionsAccepter { - if v != nil { - return *v - } - var ret PeeringConnectionOptionsAccepter - return ret - }).(PeeringConnectionOptionsAccepterOutput) +func (o NetworkInsightsAnalysisReturnPathComponentTransitGatewayArrayOutput) Index(i pulumi.IntInput) NetworkInsightsAnalysisReturnPathComponentTransitGatewayOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkInsightsAnalysisReturnPathComponentTransitGateway { + return vs[0].([]NetworkInsightsAnalysisReturnPathComponentTransitGateway)[vs[1].(int)] + }).(NetworkInsightsAnalysisReturnPathComponentTransitGatewayOutput) } -// Allow a local VPC to resolve public DNS hostnames to private IP addresses when queried from instances in the peer VPC. -func (o PeeringConnectionOptionsAccepterPtrOutput) AllowRemoteVpcDnsResolution() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *PeeringConnectionOptionsAccepter) *bool { - if v == nil { - return nil - } - return v.AllowRemoteVpcDnsResolution - }).(pulumi.BoolPtrOutput) +type NetworkInsightsAnalysisReturnPathComponentTransitGatewayRouteTableRoute struct { + AttachmentId *string `pulumi:"attachmentId"` + DestinationCidr *string `pulumi:"destinationCidr"` + PrefixListId *string `pulumi:"prefixListId"` + ResourceId *string `pulumi:"resourceId"` + ResourceType *string `pulumi:"resourceType"` + RouteOrigin *string `pulumi:"routeOrigin"` + State *string `pulumi:"state"` } -type PeeringConnectionOptionsRequester struct { - // Allow a local VPC to resolve public DNS hostnames to private IP addresses when queried from instances in the peer VPC. - AllowRemoteVpcDnsResolution *bool `pulumi:"allowRemoteVpcDnsResolution"` -} - -// PeeringConnectionOptionsRequesterInput is an input type that accepts PeeringConnectionOptionsRequesterArgs and PeeringConnectionOptionsRequesterOutput values. -// You can construct a concrete instance of `PeeringConnectionOptionsRequesterInput` via: +// NetworkInsightsAnalysisReturnPathComponentTransitGatewayRouteTableRouteInput is an input type that accepts NetworkInsightsAnalysisReturnPathComponentTransitGatewayRouteTableRouteArgs and NetworkInsightsAnalysisReturnPathComponentTransitGatewayRouteTableRouteOutput values. +// You can construct a concrete instance of `NetworkInsightsAnalysisReturnPathComponentTransitGatewayRouteTableRouteInput` via: // -// PeeringConnectionOptionsRequesterArgs{...} -type PeeringConnectionOptionsRequesterInput interface { +// NetworkInsightsAnalysisReturnPathComponentTransitGatewayRouteTableRouteArgs{...} +type NetworkInsightsAnalysisReturnPathComponentTransitGatewayRouteTableRouteInput interface { pulumi.Input - ToPeeringConnectionOptionsRequesterOutput() PeeringConnectionOptionsRequesterOutput - ToPeeringConnectionOptionsRequesterOutputWithContext(context.Context) PeeringConnectionOptionsRequesterOutput -} - -type PeeringConnectionOptionsRequesterArgs struct { - // Allow a local VPC to resolve public DNS hostnames to private IP addresses when queried from instances in the peer VPC. - AllowRemoteVpcDnsResolution pulumi.BoolPtrInput `pulumi:"allowRemoteVpcDnsResolution"` -} - -func (PeeringConnectionOptionsRequesterArgs) ElementType() reflect.Type { - return reflect.TypeOf((*PeeringConnectionOptionsRequester)(nil)).Elem() + ToNetworkInsightsAnalysisReturnPathComponentTransitGatewayRouteTableRouteOutput() NetworkInsightsAnalysisReturnPathComponentTransitGatewayRouteTableRouteOutput + ToNetworkInsightsAnalysisReturnPathComponentTransitGatewayRouteTableRouteOutputWithContext(context.Context) NetworkInsightsAnalysisReturnPathComponentTransitGatewayRouteTableRouteOutput } -func (i PeeringConnectionOptionsRequesterArgs) ToPeeringConnectionOptionsRequesterOutput() PeeringConnectionOptionsRequesterOutput { - return i.ToPeeringConnectionOptionsRequesterOutputWithContext(context.Background()) +type NetworkInsightsAnalysisReturnPathComponentTransitGatewayRouteTableRouteArgs struct { + AttachmentId pulumi.StringPtrInput `pulumi:"attachmentId"` + DestinationCidr pulumi.StringPtrInput `pulumi:"destinationCidr"` + PrefixListId pulumi.StringPtrInput `pulumi:"prefixListId"` + ResourceId pulumi.StringPtrInput `pulumi:"resourceId"` + ResourceType pulumi.StringPtrInput `pulumi:"resourceType"` + RouteOrigin pulumi.StringPtrInput `pulumi:"routeOrigin"` + State pulumi.StringPtrInput `pulumi:"state"` } -func (i PeeringConnectionOptionsRequesterArgs) ToPeeringConnectionOptionsRequesterOutputWithContext(ctx context.Context) PeeringConnectionOptionsRequesterOutput { - return pulumi.ToOutputWithContext(ctx, i).(PeeringConnectionOptionsRequesterOutput) +func (NetworkInsightsAnalysisReturnPathComponentTransitGatewayRouteTableRouteArgs) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInsightsAnalysisReturnPathComponentTransitGatewayRouteTableRoute)(nil)).Elem() } -func (i PeeringConnectionOptionsRequesterArgs) ToPeeringConnectionOptionsRequesterPtrOutput() PeeringConnectionOptionsRequesterPtrOutput { - return i.ToPeeringConnectionOptionsRequesterPtrOutputWithContext(context.Background()) +func (i NetworkInsightsAnalysisReturnPathComponentTransitGatewayRouteTableRouteArgs) ToNetworkInsightsAnalysisReturnPathComponentTransitGatewayRouteTableRouteOutput() NetworkInsightsAnalysisReturnPathComponentTransitGatewayRouteTableRouteOutput { + return i.ToNetworkInsightsAnalysisReturnPathComponentTransitGatewayRouteTableRouteOutputWithContext(context.Background()) } -func (i PeeringConnectionOptionsRequesterArgs) ToPeeringConnectionOptionsRequesterPtrOutputWithContext(ctx context.Context) PeeringConnectionOptionsRequesterPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(PeeringConnectionOptionsRequesterOutput).ToPeeringConnectionOptionsRequesterPtrOutputWithContext(ctx) +func (i NetworkInsightsAnalysisReturnPathComponentTransitGatewayRouteTableRouteArgs) ToNetworkInsightsAnalysisReturnPathComponentTransitGatewayRouteTableRouteOutputWithContext(ctx context.Context) NetworkInsightsAnalysisReturnPathComponentTransitGatewayRouteTableRouteOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisReturnPathComponentTransitGatewayRouteTableRouteOutput) } -// PeeringConnectionOptionsRequesterPtrInput is an input type that accepts PeeringConnectionOptionsRequesterArgs, PeeringConnectionOptionsRequesterPtr and PeeringConnectionOptionsRequesterPtrOutput values. -// You can construct a concrete instance of `PeeringConnectionOptionsRequesterPtrInput` via: -// -// PeeringConnectionOptionsRequesterArgs{...} -// -// or: +// NetworkInsightsAnalysisReturnPathComponentTransitGatewayRouteTableRouteArrayInput is an input type that accepts NetworkInsightsAnalysisReturnPathComponentTransitGatewayRouteTableRouteArray and NetworkInsightsAnalysisReturnPathComponentTransitGatewayRouteTableRouteArrayOutput values. +// You can construct a concrete instance of `NetworkInsightsAnalysisReturnPathComponentTransitGatewayRouteTableRouteArrayInput` via: // -// nil -type PeeringConnectionOptionsRequesterPtrInput interface { +// NetworkInsightsAnalysisReturnPathComponentTransitGatewayRouteTableRouteArray{ NetworkInsightsAnalysisReturnPathComponentTransitGatewayRouteTableRouteArgs{...} } +type NetworkInsightsAnalysisReturnPathComponentTransitGatewayRouteTableRouteArrayInput interface { pulumi.Input - ToPeeringConnectionOptionsRequesterPtrOutput() PeeringConnectionOptionsRequesterPtrOutput - ToPeeringConnectionOptionsRequesterPtrOutputWithContext(context.Context) PeeringConnectionOptionsRequesterPtrOutput + ToNetworkInsightsAnalysisReturnPathComponentTransitGatewayRouteTableRouteArrayOutput() NetworkInsightsAnalysisReturnPathComponentTransitGatewayRouteTableRouteArrayOutput + ToNetworkInsightsAnalysisReturnPathComponentTransitGatewayRouteTableRouteArrayOutputWithContext(context.Context) NetworkInsightsAnalysisReturnPathComponentTransitGatewayRouteTableRouteArrayOutput } -type peeringConnectionOptionsRequesterPtrType PeeringConnectionOptionsRequesterArgs - -func PeeringConnectionOptionsRequesterPtr(v *PeeringConnectionOptionsRequesterArgs) PeeringConnectionOptionsRequesterPtrInput { - return (*peeringConnectionOptionsRequesterPtrType)(v) -} +type NetworkInsightsAnalysisReturnPathComponentTransitGatewayRouteTableRouteArray []NetworkInsightsAnalysisReturnPathComponentTransitGatewayRouteTableRouteInput -func (*peeringConnectionOptionsRequesterPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**PeeringConnectionOptionsRequester)(nil)).Elem() +func (NetworkInsightsAnalysisReturnPathComponentTransitGatewayRouteTableRouteArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkInsightsAnalysisReturnPathComponentTransitGatewayRouteTableRoute)(nil)).Elem() } -func (i *peeringConnectionOptionsRequesterPtrType) ToPeeringConnectionOptionsRequesterPtrOutput() PeeringConnectionOptionsRequesterPtrOutput { - return i.ToPeeringConnectionOptionsRequesterPtrOutputWithContext(context.Background()) +func (i NetworkInsightsAnalysisReturnPathComponentTransitGatewayRouteTableRouteArray) ToNetworkInsightsAnalysisReturnPathComponentTransitGatewayRouteTableRouteArrayOutput() NetworkInsightsAnalysisReturnPathComponentTransitGatewayRouteTableRouteArrayOutput { + return i.ToNetworkInsightsAnalysisReturnPathComponentTransitGatewayRouteTableRouteArrayOutputWithContext(context.Background()) } -func (i *peeringConnectionOptionsRequesterPtrType) ToPeeringConnectionOptionsRequesterPtrOutputWithContext(ctx context.Context) PeeringConnectionOptionsRequesterPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(PeeringConnectionOptionsRequesterPtrOutput) +func (i NetworkInsightsAnalysisReturnPathComponentTransitGatewayRouteTableRouteArray) ToNetworkInsightsAnalysisReturnPathComponentTransitGatewayRouteTableRouteArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisReturnPathComponentTransitGatewayRouteTableRouteArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisReturnPathComponentTransitGatewayRouteTableRouteArrayOutput) } -type PeeringConnectionOptionsRequesterOutput struct{ *pulumi.OutputState } +type NetworkInsightsAnalysisReturnPathComponentTransitGatewayRouteTableRouteOutput struct{ *pulumi.OutputState } -func (PeeringConnectionOptionsRequesterOutput) ElementType() reflect.Type { - return reflect.TypeOf((*PeeringConnectionOptionsRequester)(nil)).Elem() +func (NetworkInsightsAnalysisReturnPathComponentTransitGatewayRouteTableRouteOutput) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInsightsAnalysisReturnPathComponentTransitGatewayRouteTableRoute)(nil)).Elem() } -func (o PeeringConnectionOptionsRequesterOutput) ToPeeringConnectionOptionsRequesterOutput() PeeringConnectionOptionsRequesterOutput { +func (o NetworkInsightsAnalysisReturnPathComponentTransitGatewayRouteTableRouteOutput) ToNetworkInsightsAnalysisReturnPathComponentTransitGatewayRouteTableRouteOutput() NetworkInsightsAnalysisReturnPathComponentTransitGatewayRouteTableRouteOutput { return o } -func (o PeeringConnectionOptionsRequesterOutput) ToPeeringConnectionOptionsRequesterOutputWithContext(ctx context.Context) PeeringConnectionOptionsRequesterOutput { +func (o NetworkInsightsAnalysisReturnPathComponentTransitGatewayRouteTableRouteOutput) ToNetworkInsightsAnalysisReturnPathComponentTransitGatewayRouteTableRouteOutputWithContext(ctx context.Context) NetworkInsightsAnalysisReturnPathComponentTransitGatewayRouteTableRouteOutput { return o } -func (o PeeringConnectionOptionsRequesterOutput) ToPeeringConnectionOptionsRequesterPtrOutput() PeeringConnectionOptionsRequesterPtrOutput { - return o.ToPeeringConnectionOptionsRequesterPtrOutputWithContext(context.Background()) +func (o NetworkInsightsAnalysisReturnPathComponentTransitGatewayRouteTableRouteOutput) AttachmentId() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponentTransitGatewayRouteTableRoute) *string { + return v.AttachmentId + }).(pulumi.StringPtrOutput) } -func (o PeeringConnectionOptionsRequesterOutput) ToPeeringConnectionOptionsRequesterPtrOutputWithContext(ctx context.Context) PeeringConnectionOptionsRequesterPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v PeeringConnectionOptionsRequester) *PeeringConnectionOptionsRequester { - return &v - }).(PeeringConnectionOptionsRequesterPtrOutput) +func (o NetworkInsightsAnalysisReturnPathComponentTransitGatewayRouteTableRouteOutput) DestinationCidr() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponentTransitGatewayRouteTableRoute) *string { + return v.DestinationCidr + }).(pulumi.StringPtrOutput) } -// Allow a local VPC to resolve public DNS hostnames to private IP addresses when queried from instances in the peer VPC. -func (o PeeringConnectionOptionsRequesterOutput) AllowRemoteVpcDnsResolution() pulumi.BoolPtrOutput { - return o.ApplyT(func(v PeeringConnectionOptionsRequester) *bool { return v.AllowRemoteVpcDnsResolution }).(pulumi.BoolPtrOutput) +func (o NetworkInsightsAnalysisReturnPathComponentTransitGatewayRouteTableRouteOutput) PrefixListId() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponentTransitGatewayRouteTableRoute) *string { + return v.PrefixListId + }).(pulumi.StringPtrOutput) } -type PeeringConnectionOptionsRequesterPtrOutput struct{ *pulumi.OutputState } +func (o NetworkInsightsAnalysisReturnPathComponentTransitGatewayRouteTableRouteOutput) ResourceId() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponentTransitGatewayRouteTableRoute) *string { + return v.ResourceId + }).(pulumi.StringPtrOutput) +} -func (PeeringConnectionOptionsRequesterPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**PeeringConnectionOptionsRequester)(nil)).Elem() +func (o NetworkInsightsAnalysisReturnPathComponentTransitGatewayRouteTableRouteOutput) ResourceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponentTransitGatewayRouteTableRoute) *string { + return v.ResourceType + }).(pulumi.StringPtrOutput) } -func (o PeeringConnectionOptionsRequesterPtrOutput) ToPeeringConnectionOptionsRequesterPtrOutput() PeeringConnectionOptionsRequesterPtrOutput { - return o +func (o NetworkInsightsAnalysisReturnPathComponentTransitGatewayRouteTableRouteOutput) RouteOrigin() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponentTransitGatewayRouteTableRoute) *string { + return v.RouteOrigin + }).(pulumi.StringPtrOutput) } -func (o PeeringConnectionOptionsRequesterPtrOutput) ToPeeringConnectionOptionsRequesterPtrOutputWithContext(ctx context.Context) PeeringConnectionOptionsRequesterPtrOutput { +func (o NetworkInsightsAnalysisReturnPathComponentTransitGatewayRouteTableRouteOutput) State() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponentTransitGatewayRouteTableRoute) *string { + return v.State + }).(pulumi.StringPtrOutput) +} + +type NetworkInsightsAnalysisReturnPathComponentTransitGatewayRouteTableRouteArrayOutput struct{ *pulumi.OutputState } + +func (NetworkInsightsAnalysisReturnPathComponentTransitGatewayRouteTableRouteArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkInsightsAnalysisReturnPathComponentTransitGatewayRouteTableRoute)(nil)).Elem() +} + +func (o NetworkInsightsAnalysisReturnPathComponentTransitGatewayRouteTableRouteArrayOutput) ToNetworkInsightsAnalysisReturnPathComponentTransitGatewayRouteTableRouteArrayOutput() NetworkInsightsAnalysisReturnPathComponentTransitGatewayRouteTableRouteArrayOutput { return o } -func (o PeeringConnectionOptionsRequesterPtrOutput) Elem() PeeringConnectionOptionsRequesterOutput { - return o.ApplyT(func(v *PeeringConnectionOptionsRequester) PeeringConnectionOptionsRequester { - if v != nil { - return *v - } - var ret PeeringConnectionOptionsRequester - return ret - }).(PeeringConnectionOptionsRequesterOutput) +func (o NetworkInsightsAnalysisReturnPathComponentTransitGatewayRouteTableRouteArrayOutput) ToNetworkInsightsAnalysisReturnPathComponentTransitGatewayRouteTableRouteArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisReturnPathComponentTransitGatewayRouteTableRouteArrayOutput { + return o } -// Allow a local VPC to resolve public DNS hostnames to private IP addresses when queried from instances in the peer VPC. -func (o PeeringConnectionOptionsRequesterPtrOutput) AllowRemoteVpcDnsResolution() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *PeeringConnectionOptionsRequester) *bool { - if v == nil { - return nil - } - return v.AllowRemoteVpcDnsResolution - }).(pulumi.BoolPtrOutput) +func (o NetworkInsightsAnalysisReturnPathComponentTransitGatewayRouteTableRouteArrayOutput) Index(i pulumi.IntInput) NetworkInsightsAnalysisReturnPathComponentTransitGatewayRouteTableRouteOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkInsightsAnalysisReturnPathComponentTransitGatewayRouteTableRoute { + return vs[0].([]NetworkInsightsAnalysisReturnPathComponentTransitGatewayRouteTableRoute)[vs[1].(int)] + }).(NetworkInsightsAnalysisReturnPathComponentTransitGatewayRouteTableRouteOutput) } -type RouteTableRoute struct { - // Identifier of a carrier gateway. This attribute can only be used when the VPC contains a subnet which is associated with a Wavelength Zone. - CarrierGatewayId *string `pulumi:"carrierGatewayId"` - // The CIDR block of the route. - CidrBlock *string `pulumi:"cidrBlock"` - // The Amazon Resource Name (ARN) of a core network. - CoreNetworkArn *string `pulumi:"coreNetworkArn"` - // The ID of a managed prefix list destination of the route. - // - // One of the following target arguments must be supplied: - DestinationPrefixListId *string `pulumi:"destinationPrefixListId"` - // Identifier of a VPC Egress Only Internet Gateway. - EgressOnlyGatewayId *string `pulumi:"egressOnlyGatewayId"` - // Identifier of a VPC internet gateway, virtual private gateway, or `local`. `local` routes cannot be created but can be adopted or imported. See the example above. - GatewayId *string `pulumi:"gatewayId"` - // The Ipv6 CIDR block of the route. - Ipv6CidrBlock *string `pulumi:"ipv6CidrBlock"` - // Identifier of a Outpost local gateway. - LocalGatewayId *string `pulumi:"localGatewayId"` - // Identifier of a VPC NAT gateway. - NatGatewayId *string `pulumi:"natGatewayId"` - // Identifier of an EC2 network interface. - NetworkInterfaceId *string `pulumi:"networkInterfaceId"` - // Identifier of an EC2 Transit Gateway. - TransitGatewayId *string `pulumi:"transitGatewayId"` - // Identifier of a VPC Endpoint. - VpcEndpointId *string `pulumi:"vpcEndpointId"` - // Identifier of a VPC peering connection. - // - // Note that the default route, mapping the VPC's CIDR block to "local", is created implicitly and cannot be specified. - VpcPeeringConnectionId *string `pulumi:"vpcPeeringConnectionId"` +type NetworkInsightsAnalysisReturnPathComponentVpc struct { + // ARN of the Network Insights Analysis. + Arn *string `pulumi:"arn"` + // ID of the Network Insights Analysis. + Id *string `pulumi:"id"` + Name *string `pulumi:"name"` } -// RouteTableRouteInput is an input type that accepts RouteTableRouteArgs and RouteTableRouteOutput values. -// You can construct a concrete instance of `RouteTableRouteInput` via: +// NetworkInsightsAnalysisReturnPathComponentVpcInput is an input type that accepts NetworkInsightsAnalysisReturnPathComponentVpcArgs and NetworkInsightsAnalysisReturnPathComponentVpcOutput values. +// You can construct a concrete instance of `NetworkInsightsAnalysisReturnPathComponentVpcInput` via: // -// RouteTableRouteArgs{...} -type RouteTableRouteInput interface { +// NetworkInsightsAnalysisReturnPathComponentVpcArgs{...} +type NetworkInsightsAnalysisReturnPathComponentVpcInput interface { pulumi.Input - ToRouteTableRouteOutput() RouteTableRouteOutput - ToRouteTableRouteOutputWithContext(context.Context) RouteTableRouteOutput + ToNetworkInsightsAnalysisReturnPathComponentVpcOutput() NetworkInsightsAnalysisReturnPathComponentVpcOutput + ToNetworkInsightsAnalysisReturnPathComponentVpcOutputWithContext(context.Context) NetworkInsightsAnalysisReturnPathComponentVpcOutput } -type RouteTableRouteArgs struct { - // Identifier of a carrier gateway. This attribute can only be used when the VPC contains a subnet which is associated with a Wavelength Zone. - CarrierGatewayId pulumi.StringPtrInput `pulumi:"carrierGatewayId"` - // The CIDR block of the route. - CidrBlock pulumi.StringPtrInput `pulumi:"cidrBlock"` - // The Amazon Resource Name (ARN) of a core network. - CoreNetworkArn pulumi.StringPtrInput `pulumi:"coreNetworkArn"` - // The ID of a managed prefix list destination of the route. - // - // One of the following target arguments must be supplied: - DestinationPrefixListId pulumi.StringPtrInput `pulumi:"destinationPrefixListId"` - // Identifier of a VPC Egress Only Internet Gateway. - EgressOnlyGatewayId pulumi.StringPtrInput `pulumi:"egressOnlyGatewayId"` - // Identifier of a VPC internet gateway, virtual private gateway, or `local`. `local` routes cannot be created but can be adopted or imported. See the example above. - GatewayId pulumi.StringPtrInput `pulumi:"gatewayId"` - // The Ipv6 CIDR block of the route. - Ipv6CidrBlock pulumi.StringPtrInput `pulumi:"ipv6CidrBlock"` - // Identifier of a Outpost local gateway. - LocalGatewayId pulumi.StringPtrInput `pulumi:"localGatewayId"` - // Identifier of a VPC NAT gateway. - NatGatewayId pulumi.StringPtrInput `pulumi:"natGatewayId"` - // Identifier of an EC2 network interface. - NetworkInterfaceId pulumi.StringPtrInput `pulumi:"networkInterfaceId"` - // Identifier of an EC2 Transit Gateway. - TransitGatewayId pulumi.StringPtrInput `pulumi:"transitGatewayId"` - // Identifier of a VPC Endpoint. - VpcEndpointId pulumi.StringPtrInput `pulumi:"vpcEndpointId"` - // Identifier of a VPC peering connection. - // - // Note that the default route, mapping the VPC's CIDR block to "local", is created implicitly and cannot be specified. - VpcPeeringConnectionId pulumi.StringPtrInput `pulumi:"vpcPeeringConnectionId"` +type NetworkInsightsAnalysisReturnPathComponentVpcArgs struct { + // ARN of the Network Insights Analysis. + Arn pulumi.StringPtrInput `pulumi:"arn"` + // ID of the Network Insights Analysis. + Id pulumi.StringPtrInput `pulumi:"id"` + Name pulumi.StringPtrInput `pulumi:"name"` } -func (RouteTableRouteArgs) ElementType() reflect.Type { - return reflect.TypeOf((*RouteTableRoute)(nil)).Elem() +func (NetworkInsightsAnalysisReturnPathComponentVpcArgs) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInsightsAnalysisReturnPathComponentVpc)(nil)).Elem() } -func (i RouteTableRouteArgs) ToRouteTableRouteOutput() RouteTableRouteOutput { - return i.ToRouteTableRouteOutputWithContext(context.Background()) +func (i NetworkInsightsAnalysisReturnPathComponentVpcArgs) ToNetworkInsightsAnalysisReturnPathComponentVpcOutput() NetworkInsightsAnalysisReturnPathComponentVpcOutput { + return i.ToNetworkInsightsAnalysisReturnPathComponentVpcOutputWithContext(context.Background()) } -func (i RouteTableRouteArgs) ToRouteTableRouteOutputWithContext(ctx context.Context) RouteTableRouteOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteTableRouteOutput) +func (i NetworkInsightsAnalysisReturnPathComponentVpcArgs) ToNetworkInsightsAnalysisReturnPathComponentVpcOutputWithContext(ctx context.Context) NetworkInsightsAnalysisReturnPathComponentVpcOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisReturnPathComponentVpcOutput) } -// RouteTableRouteArrayInput is an input type that accepts RouteTableRouteArray and RouteTableRouteArrayOutput values. -// You can construct a concrete instance of `RouteTableRouteArrayInput` via: +// NetworkInsightsAnalysisReturnPathComponentVpcArrayInput is an input type that accepts NetworkInsightsAnalysisReturnPathComponentVpcArray and NetworkInsightsAnalysisReturnPathComponentVpcArrayOutput values. +// You can construct a concrete instance of `NetworkInsightsAnalysisReturnPathComponentVpcArrayInput` via: // -// RouteTableRouteArray{ RouteTableRouteArgs{...} } -type RouteTableRouteArrayInput interface { +// NetworkInsightsAnalysisReturnPathComponentVpcArray{ NetworkInsightsAnalysisReturnPathComponentVpcArgs{...} } +type NetworkInsightsAnalysisReturnPathComponentVpcArrayInput interface { pulumi.Input - ToRouteTableRouteArrayOutput() RouteTableRouteArrayOutput - ToRouteTableRouteArrayOutputWithContext(context.Context) RouteTableRouteArrayOutput + ToNetworkInsightsAnalysisReturnPathComponentVpcArrayOutput() NetworkInsightsAnalysisReturnPathComponentVpcArrayOutput + ToNetworkInsightsAnalysisReturnPathComponentVpcArrayOutputWithContext(context.Context) NetworkInsightsAnalysisReturnPathComponentVpcArrayOutput } -type RouteTableRouteArray []RouteTableRouteInput +type NetworkInsightsAnalysisReturnPathComponentVpcArray []NetworkInsightsAnalysisReturnPathComponentVpcInput -func (RouteTableRouteArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]RouteTableRoute)(nil)).Elem() +func (NetworkInsightsAnalysisReturnPathComponentVpcArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkInsightsAnalysisReturnPathComponentVpc)(nil)).Elem() } -func (i RouteTableRouteArray) ToRouteTableRouteArrayOutput() RouteTableRouteArrayOutput { - return i.ToRouteTableRouteArrayOutputWithContext(context.Background()) +func (i NetworkInsightsAnalysisReturnPathComponentVpcArray) ToNetworkInsightsAnalysisReturnPathComponentVpcArrayOutput() NetworkInsightsAnalysisReturnPathComponentVpcArrayOutput { + return i.ToNetworkInsightsAnalysisReturnPathComponentVpcArrayOutputWithContext(context.Background()) } -func (i RouteTableRouteArray) ToRouteTableRouteArrayOutputWithContext(ctx context.Context) RouteTableRouteArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteTableRouteArrayOutput) +func (i NetworkInsightsAnalysisReturnPathComponentVpcArray) ToNetworkInsightsAnalysisReturnPathComponentVpcArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisReturnPathComponentVpcArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsAnalysisReturnPathComponentVpcArrayOutput) } -type RouteTableRouteOutput struct{ *pulumi.OutputState } +type NetworkInsightsAnalysisReturnPathComponentVpcOutput struct{ *pulumi.OutputState } -func (RouteTableRouteOutput) ElementType() reflect.Type { - return reflect.TypeOf((*RouteTableRoute)(nil)).Elem() +func (NetworkInsightsAnalysisReturnPathComponentVpcOutput) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInsightsAnalysisReturnPathComponentVpc)(nil)).Elem() } -func (o RouteTableRouteOutput) ToRouteTableRouteOutput() RouteTableRouteOutput { +func (o NetworkInsightsAnalysisReturnPathComponentVpcOutput) ToNetworkInsightsAnalysisReturnPathComponentVpcOutput() NetworkInsightsAnalysisReturnPathComponentVpcOutput { return o } -func (o RouteTableRouteOutput) ToRouteTableRouteOutputWithContext(ctx context.Context) RouteTableRouteOutput { +func (o NetworkInsightsAnalysisReturnPathComponentVpcOutput) ToNetworkInsightsAnalysisReturnPathComponentVpcOutputWithContext(ctx context.Context) NetworkInsightsAnalysisReturnPathComponentVpcOutput { return o } -// Identifier of a carrier gateway. This attribute can only be used when the VPC contains a subnet which is associated with a Wavelength Zone. -func (o RouteTableRouteOutput) CarrierGatewayId() pulumi.StringPtrOutput { - return o.ApplyT(func(v RouteTableRoute) *string { return v.CarrierGatewayId }).(pulumi.StringPtrOutput) -} - -// The CIDR block of the route. -func (o RouteTableRouteOutput) CidrBlock() pulumi.StringPtrOutput { - return o.ApplyT(func(v RouteTableRoute) *string { return v.CidrBlock }).(pulumi.StringPtrOutput) +// ARN of the Network Insights Analysis. +func (o NetworkInsightsAnalysisReturnPathComponentVpcOutput) Arn() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponentVpc) *string { return v.Arn }).(pulumi.StringPtrOutput) } -// The Amazon Resource Name (ARN) of a core network. -func (o RouteTableRouteOutput) CoreNetworkArn() pulumi.StringPtrOutput { - return o.ApplyT(func(v RouteTableRoute) *string { return v.CoreNetworkArn }).(pulumi.StringPtrOutput) +// ID of the Network Insights Analysis. +func (o NetworkInsightsAnalysisReturnPathComponentVpcOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponentVpc) *string { return v.Id }).(pulumi.StringPtrOutput) } -// The ID of a managed prefix list destination of the route. -// -// One of the following target arguments must be supplied: -func (o RouteTableRouteOutput) DestinationPrefixListId() pulumi.StringPtrOutput { - return o.ApplyT(func(v RouteTableRoute) *string { return v.DestinationPrefixListId }).(pulumi.StringPtrOutput) +func (o NetworkInsightsAnalysisReturnPathComponentVpcOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsAnalysisReturnPathComponentVpc) *string { return v.Name }).(pulumi.StringPtrOutput) } -// Identifier of a VPC Egress Only Internet Gateway. -func (o RouteTableRouteOutput) EgressOnlyGatewayId() pulumi.StringPtrOutput { - return o.ApplyT(func(v RouteTableRoute) *string { return v.EgressOnlyGatewayId }).(pulumi.StringPtrOutput) -} +type NetworkInsightsAnalysisReturnPathComponentVpcArrayOutput struct{ *pulumi.OutputState } -// Identifier of a VPC internet gateway, virtual private gateway, or `local`. `local` routes cannot be created but can be adopted or imported. See the example above. -func (o RouteTableRouteOutput) GatewayId() pulumi.StringPtrOutput { - return o.ApplyT(func(v RouteTableRoute) *string { return v.GatewayId }).(pulumi.StringPtrOutput) +func (NetworkInsightsAnalysisReturnPathComponentVpcArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkInsightsAnalysisReturnPathComponentVpc)(nil)).Elem() } -// The Ipv6 CIDR block of the route. -func (o RouteTableRouteOutput) Ipv6CidrBlock() pulumi.StringPtrOutput { - return o.ApplyT(func(v RouteTableRoute) *string { return v.Ipv6CidrBlock }).(pulumi.StringPtrOutput) +func (o NetworkInsightsAnalysisReturnPathComponentVpcArrayOutput) ToNetworkInsightsAnalysisReturnPathComponentVpcArrayOutput() NetworkInsightsAnalysisReturnPathComponentVpcArrayOutput { + return o } -// Identifier of a Outpost local gateway. -func (o RouteTableRouteOutput) LocalGatewayId() pulumi.StringPtrOutput { - return o.ApplyT(func(v RouteTableRoute) *string { return v.LocalGatewayId }).(pulumi.StringPtrOutput) +func (o NetworkInsightsAnalysisReturnPathComponentVpcArrayOutput) ToNetworkInsightsAnalysisReturnPathComponentVpcArrayOutputWithContext(ctx context.Context) NetworkInsightsAnalysisReturnPathComponentVpcArrayOutput { + return o } -// Identifier of a VPC NAT gateway. -func (o RouteTableRouteOutput) NatGatewayId() pulumi.StringPtrOutput { - return o.ApplyT(func(v RouteTableRoute) *string { return v.NatGatewayId }).(pulumi.StringPtrOutput) +func (o NetworkInsightsAnalysisReturnPathComponentVpcArrayOutput) Index(i pulumi.IntInput) NetworkInsightsAnalysisReturnPathComponentVpcOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkInsightsAnalysisReturnPathComponentVpc { + return vs[0].([]NetworkInsightsAnalysisReturnPathComponentVpc)[vs[1].(int)] + }).(NetworkInsightsAnalysisReturnPathComponentVpcOutput) } -// Identifier of an EC2 network interface. -func (o RouteTableRouteOutput) NetworkInterfaceId() pulumi.StringPtrOutput { - return o.ApplyT(func(v RouteTableRoute) *string { return v.NetworkInterfaceId }).(pulumi.StringPtrOutput) +type NetworkInsightsPathFilterAtDestination struct { + // The destination IPv4 address. + DestinationAddress *string `pulumi:"destinationAddress"` + // The destination port range. See below for details. + DestinationPortRange *NetworkInsightsPathFilterAtDestinationDestinationPortRange `pulumi:"destinationPortRange"` + // IP address of the source resource. + SourceAddress *string `pulumi:"sourceAddress"` + // The source port range. See below for details. + SourcePortRange *NetworkInsightsPathFilterAtDestinationSourcePortRange `pulumi:"sourcePortRange"` } -// Identifier of an EC2 Transit Gateway. -func (o RouteTableRouteOutput) TransitGatewayId() pulumi.StringPtrOutput { - return o.ApplyT(func(v RouteTableRoute) *string { return v.TransitGatewayId }).(pulumi.StringPtrOutput) -} +// NetworkInsightsPathFilterAtDestinationInput is an input type that accepts NetworkInsightsPathFilterAtDestinationArgs and NetworkInsightsPathFilterAtDestinationOutput values. +// You can construct a concrete instance of `NetworkInsightsPathFilterAtDestinationInput` via: +// +// NetworkInsightsPathFilterAtDestinationArgs{...} +type NetworkInsightsPathFilterAtDestinationInput interface { + pulumi.Input -// Identifier of a VPC Endpoint. -func (o RouteTableRouteOutput) VpcEndpointId() pulumi.StringPtrOutput { - return o.ApplyT(func(v RouteTableRoute) *string { return v.VpcEndpointId }).(pulumi.StringPtrOutput) + ToNetworkInsightsPathFilterAtDestinationOutput() NetworkInsightsPathFilterAtDestinationOutput + ToNetworkInsightsPathFilterAtDestinationOutputWithContext(context.Context) NetworkInsightsPathFilterAtDestinationOutput } -// Identifier of a VPC peering connection. -// -// Note that the default route, mapping the VPC's CIDR block to "local", is created implicitly and cannot be specified. -func (o RouteTableRouteOutput) VpcPeeringConnectionId() pulumi.StringPtrOutput { - return o.ApplyT(func(v RouteTableRoute) *string { return v.VpcPeeringConnectionId }).(pulumi.StringPtrOutput) +type NetworkInsightsPathFilterAtDestinationArgs struct { + // The destination IPv4 address. + DestinationAddress pulumi.StringPtrInput `pulumi:"destinationAddress"` + // The destination port range. See below for details. + DestinationPortRange NetworkInsightsPathFilterAtDestinationDestinationPortRangePtrInput `pulumi:"destinationPortRange"` + // IP address of the source resource. + SourceAddress pulumi.StringPtrInput `pulumi:"sourceAddress"` + // The source port range. See below for details. + SourcePortRange NetworkInsightsPathFilterAtDestinationSourcePortRangePtrInput `pulumi:"sourcePortRange"` } -type RouteTableRouteArrayOutput struct{ *pulumi.OutputState } - -func (RouteTableRouteArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]RouteTableRoute)(nil)).Elem() +func (NetworkInsightsPathFilterAtDestinationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInsightsPathFilterAtDestination)(nil)).Elem() } -func (o RouteTableRouteArrayOutput) ToRouteTableRouteArrayOutput() RouteTableRouteArrayOutput { - return o +func (i NetworkInsightsPathFilterAtDestinationArgs) ToNetworkInsightsPathFilterAtDestinationOutput() NetworkInsightsPathFilterAtDestinationOutput { + return i.ToNetworkInsightsPathFilterAtDestinationOutputWithContext(context.Background()) } -func (o RouteTableRouteArrayOutput) ToRouteTableRouteArrayOutputWithContext(ctx context.Context) RouteTableRouteArrayOutput { - return o +func (i NetworkInsightsPathFilterAtDestinationArgs) ToNetworkInsightsPathFilterAtDestinationOutputWithContext(ctx context.Context) NetworkInsightsPathFilterAtDestinationOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsPathFilterAtDestinationOutput) } -func (o RouteTableRouteArrayOutput) Index(i pulumi.IntInput) RouteTableRouteOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) RouteTableRoute { - return vs[0].([]RouteTableRoute)[vs[1].(int)] - }).(RouteTableRouteOutput) +func (i NetworkInsightsPathFilterAtDestinationArgs) ToNetworkInsightsPathFilterAtDestinationPtrOutput() NetworkInsightsPathFilterAtDestinationPtrOutput { + return i.ToNetworkInsightsPathFilterAtDestinationPtrOutputWithContext(context.Background()) } -type SecurityGroupEgress struct { - // List of CIDR blocks. - CidrBlocks []string `pulumi:"cidrBlocks"` - // Description of this egress rule. - Description *string `pulumi:"description"` - // Start port (or ICMP type number if protocol is `icmp`) - FromPort int `pulumi:"fromPort"` - // List of IPv6 CIDR blocks. - Ipv6CidrBlocks []string `pulumi:"ipv6CidrBlocks"` - // List of Prefix List IDs. - PrefixListIds []string `pulumi:"prefixListIds"` - // Protocol. If you select a protocol of `-1` (semantically equivalent to `all`, which is not a valid value here), you must specify a `fromPort` and `toPort` equal to 0. The supported values are defined in the `IpProtocol` argument in the [IpPermission](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_IpPermission.html) API reference. - Protocol string `pulumi:"protocol"` - // List of security groups. A group name can be used relative to the default VPC. Otherwise, group ID. - SecurityGroups []string `pulumi:"securityGroups"` - // Whether the security group itself will be added as a source to this egress rule. - Self *bool `pulumi:"self"` - // End range port (or ICMP code if protocol is `icmp`). - // - // The following arguments are optional: - // - // > **Note** Although `cidrBlocks`, `ipv6CidrBlocks`, `prefixListIds`, and `securityGroups` are all marked as optional, you _must_ provide one of them in order to configure the destination of the traffic. - ToPort int `pulumi:"toPort"` +func (i NetworkInsightsPathFilterAtDestinationArgs) ToNetworkInsightsPathFilterAtDestinationPtrOutputWithContext(ctx context.Context) NetworkInsightsPathFilterAtDestinationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsPathFilterAtDestinationOutput).ToNetworkInsightsPathFilterAtDestinationPtrOutputWithContext(ctx) } -// SecurityGroupEgressInput is an input type that accepts SecurityGroupEgressArgs and SecurityGroupEgressOutput values. -// You can construct a concrete instance of `SecurityGroupEgressInput` via: +// NetworkInsightsPathFilterAtDestinationPtrInput is an input type that accepts NetworkInsightsPathFilterAtDestinationArgs, NetworkInsightsPathFilterAtDestinationPtr and NetworkInsightsPathFilterAtDestinationPtrOutput values. +// You can construct a concrete instance of `NetworkInsightsPathFilterAtDestinationPtrInput` via: // -// SecurityGroupEgressArgs{...} -type SecurityGroupEgressInput interface { +// NetworkInsightsPathFilterAtDestinationArgs{...} +// +// or: +// +// nil +type NetworkInsightsPathFilterAtDestinationPtrInput interface { pulumi.Input - ToSecurityGroupEgressOutput() SecurityGroupEgressOutput - ToSecurityGroupEgressOutputWithContext(context.Context) SecurityGroupEgressOutput + ToNetworkInsightsPathFilterAtDestinationPtrOutput() NetworkInsightsPathFilterAtDestinationPtrOutput + ToNetworkInsightsPathFilterAtDestinationPtrOutputWithContext(context.Context) NetworkInsightsPathFilterAtDestinationPtrOutput } -type SecurityGroupEgressArgs struct { - // List of CIDR blocks. - CidrBlocks pulumi.StringArrayInput `pulumi:"cidrBlocks"` - // Description of this egress rule. - Description pulumi.StringPtrInput `pulumi:"description"` - // Start port (or ICMP type number if protocol is `icmp`) - FromPort pulumi.IntInput `pulumi:"fromPort"` - // List of IPv6 CIDR blocks. - Ipv6CidrBlocks pulumi.StringArrayInput `pulumi:"ipv6CidrBlocks"` - // List of Prefix List IDs. - PrefixListIds pulumi.StringArrayInput `pulumi:"prefixListIds"` - // Protocol. If you select a protocol of `-1` (semantically equivalent to `all`, which is not a valid value here), you must specify a `fromPort` and `toPort` equal to 0. The supported values are defined in the `IpProtocol` argument in the [IpPermission](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_IpPermission.html) API reference. - Protocol pulumi.StringInput `pulumi:"protocol"` - // List of security groups. A group name can be used relative to the default VPC. Otherwise, group ID. - SecurityGroups pulumi.StringArrayInput `pulumi:"securityGroups"` - // Whether the security group itself will be added as a source to this egress rule. - Self pulumi.BoolPtrInput `pulumi:"self"` - // End range port (or ICMP code if protocol is `icmp`). - // - // The following arguments are optional: - // - // > **Note** Although `cidrBlocks`, `ipv6CidrBlocks`, `prefixListIds`, and `securityGroups` are all marked as optional, you _must_ provide one of them in order to configure the destination of the traffic. - ToPort pulumi.IntInput `pulumi:"toPort"` +type networkInsightsPathFilterAtDestinationPtrType NetworkInsightsPathFilterAtDestinationArgs + +func NetworkInsightsPathFilterAtDestinationPtr(v *NetworkInsightsPathFilterAtDestinationArgs) NetworkInsightsPathFilterAtDestinationPtrInput { + return (*networkInsightsPathFilterAtDestinationPtrType)(v) } -func (SecurityGroupEgressArgs) ElementType() reflect.Type { - return reflect.TypeOf((*SecurityGroupEgress)(nil)).Elem() +func (*networkInsightsPathFilterAtDestinationPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**NetworkInsightsPathFilterAtDestination)(nil)).Elem() } -func (i SecurityGroupEgressArgs) ToSecurityGroupEgressOutput() SecurityGroupEgressOutput { - return i.ToSecurityGroupEgressOutputWithContext(context.Background()) +func (i *networkInsightsPathFilterAtDestinationPtrType) ToNetworkInsightsPathFilterAtDestinationPtrOutput() NetworkInsightsPathFilterAtDestinationPtrOutput { + return i.ToNetworkInsightsPathFilterAtDestinationPtrOutputWithContext(context.Background()) } -func (i SecurityGroupEgressArgs) ToSecurityGroupEgressOutputWithContext(ctx context.Context) SecurityGroupEgressOutput { - return pulumi.ToOutputWithContext(ctx, i).(SecurityGroupEgressOutput) +func (i *networkInsightsPathFilterAtDestinationPtrType) ToNetworkInsightsPathFilterAtDestinationPtrOutputWithContext(ctx context.Context) NetworkInsightsPathFilterAtDestinationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsPathFilterAtDestinationPtrOutput) } -// SecurityGroupEgressArrayInput is an input type that accepts SecurityGroupEgressArray and SecurityGroupEgressArrayOutput values. -// You can construct a concrete instance of `SecurityGroupEgressArrayInput` via: -// -// SecurityGroupEgressArray{ SecurityGroupEgressArgs{...} } -type SecurityGroupEgressArrayInput interface { - pulumi.Input +type NetworkInsightsPathFilterAtDestinationOutput struct{ *pulumi.OutputState } - ToSecurityGroupEgressArrayOutput() SecurityGroupEgressArrayOutput - ToSecurityGroupEgressArrayOutputWithContext(context.Context) SecurityGroupEgressArrayOutput +func (NetworkInsightsPathFilterAtDestinationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInsightsPathFilterAtDestination)(nil)).Elem() } -type SecurityGroupEgressArray []SecurityGroupEgressInput - -func (SecurityGroupEgressArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]SecurityGroupEgress)(nil)).Elem() +func (o NetworkInsightsPathFilterAtDestinationOutput) ToNetworkInsightsPathFilterAtDestinationOutput() NetworkInsightsPathFilterAtDestinationOutput { + return o } -func (i SecurityGroupEgressArray) ToSecurityGroupEgressArrayOutput() SecurityGroupEgressArrayOutput { - return i.ToSecurityGroupEgressArrayOutputWithContext(context.Background()) +func (o NetworkInsightsPathFilterAtDestinationOutput) ToNetworkInsightsPathFilterAtDestinationOutputWithContext(ctx context.Context) NetworkInsightsPathFilterAtDestinationOutput { + return o } -func (i SecurityGroupEgressArray) ToSecurityGroupEgressArrayOutputWithContext(ctx context.Context) SecurityGroupEgressArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(SecurityGroupEgressArrayOutput) +func (o NetworkInsightsPathFilterAtDestinationOutput) ToNetworkInsightsPathFilterAtDestinationPtrOutput() NetworkInsightsPathFilterAtDestinationPtrOutput { + return o.ToNetworkInsightsPathFilterAtDestinationPtrOutputWithContext(context.Background()) } -type SecurityGroupEgressOutput struct{ *pulumi.OutputState } - -func (SecurityGroupEgressOutput) ElementType() reflect.Type { - return reflect.TypeOf((*SecurityGroupEgress)(nil)).Elem() +func (o NetworkInsightsPathFilterAtDestinationOutput) ToNetworkInsightsPathFilterAtDestinationPtrOutputWithContext(ctx context.Context) NetworkInsightsPathFilterAtDestinationPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v NetworkInsightsPathFilterAtDestination) *NetworkInsightsPathFilterAtDestination { + return &v + }).(NetworkInsightsPathFilterAtDestinationPtrOutput) } -func (o SecurityGroupEgressOutput) ToSecurityGroupEgressOutput() SecurityGroupEgressOutput { - return o +// The destination IPv4 address. +func (o NetworkInsightsPathFilterAtDestinationOutput) DestinationAddress() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsPathFilterAtDestination) *string { return v.DestinationAddress }).(pulumi.StringPtrOutput) } -func (o SecurityGroupEgressOutput) ToSecurityGroupEgressOutputWithContext(ctx context.Context) SecurityGroupEgressOutput { - return o +// The destination port range. See below for details. +func (o NetworkInsightsPathFilterAtDestinationOutput) DestinationPortRange() NetworkInsightsPathFilterAtDestinationDestinationPortRangePtrOutput { + return o.ApplyT(func(v NetworkInsightsPathFilterAtDestination) *NetworkInsightsPathFilterAtDestinationDestinationPortRange { + return v.DestinationPortRange + }).(NetworkInsightsPathFilterAtDestinationDestinationPortRangePtrOutput) } -// List of CIDR blocks. -func (o SecurityGroupEgressOutput) CidrBlocks() pulumi.StringArrayOutput { - return o.ApplyT(func(v SecurityGroupEgress) []string { return v.CidrBlocks }).(pulumi.StringArrayOutput) +// IP address of the source resource. +func (o NetworkInsightsPathFilterAtDestinationOutput) SourceAddress() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsPathFilterAtDestination) *string { return v.SourceAddress }).(pulumi.StringPtrOutput) } -// Description of this egress rule. -func (o SecurityGroupEgressOutput) Description() pulumi.StringPtrOutput { - return o.ApplyT(func(v SecurityGroupEgress) *string { return v.Description }).(pulumi.StringPtrOutput) +// The source port range. See below for details. +func (o NetworkInsightsPathFilterAtDestinationOutput) SourcePortRange() NetworkInsightsPathFilterAtDestinationSourcePortRangePtrOutput { + return o.ApplyT(func(v NetworkInsightsPathFilterAtDestination) *NetworkInsightsPathFilterAtDestinationSourcePortRange { + return v.SourcePortRange + }).(NetworkInsightsPathFilterAtDestinationSourcePortRangePtrOutput) } -// Start port (or ICMP type number if protocol is `icmp`) -func (o SecurityGroupEgressOutput) FromPort() pulumi.IntOutput { - return o.ApplyT(func(v SecurityGroupEgress) int { return v.FromPort }).(pulumi.IntOutput) -} +type NetworkInsightsPathFilterAtDestinationPtrOutput struct{ *pulumi.OutputState } -// List of IPv6 CIDR blocks. -func (o SecurityGroupEgressOutput) Ipv6CidrBlocks() pulumi.StringArrayOutput { - return o.ApplyT(func(v SecurityGroupEgress) []string { return v.Ipv6CidrBlocks }).(pulumi.StringArrayOutput) +func (NetworkInsightsPathFilterAtDestinationPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**NetworkInsightsPathFilterAtDestination)(nil)).Elem() } -// List of Prefix List IDs. -func (o SecurityGroupEgressOutput) PrefixListIds() pulumi.StringArrayOutput { - return o.ApplyT(func(v SecurityGroupEgress) []string { return v.PrefixListIds }).(pulumi.StringArrayOutput) +func (o NetworkInsightsPathFilterAtDestinationPtrOutput) ToNetworkInsightsPathFilterAtDestinationPtrOutput() NetworkInsightsPathFilterAtDestinationPtrOutput { + return o } -// Protocol. If you select a protocol of `-1` (semantically equivalent to `all`, which is not a valid value here), you must specify a `fromPort` and `toPort` equal to 0. The supported values are defined in the `IpProtocol` argument in the [IpPermission](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_IpPermission.html) API reference. -func (o SecurityGroupEgressOutput) Protocol() pulumi.StringOutput { - return o.ApplyT(func(v SecurityGroupEgress) string { return v.Protocol }).(pulumi.StringOutput) +func (o NetworkInsightsPathFilterAtDestinationPtrOutput) ToNetworkInsightsPathFilterAtDestinationPtrOutputWithContext(ctx context.Context) NetworkInsightsPathFilterAtDestinationPtrOutput { + return o } -// List of security groups. A group name can be used relative to the default VPC. Otherwise, group ID. -func (o SecurityGroupEgressOutput) SecurityGroups() pulumi.StringArrayOutput { - return o.ApplyT(func(v SecurityGroupEgress) []string { return v.SecurityGroups }).(pulumi.StringArrayOutput) +func (o NetworkInsightsPathFilterAtDestinationPtrOutput) Elem() NetworkInsightsPathFilterAtDestinationOutput { + return o.ApplyT(func(v *NetworkInsightsPathFilterAtDestination) NetworkInsightsPathFilterAtDestination { + if v != nil { + return *v + } + var ret NetworkInsightsPathFilterAtDestination + return ret + }).(NetworkInsightsPathFilterAtDestinationOutput) } -// Whether the security group itself will be added as a source to this egress rule. -func (o SecurityGroupEgressOutput) Self() pulumi.BoolPtrOutput { - return o.ApplyT(func(v SecurityGroupEgress) *bool { return v.Self }).(pulumi.BoolPtrOutput) +// The destination IPv4 address. +func (o NetworkInsightsPathFilterAtDestinationPtrOutput) DestinationAddress() pulumi.StringPtrOutput { + return o.ApplyT(func(v *NetworkInsightsPathFilterAtDestination) *string { + if v == nil { + return nil + } + return v.DestinationAddress + }).(pulumi.StringPtrOutput) } -// End range port (or ICMP code if protocol is `icmp`). -// -// The following arguments are optional: -// -// > **Note** Although `cidrBlocks`, `ipv6CidrBlocks`, `prefixListIds`, and `securityGroups` are all marked as optional, you _must_ provide one of them in order to configure the destination of the traffic. -func (o SecurityGroupEgressOutput) ToPort() pulumi.IntOutput { - return o.ApplyT(func(v SecurityGroupEgress) int { return v.ToPort }).(pulumi.IntOutput) +// The destination port range. See below for details. +func (o NetworkInsightsPathFilterAtDestinationPtrOutput) DestinationPortRange() NetworkInsightsPathFilterAtDestinationDestinationPortRangePtrOutput { + return o.ApplyT(func(v *NetworkInsightsPathFilterAtDestination) *NetworkInsightsPathFilterAtDestinationDestinationPortRange { + if v == nil { + return nil + } + return v.DestinationPortRange + }).(NetworkInsightsPathFilterAtDestinationDestinationPortRangePtrOutput) } -type SecurityGroupEgressArrayOutput struct{ *pulumi.OutputState } - -func (SecurityGroupEgressArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]SecurityGroupEgress)(nil)).Elem() +// IP address of the source resource. +func (o NetworkInsightsPathFilterAtDestinationPtrOutput) SourceAddress() pulumi.StringPtrOutput { + return o.ApplyT(func(v *NetworkInsightsPathFilterAtDestination) *string { + if v == nil { + return nil + } + return v.SourceAddress + }).(pulumi.StringPtrOutput) } -func (o SecurityGroupEgressArrayOutput) ToSecurityGroupEgressArrayOutput() SecurityGroupEgressArrayOutput { - return o +// The source port range. See below for details. +func (o NetworkInsightsPathFilterAtDestinationPtrOutput) SourcePortRange() NetworkInsightsPathFilterAtDestinationSourcePortRangePtrOutput { + return o.ApplyT(func(v *NetworkInsightsPathFilterAtDestination) *NetworkInsightsPathFilterAtDestinationSourcePortRange { + if v == nil { + return nil + } + return v.SourcePortRange + }).(NetworkInsightsPathFilterAtDestinationSourcePortRangePtrOutput) } -func (o SecurityGroupEgressArrayOutput) ToSecurityGroupEgressArrayOutputWithContext(ctx context.Context) SecurityGroupEgressArrayOutput { - return o +type NetworkInsightsPathFilterAtDestinationDestinationPortRange struct { + // The first port in the range. + FromPort *int `pulumi:"fromPort"` + // The last port in the range. + ToPort *int `pulumi:"toPort"` } -func (o SecurityGroupEgressArrayOutput) Index(i pulumi.IntInput) SecurityGroupEgressOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) SecurityGroupEgress { - return vs[0].([]SecurityGroupEgress)[vs[1].(int)] - }).(SecurityGroupEgressOutput) -} +// NetworkInsightsPathFilterAtDestinationDestinationPortRangeInput is an input type that accepts NetworkInsightsPathFilterAtDestinationDestinationPortRangeArgs and NetworkInsightsPathFilterAtDestinationDestinationPortRangeOutput values. +// You can construct a concrete instance of `NetworkInsightsPathFilterAtDestinationDestinationPortRangeInput` via: +// +// NetworkInsightsPathFilterAtDestinationDestinationPortRangeArgs{...} +type NetworkInsightsPathFilterAtDestinationDestinationPortRangeInput interface { + pulumi.Input -type SecurityGroupIngress struct { - // List of CIDR blocks. - CidrBlocks []string `pulumi:"cidrBlocks"` - // Description of this ingress rule. - Description *string `pulumi:"description"` - // Start port (or ICMP type number if protocol is `icmp` or `icmpv6`). - FromPort int `pulumi:"fromPort"` - // List of IPv6 CIDR blocks. - Ipv6CidrBlocks []string `pulumi:"ipv6CidrBlocks"` - // List of Prefix List IDs. - PrefixListIds []string `pulumi:"prefixListIds"` - // Protocol. If you select a protocol of `-1` (semantically equivalent to `all`, which is not a valid value here), you must specify a `fromPort` and `toPort` equal to 0. The supported values are defined in the `IpProtocol` argument on the [IpPermission](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_IpPermission.html) API reference. - // - // The following arguments are optional: - // - // > **Note** Although `cidrBlocks`, `ipv6CidrBlocks`, `prefixListIds`, and `securityGroups` are all marked as optional, you _must_ provide one of them in order to configure the source of the traffic. - Protocol string `pulumi:"protocol"` - // List of security groups. A group name can be used relative to the default VPC. Otherwise, group ID. - SecurityGroups []string `pulumi:"securityGroups"` - // Whether the security group itself will be added as a source to this ingress rule. - Self *bool `pulumi:"self"` - // End range port (or ICMP code if protocol is `icmp`). - ToPort int `pulumi:"toPort"` + ToNetworkInsightsPathFilterAtDestinationDestinationPortRangeOutput() NetworkInsightsPathFilterAtDestinationDestinationPortRangeOutput + ToNetworkInsightsPathFilterAtDestinationDestinationPortRangeOutputWithContext(context.Context) NetworkInsightsPathFilterAtDestinationDestinationPortRangeOutput } -// SecurityGroupIngressInput is an input type that accepts SecurityGroupIngressArgs and SecurityGroupIngressOutput values. -// You can construct a concrete instance of `SecurityGroupIngressInput` via: -// -// SecurityGroupIngressArgs{...} -type SecurityGroupIngressInput interface { - pulumi.Input +type NetworkInsightsPathFilterAtDestinationDestinationPortRangeArgs struct { + // The first port in the range. + FromPort pulumi.IntPtrInput `pulumi:"fromPort"` + // The last port in the range. + ToPort pulumi.IntPtrInput `pulumi:"toPort"` +} - ToSecurityGroupIngressOutput() SecurityGroupIngressOutput - ToSecurityGroupIngressOutputWithContext(context.Context) SecurityGroupIngressOutput +func (NetworkInsightsPathFilterAtDestinationDestinationPortRangeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInsightsPathFilterAtDestinationDestinationPortRange)(nil)).Elem() } -type SecurityGroupIngressArgs struct { - // List of CIDR blocks. - CidrBlocks pulumi.StringArrayInput `pulumi:"cidrBlocks"` - // Description of this ingress rule. - Description pulumi.StringPtrInput `pulumi:"description"` - // Start port (or ICMP type number if protocol is `icmp` or `icmpv6`). - FromPort pulumi.IntInput `pulumi:"fromPort"` - // List of IPv6 CIDR blocks. - Ipv6CidrBlocks pulumi.StringArrayInput `pulumi:"ipv6CidrBlocks"` - // List of Prefix List IDs. - PrefixListIds pulumi.StringArrayInput `pulumi:"prefixListIds"` - // Protocol. If you select a protocol of `-1` (semantically equivalent to `all`, which is not a valid value here), you must specify a `fromPort` and `toPort` equal to 0. The supported values are defined in the `IpProtocol` argument on the [IpPermission](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_IpPermission.html) API reference. - // - // The following arguments are optional: - // - // > **Note** Although `cidrBlocks`, `ipv6CidrBlocks`, `prefixListIds`, and `securityGroups` are all marked as optional, you _must_ provide one of them in order to configure the source of the traffic. - Protocol pulumi.StringInput `pulumi:"protocol"` - // List of security groups. A group name can be used relative to the default VPC. Otherwise, group ID. - SecurityGroups pulumi.StringArrayInput `pulumi:"securityGroups"` - // Whether the security group itself will be added as a source to this ingress rule. - Self pulumi.BoolPtrInput `pulumi:"self"` - // End range port (or ICMP code if protocol is `icmp`). - ToPort pulumi.IntInput `pulumi:"toPort"` +func (i NetworkInsightsPathFilterAtDestinationDestinationPortRangeArgs) ToNetworkInsightsPathFilterAtDestinationDestinationPortRangeOutput() NetworkInsightsPathFilterAtDestinationDestinationPortRangeOutput { + return i.ToNetworkInsightsPathFilterAtDestinationDestinationPortRangeOutputWithContext(context.Background()) } -func (SecurityGroupIngressArgs) ElementType() reflect.Type { - return reflect.TypeOf((*SecurityGroupIngress)(nil)).Elem() +func (i NetworkInsightsPathFilterAtDestinationDestinationPortRangeArgs) ToNetworkInsightsPathFilterAtDestinationDestinationPortRangeOutputWithContext(ctx context.Context) NetworkInsightsPathFilterAtDestinationDestinationPortRangeOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsPathFilterAtDestinationDestinationPortRangeOutput) } -func (i SecurityGroupIngressArgs) ToSecurityGroupIngressOutput() SecurityGroupIngressOutput { - return i.ToSecurityGroupIngressOutputWithContext(context.Background()) +func (i NetworkInsightsPathFilterAtDestinationDestinationPortRangeArgs) ToNetworkInsightsPathFilterAtDestinationDestinationPortRangePtrOutput() NetworkInsightsPathFilterAtDestinationDestinationPortRangePtrOutput { + return i.ToNetworkInsightsPathFilterAtDestinationDestinationPortRangePtrOutputWithContext(context.Background()) } -func (i SecurityGroupIngressArgs) ToSecurityGroupIngressOutputWithContext(ctx context.Context) SecurityGroupIngressOutput { - return pulumi.ToOutputWithContext(ctx, i).(SecurityGroupIngressOutput) +func (i NetworkInsightsPathFilterAtDestinationDestinationPortRangeArgs) ToNetworkInsightsPathFilterAtDestinationDestinationPortRangePtrOutputWithContext(ctx context.Context) NetworkInsightsPathFilterAtDestinationDestinationPortRangePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsPathFilterAtDestinationDestinationPortRangeOutput).ToNetworkInsightsPathFilterAtDestinationDestinationPortRangePtrOutputWithContext(ctx) } -// SecurityGroupIngressArrayInput is an input type that accepts SecurityGroupIngressArray and SecurityGroupIngressArrayOutput values. -// You can construct a concrete instance of `SecurityGroupIngressArrayInput` via: +// NetworkInsightsPathFilterAtDestinationDestinationPortRangePtrInput is an input type that accepts NetworkInsightsPathFilterAtDestinationDestinationPortRangeArgs, NetworkInsightsPathFilterAtDestinationDestinationPortRangePtr and NetworkInsightsPathFilterAtDestinationDestinationPortRangePtrOutput values. +// You can construct a concrete instance of `NetworkInsightsPathFilterAtDestinationDestinationPortRangePtrInput` via: // -// SecurityGroupIngressArray{ SecurityGroupIngressArgs{...} } -type SecurityGroupIngressArrayInput interface { +// NetworkInsightsPathFilterAtDestinationDestinationPortRangeArgs{...} +// +// or: +// +// nil +type NetworkInsightsPathFilterAtDestinationDestinationPortRangePtrInput interface { pulumi.Input - ToSecurityGroupIngressArrayOutput() SecurityGroupIngressArrayOutput - ToSecurityGroupIngressArrayOutputWithContext(context.Context) SecurityGroupIngressArrayOutput + ToNetworkInsightsPathFilterAtDestinationDestinationPortRangePtrOutput() NetworkInsightsPathFilterAtDestinationDestinationPortRangePtrOutput + ToNetworkInsightsPathFilterAtDestinationDestinationPortRangePtrOutputWithContext(context.Context) NetworkInsightsPathFilterAtDestinationDestinationPortRangePtrOutput } -type SecurityGroupIngressArray []SecurityGroupIngressInput +type networkInsightsPathFilterAtDestinationDestinationPortRangePtrType NetworkInsightsPathFilterAtDestinationDestinationPortRangeArgs -func (SecurityGroupIngressArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]SecurityGroupIngress)(nil)).Elem() +func NetworkInsightsPathFilterAtDestinationDestinationPortRangePtr(v *NetworkInsightsPathFilterAtDestinationDestinationPortRangeArgs) NetworkInsightsPathFilterAtDestinationDestinationPortRangePtrInput { + return (*networkInsightsPathFilterAtDestinationDestinationPortRangePtrType)(v) } -func (i SecurityGroupIngressArray) ToSecurityGroupIngressArrayOutput() SecurityGroupIngressArrayOutput { - return i.ToSecurityGroupIngressArrayOutputWithContext(context.Background()) +func (*networkInsightsPathFilterAtDestinationDestinationPortRangePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**NetworkInsightsPathFilterAtDestinationDestinationPortRange)(nil)).Elem() } -func (i SecurityGroupIngressArray) ToSecurityGroupIngressArrayOutputWithContext(ctx context.Context) SecurityGroupIngressArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(SecurityGroupIngressArrayOutput) +func (i *networkInsightsPathFilterAtDestinationDestinationPortRangePtrType) ToNetworkInsightsPathFilterAtDestinationDestinationPortRangePtrOutput() NetworkInsightsPathFilterAtDestinationDestinationPortRangePtrOutput { + return i.ToNetworkInsightsPathFilterAtDestinationDestinationPortRangePtrOutputWithContext(context.Background()) } -type SecurityGroupIngressOutput struct{ *pulumi.OutputState } +func (i *networkInsightsPathFilterAtDestinationDestinationPortRangePtrType) ToNetworkInsightsPathFilterAtDestinationDestinationPortRangePtrOutputWithContext(ctx context.Context) NetworkInsightsPathFilterAtDestinationDestinationPortRangePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsPathFilterAtDestinationDestinationPortRangePtrOutput) +} -func (SecurityGroupIngressOutput) ElementType() reflect.Type { - return reflect.TypeOf((*SecurityGroupIngress)(nil)).Elem() +type NetworkInsightsPathFilterAtDestinationDestinationPortRangeOutput struct{ *pulumi.OutputState } + +func (NetworkInsightsPathFilterAtDestinationDestinationPortRangeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInsightsPathFilterAtDestinationDestinationPortRange)(nil)).Elem() } -func (o SecurityGroupIngressOutput) ToSecurityGroupIngressOutput() SecurityGroupIngressOutput { +func (o NetworkInsightsPathFilterAtDestinationDestinationPortRangeOutput) ToNetworkInsightsPathFilterAtDestinationDestinationPortRangeOutput() NetworkInsightsPathFilterAtDestinationDestinationPortRangeOutput { return o } -func (o SecurityGroupIngressOutput) ToSecurityGroupIngressOutputWithContext(ctx context.Context) SecurityGroupIngressOutput { +func (o NetworkInsightsPathFilterAtDestinationDestinationPortRangeOutput) ToNetworkInsightsPathFilterAtDestinationDestinationPortRangeOutputWithContext(ctx context.Context) NetworkInsightsPathFilterAtDestinationDestinationPortRangeOutput { return o } -// List of CIDR blocks. -func (o SecurityGroupIngressOutput) CidrBlocks() pulumi.StringArrayOutput { - return o.ApplyT(func(v SecurityGroupIngress) []string { return v.CidrBlocks }).(pulumi.StringArrayOutput) +func (o NetworkInsightsPathFilterAtDestinationDestinationPortRangeOutput) ToNetworkInsightsPathFilterAtDestinationDestinationPortRangePtrOutput() NetworkInsightsPathFilterAtDestinationDestinationPortRangePtrOutput { + return o.ToNetworkInsightsPathFilterAtDestinationDestinationPortRangePtrOutputWithContext(context.Background()) } -// Description of this ingress rule. -func (o SecurityGroupIngressOutput) Description() pulumi.StringPtrOutput { - return o.ApplyT(func(v SecurityGroupIngress) *string { return v.Description }).(pulumi.StringPtrOutput) +func (o NetworkInsightsPathFilterAtDestinationDestinationPortRangeOutput) ToNetworkInsightsPathFilterAtDestinationDestinationPortRangePtrOutputWithContext(ctx context.Context) NetworkInsightsPathFilterAtDestinationDestinationPortRangePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v NetworkInsightsPathFilterAtDestinationDestinationPortRange) *NetworkInsightsPathFilterAtDestinationDestinationPortRange { + return &v + }).(NetworkInsightsPathFilterAtDestinationDestinationPortRangePtrOutput) } -// Start port (or ICMP type number if protocol is `icmp` or `icmpv6`). -func (o SecurityGroupIngressOutput) FromPort() pulumi.IntOutput { - return o.ApplyT(func(v SecurityGroupIngress) int { return v.FromPort }).(pulumi.IntOutput) +// The first port in the range. +func (o NetworkInsightsPathFilterAtDestinationDestinationPortRangeOutput) FromPort() pulumi.IntPtrOutput { + return o.ApplyT(func(v NetworkInsightsPathFilterAtDestinationDestinationPortRange) *int { return v.FromPort }).(pulumi.IntPtrOutput) } -// List of IPv6 CIDR blocks. -func (o SecurityGroupIngressOutput) Ipv6CidrBlocks() pulumi.StringArrayOutput { - return o.ApplyT(func(v SecurityGroupIngress) []string { return v.Ipv6CidrBlocks }).(pulumi.StringArrayOutput) +// The last port in the range. +func (o NetworkInsightsPathFilterAtDestinationDestinationPortRangeOutput) ToPort() pulumi.IntPtrOutput { + return o.ApplyT(func(v NetworkInsightsPathFilterAtDestinationDestinationPortRange) *int { return v.ToPort }).(pulumi.IntPtrOutput) } -// List of Prefix List IDs. -func (o SecurityGroupIngressOutput) PrefixListIds() pulumi.StringArrayOutput { - return o.ApplyT(func(v SecurityGroupIngress) []string { return v.PrefixListIds }).(pulumi.StringArrayOutput) -} +type NetworkInsightsPathFilterAtDestinationDestinationPortRangePtrOutput struct{ *pulumi.OutputState } -// Protocol. If you select a protocol of `-1` (semantically equivalent to `all`, which is not a valid value here), you must specify a `fromPort` and `toPort` equal to 0. The supported values are defined in the `IpProtocol` argument on the [IpPermission](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_IpPermission.html) API reference. -// -// The following arguments are optional: -// -// > **Note** Although `cidrBlocks`, `ipv6CidrBlocks`, `prefixListIds`, and `securityGroups` are all marked as optional, you _must_ provide one of them in order to configure the source of the traffic. -func (o SecurityGroupIngressOutput) Protocol() pulumi.StringOutput { - return o.ApplyT(func(v SecurityGroupIngress) string { return v.Protocol }).(pulumi.StringOutput) +func (NetworkInsightsPathFilterAtDestinationDestinationPortRangePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**NetworkInsightsPathFilterAtDestinationDestinationPortRange)(nil)).Elem() } -// List of security groups. A group name can be used relative to the default VPC. Otherwise, group ID. -func (o SecurityGroupIngressOutput) SecurityGroups() pulumi.StringArrayOutput { - return o.ApplyT(func(v SecurityGroupIngress) []string { return v.SecurityGroups }).(pulumi.StringArrayOutput) +func (o NetworkInsightsPathFilterAtDestinationDestinationPortRangePtrOutput) ToNetworkInsightsPathFilterAtDestinationDestinationPortRangePtrOutput() NetworkInsightsPathFilterAtDestinationDestinationPortRangePtrOutput { + return o } -// Whether the security group itself will be added as a source to this ingress rule. -func (o SecurityGroupIngressOutput) Self() pulumi.BoolPtrOutput { - return o.ApplyT(func(v SecurityGroupIngress) *bool { return v.Self }).(pulumi.BoolPtrOutput) +func (o NetworkInsightsPathFilterAtDestinationDestinationPortRangePtrOutput) ToNetworkInsightsPathFilterAtDestinationDestinationPortRangePtrOutputWithContext(ctx context.Context) NetworkInsightsPathFilterAtDestinationDestinationPortRangePtrOutput { + return o } -// End range port (or ICMP code if protocol is `icmp`). -func (o SecurityGroupIngressOutput) ToPort() pulumi.IntOutput { - return o.ApplyT(func(v SecurityGroupIngress) int { return v.ToPort }).(pulumi.IntOutput) +func (o NetworkInsightsPathFilterAtDestinationDestinationPortRangePtrOutput) Elem() NetworkInsightsPathFilterAtDestinationDestinationPortRangeOutput { + return o.ApplyT(func(v *NetworkInsightsPathFilterAtDestinationDestinationPortRange) NetworkInsightsPathFilterAtDestinationDestinationPortRange { + if v != nil { + return *v + } + var ret NetworkInsightsPathFilterAtDestinationDestinationPortRange + return ret + }).(NetworkInsightsPathFilterAtDestinationDestinationPortRangeOutput) } -type SecurityGroupIngressArrayOutput struct{ *pulumi.OutputState } - -func (SecurityGroupIngressArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]SecurityGroupIngress)(nil)).Elem() +// The first port in the range. +func (o NetworkInsightsPathFilterAtDestinationDestinationPortRangePtrOutput) FromPort() pulumi.IntPtrOutput { + return o.ApplyT(func(v *NetworkInsightsPathFilterAtDestinationDestinationPortRange) *int { + if v == nil { + return nil + } + return v.FromPort + }).(pulumi.IntPtrOutput) } -func (o SecurityGroupIngressArrayOutput) ToSecurityGroupIngressArrayOutput() SecurityGroupIngressArrayOutput { - return o +// The last port in the range. +func (o NetworkInsightsPathFilterAtDestinationDestinationPortRangePtrOutput) ToPort() pulumi.IntPtrOutput { + return o.ApplyT(func(v *NetworkInsightsPathFilterAtDestinationDestinationPortRange) *int { + if v == nil { + return nil + } + return v.ToPort + }).(pulumi.IntPtrOutput) } -func (o SecurityGroupIngressArrayOutput) ToSecurityGroupIngressArrayOutputWithContext(ctx context.Context) SecurityGroupIngressArrayOutput { - return o +type NetworkInsightsPathFilterAtDestinationSourcePortRange struct { + // The first port in the range. + FromPort *int `pulumi:"fromPort"` + // The last port in the range. + ToPort *int `pulumi:"toPort"` } -func (o SecurityGroupIngressArrayOutput) Index(i pulumi.IntInput) SecurityGroupIngressOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) SecurityGroupIngress { - return vs[0].([]SecurityGroupIngress)[vs[1].(int)] - }).(SecurityGroupIngressOutput) -} +// NetworkInsightsPathFilterAtDestinationSourcePortRangeInput is an input type that accepts NetworkInsightsPathFilterAtDestinationSourcePortRangeArgs and NetworkInsightsPathFilterAtDestinationSourcePortRangeOutput values. +// You can construct a concrete instance of `NetworkInsightsPathFilterAtDestinationSourcePortRangeInput` via: +// +// NetworkInsightsPathFilterAtDestinationSourcePortRangeArgs{...} +type NetworkInsightsPathFilterAtDestinationSourcePortRangeInput interface { + pulumi.Input -type SpotFleetRequestLaunchSpecification struct { - Ami string `pulumi:"ami"` - AssociatePublicIpAddress *bool `pulumi:"associatePublicIpAddress"` - // The availability zone in which to place the request. - AvailabilityZone *string `pulumi:"availabilityZone"` - EbsBlockDevices []SpotFleetRequestLaunchSpecificationEbsBlockDevice `pulumi:"ebsBlockDevices"` - EbsOptimized *bool `pulumi:"ebsOptimized"` - EphemeralBlockDevices []SpotFleetRequestLaunchSpecificationEphemeralBlockDevice `pulumi:"ephemeralBlockDevices"` - IamInstanceProfile *string `pulumi:"iamInstanceProfile"` - IamInstanceProfileArn *string `pulumi:"iamInstanceProfileArn"` - // The type of instance to request. - InstanceType string `pulumi:"instanceType"` - KeyName *string `pulumi:"keyName"` - Monitoring *bool `pulumi:"monitoring"` - PlacementGroup *string `pulumi:"placementGroup"` - PlacementTenancy *string `pulumi:"placementTenancy"` - RootBlockDevices []SpotFleetRequestLaunchSpecificationRootBlockDevice `pulumi:"rootBlockDevices"` - // The maximum bid price per unit hour. - SpotPrice *string `pulumi:"spotPrice"` - // The subnet in which to launch the requested instance. - SubnetId *string `pulumi:"subnetId"` - // A map of tags to assign to the resource. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. - Tags map[string]string `pulumi:"tags"` - UserData *string `pulumi:"userData"` - VpcSecurityGroupIds []string `pulumi:"vpcSecurityGroupIds"` - // The capacity added to the fleet by a fulfilled request. - WeightedCapacity *string `pulumi:"weightedCapacity"` + ToNetworkInsightsPathFilterAtDestinationSourcePortRangeOutput() NetworkInsightsPathFilterAtDestinationSourcePortRangeOutput + ToNetworkInsightsPathFilterAtDestinationSourcePortRangeOutputWithContext(context.Context) NetworkInsightsPathFilterAtDestinationSourcePortRangeOutput } -// SpotFleetRequestLaunchSpecificationInput is an input type that accepts SpotFleetRequestLaunchSpecificationArgs and SpotFleetRequestLaunchSpecificationOutput values. -// You can construct a concrete instance of `SpotFleetRequestLaunchSpecificationInput` via: -// -// SpotFleetRequestLaunchSpecificationArgs{...} -type SpotFleetRequestLaunchSpecificationInput interface { - pulumi.Input +type NetworkInsightsPathFilterAtDestinationSourcePortRangeArgs struct { + // The first port in the range. + FromPort pulumi.IntPtrInput `pulumi:"fromPort"` + // The last port in the range. + ToPort pulumi.IntPtrInput `pulumi:"toPort"` +} - ToSpotFleetRequestLaunchSpecificationOutput() SpotFleetRequestLaunchSpecificationOutput - ToSpotFleetRequestLaunchSpecificationOutputWithContext(context.Context) SpotFleetRequestLaunchSpecificationOutput +func (NetworkInsightsPathFilterAtDestinationSourcePortRangeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInsightsPathFilterAtDestinationSourcePortRange)(nil)).Elem() } -type SpotFleetRequestLaunchSpecificationArgs struct { - Ami pulumi.StringInput `pulumi:"ami"` - AssociatePublicIpAddress pulumi.BoolPtrInput `pulumi:"associatePublicIpAddress"` - // The availability zone in which to place the request. - AvailabilityZone pulumi.StringPtrInput `pulumi:"availabilityZone"` - EbsBlockDevices SpotFleetRequestLaunchSpecificationEbsBlockDeviceArrayInput `pulumi:"ebsBlockDevices"` - EbsOptimized pulumi.BoolPtrInput `pulumi:"ebsOptimized"` - EphemeralBlockDevices SpotFleetRequestLaunchSpecificationEphemeralBlockDeviceArrayInput `pulumi:"ephemeralBlockDevices"` - IamInstanceProfile pulumi.StringPtrInput `pulumi:"iamInstanceProfile"` - IamInstanceProfileArn pulumi.StringPtrInput `pulumi:"iamInstanceProfileArn"` - // The type of instance to request. - InstanceType pulumi.StringInput `pulumi:"instanceType"` - KeyName pulumi.StringPtrInput `pulumi:"keyName"` - Monitoring pulumi.BoolPtrInput `pulumi:"monitoring"` - PlacementGroup pulumi.StringPtrInput `pulumi:"placementGroup"` - PlacementTenancy pulumi.StringPtrInput `pulumi:"placementTenancy"` - RootBlockDevices SpotFleetRequestLaunchSpecificationRootBlockDeviceArrayInput `pulumi:"rootBlockDevices"` - // The maximum bid price per unit hour. - SpotPrice pulumi.StringPtrInput `pulumi:"spotPrice"` - // The subnet in which to launch the requested instance. - SubnetId pulumi.StringPtrInput `pulumi:"subnetId"` - // A map of tags to assign to the resource. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. - Tags pulumi.StringMapInput `pulumi:"tags"` - UserData pulumi.StringPtrInput `pulumi:"userData"` - VpcSecurityGroupIds pulumi.StringArrayInput `pulumi:"vpcSecurityGroupIds"` - // The capacity added to the fleet by a fulfilled request. - WeightedCapacity pulumi.StringPtrInput `pulumi:"weightedCapacity"` +func (i NetworkInsightsPathFilterAtDestinationSourcePortRangeArgs) ToNetworkInsightsPathFilterAtDestinationSourcePortRangeOutput() NetworkInsightsPathFilterAtDestinationSourcePortRangeOutput { + return i.ToNetworkInsightsPathFilterAtDestinationSourcePortRangeOutputWithContext(context.Background()) } -func (SpotFleetRequestLaunchSpecificationArgs) ElementType() reflect.Type { - return reflect.TypeOf((*SpotFleetRequestLaunchSpecification)(nil)).Elem() +func (i NetworkInsightsPathFilterAtDestinationSourcePortRangeArgs) ToNetworkInsightsPathFilterAtDestinationSourcePortRangeOutputWithContext(ctx context.Context) NetworkInsightsPathFilterAtDestinationSourcePortRangeOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsPathFilterAtDestinationSourcePortRangeOutput) } -func (i SpotFleetRequestLaunchSpecificationArgs) ToSpotFleetRequestLaunchSpecificationOutput() SpotFleetRequestLaunchSpecificationOutput { - return i.ToSpotFleetRequestLaunchSpecificationOutputWithContext(context.Background()) +func (i NetworkInsightsPathFilterAtDestinationSourcePortRangeArgs) ToNetworkInsightsPathFilterAtDestinationSourcePortRangePtrOutput() NetworkInsightsPathFilterAtDestinationSourcePortRangePtrOutput { + return i.ToNetworkInsightsPathFilterAtDestinationSourcePortRangePtrOutputWithContext(context.Background()) } -func (i SpotFleetRequestLaunchSpecificationArgs) ToSpotFleetRequestLaunchSpecificationOutputWithContext(ctx context.Context) SpotFleetRequestLaunchSpecificationOutput { - return pulumi.ToOutputWithContext(ctx, i).(SpotFleetRequestLaunchSpecificationOutput) +func (i NetworkInsightsPathFilterAtDestinationSourcePortRangeArgs) ToNetworkInsightsPathFilterAtDestinationSourcePortRangePtrOutputWithContext(ctx context.Context) NetworkInsightsPathFilterAtDestinationSourcePortRangePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsPathFilterAtDestinationSourcePortRangeOutput).ToNetworkInsightsPathFilterAtDestinationSourcePortRangePtrOutputWithContext(ctx) } -// SpotFleetRequestLaunchSpecificationArrayInput is an input type that accepts SpotFleetRequestLaunchSpecificationArray and SpotFleetRequestLaunchSpecificationArrayOutput values. -// You can construct a concrete instance of `SpotFleetRequestLaunchSpecificationArrayInput` via: +// NetworkInsightsPathFilterAtDestinationSourcePortRangePtrInput is an input type that accepts NetworkInsightsPathFilterAtDestinationSourcePortRangeArgs, NetworkInsightsPathFilterAtDestinationSourcePortRangePtr and NetworkInsightsPathFilterAtDestinationSourcePortRangePtrOutput values. +// You can construct a concrete instance of `NetworkInsightsPathFilterAtDestinationSourcePortRangePtrInput` via: // -// SpotFleetRequestLaunchSpecificationArray{ SpotFleetRequestLaunchSpecificationArgs{...} } -type SpotFleetRequestLaunchSpecificationArrayInput interface { +// NetworkInsightsPathFilterAtDestinationSourcePortRangeArgs{...} +// +// or: +// +// nil +type NetworkInsightsPathFilterAtDestinationSourcePortRangePtrInput interface { pulumi.Input - ToSpotFleetRequestLaunchSpecificationArrayOutput() SpotFleetRequestLaunchSpecificationArrayOutput - ToSpotFleetRequestLaunchSpecificationArrayOutputWithContext(context.Context) SpotFleetRequestLaunchSpecificationArrayOutput + ToNetworkInsightsPathFilterAtDestinationSourcePortRangePtrOutput() NetworkInsightsPathFilterAtDestinationSourcePortRangePtrOutput + ToNetworkInsightsPathFilterAtDestinationSourcePortRangePtrOutputWithContext(context.Context) NetworkInsightsPathFilterAtDestinationSourcePortRangePtrOutput } -type SpotFleetRequestLaunchSpecificationArray []SpotFleetRequestLaunchSpecificationInput +type networkInsightsPathFilterAtDestinationSourcePortRangePtrType NetworkInsightsPathFilterAtDestinationSourcePortRangeArgs -func (SpotFleetRequestLaunchSpecificationArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]SpotFleetRequestLaunchSpecification)(nil)).Elem() +func NetworkInsightsPathFilterAtDestinationSourcePortRangePtr(v *NetworkInsightsPathFilterAtDestinationSourcePortRangeArgs) NetworkInsightsPathFilterAtDestinationSourcePortRangePtrInput { + return (*networkInsightsPathFilterAtDestinationSourcePortRangePtrType)(v) } -func (i SpotFleetRequestLaunchSpecificationArray) ToSpotFleetRequestLaunchSpecificationArrayOutput() SpotFleetRequestLaunchSpecificationArrayOutput { - return i.ToSpotFleetRequestLaunchSpecificationArrayOutputWithContext(context.Background()) +func (*networkInsightsPathFilterAtDestinationSourcePortRangePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**NetworkInsightsPathFilterAtDestinationSourcePortRange)(nil)).Elem() } -func (i SpotFleetRequestLaunchSpecificationArray) ToSpotFleetRequestLaunchSpecificationArrayOutputWithContext(ctx context.Context) SpotFleetRequestLaunchSpecificationArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(SpotFleetRequestLaunchSpecificationArrayOutput) +func (i *networkInsightsPathFilterAtDestinationSourcePortRangePtrType) ToNetworkInsightsPathFilterAtDestinationSourcePortRangePtrOutput() NetworkInsightsPathFilterAtDestinationSourcePortRangePtrOutput { + return i.ToNetworkInsightsPathFilterAtDestinationSourcePortRangePtrOutputWithContext(context.Background()) } -type SpotFleetRequestLaunchSpecificationOutput struct{ *pulumi.OutputState } +func (i *networkInsightsPathFilterAtDestinationSourcePortRangePtrType) ToNetworkInsightsPathFilterAtDestinationSourcePortRangePtrOutputWithContext(ctx context.Context) NetworkInsightsPathFilterAtDestinationSourcePortRangePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsPathFilterAtDestinationSourcePortRangePtrOutput) +} -func (SpotFleetRequestLaunchSpecificationOutput) ElementType() reflect.Type { - return reflect.TypeOf((*SpotFleetRequestLaunchSpecification)(nil)).Elem() +type NetworkInsightsPathFilterAtDestinationSourcePortRangeOutput struct{ *pulumi.OutputState } + +func (NetworkInsightsPathFilterAtDestinationSourcePortRangeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInsightsPathFilterAtDestinationSourcePortRange)(nil)).Elem() } -func (o SpotFleetRequestLaunchSpecificationOutput) ToSpotFleetRequestLaunchSpecificationOutput() SpotFleetRequestLaunchSpecificationOutput { +func (o NetworkInsightsPathFilterAtDestinationSourcePortRangeOutput) ToNetworkInsightsPathFilterAtDestinationSourcePortRangeOutput() NetworkInsightsPathFilterAtDestinationSourcePortRangeOutput { return o } -func (o SpotFleetRequestLaunchSpecificationOutput) ToSpotFleetRequestLaunchSpecificationOutputWithContext(ctx context.Context) SpotFleetRequestLaunchSpecificationOutput { +func (o NetworkInsightsPathFilterAtDestinationSourcePortRangeOutput) ToNetworkInsightsPathFilterAtDestinationSourcePortRangeOutputWithContext(ctx context.Context) NetworkInsightsPathFilterAtDestinationSourcePortRangeOutput { return o } -func (o SpotFleetRequestLaunchSpecificationOutput) Ami() pulumi.StringOutput { - return o.ApplyT(func(v SpotFleetRequestLaunchSpecification) string { return v.Ami }).(pulumi.StringOutput) +func (o NetworkInsightsPathFilterAtDestinationSourcePortRangeOutput) ToNetworkInsightsPathFilterAtDestinationSourcePortRangePtrOutput() NetworkInsightsPathFilterAtDestinationSourcePortRangePtrOutput { + return o.ToNetworkInsightsPathFilterAtDestinationSourcePortRangePtrOutputWithContext(context.Background()) } -func (o SpotFleetRequestLaunchSpecificationOutput) AssociatePublicIpAddress() pulumi.BoolPtrOutput { - return o.ApplyT(func(v SpotFleetRequestLaunchSpecification) *bool { return v.AssociatePublicIpAddress }).(pulumi.BoolPtrOutput) +func (o NetworkInsightsPathFilterAtDestinationSourcePortRangeOutput) ToNetworkInsightsPathFilterAtDestinationSourcePortRangePtrOutputWithContext(ctx context.Context) NetworkInsightsPathFilterAtDestinationSourcePortRangePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v NetworkInsightsPathFilterAtDestinationSourcePortRange) *NetworkInsightsPathFilterAtDestinationSourcePortRange { + return &v + }).(NetworkInsightsPathFilterAtDestinationSourcePortRangePtrOutput) } -// The availability zone in which to place the request. -func (o SpotFleetRequestLaunchSpecificationOutput) AvailabilityZone() pulumi.StringPtrOutput { - return o.ApplyT(func(v SpotFleetRequestLaunchSpecification) *string { return v.AvailabilityZone }).(pulumi.StringPtrOutput) +// The first port in the range. +func (o NetworkInsightsPathFilterAtDestinationSourcePortRangeOutput) FromPort() pulumi.IntPtrOutput { + return o.ApplyT(func(v NetworkInsightsPathFilterAtDestinationSourcePortRange) *int { return v.FromPort }).(pulumi.IntPtrOutput) } -func (o SpotFleetRequestLaunchSpecificationOutput) EbsBlockDevices() SpotFleetRequestLaunchSpecificationEbsBlockDeviceArrayOutput { - return o.ApplyT(func(v SpotFleetRequestLaunchSpecification) []SpotFleetRequestLaunchSpecificationEbsBlockDevice { - return v.EbsBlockDevices - }).(SpotFleetRequestLaunchSpecificationEbsBlockDeviceArrayOutput) +// The last port in the range. +func (o NetworkInsightsPathFilterAtDestinationSourcePortRangeOutput) ToPort() pulumi.IntPtrOutput { + return o.ApplyT(func(v NetworkInsightsPathFilterAtDestinationSourcePortRange) *int { return v.ToPort }).(pulumi.IntPtrOutput) } -func (o SpotFleetRequestLaunchSpecificationOutput) EbsOptimized() pulumi.BoolPtrOutput { - return o.ApplyT(func(v SpotFleetRequestLaunchSpecification) *bool { return v.EbsOptimized }).(pulumi.BoolPtrOutput) -} +type NetworkInsightsPathFilterAtDestinationSourcePortRangePtrOutput struct{ *pulumi.OutputState } -func (o SpotFleetRequestLaunchSpecificationOutput) EphemeralBlockDevices() SpotFleetRequestLaunchSpecificationEphemeralBlockDeviceArrayOutput { - return o.ApplyT(func(v SpotFleetRequestLaunchSpecification) []SpotFleetRequestLaunchSpecificationEphemeralBlockDevice { - return v.EphemeralBlockDevices - }).(SpotFleetRequestLaunchSpecificationEphemeralBlockDeviceArrayOutput) +func (NetworkInsightsPathFilterAtDestinationSourcePortRangePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**NetworkInsightsPathFilterAtDestinationSourcePortRange)(nil)).Elem() } -func (o SpotFleetRequestLaunchSpecificationOutput) IamInstanceProfile() pulumi.StringPtrOutput { - return o.ApplyT(func(v SpotFleetRequestLaunchSpecification) *string { return v.IamInstanceProfile }).(pulumi.StringPtrOutput) +func (o NetworkInsightsPathFilterAtDestinationSourcePortRangePtrOutput) ToNetworkInsightsPathFilterAtDestinationSourcePortRangePtrOutput() NetworkInsightsPathFilterAtDestinationSourcePortRangePtrOutput { + return o } -func (o SpotFleetRequestLaunchSpecificationOutput) IamInstanceProfileArn() pulumi.StringPtrOutput { - return o.ApplyT(func(v SpotFleetRequestLaunchSpecification) *string { return v.IamInstanceProfileArn }).(pulumi.StringPtrOutput) +func (o NetworkInsightsPathFilterAtDestinationSourcePortRangePtrOutput) ToNetworkInsightsPathFilterAtDestinationSourcePortRangePtrOutputWithContext(ctx context.Context) NetworkInsightsPathFilterAtDestinationSourcePortRangePtrOutput { + return o } -// The type of instance to request. -func (o SpotFleetRequestLaunchSpecificationOutput) InstanceType() pulumi.StringOutput { - return o.ApplyT(func(v SpotFleetRequestLaunchSpecification) string { return v.InstanceType }).(pulumi.StringOutput) +func (o NetworkInsightsPathFilterAtDestinationSourcePortRangePtrOutput) Elem() NetworkInsightsPathFilterAtDestinationSourcePortRangeOutput { + return o.ApplyT(func(v *NetworkInsightsPathFilterAtDestinationSourcePortRange) NetworkInsightsPathFilterAtDestinationSourcePortRange { + if v != nil { + return *v + } + var ret NetworkInsightsPathFilterAtDestinationSourcePortRange + return ret + }).(NetworkInsightsPathFilterAtDestinationSourcePortRangeOutput) } -func (o SpotFleetRequestLaunchSpecificationOutput) KeyName() pulumi.StringPtrOutput { - return o.ApplyT(func(v SpotFleetRequestLaunchSpecification) *string { return v.KeyName }).(pulumi.StringPtrOutput) +// The first port in the range. +func (o NetworkInsightsPathFilterAtDestinationSourcePortRangePtrOutput) FromPort() pulumi.IntPtrOutput { + return o.ApplyT(func(v *NetworkInsightsPathFilterAtDestinationSourcePortRange) *int { + if v == nil { + return nil + } + return v.FromPort + }).(pulumi.IntPtrOutput) } -func (o SpotFleetRequestLaunchSpecificationOutput) Monitoring() pulumi.BoolPtrOutput { - return o.ApplyT(func(v SpotFleetRequestLaunchSpecification) *bool { return v.Monitoring }).(pulumi.BoolPtrOutput) +// The last port in the range. +func (o NetworkInsightsPathFilterAtDestinationSourcePortRangePtrOutput) ToPort() pulumi.IntPtrOutput { + return o.ApplyT(func(v *NetworkInsightsPathFilterAtDestinationSourcePortRange) *int { + if v == nil { + return nil + } + return v.ToPort + }).(pulumi.IntPtrOutput) } -func (o SpotFleetRequestLaunchSpecificationOutput) PlacementGroup() pulumi.StringPtrOutput { - return o.ApplyT(func(v SpotFleetRequestLaunchSpecification) *string { return v.PlacementGroup }).(pulumi.StringPtrOutput) +type NetworkInsightsPathFilterAtSource struct { + // The destination IPv4 address. + DestinationAddress *string `pulumi:"destinationAddress"` + // The destination port range. See below for details. + DestinationPortRange *NetworkInsightsPathFilterAtSourceDestinationPortRange `pulumi:"destinationPortRange"` + // IP address of the source resource. + SourceAddress *string `pulumi:"sourceAddress"` + // The source port range. See below for details. + SourcePortRange *NetworkInsightsPathFilterAtSourceSourcePortRange `pulumi:"sourcePortRange"` } -func (o SpotFleetRequestLaunchSpecificationOutput) PlacementTenancy() pulumi.StringPtrOutput { - return o.ApplyT(func(v SpotFleetRequestLaunchSpecification) *string { return v.PlacementTenancy }).(pulumi.StringPtrOutput) -} +// NetworkInsightsPathFilterAtSourceInput is an input type that accepts NetworkInsightsPathFilterAtSourceArgs and NetworkInsightsPathFilterAtSourceOutput values. +// You can construct a concrete instance of `NetworkInsightsPathFilterAtSourceInput` via: +// +// NetworkInsightsPathFilterAtSourceArgs{...} +type NetworkInsightsPathFilterAtSourceInput interface { + pulumi.Input -func (o SpotFleetRequestLaunchSpecificationOutput) RootBlockDevices() SpotFleetRequestLaunchSpecificationRootBlockDeviceArrayOutput { - return o.ApplyT(func(v SpotFleetRequestLaunchSpecification) []SpotFleetRequestLaunchSpecificationRootBlockDevice { - return v.RootBlockDevices - }).(SpotFleetRequestLaunchSpecificationRootBlockDeviceArrayOutput) + ToNetworkInsightsPathFilterAtSourceOutput() NetworkInsightsPathFilterAtSourceOutput + ToNetworkInsightsPathFilterAtSourceOutputWithContext(context.Context) NetworkInsightsPathFilterAtSourceOutput } -// The maximum bid price per unit hour. -func (o SpotFleetRequestLaunchSpecificationOutput) SpotPrice() pulumi.StringPtrOutput { - return o.ApplyT(func(v SpotFleetRequestLaunchSpecification) *string { return v.SpotPrice }).(pulumi.StringPtrOutput) +type NetworkInsightsPathFilterAtSourceArgs struct { + // The destination IPv4 address. + DestinationAddress pulumi.StringPtrInput `pulumi:"destinationAddress"` + // The destination port range. See below for details. + DestinationPortRange NetworkInsightsPathFilterAtSourceDestinationPortRangePtrInput `pulumi:"destinationPortRange"` + // IP address of the source resource. + SourceAddress pulumi.StringPtrInput `pulumi:"sourceAddress"` + // The source port range. See below for details. + SourcePortRange NetworkInsightsPathFilterAtSourceSourcePortRangePtrInput `pulumi:"sourcePortRange"` } -// The subnet in which to launch the requested instance. -func (o SpotFleetRequestLaunchSpecificationOutput) SubnetId() pulumi.StringPtrOutput { - return o.ApplyT(func(v SpotFleetRequestLaunchSpecification) *string { return v.SubnetId }).(pulumi.StringPtrOutput) +func (NetworkInsightsPathFilterAtSourceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInsightsPathFilterAtSource)(nil)).Elem() } -// A map of tags to assign to the resource. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. -func (o SpotFleetRequestLaunchSpecificationOutput) Tags() pulumi.StringMapOutput { - return o.ApplyT(func(v SpotFleetRequestLaunchSpecification) map[string]string { return v.Tags }).(pulumi.StringMapOutput) +func (i NetworkInsightsPathFilterAtSourceArgs) ToNetworkInsightsPathFilterAtSourceOutput() NetworkInsightsPathFilterAtSourceOutput { + return i.ToNetworkInsightsPathFilterAtSourceOutputWithContext(context.Background()) } -func (o SpotFleetRequestLaunchSpecificationOutput) UserData() pulumi.StringPtrOutput { - return o.ApplyT(func(v SpotFleetRequestLaunchSpecification) *string { return v.UserData }).(pulumi.StringPtrOutput) +func (i NetworkInsightsPathFilterAtSourceArgs) ToNetworkInsightsPathFilterAtSourceOutputWithContext(ctx context.Context) NetworkInsightsPathFilterAtSourceOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsPathFilterAtSourceOutput) } -func (o SpotFleetRequestLaunchSpecificationOutput) VpcSecurityGroupIds() pulumi.StringArrayOutput { - return o.ApplyT(func(v SpotFleetRequestLaunchSpecification) []string { return v.VpcSecurityGroupIds }).(pulumi.StringArrayOutput) +func (i NetworkInsightsPathFilterAtSourceArgs) ToNetworkInsightsPathFilterAtSourcePtrOutput() NetworkInsightsPathFilterAtSourcePtrOutput { + return i.ToNetworkInsightsPathFilterAtSourcePtrOutputWithContext(context.Background()) } -// The capacity added to the fleet by a fulfilled request. -func (o SpotFleetRequestLaunchSpecificationOutput) WeightedCapacity() pulumi.StringPtrOutput { - return o.ApplyT(func(v SpotFleetRequestLaunchSpecification) *string { return v.WeightedCapacity }).(pulumi.StringPtrOutput) +func (i NetworkInsightsPathFilterAtSourceArgs) ToNetworkInsightsPathFilterAtSourcePtrOutputWithContext(ctx context.Context) NetworkInsightsPathFilterAtSourcePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsPathFilterAtSourceOutput).ToNetworkInsightsPathFilterAtSourcePtrOutputWithContext(ctx) } -type SpotFleetRequestLaunchSpecificationArrayOutput struct{ *pulumi.OutputState } +// NetworkInsightsPathFilterAtSourcePtrInput is an input type that accepts NetworkInsightsPathFilterAtSourceArgs, NetworkInsightsPathFilterAtSourcePtr and NetworkInsightsPathFilterAtSourcePtrOutput values. +// You can construct a concrete instance of `NetworkInsightsPathFilterAtSourcePtrInput` via: +// +// NetworkInsightsPathFilterAtSourceArgs{...} +// +// or: +// +// nil +type NetworkInsightsPathFilterAtSourcePtrInput interface { + pulumi.Input -func (SpotFleetRequestLaunchSpecificationArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]SpotFleetRequestLaunchSpecification)(nil)).Elem() + ToNetworkInsightsPathFilterAtSourcePtrOutput() NetworkInsightsPathFilterAtSourcePtrOutput + ToNetworkInsightsPathFilterAtSourcePtrOutputWithContext(context.Context) NetworkInsightsPathFilterAtSourcePtrOutput } -func (o SpotFleetRequestLaunchSpecificationArrayOutput) ToSpotFleetRequestLaunchSpecificationArrayOutput() SpotFleetRequestLaunchSpecificationArrayOutput { - return o +type networkInsightsPathFilterAtSourcePtrType NetworkInsightsPathFilterAtSourceArgs + +func NetworkInsightsPathFilterAtSourcePtr(v *NetworkInsightsPathFilterAtSourceArgs) NetworkInsightsPathFilterAtSourcePtrInput { + return (*networkInsightsPathFilterAtSourcePtrType)(v) } -func (o SpotFleetRequestLaunchSpecificationArrayOutput) ToSpotFleetRequestLaunchSpecificationArrayOutputWithContext(ctx context.Context) SpotFleetRequestLaunchSpecificationArrayOutput { - return o +func (*networkInsightsPathFilterAtSourcePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**NetworkInsightsPathFilterAtSource)(nil)).Elem() } -func (o SpotFleetRequestLaunchSpecificationArrayOutput) Index(i pulumi.IntInput) SpotFleetRequestLaunchSpecificationOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) SpotFleetRequestLaunchSpecification { - return vs[0].([]SpotFleetRequestLaunchSpecification)[vs[1].(int)] - }).(SpotFleetRequestLaunchSpecificationOutput) +func (i *networkInsightsPathFilterAtSourcePtrType) ToNetworkInsightsPathFilterAtSourcePtrOutput() NetworkInsightsPathFilterAtSourcePtrOutput { + return i.ToNetworkInsightsPathFilterAtSourcePtrOutputWithContext(context.Background()) } -type SpotFleetRequestLaunchSpecificationEbsBlockDevice struct { - DeleteOnTermination *bool `pulumi:"deleteOnTermination"` - DeviceName string `pulumi:"deviceName"` - Encrypted *bool `pulumi:"encrypted"` - Iops *int `pulumi:"iops"` - KmsKeyId *string `pulumi:"kmsKeyId"` - SnapshotId *string `pulumi:"snapshotId"` - Throughput *int `pulumi:"throughput"` - VolumeSize *int `pulumi:"volumeSize"` - VolumeType *string `pulumi:"volumeType"` +func (i *networkInsightsPathFilterAtSourcePtrType) ToNetworkInsightsPathFilterAtSourcePtrOutputWithContext(ctx context.Context) NetworkInsightsPathFilterAtSourcePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsPathFilterAtSourcePtrOutput) } -// SpotFleetRequestLaunchSpecificationEbsBlockDeviceInput is an input type that accepts SpotFleetRequestLaunchSpecificationEbsBlockDeviceArgs and SpotFleetRequestLaunchSpecificationEbsBlockDeviceOutput values. -// You can construct a concrete instance of `SpotFleetRequestLaunchSpecificationEbsBlockDeviceInput` via: -// -// SpotFleetRequestLaunchSpecificationEbsBlockDeviceArgs{...} -type SpotFleetRequestLaunchSpecificationEbsBlockDeviceInput interface { - pulumi.Input +type NetworkInsightsPathFilterAtSourceOutput struct{ *pulumi.OutputState } - ToSpotFleetRequestLaunchSpecificationEbsBlockDeviceOutput() SpotFleetRequestLaunchSpecificationEbsBlockDeviceOutput - ToSpotFleetRequestLaunchSpecificationEbsBlockDeviceOutputWithContext(context.Context) SpotFleetRequestLaunchSpecificationEbsBlockDeviceOutput +func (NetworkInsightsPathFilterAtSourceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInsightsPathFilterAtSource)(nil)).Elem() } -type SpotFleetRequestLaunchSpecificationEbsBlockDeviceArgs struct { - DeleteOnTermination pulumi.BoolPtrInput `pulumi:"deleteOnTermination"` - DeviceName pulumi.StringInput `pulumi:"deviceName"` - Encrypted pulumi.BoolPtrInput `pulumi:"encrypted"` - Iops pulumi.IntPtrInput `pulumi:"iops"` - KmsKeyId pulumi.StringPtrInput `pulumi:"kmsKeyId"` - SnapshotId pulumi.StringPtrInput `pulumi:"snapshotId"` - Throughput pulumi.IntPtrInput `pulumi:"throughput"` - VolumeSize pulumi.IntPtrInput `pulumi:"volumeSize"` - VolumeType pulumi.StringPtrInput `pulumi:"volumeType"` +func (o NetworkInsightsPathFilterAtSourceOutput) ToNetworkInsightsPathFilterAtSourceOutput() NetworkInsightsPathFilterAtSourceOutput { + return o } -func (SpotFleetRequestLaunchSpecificationEbsBlockDeviceArgs) ElementType() reflect.Type { - return reflect.TypeOf((*SpotFleetRequestLaunchSpecificationEbsBlockDevice)(nil)).Elem() +func (o NetworkInsightsPathFilterAtSourceOutput) ToNetworkInsightsPathFilterAtSourceOutputWithContext(ctx context.Context) NetworkInsightsPathFilterAtSourceOutput { + return o } -func (i SpotFleetRequestLaunchSpecificationEbsBlockDeviceArgs) ToSpotFleetRequestLaunchSpecificationEbsBlockDeviceOutput() SpotFleetRequestLaunchSpecificationEbsBlockDeviceOutput { - return i.ToSpotFleetRequestLaunchSpecificationEbsBlockDeviceOutputWithContext(context.Background()) +func (o NetworkInsightsPathFilterAtSourceOutput) ToNetworkInsightsPathFilterAtSourcePtrOutput() NetworkInsightsPathFilterAtSourcePtrOutput { + return o.ToNetworkInsightsPathFilterAtSourcePtrOutputWithContext(context.Background()) } -func (i SpotFleetRequestLaunchSpecificationEbsBlockDeviceArgs) ToSpotFleetRequestLaunchSpecificationEbsBlockDeviceOutputWithContext(ctx context.Context) SpotFleetRequestLaunchSpecificationEbsBlockDeviceOutput { - return pulumi.ToOutputWithContext(ctx, i).(SpotFleetRequestLaunchSpecificationEbsBlockDeviceOutput) +func (o NetworkInsightsPathFilterAtSourceOutput) ToNetworkInsightsPathFilterAtSourcePtrOutputWithContext(ctx context.Context) NetworkInsightsPathFilterAtSourcePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v NetworkInsightsPathFilterAtSource) *NetworkInsightsPathFilterAtSource { + return &v + }).(NetworkInsightsPathFilterAtSourcePtrOutput) } -// SpotFleetRequestLaunchSpecificationEbsBlockDeviceArrayInput is an input type that accepts SpotFleetRequestLaunchSpecificationEbsBlockDeviceArray and SpotFleetRequestLaunchSpecificationEbsBlockDeviceArrayOutput values. -// You can construct a concrete instance of `SpotFleetRequestLaunchSpecificationEbsBlockDeviceArrayInput` via: -// -// SpotFleetRequestLaunchSpecificationEbsBlockDeviceArray{ SpotFleetRequestLaunchSpecificationEbsBlockDeviceArgs{...} } -type SpotFleetRequestLaunchSpecificationEbsBlockDeviceArrayInput interface { - pulumi.Input - - ToSpotFleetRequestLaunchSpecificationEbsBlockDeviceArrayOutput() SpotFleetRequestLaunchSpecificationEbsBlockDeviceArrayOutput - ToSpotFleetRequestLaunchSpecificationEbsBlockDeviceArrayOutputWithContext(context.Context) SpotFleetRequestLaunchSpecificationEbsBlockDeviceArrayOutput +// The destination IPv4 address. +func (o NetworkInsightsPathFilterAtSourceOutput) DestinationAddress() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsPathFilterAtSource) *string { return v.DestinationAddress }).(pulumi.StringPtrOutput) } -type SpotFleetRequestLaunchSpecificationEbsBlockDeviceArray []SpotFleetRequestLaunchSpecificationEbsBlockDeviceInput - -func (SpotFleetRequestLaunchSpecificationEbsBlockDeviceArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]SpotFleetRequestLaunchSpecificationEbsBlockDevice)(nil)).Elem() +// The destination port range. See below for details. +func (o NetworkInsightsPathFilterAtSourceOutput) DestinationPortRange() NetworkInsightsPathFilterAtSourceDestinationPortRangePtrOutput { + return o.ApplyT(func(v NetworkInsightsPathFilterAtSource) *NetworkInsightsPathFilterAtSourceDestinationPortRange { + return v.DestinationPortRange + }).(NetworkInsightsPathFilterAtSourceDestinationPortRangePtrOutput) } -func (i SpotFleetRequestLaunchSpecificationEbsBlockDeviceArray) ToSpotFleetRequestLaunchSpecificationEbsBlockDeviceArrayOutput() SpotFleetRequestLaunchSpecificationEbsBlockDeviceArrayOutput { - return i.ToSpotFleetRequestLaunchSpecificationEbsBlockDeviceArrayOutputWithContext(context.Background()) +// IP address of the source resource. +func (o NetworkInsightsPathFilterAtSourceOutput) SourceAddress() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInsightsPathFilterAtSource) *string { return v.SourceAddress }).(pulumi.StringPtrOutput) } -func (i SpotFleetRequestLaunchSpecificationEbsBlockDeviceArray) ToSpotFleetRequestLaunchSpecificationEbsBlockDeviceArrayOutputWithContext(ctx context.Context) SpotFleetRequestLaunchSpecificationEbsBlockDeviceArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(SpotFleetRequestLaunchSpecificationEbsBlockDeviceArrayOutput) +// The source port range. See below for details. +func (o NetworkInsightsPathFilterAtSourceOutput) SourcePortRange() NetworkInsightsPathFilterAtSourceSourcePortRangePtrOutput { + return o.ApplyT(func(v NetworkInsightsPathFilterAtSource) *NetworkInsightsPathFilterAtSourceSourcePortRange { + return v.SourcePortRange + }).(NetworkInsightsPathFilterAtSourceSourcePortRangePtrOutput) } -type SpotFleetRequestLaunchSpecificationEbsBlockDeviceOutput struct{ *pulumi.OutputState } +type NetworkInsightsPathFilterAtSourcePtrOutput struct{ *pulumi.OutputState } -func (SpotFleetRequestLaunchSpecificationEbsBlockDeviceOutput) ElementType() reflect.Type { - return reflect.TypeOf((*SpotFleetRequestLaunchSpecificationEbsBlockDevice)(nil)).Elem() +func (NetworkInsightsPathFilterAtSourcePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**NetworkInsightsPathFilterAtSource)(nil)).Elem() } -func (o SpotFleetRequestLaunchSpecificationEbsBlockDeviceOutput) ToSpotFleetRequestLaunchSpecificationEbsBlockDeviceOutput() SpotFleetRequestLaunchSpecificationEbsBlockDeviceOutput { +func (o NetworkInsightsPathFilterAtSourcePtrOutput) ToNetworkInsightsPathFilterAtSourcePtrOutput() NetworkInsightsPathFilterAtSourcePtrOutput { return o } -func (o SpotFleetRequestLaunchSpecificationEbsBlockDeviceOutput) ToSpotFleetRequestLaunchSpecificationEbsBlockDeviceOutputWithContext(ctx context.Context) SpotFleetRequestLaunchSpecificationEbsBlockDeviceOutput { +func (o NetworkInsightsPathFilterAtSourcePtrOutput) ToNetworkInsightsPathFilterAtSourcePtrOutputWithContext(ctx context.Context) NetworkInsightsPathFilterAtSourcePtrOutput { return o } -func (o SpotFleetRequestLaunchSpecificationEbsBlockDeviceOutput) DeleteOnTermination() pulumi.BoolPtrOutput { - return o.ApplyT(func(v SpotFleetRequestLaunchSpecificationEbsBlockDevice) *bool { return v.DeleteOnTermination }).(pulumi.BoolPtrOutput) +func (o NetworkInsightsPathFilterAtSourcePtrOutput) Elem() NetworkInsightsPathFilterAtSourceOutput { + return o.ApplyT(func(v *NetworkInsightsPathFilterAtSource) NetworkInsightsPathFilterAtSource { + if v != nil { + return *v + } + var ret NetworkInsightsPathFilterAtSource + return ret + }).(NetworkInsightsPathFilterAtSourceOutput) } -func (o SpotFleetRequestLaunchSpecificationEbsBlockDeviceOutput) DeviceName() pulumi.StringOutput { - return o.ApplyT(func(v SpotFleetRequestLaunchSpecificationEbsBlockDevice) string { return v.DeviceName }).(pulumi.StringOutput) +// The destination IPv4 address. +func (o NetworkInsightsPathFilterAtSourcePtrOutput) DestinationAddress() pulumi.StringPtrOutput { + return o.ApplyT(func(v *NetworkInsightsPathFilterAtSource) *string { + if v == nil { + return nil + } + return v.DestinationAddress + }).(pulumi.StringPtrOutput) } -func (o SpotFleetRequestLaunchSpecificationEbsBlockDeviceOutput) Encrypted() pulumi.BoolPtrOutput { - return o.ApplyT(func(v SpotFleetRequestLaunchSpecificationEbsBlockDevice) *bool { return v.Encrypted }).(pulumi.BoolPtrOutput) +// The destination port range. See below for details. +func (o NetworkInsightsPathFilterAtSourcePtrOutput) DestinationPortRange() NetworkInsightsPathFilterAtSourceDestinationPortRangePtrOutput { + return o.ApplyT(func(v *NetworkInsightsPathFilterAtSource) *NetworkInsightsPathFilterAtSourceDestinationPortRange { + if v == nil { + return nil + } + return v.DestinationPortRange + }).(NetworkInsightsPathFilterAtSourceDestinationPortRangePtrOutput) } -func (o SpotFleetRequestLaunchSpecificationEbsBlockDeviceOutput) Iops() pulumi.IntPtrOutput { - return o.ApplyT(func(v SpotFleetRequestLaunchSpecificationEbsBlockDevice) *int { return v.Iops }).(pulumi.IntPtrOutput) +// IP address of the source resource. +func (o NetworkInsightsPathFilterAtSourcePtrOutput) SourceAddress() pulumi.StringPtrOutput { + return o.ApplyT(func(v *NetworkInsightsPathFilterAtSource) *string { + if v == nil { + return nil + } + return v.SourceAddress + }).(pulumi.StringPtrOutput) } -func (o SpotFleetRequestLaunchSpecificationEbsBlockDeviceOutput) KmsKeyId() pulumi.StringPtrOutput { - return o.ApplyT(func(v SpotFleetRequestLaunchSpecificationEbsBlockDevice) *string { return v.KmsKeyId }).(pulumi.StringPtrOutput) +// The source port range. See below for details. +func (o NetworkInsightsPathFilterAtSourcePtrOutput) SourcePortRange() NetworkInsightsPathFilterAtSourceSourcePortRangePtrOutput { + return o.ApplyT(func(v *NetworkInsightsPathFilterAtSource) *NetworkInsightsPathFilterAtSourceSourcePortRange { + if v == nil { + return nil + } + return v.SourcePortRange + }).(NetworkInsightsPathFilterAtSourceSourcePortRangePtrOutput) } -func (o SpotFleetRequestLaunchSpecificationEbsBlockDeviceOutput) SnapshotId() pulumi.StringPtrOutput { - return o.ApplyT(func(v SpotFleetRequestLaunchSpecificationEbsBlockDevice) *string { return v.SnapshotId }).(pulumi.StringPtrOutput) +type NetworkInsightsPathFilterAtSourceDestinationPortRange struct { + // The first port in the range. + FromPort *int `pulumi:"fromPort"` + // The last port in the range. + ToPort *int `pulumi:"toPort"` } -func (o SpotFleetRequestLaunchSpecificationEbsBlockDeviceOutput) Throughput() pulumi.IntPtrOutput { - return o.ApplyT(func(v SpotFleetRequestLaunchSpecificationEbsBlockDevice) *int { return v.Throughput }).(pulumi.IntPtrOutput) -} +// NetworkInsightsPathFilterAtSourceDestinationPortRangeInput is an input type that accepts NetworkInsightsPathFilterAtSourceDestinationPortRangeArgs and NetworkInsightsPathFilterAtSourceDestinationPortRangeOutput values. +// You can construct a concrete instance of `NetworkInsightsPathFilterAtSourceDestinationPortRangeInput` via: +// +// NetworkInsightsPathFilterAtSourceDestinationPortRangeArgs{...} +type NetworkInsightsPathFilterAtSourceDestinationPortRangeInput interface { + pulumi.Input -func (o SpotFleetRequestLaunchSpecificationEbsBlockDeviceOutput) VolumeSize() pulumi.IntPtrOutput { - return o.ApplyT(func(v SpotFleetRequestLaunchSpecificationEbsBlockDevice) *int { return v.VolumeSize }).(pulumi.IntPtrOutput) + ToNetworkInsightsPathFilterAtSourceDestinationPortRangeOutput() NetworkInsightsPathFilterAtSourceDestinationPortRangeOutput + ToNetworkInsightsPathFilterAtSourceDestinationPortRangeOutputWithContext(context.Context) NetworkInsightsPathFilterAtSourceDestinationPortRangeOutput } -func (o SpotFleetRequestLaunchSpecificationEbsBlockDeviceOutput) VolumeType() pulumi.StringPtrOutput { - return o.ApplyT(func(v SpotFleetRequestLaunchSpecificationEbsBlockDevice) *string { return v.VolumeType }).(pulumi.StringPtrOutput) +type NetworkInsightsPathFilterAtSourceDestinationPortRangeArgs struct { + // The first port in the range. + FromPort pulumi.IntPtrInput `pulumi:"fromPort"` + // The last port in the range. + ToPort pulumi.IntPtrInput `pulumi:"toPort"` } -type SpotFleetRequestLaunchSpecificationEbsBlockDeviceArrayOutput struct{ *pulumi.OutputState } - -func (SpotFleetRequestLaunchSpecificationEbsBlockDeviceArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]SpotFleetRequestLaunchSpecificationEbsBlockDevice)(nil)).Elem() +func (NetworkInsightsPathFilterAtSourceDestinationPortRangeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInsightsPathFilterAtSourceDestinationPortRange)(nil)).Elem() } -func (o SpotFleetRequestLaunchSpecificationEbsBlockDeviceArrayOutput) ToSpotFleetRequestLaunchSpecificationEbsBlockDeviceArrayOutput() SpotFleetRequestLaunchSpecificationEbsBlockDeviceArrayOutput { - return o +func (i NetworkInsightsPathFilterAtSourceDestinationPortRangeArgs) ToNetworkInsightsPathFilterAtSourceDestinationPortRangeOutput() NetworkInsightsPathFilterAtSourceDestinationPortRangeOutput { + return i.ToNetworkInsightsPathFilterAtSourceDestinationPortRangeOutputWithContext(context.Background()) } -func (o SpotFleetRequestLaunchSpecificationEbsBlockDeviceArrayOutput) ToSpotFleetRequestLaunchSpecificationEbsBlockDeviceArrayOutputWithContext(ctx context.Context) SpotFleetRequestLaunchSpecificationEbsBlockDeviceArrayOutput { - return o +func (i NetworkInsightsPathFilterAtSourceDestinationPortRangeArgs) ToNetworkInsightsPathFilterAtSourceDestinationPortRangeOutputWithContext(ctx context.Context) NetworkInsightsPathFilterAtSourceDestinationPortRangeOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsPathFilterAtSourceDestinationPortRangeOutput) } -func (o SpotFleetRequestLaunchSpecificationEbsBlockDeviceArrayOutput) Index(i pulumi.IntInput) SpotFleetRequestLaunchSpecificationEbsBlockDeviceOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) SpotFleetRequestLaunchSpecificationEbsBlockDevice { - return vs[0].([]SpotFleetRequestLaunchSpecificationEbsBlockDevice)[vs[1].(int)] - }).(SpotFleetRequestLaunchSpecificationEbsBlockDeviceOutput) +func (i NetworkInsightsPathFilterAtSourceDestinationPortRangeArgs) ToNetworkInsightsPathFilterAtSourceDestinationPortRangePtrOutput() NetworkInsightsPathFilterAtSourceDestinationPortRangePtrOutput { + return i.ToNetworkInsightsPathFilterAtSourceDestinationPortRangePtrOutputWithContext(context.Background()) } -type SpotFleetRequestLaunchSpecificationEphemeralBlockDevice struct { - DeviceName string `pulumi:"deviceName"` - VirtualName string `pulumi:"virtualName"` +func (i NetworkInsightsPathFilterAtSourceDestinationPortRangeArgs) ToNetworkInsightsPathFilterAtSourceDestinationPortRangePtrOutputWithContext(ctx context.Context) NetworkInsightsPathFilterAtSourceDestinationPortRangePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsPathFilterAtSourceDestinationPortRangeOutput).ToNetworkInsightsPathFilterAtSourceDestinationPortRangePtrOutputWithContext(ctx) } -// SpotFleetRequestLaunchSpecificationEphemeralBlockDeviceInput is an input type that accepts SpotFleetRequestLaunchSpecificationEphemeralBlockDeviceArgs and SpotFleetRequestLaunchSpecificationEphemeralBlockDeviceOutput values. -// You can construct a concrete instance of `SpotFleetRequestLaunchSpecificationEphemeralBlockDeviceInput` via: +// NetworkInsightsPathFilterAtSourceDestinationPortRangePtrInput is an input type that accepts NetworkInsightsPathFilterAtSourceDestinationPortRangeArgs, NetworkInsightsPathFilterAtSourceDestinationPortRangePtr and NetworkInsightsPathFilterAtSourceDestinationPortRangePtrOutput values. +// You can construct a concrete instance of `NetworkInsightsPathFilterAtSourceDestinationPortRangePtrInput` via: // -// SpotFleetRequestLaunchSpecificationEphemeralBlockDeviceArgs{...} -type SpotFleetRequestLaunchSpecificationEphemeralBlockDeviceInput interface { +// NetworkInsightsPathFilterAtSourceDestinationPortRangeArgs{...} +// +// or: +// +// nil +type NetworkInsightsPathFilterAtSourceDestinationPortRangePtrInput interface { pulumi.Input - ToSpotFleetRequestLaunchSpecificationEphemeralBlockDeviceOutput() SpotFleetRequestLaunchSpecificationEphemeralBlockDeviceOutput - ToSpotFleetRequestLaunchSpecificationEphemeralBlockDeviceOutputWithContext(context.Context) SpotFleetRequestLaunchSpecificationEphemeralBlockDeviceOutput + ToNetworkInsightsPathFilterAtSourceDestinationPortRangePtrOutput() NetworkInsightsPathFilterAtSourceDestinationPortRangePtrOutput + ToNetworkInsightsPathFilterAtSourceDestinationPortRangePtrOutputWithContext(context.Context) NetworkInsightsPathFilterAtSourceDestinationPortRangePtrOutput } -type SpotFleetRequestLaunchSpecificationEphemeralBlockDeviceArgs struct { - DeviceName pulumi.StringInput `pulumi:"deviceName"` - VirtualName pulumi.StringInput `pulumi:"virtualName"` -} +type networkInsightsPathFilterAtSourceDestinationPortRangePtrType NetworkInsightsPathFilterAtSourceDestinationPortRangeArgs -func (SpotFleetRequestLaunchSpecificationEphemeralBlockDeviceArgs) ElementType() reflect.Type { - return reflect.TypeOf((*SpotFleetRequestLaunchSpecificationEphemeralBlockDevice)(nil)).Elem() +func NetworkInsightsPathFilterAtSourceDestinationPortRangePtr(v *NetworkInsightsPathFilterAtSourceDestinationPortRangeArgs) NetworkInsightsPathFilterAtSourceDestinationPortRangePtrInput { + return (*networkInsightsPathFilterAtSourceDestinationPortRangePtrType)(v) } -func (i SpotFleetRequestLaunchSpecificationEphemeralBlockDeviceArgs) ToSpotFleetRequestLaunchSpecificationEphemeralBlockDeviceOutput() SpotFleetRequestLaunchSpecificationEphemeralBlockDeviceOutput { - return i.ToSpotFleetRequestLaunchSpecificationEphemeralBlockDeviceOutputWithContext(context.Background()) +func (*networkInsightsPathFilterAtSourceDestinationPortRangePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**NetworkInsightsPathFilterAtSourceDestinationPortRange)(nil)).Elem() } -func (i SpotFleetRequestLaunchSpecificationEphemeralBlockDeviceArgs) ToSpotFleetRequestLaunchSpecificationEphemeralBlockDeviceOutputWithContext(ctx context.Context) SpotFleetRequestLaunchSpecificationEphemeralBlockDeviceOutput { - return pulumi.ToOutputWithContext(ctx, i).(SpotFleetRequestLaunchSpecificationEphemeralBlockDeviceOutput) +func (i *networkInsightsPathFilterAtSourceDestinationPortRangePtrType) ToNetworkInsightsPathFilterAtSourceDestinationPortRangePtrOutput() NetworkInsightsPathFilterAtSourceDestinationPortRangePtrOutput { + return i.ToNetworkInsightsPathFilterAtSourceDestinationPortRangePtrOutputWithContext(context.Background()) } -// SpotFleetRequestLaunchSpecificationEphemeralBlockDeviceArrayInput is an input type that accepts SpotFleetRequestLaunchSpecificationEphemeralBlockDeviceArray and SpotFleetRequestLaunchSpecificationEphemeralBlockDeviceArrayOutput values. -// You can construct a concrete instance of `SpotFleetRequestLaunchSpecificationEphemeralBlockDeviceArrayInput` via: -// -// SpotFleetRequestLaunchSpecificationEphemeralBlockDeviceArray{ SpotFleetRequestLaunchSpecificationEphemeralBlockDeviceArgs{...} } -type SpotFleetRequestLaunchSpecificationEphemeralBlockDeviceArrayInput interface { - pulumi.Input - - ToSpotFleetRequestLaunchSpecificationEphemeralBlockDeviceArrayOutput() SpotFleetRequestLaunchSpecificationEphemeralBlockDeviceArrayOutput - ToSpotFleetRequestLaunchSpecificationEphemeralBlockDeviceArrayOutputWithContext(context.Context) SpotFleetRequestLaunchSpecificationEphemeralBlockDeviceArrayOutput +func (i *networkInsightsPathFilterAtSourceDestinationPortRangePtrType) ToNetworkInsightsPathFilterAtSourceDestinationPortRangePtrOutputWithContext(ctx context.Context) NetworkInsightsPathFilterAtSourceDestinationPortRangePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsPathFilterAtSourceDestinationPortRangePtrOutput) } -type SpotFleetRequestLaunchSpecificationEphemeralBlockDeviceArray []SpotFleetRequestLaunchSpecificationEphemeralBlockDeviceInput - -func (SpotFleetRequestLaunchSpecificationEphemeralBlockDeviceArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]SpotFleetRequestLaunchSpecificationEphemeralBlockDevice)(nil)).Elem() -} +type NetworkInsightsPathFilterAtSourceDestinationPortRangeOutput struct{ *pulumi.OutputState } -func (i SpotFleetRequestLaunchSpecificationEphemeralBlockDeviceArray) ToSpotFleetRequestLaunchSpecificationEphemeralBlockDeviceArrayOutput() SpotFleetRequestLaunchSpecificationEphemeralBlockDeviceArrayOutput { - return i.ToSpotFleetRequestLaunchSpecificationEphemeralBlockDeviceArrayOutputWithContext(context.Background()) +func (NetworkInsightsPathFilterAtSourceDestinationPortRangeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInsightsPathFilterAtSourceDestinationPortRange)(nil)).Elem() } -func (i SpotFleetRequestLaunchSpecificationEphemeralBlockDeviceArray) ToSpotFleetRequestLaunchSpecificationEphemeralBlockDeviceArrayOutputWithContext(ctx context.Context) SpotFleetRequestLaunchSpecificationEphemeralBlockDeviceArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(SpotFleetRequestLaunchSpecificationEphemeralBlockDeviceArrayOutput) +func (o NetworkInsightsPathFilterAtSourceDestinationPortRangeOutput) ToNetworkInsightsPathFilterAtSourceDestinationPortRangeOutput() NetworkInsightsPathFilterAtSourceDestinationPortRangeOutput { + return o } -type SpotFleetRequestLaunchSpecificationEphemeralBlockDeviceOutput struct{ *pulumi.OutputState } - -func (SpotFleetRequestLaunchSpecificationEphemeralBlockDeviceOutput) ElementType() reflect.Type { - return reflect.TypeOf((*SpotFleetRequestLaunchSpecificationEphemeralBlockDevice)(nil)).Elem() +func (o NetworkInsightsPathFilterAtSourceDestinationPortRangeOutput) ToNetworkInsightsPathFilterAtSourceDestinationPortRangeOutputWithContext(ctx context.Context) NetworkInsightsPathFilterAtSourceDestinationPortRangeOutput { + return o } -func (o SpotFleetRequestLaunchSpecificationEphemeralBlockDeviceOutput) ToSpotFleetRequestLaunchSpecificationEphemeralBlockDeviceOutput() SpotFleetRequestLaunchSpecificationEphemeralBlockDeviceOutput { - return o +func (o NetworkInsightsPathFilterAtSourceDestinationPortRangeOutput) ToNetworkInsightsPathFilterAtSourceDestinationPortRangePtrOutput() NetworkInsightsPathFilterAtSourceDestinationPortRangePtrOutput { + return o.ToNetworkInsightsPathFilterAtSourceDestinationPortRangePtrOutputWithContext(context.Background()) } -func (o SpotFleetRequestLaunchSpecificationEphemeralBlockDeviceOutput) ToSpotFleetRequestLaunchSpecificationEphemeralBlockDeviceOutputWithContext(ctx context.Context) SpotFleetRequestLaunchSpecificationEphemeralBlockDeviceOutput { - return o +func (o NetworkInsightsPathFilterAtSourceDestinationPortRangeOutput) ToNetworkInsightsPathFilterAtSourceDestinationPortRangePtrOutputWithContext(ctx context.Context) NetworkInsightsPathFilterAtSourceDestinationPortRangePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v NetworkInsightsPathFilterAtSourceDestinationPortRange) *NetworkInsightsPathFilterAtSourceDestinationPortRange { + return &v + }).(NetworkInsightsPathFilterAtSourceDestinationPortRangePtrOutput) } -func (o SpotFleetRequestLaunchSpecificationEphemeralBlockDeviceOutput) DeviceName() pulumi.StringOutput { - return o.ApplyT(func(v SpotFleetRequestLaunchSpecificationEphemeralBlockDevice) string { return v.DeviceName }).(pulumi.StringOutput) +// The first port in the range. +func (o NetworkInsightsPathFilterAtSourceDestinationPortRangeOutput) FromPort() pulumi.IntPtrOutput { + return o.ApplyT(func(v NetworkInsightsPathFilterAtSourceDestinationPortRange) *int { return v.FromPort }).(pulumi.IntPtrOutput) } -func (o SpotFleetRequestLaunchSpecificationEphemeralBlockDeviceOutput) VirtualName() pulumi.StringOutput { - return o.ApplyT(func(v SpotFleetRequestLaunchSpecificationEphemeralBlockDevice) string { return v.VirtualName }).(pulumi.StringOutput) +// The last port in the range. +func (o NetworkInsightsPathFilterAtSourceDestinationPortRangeOutput) ToPort() pulumi.IntPtrOutput { + return o.ApplyT(func(v NetworkInsightsPathFilterAtSourceDestinationPortRange) *int { return v.ToPort }).(pulumi.IntPtrOutput) } -type SpotFleetRequestLaunchSpecificationEphemeralBlockDeviceArrayOutput struct{ *pulumi.OutputState } +type NetworkInsightsPathFilterAtSourceDestinationPortRangePtrOutput struct{ *pulumi.OutputState } -func (SpotFleetRequestLaunchSpecificationEphemeralBlockDeviceArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]SpotFleetRequestLaunchSpecificationEphemeralBlockDevice)(nil)).Elem() +func (NetworkInsightsPathFilterAtSourceDestinationPortRangePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**NetworkInsightsPathFilterAtSourceDestinationPortRange)(nil)).Elem() } -func (o SpotFleetRequestLaunchSpecificationEphemeralBlockDeviceArrayOutput) ToSpotFleetRequestLaunchSpecificationEphemeralBlockDeviceArrayOutput() SpotFleetRequestLaunchSpecificationEphemeralBlockDeviceArrayOutput { +func (o NetworkInsightsPathFilterAtSourceDestinationPortRangePtrOutput) ToNetworkInsightsPathFilterAtSourceDestinationPortRangePtrOutput() NetworkInsightsPathFilterAtSourceDestinationPortRangePtrOutput { return o } -func (o SpotFleetRequestLaunchSpecificationEphemeralBlockDeviceArrayOutput) ToSpotFleetRequestLaunchSpecificationEphemeralBlockDeviceArrayOutputWithContext(ctx context.Context) SpotFleetRequestLaunchSpecificationEphemeralBlockDeviceArrayOutput { +func (o NetworkInsightsPathFilterAtSourceDestinationPortRangePtrOutput) ToNetworkInsightsPathFilterAtSourceDestinationPortRangePtrOutputWithContext(ctx context.Context) NetworkInsightsPathFilterAtSourceDestinationPortRangePtrOutput { return o } -func (o SpotFleetRequestLaunchSpecificationEphemeralBlockDeviceArrayOutput) Index(i pulumi.IntInput) SpotFleetRequestLaunchSpecificationEphemeralBlockDeviceOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) SpotFleetRequestLaunchSpecificationEphemeralBlockDevice { - return vs[0].([]SpotFleetRequestLaunchSpecificationEphemeralBlockDevice)[vs[1].(int)] - }).(SpotFleetRequestLaunchSpecificationEphemeralBlockDeviceOutput) +func (o NetworkInsightsPathFilterAtSourceDestinationPortRangePtrOutput) Elem() NetworkInsightsPathFilterAtSourceDestinationPortRangeOutput { + return o.ApplyT(func(v *NetworkInsightsPathFilterAtSourceDestinationPortRange) NetworkInsightsPathFilterAtSourceDestinationPortRange { + if v != nil { + return *v + } + var ret NetworkInsightsPathFilterAtSourceDestinationPortRange + return ret + }).(NetworkInsightsPathFilterAtSourceDestinationPortRangeOutput) } -type SpotFleetRequestLaunchSpecificationRootBlockDevice struct { - DeleteOnTermination *bool `pulumi:"deleteOnTermination"` - Encrypted *bool `pulumi:"encrypted"` - Iops *int `pulumi:"iops"` - KmsKeyId *string `pulumi:"kmsKeyId"` - Throughput *int `pulumi:"throughput"` - VolumeSize *int `pulumi:"volumeSize"` - VolumeType *string `pulumi:"volumeType"` +// The first port in the range. +func (o NetworkInsightsPathFilterAtSourceDestinationPortRangePtrOutput) FromPort() pulumi.IntPtrOutput { + return o.ApplyT(func(v *NetworkInsightsPathFilterAtSourceDestinationPortRange) *int { + if v == nil { + return nil + } + return v.FromPort + }).(pulumi.IntPtrOutput) } -// SpotFleetRequestLaunchSpecificationRootBlockDeviceInput is an input type that accepts SpotFleetRequestLaunchSpecificationRootBlockDeviceArgs and SpotFleetRequestLaunchSpecificationRootBlockDeviceOutput values. -// You can construct a concrete instance of `SpotFleetRequestLaunchSpecificationRootBlockDeviceInput` via: +// The last port in the range. +func (o NetworkInsightsPathFilterAtSourceDestinationPortRangePtrOutput) ToPort() pulumi.IntPtrOutput { + return o.ApplyT(func(v *NetworkInsightsPathFilterAtSourceDestinationPortRange) *int { + if v == nil { + return nil + } + return v.ToPort + }).(pulumi.IntPtrOutput) +} + +type NetworkInsightsPathFilterAtSourceSourcePortRange struct { + // The first port in the range. + FromPort *int `pulumi:"fromPort"` + // The last port in the range. + ToPort *int `pulumi:"toPort"` +} + +// NetworkInsightsPathFilterAtSourceSourcePortRangeInput is an input type that accepts NetworkInsightsPathFilterAtSourceSourcePortRangeArgs and NetworkInsightsPathFilterAtSourceSourcePortRangeOutput values. +// You can construct a concrete instance of `NetworkInsightsPathFilterAtSourceSourcePortRangeInput` via: // -// SpotFleetRequestLaunchSpecificationRootBlockDeviceArgs{...} -type SpotFleetRequestLaunchSpecificationRootBlockDeviceInput interface { +// NetworkInsightsPathFilterAtSourceSourcePortRangeArgs{...} +type NetworkInsightsPathFilterAtSourceSourcePortRangeInput interface { pulumi.Input - ToSpotFleetRequestLaunchSpecificationRootBlockDeviceOutput() SpotFleetRequestLaunchSpecificationRootBlockDeviceOutput - ToSpotFleetRequestLaunchSpecificationRootBlockDeviceOutputWithContext(context.Context) SpotFleetRequestLaunchSpecificationRootBlockDeviceOutput + ToNetworkInsightsPathFilterAtSourceSourcePortRangeOutput() NetworkInsightsPathFilterAtSourceSourcePortRangeOutput + ToNetworkInsightsPathFilterAtSourceSourcePortRangeOutputWithContext(context.Context) NetworkInsightsPathFilterAtSourceSourcePortRangeOutput } -type SpotFleetRequestLaunchSpecificationRootBlockDeviceArgs struct { - DeleteOnTermination pulumi.BoolPtrInput `pulumi:"deleteOnTermination"` - Encrypted pulumi.BoolPtrInput `pulumi:"encrypted"` - Iops pulumi.IntPtrInput `pulumi:"iops"` - KmsKeyId pulumi.StringPtrInput `pulumi:"kmsKeyId"` - Throughput pulumi.IntPtrInput `pulumi:"throughput"` - VolumeSize pulumi.IntPtrInput `pulumi:"volumeSize"` - VolumeType pulumi.StringPtrInput `pulumi:"volumeType"` +type NetworkInsightsPathFilterAtSourceSourcePortRangeArgs struct { + // The first port in the range. + FromPort pulumi.IntPtrInput `pulumi:"fromPort"` + // The last port in the range. + ToPort pulumi.IntPtrInput `pulumi:"toPort"` } -func (SpotFleetRequestLaunchSpecificationRootBlockDeviceArgs) ElementType() reflect.Type { - return reflect.TypeOf((*SpotFleetRequestLaunchSpecificationRootBlockDevice)(nil)).Elem() +func (NetworkInsightsPathFilterAtSourceSourcePortRangeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInsightsPathFilterAtSourceSourcePortRange)(nil)).Elem() } -func (i SpotFleetRequestLaunchSpecificationRootBlockDeviceArgs) ToSpotFleetRequestLaunchSpecificationRootBlockDeviceOutput() SpotFleetRequestLaunchSpecificationRootBlockDeviceOutput { - return i.ToSpotFleetRequestLaunchSpecificationRootBlockDeviceOutputWithContext(context.Background()) +func (i NetworkInsightsPathFilterAtSourceSourcePortRangeArgs) ToNetworkInsightsPathFilterAtSourceSourcePortRangeOutput() NetworkInsightsPathFilterAtSourceSourcePortRangeOutput { + return i.ToNetworkInsightsPathFilterAtSourceSourcePortRangeOutputWithContext(context.Background()) } -func (i SpotFleetRequestLaunchSpecificationRootBlockDeviceArgs) ToSpotFleetRequestLaunchSpecificationRootBlockDeviceOutputWithContext(ctx context.Context) SpotFleetRequestLaunchSpecificationRootBlockDeviceOutput { - return pulumi.ToOutputWithContext(ctx, i).(SpotFleetRequestLaunchSpecificationRootBlockDeviceOutput) +func (i NetworkInsightsPathFilterAtSourceSourcePortRangeArgs) ToNetworkInsightsPathFilterAtSourceSourcePortRangeOutputWithContext(ctx context.Context) NetworkInsightsPathFilterAtSourceSourcePortRangeOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsPathFilterAtSourceSourcePortRangeOutput) } -// SpotFleetRequestLaunchSpecificationRootBlockDeviceArrayInput is an input type that accepts SpotFleetRequestLaunchSpecificationRootBlockDeviceArray and SpotFleetRequestLaunchSpecificationRootBlockDeviceArrayOutput values. -// You can construct a concrete instance of `SpotFleetRequestLaunchSpecificationRootBlockDeviceArrayInput` via: -// -// SpotFleetRequestLaunchSpecificationRootBlockDeviceArray{ SpotFleetRequestLaunchSpecificationRootBlockDeviceArgs{...} } -type SpotFleetRequestLaunchSpecificationRootBlockDeviceArrayInput interface { +func (i NetworkInsightsPathFilterAtSourceSourcePortRangeArgs) ToNetworkInsightsPathFilterAtSourceSourcePortRangePtrOutput() NetworkInsightsPathFilterAtSourceSourcePortRangePtrOutput { + return i.ToNetworkInsightsPathFilterAtSourceSourcePortRangePtrOutputWithContext(context.Background()) +} + +func (i NetworkInsightsPathFilterAtSourceSourcePortRangeArgs) ToNetworkInsightsPathFilterAtSourceSourcePortRangePtrOutputWithContext(ctx context.Context) NetworkInsightsPathFilterAtSourceSourcePortRangePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsPathFilterAtSourceSourcePortRangeOutput).ToNetworkInsightsPathFilterAtSourceSourcePortRangePtrOutputWithContext(ctx) +} + +// NetworkInsightsPathFilterAtSourceSourcePortRangePtrInput is an input type that accepts NetworkInsightsPathFilterAtSourceSourcePortRangeArgs, NetworkInsightsPathFilterAtSourceSourcePortRangePtr and NetworkInsightsPathFilterAtSourceSourcePortRangePtrOutput values. +// You can construct a concrete instance of `NetworkInsightsPathFilterAtSourceSourcePortRangePtrInput` via: +// +// NetworkInsightsPathFilterAtSourceSourcePortRangeArgs{...} +// +// or: +// +// nil +type NetworkInsightsPathFilterAtSourceSourcePortRangePtrInput interface { pulumi.Input - ToSpotFleetRequestLaunchSpecificationRootBlockDeviceArrayOutput() SpotFleetRequestLaunchSpecificationRootBlockDeviceArrayOutput - ToSpotFleetRequestLaunchSpecificationRootBlockDeviceArrayOutputWithContext(context.Context) SpotFleetRequestLaunchSpecificationRootBlockDeviceArrayOutput + ToNetworkInsightsPathFilterAtSourceSourcePortRangePtrOutput() NetworkInsightsPathFilterAtSourceSourcePortRangePtrOutput + ToNetworkInsightsPathFilterAtSourceSourcePortRangePtrOutputWithContext(context.Context) NetworkInsightsPathFilterAtSourceSourcePortRangePtrOutput } -type SpotFleetRequestLaunchSpecificationRootBlockDeviceArray []SpotFleetRequestLaunchSpecificationRootBlockDeviceInput +type networkInsightsPathFilterAtSourceSourcePortRangePtrType NetworkInsightsPathFilterAtSourceSourcePortRangeArgs -func (SpotFleetRequestLaunchSpecificationRootBlockDeviceArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]SpotFleetRequestLaunchSpecificationRootBlockDevice)(nil)).Elem() +func NetworkInsightsPathFilterAtSourceSourcePortRangePtr(v *NetworkInsightsPathFilterAtSourceSourcePortRangeArgs) NetworkInsightsPathFilterAtSourceSourcePortRangePtrInput { + return (*networkInsightsPathFilterAtSourceSourcePortRangePtrType)(v) } -func (i SpotFleetRequestLaunchSpecificationRootBlockDeviceArray) ToSpotFleetRequestLaunchSpecificationRootBlockDeviceArrayOutput() SpotFleetRequestLaunchSpecificationRootBlockDeviceArrayOutput { - return i.ToSpotFleetRequestLaunchSpecificationRootBlockDeviceArrayOutputWithContext(context.Background()) +func (*networkInsightsPathFilterAtSourceSourcePortRangePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**NetworkInsightsPathFilterAtSourceSourcePortRange)(nil)).Elem() } -func (i SpotFleetRequestLaunchSpecificationRootBlockDeviceArray) ToSpotFleetRequestLaunchSpecificationRootBlockDeviceArrayOutputWithContext(ctx context.Context) SpotFleetRequestLaunchSpecificationRootBlockDeviceArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(SpotFleetRequestLaunchSpecificationRootBlockDeviceArrayOutput) +func (i *networkInsightsPathFilterAtSourceSourcePortRangePtrType) ToNetworkInsightsPathFilterAtSourceSourcePortRangePtrOutput() NetworkInsightsPathFilterAtSourceSourcePortRangePtrOutput { + return i.ToNetworkInsightsPathFilterAtSourceSourcePortRangePtrOutputWithContext(context.Background()) } -type SpotFleetRequestLaunchSpecificationRootBlockDeviceOutput struct{ *pulumi.OutputState } +func (i *networkInsightsPathFilterAtSourceSourcePortRangePtrType) ToNetworkInsightsPathFilterAtSourceSourcePortRangePtrOutputWithContext(ctx context.Context) NetworkInsightsPathFilterAtSourceSourcePortRangePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInsightsPathFilterAtSourceSourcePortRangePtrOutput) +} -func (SpotFleetRequestLaunchSpecificationRootBlockDeviceOutput) ElementType() reflect.Type { - return reflect.TypeOf((*SpotFleetRequestLaunchSpecificationRootBlockDevice)(nil)).Elem() +type NetworkInsightsPathFilterAtSourceSourcePortRangeOutput struct{ *pulumi.OutputState } + +func (NetworkInsightsPathFilterAtSourceSourcePortRangeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInsightsPathFilterAtSourceSourcePortRange)(nil)).Elem() } -func (o SpotFleetRequestLaunchSpecificationRootBlockDeviceOutput) ToSpotFleetRequestLaunchSpecificationRootBlockDeviceOutput() SpotFleetRequestLaunchSpecificationRootBlockDeviceOutput { +func (o NetworkInsightsPathFilterAtSourceSourcePortRangeOutput) ToNetworkInsightsPathFilterAtSourceSourcePortRangeOutput() NetworkInsightsPathFilterAtSourceSourcePortRangeOutput { return o } -func (o SpotFleetRequestLaunchSpecificationRootBlockDeviceOutput) ToSpotFleetRequestLaunchSpecificationRootBlockDeviceOutputWithContext(ctx context.Context) SpotFleetRequestLaunchSpecificationRootBlockDeviceOutput { +func (o NetworkInsightsPathFilterAtSourceSourcePortRangeOutput) ToNetworkInsightsPathFilterAtSourceSourcePortRangeOutputWithContext(ctx context.Context) NetworkInsightsPathFilterAtSourceSourcePortRangeOutput { return o } -func (o SpotFleetRequestLaunchSpecificationRootBlockDeviceOutput) DeleteOnTermination() pulumi.BoolPtrOutput { - return o.ApplyT(func(v SpotFleetRequestLaunchSpecificationRootBlockDevice) *bool { return v.DeleteOnTermination }).(pulumi.BoolPtrOutput) +func (o NetworkInsightsPathFilterAtSourceSourcePortRangeOutput) ToNetworkInsightsPathFilterAtSourceSourcePortRangePtrOutput() NetworkInsightsPathFilterAtSourceSourcePortRangePtrOutput { + return o.ToNetworkInsightsPathFilterAtSourceSourcePortRangePtrOutputWithContext(context.Background()) } -func (o SpotFleetRequestLaunchSpecificationRootBlockDeviceOutput) Encrypted() pulumi.BoolPtrOutput { - return o.ApplyT(func(v SpotFleetRequestLaunchSpecificationRootBlockDevice) *bool { return v.Encrypted }).(pulumi.BoolPtrOutput) +func (o NetworkInsightsPathFilterAtSourceSourcePortRangeOutput) ToNetworkInsightsPathFilterAtSourceSourcePortRangePtrOutputWithContext(ctx context.Context) NetworkInsightsPathFilterAtSourceSourcePortRangePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v NetworkInsightsPathFilterAtSourceSourcePortRange) *NetworkInsightsPathFilterAtSourceSourcePortRange { + return &v + }).(NetworkInsightsPathFilterAtSourceSourcePortRangePtrOutput) } -func (o SpotFleetRequestLaunchSpecificationRootBlockDeviceOutput) Iops() pulumi.IntPtrOutput { - return o.ApplyT(func(v SpotFleetRequestLaunchSpecificationRootBlockDevice) *int { return v.Iops }).(pulumi.IntPtrOutput) +// The first port in the range. +func (o NetworkInsightsPathFilterAtSourceSourcePortRangeOutput) FromPort() pulumi.IntPtrOutput { + return o.ApplyT(func(v NetworkInsightsPathFilterAtSourceSourcePortRange) *int { return v.FromPort }).(pulumi.IntPtrOutput) } -func (o SpotFleetRequestLaunchSpecificationRootBlockDeviceOutput) KmsKeyId() pulumi.StringPtrOutput { - return o.ApplyT(func(v SpotFleetRequestLaunchSpecificationRootBlockDevice) *string { return v.KmsKeyId }).(pulumi.StringPtrOutput) +// The last port in the range. +func (o NetworkInsightsPathFilterAtSourceSourcePortRangeOutput) ToPort() pulumi.IntPtrOutput { + return o.ApplyT(func(v NetworkInsightsPathFilterAtSourceSourcePortRange) *int { return v.ToPort }).(pulumi.IntPtrOutput) } -func (o SpotFleetRequestLaunchSpecificationRootBlockDeviceOutput) Throughput() pulumi.IntPtrOutput { - return o.ApplyT(func(v SpotFleetRequestLaunchSpecificationRootBlockDevice) *int { return v.Throughput }).(pulumi.IntPtrOutput) -} +type NetworkInsightsPathFilterAtSourceSourcePortRangePtrOutput struct{ *pulumi.OutputState } -func (o SpotFleetRequestLaunchSpecificationRootBlockDeviceOutput) VolumeSize() pulumi.IntPtrOutput { - return o.ApplyT(func(v SpotFleetRequestLaunchSpecificationRootBlockDevice) *int { return v.VolumeSize }).(pulumi.IntPtrOutput) +func (NetworkInsightsPathFilterAtSourceSourcePortRangePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**NetworkInsightsPathFilterAtSourceSourcePortRange)(nil)).Elem() } -func (o SpotFleetRequestLaunchSpecificationRootBlockDeviceOutput) VolumeType() pulumi.StringPtrOutput { - return o.ApplyT(func(v SpotFleetRequestLaunchSpecificationRootBlockDevice) *string { return v.VolumeType }).(pulumi.StringPtrOutput) +func (o NetworkInsightsPathFilterAtSourceSourcePortRangePtrOutput) ToNetworkInsightsPathFilterAtSourceSourcePortRangePtrOutput() NetworkInsightsPathFilterAtSourceSourcePortRangePtrOutput { + return o } -type SpotFleetRequestLaunchSpecificationRootBlockDeviceArrayOutput struct{ *pulumi.OutputState } - -func (SpotFleetRequestLaunchSpecificationRootBlockDeviceArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]SpotFleetRequestLaunchSpecificationRootBlockDevice)(nil)).Elem() +func (o NetworkInsightsPathFilterAtSourceSourcePortRangePtrOutput) ToNetworkInsightsPathFilterAtSourceSourcePortRangePtrOutputWithContext(ctx context.Context) NetworkInsightsPathFilterAtSourceSourcePortRangePtrOutput { + return o } -func (o SpotFleetRequestLaunchSpecificationRootBlockDeviceArrayOutput) ToSpotFleetRequestLaunchSpecificationRootBlockDeviceArrayOutput() SpotFleetRequestLaunchSpecificationRootBlockDeviceArrayOutput { - return o +func (o NetworkInsightsPathFilterAtSourceSourcePortRangePtrOutput) Elem() NetworkInsightsPathFilterAtSourceSourcePortRangeOutput { + return o.ApplyT(func(v *NetworkInsightsPathFilterAtSourceSourcePortRange) NetworkInsightsPathFilterAtSourceSourcePortRange { + if v != nil { + return *v + } + var ret NetworkInsightsPathFilterAtSourceSourcePortRange + return ret + }).(NetworkInsightsPathFilterAtSourceSourcePortRangeOutput) } -func (o SpotFleetRequestLaunchSpecificationRootBlockDeviceArrayOutput) ToSpotFleetRequestLaunchSpecificationRootBlockDeviceArrayOutputWithContext(ctx context.Context) SpotFleetRequestLaunchSpecificationRootBlockDeviceArrayOutput { - return o +// The first port in the range. +func (o NetworkInsightsPathFilterAtSourceSourcePortRangePtrOutput) FromPort() pulumi.IntPtrOutput { + return o.ApplyT(func(v *NetworkInsightsPathFilterAtSourceSourcePortRange) *int { + if v == nil { + return nil + } + return v.FromPort + }).(pulumi.IntPtrOutput) } -func (o SpotFleetRequestLaunchSpecificationRootBlockDeviceArrayOutput) Index(i pulumi.IntInput) SpotFleetRequestLaunchSpecificationRootBlockDeviceOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) SpotFleetRequestLaunchSpecificationRootBlockDevice { - return vs[0].([]SpotFleetRequestLaunchSpecificationRootBlockDevice)[vs[1].(int)] - }).(SpotFleetRequestLaunchSpecificationRootBlockDeviceOutput) +// The last port in the range. +func (o NetworkInsightsPathFilterAtSourceSourcePortRangePtrOutput) ToPort() pulumi.IntPtrOutput { + return o.ApplyT(func(v *NetworkInsightsPathFilterAtSourceSourcePortRange) *int { + if v == nil { + return nil + } + return v.ToPort + }).(pulumi.IntPtrOutput) } -type SpotFleetRequestLaunchTemplateConfig struct { - // Launch template specification. See Launch Template Specification below for more details. - LaunchTemplateSpecification SpotFleetRequestLaunchTemplateConfigLaunchTemplateSpecification `pulumi:"launchTemplateSpecification"` - // One or more override configurations. See Overrides below for more details. - Overrides []SpotFleetRequestLaunchTemplateConfigOverride `pulumi:"overrides"` +type NetworkInterfaceAttachmentType struct { + AttachmentId *string `pulumi:"attachmentId"` + // Integer to define the devices index. + DeviceIndex int `pulumi:"deviceIndex"` + // ID of the instance to attach to. + Instance string `pulumi:"instance"` + // Index of the network card. Specify a value greater than 0 when using multiple network cards, which are supported by [some instance types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html#network-cards). The default is 0. + NetworkCardIndex *int `pulumi:"networkCardIndex"` } -// SpotFleetRequestLaunchTemplateConfigInput is an input type that accepts SpotFleetRequestLaunchTemplateConfigArgs and SpotFleetRequestLaunchTemplateConfigOutput values. -// You can construct a concrete instance of `SpotFleetRequestLaunchTemplateConfigInput` via: +// NetworkInterfaceAttachmentTypeInput is an input type that accepts NetworkInterfaceAttachmentTypeArgs and NetworkInterfaceAttachmentTypeOutput values. +// You can construct a concrete instance of `NetworkInterfaceAttachmentTypeInput` via: // -// SpotFleetRequestLaunchTemplateConfigArgs{...} -type SpotFleetRequestLaunchTemplateConfigInput interface { +// NetworkInterfaceAttachmentTypeArgs{...} +type NetworkInterfaceAttachmentTypeInput interface { pulumi.Input - ToSpotFleetRequestLaunchTemplateConfigOutput() SpotFleetRequestLaunchTemplateConfigOutput - ToSpotFleetRequestLaunchTemplateConfigOutputWithContext(context.Context) SpotFleetRequestLaunchTemplateConfigOutput + ToNetworkInterfaceAttachmentTypeOutput() NetworkInterfaceAttachmentTypeOutput + ToNetworkInterfaceAttachmentTypeOutputWithContext(context.Context) NetworkInterfaceAttachmentTypeOutput } -type SpotFleetRequestLaunchTemplateConfigArgs struct { - // Launch template specification. See Launch Template Specification below for more details. - LaunchTemplateSpecification SpotFleetRequestLaunchTemplateConfigLaunchTemplateSpecificationInput `pulumi:"launchTemplateSpecification"` - // One or more override configurations. See Overrides below for more details. - Overrides SpotFleetRequestLaunchTemplateConfigOverrideArrayInput `pulumi:"overrides"` +type NetworkInterfaceAttachmentTypeArgs struct { + AttachmentId pulumi.StringPtrInput `pulumi:"attachmentId"` + // Integer to define the devices index. + DeviceIndex pulumi.IntInput `pulumi:"deviceIndex"` + // ID of the instance to attach to. + Instance pulumi.StringInput `pulumi:"instance"` + // Index of the network card. Specify a value greater than 0 when using multiple network cards, which are supported by [some instance types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html#network-cards). The default is 0. + NetworkCardIndex pulumi.IntPtrInput `pulumi:"networkCardIndex"` } -func (SpotFleetRequestLaunchTemplateConfigArgs) ElementType() reflect.Type { - return reflect.TypeOf((*SpotFleetRequestLaunchTemplateConfig)(nil)).Elem() +func (NetworkInterfaceAttachmentTypeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInterfaceAttachmentType)(nil)).Elem() } -func (i SpotFleetRequestLaunchTemplateConfigArgs) ToSpotFleetRequestLaunchTemplateConfigOutput() SpotFleetRequestLaunchTemplateConfigOutput { - return i.ToSpotFleetRequestLaunchTemplateConfigOutputWithContext(context.Background()) +func (i NetworkInterfaceAttachmentTypeArgs) ToNetworkInterfaceAttachmentTypeOutput() NetworkInterfaceAttachmentTypeOutput { + return i.ToNetworkInterfaceAttachmentTypeOutputWithContext(context.Background()) } -func (i SpotFleetRequestLaunchTemplateConfigArgs) ToSpotFleetRequestLaunchTemplateConfigOutputWithContext(ctx context.Context) SpotFleetRequestLaunchTemplateConfigOutput { - return pulumi.ToOutputWithContext(ctx, i).(SpotFleetRequestLaunchTemplateConfigOutput) +func (i NetworkInterfaceAttachmentTypeArgs) ToNetworkInterfaceAttachmentTypeOutputWithContext(ctx context.Context) NetworkInterfaceAttachmentTypeOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInterfaceAttachmentTypeOutput) } -// SpotFleetRequestLaunchTemplateConfigArrayInput is an input type that accepts SpotFleetRequestLaunchTemplateConfigArray and SpotFleetRequestLaunchTemplateConfigArrayOutput values. -// You can construct a concrete instance of `SpotFleetRequestLaunchTemplateConfigArrayInput` via: +// NetworkInterfaceAttachmentTypeArrayInput is an input type that accepts NetworkInterfaceAttachmentTypeArray and NetworkInterfaceAttachmentTypeArrayOutput values. +// You can construct a concrete instance of `NetworkInterfaceAttachmentTypeArrayInput` via: // -// SpotFleetRequestLaunchTemplateConfigArray{ SpotFleetRequestLaunchTemplateConfigArgs{...} } -type SpotFleetRequestLaunchTemplateConfigArrayInput interface { +// NetworkInterfaceAttachmentTypeArray{ NetworkInterfaceAttachmentTypeArgs{...} } +type NetworkInterfaceAttachmentTypeArrayInput interface { pulumi.Input - ToSpotFleetRequestLaunchTemplateConfigArrayOutput() SpotFleetRequestLaunchTemplateConfigArrayOutput - ToSpotFleetRequestLaunchTemplateConfigArrayOutputWithContext(context.Context) SpotFleetRequestLaunchTemplateConfigArrayOutput + ToNetworkInterfaceAttachmentTypeArrayOutput() NetworkInterfaceAttachmentTypeArrayOutput + ToNetworkInterfaceAttachmentTypeArrayOutputWithContext(context.Context) NetworkInterfaceAttachmentTypeArrayOutput } -type SpotFleetRequestLaunchTemplateConfigArray []SpotFleetRequestLaunchTemplateConfigInput +type NetworkInterfaceAttachmentTypeArray []NetworkInterfaceAttachmentTypeInput -func (SpotFleetRequestLaunchTemplateConfigArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]SpotFleetRequestLaunchTemplateConfig)(nil)).Elem() +func (NetworkInterfaceAttachmentTypeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkInterfaceAttachmentType)(nil)).Elem() } -func (i SpotFleetRequestLaunchTemplateConfigArray) ToSpotFleetRequestLaunchTemplateConfigArrayOutput() SpotFleetRequestLaunchTemplateConfigArrayOutput { - return i.ToSpotFleetRequestLaunchTemplateConfigArrayOutputWithContext(context.Background()) +func (i NetworkInterfaceAttachmentTypeArray) ToNetworkInterfaceAttachmentTypeArrayOutput() NetworkInterfaceAttachmentTypeArrayOutput { + return i.ToNetworkInterfaceAttachmentTypeArrayOutputWithContext(context.Background()) } -func (i SpotFleetRequestLaunchTemplateConfigArray) ToSpotFleetRequestLaunchTemplateConfigArrayOutputWithContext(ctx context.Context) SpotFleetRequestLaunchTemplateConfigArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(SpotFleetRequestLaunchTemplateConfigArrayOutput) +func (i NetworkInterfaceAttachmentTypeArray) ToNetworkInterfaceAttachmentTypeArrayOutputWithContext(ctx context.Context) NetworkInterfaceAttachmentTypeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInterfaceAttachmentTypeArrayOutput) } -type SpotFleetRequestLaunchTemplateConfigOutput struct{ *pulumi.OutputState } +type NetworkInterfaceAttachmentTypeOutput struct{ *pulumi.OutputState } -func (SpotFleetRequestLaunchTemplateConfigOutput) ElementType() reflect.Type { - return reflect.TypeOf((*SpotFleetRequestLaunchTemplateConfig)(nil)).Elem() +func (NetworkInterfaceAttachmentTypeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInterfaceAttachmentType)(nil)).Elem() } -func (o SpotFleetRequestLaunchTemplateConfigOutput) ToSpotFleetRequestLaunchTemplateConfigOutput() SpotFleetRequestLaunchTemplateConfigOutput { +func (o NetworkInterfaceAttachmentTypeOutput) ToNetworkInterfaceAttachmentTypeOutput() NetworkInterfaceAttachmentTypeOutput { return o } -func (o SpotFleetRequestLaunchTemplateConfigOutput) ToSpotFleetRequestLaunchTemplateConfigOutputWithContext(ctx context.Context) SpotFleetRequestLaunchTemplateConfigOutput { +func (o NetworkInterfaceAttachmentTypeOutput) ToNetworkInterfaceAttachmentTypeOutputWithContext(ctx context.Context) NetworkInterfaceAttachmentTypeOutput { return o } -// Launch template specification. See Launch Template Specification below for more details. -func (o SpotFleetRequestLaunchTemplateConfigOutput) LaunchTemplateSpecification() SpotFleetRequestLaunchTemplateConfigLaunchTemplateSpecificationOutput { - return o.ApplyT(func(v SpotFleetRequestLaunchTemplateConfig) SpotFleetRequestLaunchTemplateConfigLaunchTemplateSpecification { - return v.LaunchTemplateSpecification - }).(SpotFleetRequestLaunchTemplateConfigLaunchTemplateSpecificationOutput) +func (o NetworkInterfaceAttachmentTypeOutput) AttachmentId() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInterfaceAttachmentType) *string { return v.AttachmentId }).(pulumi.StringPtrOutput) } -// One or more override configurations. See Overrides below for more details. -func (o SpotFleetRequestLaunchTemplateConfigOutput) Overrides() SpotFleetRequestLaunchTemplateConfigOverrideArrayOutput { - return o.ApplyT(func(v SpotFleetRequestLaunchTemplateConfig) []SpotFleetRequestLaunchTemplateConfigOverride { - return v.Overrides - }).(SpotFleetRequestLaunchTemplateConfigOverrideArrayOutput) +// Integer to define the devices index. +func (o NetworkInterfaceAttachmentTypeOutput) DeviceIndex() pulumi.IntOutput { + return o.ApplyT(func(v NetworkInterfaceAttachmentType) int { return v.DeviceIndex }).(pulumi.IntOutput) } -type SpotFleetRequestLaunchTemplateConfigArrayOutput struct{ *pulumi.OutputState } +// ID of the instance to attach to. +func (o NetworkInterfaceAttachmentTypeOutput) Instance() pulumi.StringOutput { + return o.ApplyT(func(v NetworkInterfaceAttachmentType) string { return v.Instance }).(pulumi.StringOutput) +} -func (SpotFleetRequestLaunchTemplateConfigArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]SpotFleetRequestLaunchTemplateConfig)(nil)).Elem() +// Index of the network card. Specify a value greater than 0 when using multiple network cards, which are supported by [some instance types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html#network-cards). The default is 0. +func (o NetworkInterfaceAttachmentTypeOutput) NetworkCardIndex() pulumi.IntPtrOutput { + return o.ApplyT(func(v NetworkInterfaceAttachmentType) *int { return v.NetworkCardIndex }).(pulumi.IntPtrOutput) } -func (o SpotFleetRequestLaunchTemplateConfigArrayOutput) ToSpotFleetRequestLaunchTemplateConfigArrayOutput() SpotFleetRequestLaunchTemplateConfigArrayOutput { +type NetworkInterfaceAttachmentTypeArrayOutput struct{ *pulumi.OutputState } + +func (NetworkInterfaceAttachmentTypeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkInterfaceAttachmentType)(nil)).Elem() +} + +func (o NetworkInterfaceAttachmentTypeArrayOutput) ToNetworkInterfaceAttachmentTypeArrayOutput() NetworkInterfaceAttachmentTypeArrayOutput { return o } -func (o SpotFleetRequestLaunchTemplateConfigArrayOutput) ToSpotFleetRequestLaunchTemplateConfigArrayOutputWithContext(ctx context.Context) SpotFleetRequestLaunchTemplateConfigArrayOutput { +func (o NetworkInterfaceAttachmentTypeArrayOutput) ToNetworkInterfaceAttachmentTypeArrayOutputWithContext(ctx context.Context) NetworkInterfaceAttachmentTypeArrayOutput { return o } -func (o SpotFleetRequestLaunchTemplateConfigArrayOutput) Index(i pulumi.IntInput) SpotFleetRequestLaunchTemplateConfigOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) SpotFleetRequestLaunchTemplateConfig { - return vs[0].([]SpotFleetRequestLaunchTemplateConfig)[vs[1].(int)] - }).(SpotFleetRequestLaunchTemplateConfigOutput) +func (o NetworkInterfaceAttachmentTypeArrayOutput) Index(i pulumi.IntInput) NetworkInterfaceAttachmentTypeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkInterfaceAttachmentType { + return vs[0].([]NetworkInterfaceAttachmentType)[vs[1].(int)] + }).(NetworkInterfaceAttachmentTypeOutput) } -type SpotFleetRequestLaunchTemplateConfigLaunchTemplateSpecification struct { - // The ID of the launch template. Conflicts with `name`. - Id *string `pulumi:"id"` - // The name of the launch template. Conflicts with `id`. - Name *string `pulumi:"name"` - // Template version. Unlike the autoscaling equivalent, does not support `$Latest` or `$Default`, so use the launchTemplate resource's attribute, e.g., `"${aws_launch_template.foo.latest_version}"`. It will use the default version if omitted. - // - // **Note:** The specified launch template can specify only a subset of the - // inputs of `ec2.LaunchTemplate`. There are limitations on - // what you can specify as spot fleet does not support all the attributes that are supported by autoscaling groups. [AWS documentation](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-templates.html#launch-templates-spot-fleet) is currently sparse, but at least `instanceInitiatedShutdownBehavior` is confirmed unsupported. - Version *string `pulumi:"version"` +type NetworkInterfacePermissionTimeouts struct { + // A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + Create *string `pulumi:"create"` + // A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs. + Delete *string `pulumi:"delete"` } -// SpotFleetRequestLaunchTemplateConfigLaunchTemplateSpecificationInput is an input type that accepts SpotFleetRequestLaunchTemplateConfigLaunchTemplateSpecificationArgs and SpotFleetRequestLaunchTemplateConfigLaunchTemplateSpecificationOutput values. -// You can construct a concrete instance of `SpotFleetRequestLaunchTemplateConfigLaunchTemplateSpecificationInput` via: +// NetworkInterfacePermissionTimeoutsInput is an input type that accepts NetworkInterfacePermissionTimeoutsArgs and NetworkInterfacePermissionTimeoutsOutput values. +// You can construct a concrete instance of `NetworkInterfacePermissionTimeoutsInput` via: // -// SpotFleetRequestLaunchTemplateConfigLaunchTemplateSpecificationArgs{...} -type SpotFleetRequestLaunchTemplateConfigLaunchTemplateSpecificationInput interface { +// NetworkInterfacePermissionTimeoutsArgs{...} +type NetworkInterfacePermissionTimeoutsInput interface { pulumi.Input - ToSpotFleetRequestLaunchTemplateConfigLaunchTemplateSpecificationOutput() SpotFleetRequestLaunchTemplateConfigLaunchTemplateSpecificationOutput - ToSpotFleetRequestLaunchTemplateConfigLaunchTemplateSpecificationOutputWithContext(context.Context) SpotFleetRequestLaunchTemplateConfigLaunchTemplateSpecificationOutput + ToNetworkInterfacePermissionTimeoutsOutput() NetworkInterfacePermissionTimeoutsOutput + ToNetworkInterfacePermissionTimeoutsOutputWithContext(context.Context) NetworkInterfacePermissionTimeoutsOutput } -type SpotFleetRequestLaunchTemplateConfigLaunchTemplateSpecificationArgs struct { - // The ID of the launch template. Conflicts with `name`. - Id pulumi.StringPtrInput `pulumi:"id"` - // The name of the launch template. Conflicts with `id`. - Name pulumi.StringPtrInput `pulumi:"name"` - // Template version. Unlike the autoscaling equivalent, does not support `$Latest` or `$Default`, so use the launchTemplate resource's attribute, e.g., `"${aws_launch_template.foo.latest_version}"`. It will use the default version if omitted. - // - // **Note:** The specified launch template can specify only a subset of the - // inputs of `ec2.LaunchTemplate`. There are limitations on - // what you can specify as spot fleet does not support all the attributes that are supported by autoscaling groups. [AWS documentation](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-templates.html#launch-templates-spot-fleet) is currently sparse, but at least `instanceInitiatedShutdownBehavior` is confirmed unsupported. - Version pulumi.StringPtrInput `pulumi:"version"` +type NetworkInterfacePermissionTimeoutsArgs struct { + // A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + Create pulumi.StringPtrInput `pulumi:"create"` + // A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs. + Delete pulumi.StringPtrInput `pulumi:"delete"` } -func (SpotFleetRequestLaunchTemplateConfigLaunchTemplateSpecificationArgs) ElementType() reflect.Type { - return reflect.TypeOf((*SpotFleetRequestLaunchTemplateConfigLaunchTemplateSpecification)(nil)).Elem() +func (NetworkInterfacePermissionTimeoutsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInterfacePermissionTimeouts)(nil)).Elem() } -func (i SpotFleetRequestLaunchTemplateConfigLaunchTemplateSpecificationArgs) ToSpotFleetRequestLaunchTemplateConfigLaunchTemplateSpecificationOutput() SpotFleetRequestLaunchTemplateConfigLaunchTemplateSpecificationOutput { - return i.ToSpotFleetRequestLaunchTemplateConfigLaunchTemplateSpecificationOutputWithContext(context.Background()) +func (i NetworkInterfacePermissionTimeoutsArgs) ToNetworkInterfacePermissionTimeoutsOutput() NetworkInterfacePermissionTimeoutsOutput { + return i.ToNetworkInterfacePermissionTimeoutsOutputWithContext(context.Background()) } -func (i SpotFleetRequestLaunchTemplateConfigLaunchTemplateSpecificationArgs) ToSpotFleetRequestLaunchTemplateConfigLaunchTemplateSpecificationOutputWithContext(ctx context.Context) SpotFleetRequestLaunchTemplateConfigLaunchTemplateSpecificationOutput { - return pulumi.ToOutputWithContext(ctx, i).(SpotFleetRequestLaunchTemplateConfigLaunchTemplateSpecificationOutput) +func (i NetworkInterfacePermissionTimeoutsArgs) ToNetworkInterfacePermissionTimeoutsOutputWithContext(ctx context.Context) NetworkInterfacePermissionTimeoutsOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInterfacePermissionTimeoutsOutput) } -type SpotFleetRequestLaunchTemplateConfigLaunchTemplateSpecificationOutput struct{ *pulumi.OutputState } - -func (SpotFleetRequestLaunchTemplateConfigLaunchTemplateSpecificationOutput) ElementType() reflect.Type { - return reflect.TypeOf((*SpotFleetRequestLaunchTemplateConfigLaunchTemplateSpecification)(nil)).Elem() +func (i NetworkInterfacePermissionTimeoutsArgs) ToNetworkInterfacePermissionTimeoutsPtrOutput() NetworkInterfacePermissionTimeoutsPtrOutput { + return i.ToNetworkInterfacePermissionTimeoutsPtrOutputWithContext(context.Background()) } -func (o SpotFleetRequestLaunchTemplateConfigLaunchTemplateSpecificationOutput) ToSpotFleetRequestLaunchTemplateConfigLaunchTemplateSpecificationOutput() SpotFleetRequestLaunchTemplateConfigLaunchTemplateSpecificationOutput { - return o +func (i NetworkInterfacePermissionTimeoutsArgs) ToNetworkInterfacePermissionTimeoutsPtrOutputWithContext(ctx context.Context) NetworkInterfacePermissionTimeoutsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInterfacePermissionTimeoutsOutput).ToNetworkInterfacePermissionTimeoutsPtrOutputWithContext(ctx) } -func (o SpotFleetRequestLaunchTemplateConfigLaunchTemplateSpecificationOutput) ToSpotFleetRequestLaunchTemplateConfigLaunchTemplateSpecificationOutputWithContext(ctx context.Context) SpotFleetRequestLaunchTemplateConfigLaunchTemplateSpecificationOutput { - return o -} +// NetworkInterfacePermissionTimeoutsPtrInput is an input type that accepts NetworkInterfacePermissionTimeoutsArgs, NetworkInterfacePermissionTimeoutsPtr and NetworkInterfacePermissionTimeoutsPtrOutput values. +// You can construct a concrete instance of `NetworkInterfacePermissionTimeoutsPtrInput` via: +// +// NetworkInterfacePermissionTimeoutsArgs{...} +// +// or: +// +// nil +type NetworkInterfacePermissionTimeoutsPtrInput interface { + pulumi.Input -// The ID of the launch template. Conflicts with `name`. -func (o SpotFleetRequestLaunchTemplateConfigLaunchTemplateSpecificationOutput) Id() pulumi.StringPtrOutput { - return o.ApplyT(func(v SpotFleetRequestLaunchTemplateConfigLaunchTemplateSpecification) *string { return v.Id }).(pulumi.StringPtrOutput) + ToNetworkInterfacePermissionTimeoutsPtrOutput() NetworkInterfacePermissionTimeoutsPtrOutput + ToNetworkInterfacePermissionTimeoutsPtrOutputWithContext(context.Context) NetworkInterfacePermissionTimeoutsPtrOutput } -// The name of the launch template. Conflicts with `id`. -func (o SpotFleetRequestLaunchTemplateConfigLaunchTemplateSpecificationOutput) Name() pulumi.StringPtrOutput { - return o.ApplyT(func(v SpotFleetRequestLaunchTemplateConfigLaunchTemplateSpecification) *string { return v.Name }).(pulumi.StringPtrOutput) -} +type networkInterfacePermissionTimeoutsPtrType NetworkInterfacePermissionTimeoutsArgs -// Template version. Unlike the autoscaling equivalent, does not support `$Latest` or `$Default`, so use the launchTemplate resource's attribute, e.g., `"${aws_launch_template.foo.latest_version}"`. It will use the default version if omitted. -// -// **Note:** The specified launch template can specify only a subset of the -// inputs of `ec2.LaunchTemplate`. There are limitations on -// what you can specify as spot fleet does not support all the attributes that are supported by autoscaling groups. [AWS documentation](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-templates.html#launch-templates-spot-fleet) is currently sparse, but at least `instanceInitiatedShutdownBehavior` is confirmed unsupported. -func (o SpotFleetRequestLaunchTemplateConfigLaunchTemplateSpecificationOutput) Version() pulumi.StringPtrOutput { - return o.ApplyT(func(v SpotFleetRequestLaunchTemplateConfigLaunchTemplateSpecification) *string { return v.Version }).(pulumi.StringPtrOutput) +func NetworkInterfacePermissionTimeoutsPtr(v *NetworkInterfacePermissionTimeoutsArgs) NetworkInterfacePermissionTimeoutsPtrInput { + return (*networkInterfacePermissionTimeoutsPtrType)(v) } -type SpotFleetRequestLaunchTemplateConfigOverride struct { - // The availability zone in which to place the request. - AvailabilityZone *string `pulumi:"availabilityZone"` - // The instance requirements. See below. - InstanceRequirements *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirements `pulumi:"instanceRequirements"` - // The type of instance to request. - InstanceType *string `pulumi:"instanceType"` - // The priority for the launch template override. The lower the number, the higher the priority. If no number is set, the launch template override has the lowest priority. - Priority *float64 `pulumi:"priority"` - // The maximum spot bid for this override request. - SpotPrice *string `pulumi:"spotPrice"` - // The subnet in which to launch the requested instance. - SubnetId *string `pulumi:"subnetId"` - // The capacity added to the fleet by a fulfilled request. - WeightedCapacity *float64 `pulumi:"weightedCapacity"` +func (*networkInterfacePermissionTimeoutsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**NetworkInterfacePermissionTimeouts)(nil)).Elem() } -// SpotFleetRequestLaunchTemplateConfigOverrideInput is an input type that accepts SpotFleetRequestLaunchTemplateConfigOverrideArgs and SpotFleetRequestLaunchTemplateConfigOverrideOutput values. -// You can construct a concrete instance of `SpotFleetRequestLaunchTemplateConfigOverrideInput` via: -// -// SpotFleetRequestLaunchTemplateConfigOverrideArgs{...} -type SpotFleetRequestLaunchTemplateConfigOverrideInput interface { - pulumi.Input - - ToSpotFleetRequestLaunchTemplateConfigOverrideOutput() SpotFleetRequestLaunchTemplateConfigOverrideOutput - ToSpotFleetRequestLaunchTemplateConfigOverrideOutputWithContext(context.Context) SpotFleetRequestLaunchTemplateConfigOverrideOutput +func (i *networkInterfacePermissionTimeoutsPtrType) ToNetworkInterfacePermissionTimeoutsPtrOutput() NetworkInterfacePermissionTimeoutsPtrOutput { + return i.ToNetworkInterfacePermissionTimeoutsPtrOutputWithContext(context.Background()) } -type SpotFleetRequestLaunchTemplateConfigOverrideArgs struct { - // The availability zone in which to place the request. - AvailabilityZone pulumi.StringPtrInput `pulumi:"availabilityZone"` - // The instance requirements. See below. - InstanceRequirements SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsPtrInput `pulumi:"instanceRequirements"` - // The type of instance to request. - InstanceType pulumi.StringPtrInput `pulumi:"instanceType"` - // The priority for the launch template override. The lower the number, the higher the priority. If no number is set, the launch template override has the lowest priority. - Priority pulumi.Float64PtrInput `pulumi:"priority"` - // The maximum spot bid for this override request. - SpotPrice pulumi.StringPtrInput `pulumi:"spotPrice"` - // The subnet in which to launch the requested instance. - SubnetId pulumi.StringPtrInput `pulumi:"subnetId"` - // The capacity added to the fleet by a fulfilled request. - WeightedCapacity pulumi.Float64PtrInput `pulumi:"weightedCapacity"` +func (i *networkInterfacePermissionTimeoutsPtrType) ToNetworkInterfacePermissionTimeoutsPtrOutputWithContext(ctx context.Context) NetworkInterfacePermissionTimeoutsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkInterfacePermissionTimeoutsPtrOutput) } -func (SpotFleetRequestLaunchTemplateConfigOverrideArgs) ElementType() reflect.Type { - return reflect.TypeOf((*SpotFleetRequestLaunchTemplateConfigOverride)(nil)).Elem() -} +type NetworkInterfacePermissionTimeoutsOutput struct{ *pulumi.OutputState } -func (i SpotFleetRequestLaunchTemplateConfigOverrideArgs) ToSpotFleetRequestLaunchTemplateConfigOverrideOutput() SpotFleetRequestLaunchTemplateConfigOverrideOutput { - return i.ToSpotFleetRequestLaunchTemplateConfigOverrideOutputWithContext(context.Background()) +func (NetworkInterfacePermissionTimeoutsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkInterfacePermissionTimeouts)(nil)).Elem() } -func (i SpotFleetRequestLaunchTemplateConfigOverrideArgs) ToSpotFleetRequestLaunchTemplateConfigOverrideOutputWithContext(ctx context.Context) SpotFleetRequestLaunchTemplateConfigOverrideOutput { - return pulumi.ToOutputWithContext(ctx, i).(SpotFleetRequestLaunchTemplateConfigOverrideOutput) +func (o NetworkInterfacePermissionTimeoutsOutput) ToNetworkInterfacePermissionTimeoutsOutput() NetworkInterfacePermissionTimeoutsOutput { + return o } -// SpotFleetRequestLaunchTemplateConfigOverrideArrayInput is an input type that accepts SpotFleetRequestLaunchTemplateConfigOverrideArray and SpotFleetRequestLaunchTemplateConfigOverrideArrayOutput values. -// You can construct a concrete instance of `SpotFleetRequestLaunchTemplateConfigOverrideArrayInput` via: -// -// SpotFleetRequestLaunchTemplateConfigOverrideArray{ SpotFleetRequestLaunchTemplateConfigOverrideArgs{...} } -type SpotFleetRequestLaunchTemplateConfigOverrideArrayInput interface { - pulumi.Input - - ToSpotFleetRequestLaunchTemplateConfigOverrideArrayOutput() SpotFleetRequestLaunchTemplateConfigOverrideArrayOutput - ToSpotFleetRequestLaunchTemplateConfigOverrideArrayOutputWithContext(context.Context) SpotFleetRequestLaunchTemplateConfigOverrideArrayOutput +func (o NetworkInterfacePermissionTimeoutsOutput) ToNetworkInterfacePermissionTimeoutsOutputWithContext(ctx context.Context) NetworkInterfacePermissionTimeoutsOutput { + return o } -type SpotFleetRequestLaunchTemplateConfigOverrideArray []SpotFleetRequestLaunchTemplateConfigOverrideInput +func (o NetworkInterfacePermissionTimeoutsOutput) ToNetworkInterfacePermissionTimeoutsPtrOutput() NetworkInterfacePermissionTimeoutsPtrOutput { + return o.ToNetworkInterfacePermissionTimeoutsPtrOutputWithContext(context.Background()) +} -func (SpotFleetRequestLaunchTemplateConfigOverrideArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]SpotFleetRequestLaunchTemplateConfigOverride)(nil)).Elem() +func (o NetworkInterfacePermissionTimeoutsOutput) ToNetworkInterfacePermissionTimeoutsPtrOutputWithContext(ctx context.Context) NetworkInterfacePermissionTimeoutsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v NetworkInterfacePermissionTimeouts) *NetworkInterfacePermissionTimeouts { + return &v + }).(NetworkInterfacePermissionTimeoutsPtrOutput) } -func (i SpotFleetRequestLaunchTemplateConfigOverrideArray) ToSpotFleetRequestLaunchTemplateConfigOverrideArrayOutput() SpotFleetRequestLaunchTemplateConfigOverrideArrayOutput { - return i.ToSpotFleetRequestLaunchTemplateConfigOverrideArrayOutputWithContext(context.Background()) +// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). +func (o NetworkInterfacePermissionTimeoutsOutput) Create() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInterfacePermissionTimeouts) *string { return v.Create }).(pulumi.StringPtrOutput) } -func (i SpotFleetRequestLaunchTemplateConfigOverrideArray) ToSpotFleetRequestLaunchTemplateConfigOverrideArrayOutputWithContext(ctx context.Context) SpotFleetRequestLaunchTemplateConfigOverrideArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(SpotFleetRequestLaunchTemplateConfigOverrideArrayOutput) +// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs. +func (o NetworkInterfacePermissionTimeoutsOutput) Delete() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkInterfacePermissionTimeouts) *string { return v.Delete }).(pulumi.StringPtrOutput) } -type SpotFleetRequestLaunchTemplateConfigOverrideOutput struct{ *pulumi.OutputState } +type NetworkInterfacePermissionTimeoutsPtrOutput struct{ *pulumi.OutputState } -func (SpotFleetRequestLaunchTemplateConfigOverrideOutput) ElementType() reflect.Type { - return reflect.TypeOf((*SpotFleetRequestLaunchTemplateConfigOverride)(nil)).Elem() +func (NetworkInterfacePermissionTimeoutsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**NetworkInterfacePermissionTimeouts)(nil)).Elem() } -func (o SpotFleetRequestLaunchTemplateConfigOverrideOutput) ToSpotFleetRequestLaunchTemplateConfigOverrideOutput() SpotFleetRequestLaunchTemplateConfigOverrideOutput { +func (o NetworkInterfacePermissionTimeoutsPtrOutput) ToNetworkInterfacePermissionTimeoutsPtrOutput() NetworkInterfacePermissionTimeoutsPtrOutput { return o } -func (o SpotFleetRequestLaunchTemplateConfigOverrideOutput) ToSpotFleetRequestLaunchTemplateConfigOverrideOutputWithContext(ctx context.Context) SpotFleetRequestLaunchTemplateConfigOverrideOutput { +func (o NetworkInterfacePermissionTimeoutsPtrOutput) ToNetworkInterfacePermissionTimeoutsPtrOutputWithContext(ctx context.Context) NetworkInterfacePermissionTimeoutsPtrOutput { return o } -// The availability zone in which to place the request. -func (o SpotFleetRequestLaunchTemplateConfigOverrideOutput) AvailabilityZone() pulumi.StringPtrOutput { - return o.ApplyT(func(v SpotFleetRequestLaunchTemplateConfigOverride) *string { return v.AvailabilityZone }).(pulumi.StringPtrOutput) +func (o NetworkInterfacePermissionTimeoutsPtrOutput) Elem() NetworkInterfacePermissionTimeoutsOutput { + return o.ApplyT(func(v *NetworkInterfacePermissionTimeouts) NetworkInterfacePermissionTimeouts { + if v != nil { + return *v + } + var ret NetworkInterfacePermissionTimeouts + return ret + }).(NetworkInterfacePermissionTimeoutsOutput) } -// The instance requirements. See below. -func (o SpotFleetRequestLaunchTemplateConfigOverrideOutput) InstanceRequirements() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput { - return o.ApplyT(func(v SpotFleetRequestLaunchTemplateConfigOverride) *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirements { - return v.InstanceRequirements - }).(SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput) +// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). +func (o NetworkInterfacePermissionTimeoutsPtrOutput) Create() pulumi.StringPtrOutput { + return o.ApplyT(func(v *NetworkInterfacePermissionTimeouts) *string { + if v == nil { + return nil + } + return v.Create + }).(pulumi.StringPtrOutput) } -// The type of instance to request. -func (o SpotFleetRequestLaunchTemplateConfigOverrideOutput) InstanceType() pulumi.StringPtrOutput { - return o.ApplyT(func(v SpotFleetRequestLaunchTemplateConfigOverride) *string { return v.InstanceType }).(pulumi.StringPtrOutput) +// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs. +func (o NetworkInterfacePermissionTimeoutsPtrOutput) Delete() pulumi.StringPtrOutput { + return o.ApplyT(func(v *NetworkInterfacePermissionTimeouts) *string { + if v == nil { + return nil + } + return v.Delete + }).(pulumi.StringPtrOutput) } -// The priority for the launch template override. The lower the number, the higher the priority. If no number is set, the launch template override has the lowest priority. -func (o SpotFleetRequestLaunchTemplateConfigOverrideOutput) Priority() pulumi.Float64PtrOutput { - return o.ApplyT(func(v SpotFleetRequestLaunchTemplateConfigOverride) *float64 { return v.Priority }).(pulumi.Float64PtrOutput) +type PeeringConnectionOptionsAccepter struct { + // Allow a local VPC to resolve public DNS hostnames to private IP addresses when queried from instances in the peer VPC. + AllowRemoteVpcDnsResolution *bool `pulumi:"allowRemoteVpcDnsResolution"` } -// The maximum spot bid for this override request. -func (o SpotFleetRequestLaunchTemplateConfigOverrideOutput) SpotPrice() pulumi.StringPtrOutput { - return o.ApplyT(func(v SpotFleetRequestLaunchTemplateConfigOverride) *string { return v.SpotPrice }).(pulumi.StringPtrOutput) -} +// PeeringConnectionOptionsAccepterInput is an input type that accepts PeeringConnectionOptionsAccepterArgs and PeeringConnectionOptionsAccepterOutput values. +// You can construct a concrete instance of `PeeringConnectionOptionsAccepterInput` via: +// +// PeeringConnectionOptionsAccepterArgs{...} +type PeeringConnectionOptionsAccepterInput interface { + pulumi.Input -// The subnet in which to launch the requested instance. -func (o SpotFleetRequestLaunchTemplateConfigOverrideOutput) SubnetId() pulumi.StringPtrOutput { - return o.ApplyT(func(v SpotFleetRequestLaunchTemplateConfigOverride) *string { return v.SubnetId }).(pulumi.StringPtrOutput) + ToPeeringConnectionOptionsAccepterOutput() PeeringConnectionOptionsAccepterOutput + ToPeeringConnectionOptionsAccepterOutputWithContext(context.Context) PeeringConnectionOptionsAccepterOutput } -// The capacity added to the fleet by a fulfilled request. -func (o SpotFleetRequestLaunchTemplateConfigOverrideOutput) WeightedCapacity() pulumi.Float64PtrOutput { - return o.ApplyT(func(v SpotFleetRequestLaunchTemplateConfigOverride) *float64 { return v.WeightedCapacity }).(pulumi.Float64PtrOutput) +type PeeringConnectionOptionsAccepterArgs struct { + // Allow a local VPC to resolve public DNS hostnames to private IP addresses when queried from instances in the peer VPC. + AllowRemoteVpcDnsResolution pulumi.BoolPtrInput `pulumi:"allowRemoteVpcDnsResolution"` } -type SpotFleetRequestLaunchTemplateConfigOverrideArrayOutput struct{ *pulumi.OutputState } - -func (SpotFleetRequestLaunchTemplateConfigOverrideArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]SpotFleetRequestLaunchTemplateConfigOverride)(nil)).Elem() +func (PeeringConnectionOptionsAccepterArgs) ElementType() reflect.Type { + return reflect.TypeOf((*PeeringConnectionOptionsAccepter)(nil)).Elem() +} + +func (i PeeringConnectionOptionsAccepterArgs) ToPeeringConnectionOptionsAccepterOutput() PeeringConnectionOptionsAccepterOutput { + return i.ToPeeringConnectionOptionsAccepterOutputWithContext(context.Background()) +} + +func (i PeeringConnectionOptionsAccepterArgs) ToPeeringConnectionOptionsAccepterOutputWithContext(ctx context.Context) PeeringConnectionOptionsAccepterOutput { + return pulumi.ToOutputWithContext(ctx, i).(PeeringConnectionOptionsAccepterOutput) +} + +func (i PeeringConnectionOptionsAccepterArgs) ToPeeringConnectionOptionsAccepterPtrOutput() PeeringConnectionOptionsAccepterPtrOutput { + return i.ToPeeringConnectionOptionsAccepterPtrOutputWithContext(context.Background()) +} + +func (i PeeringConnectionOptionsAccepterArgs) ToPeeringConnectionOptionsAccepterPtrOutputWithContext(ctx context.Context) PeeringConnectionOptionsAccepterPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(PeeringConnectionOptionsAccepterOutput).ToPeeringConnectionOptionsAccepterPtrOutputWithContext(ctx) +} + +// PeeringConnectionOptionsAccepterPtrInput is an input type that accepts PeeringConnectionOptionsAccepterArgs, PeeringConnectionOptionsAccepterPtr and PeeringConnectionOptionsAccepterPtrOutput values. +// You can construct a concrete instance of `PeeringConnectionOptionsAccepterPtrInput` via: +// +// PeeringConnectionOptionsAccepterArgs{...} +// +// or: +// +// nil +type PeeringConnectionOptionsAccepterPtrInput interface { + pulumi.Input + + ToPeeringConnectionOptionsAccepterPtrOutput() PeeringConnectionOptionsAccepterPtrOutput + ToPeeringConnectionOptionsAccepterPtrOutputWithContext(context.Context) PeeringConnectionOptionsAccepterPtrOutput +} + +type peeringConnectionOptionsAccepterPtrType PeeringConnectionOptionsAccepterArgs + +func PeeringConnectionOptionsAccepterPtr(v *PeeringConnectionOptionsAccepterArgs) PeeringConnectionOptionsAccepterPtrInput { + return (*peeringConnectionOptionsAccepterPtrType)(v) +} + +func (*peeringConnectionOptionsAccepterPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**PeeringConnectionOptionsAccepter)(nil)).Elem() +} + +func (i *peeringConnectionOptionsAccepterPtrType) ToPeeringConnectionOptionsAccepterPtrOutput() PeeringConnectionOptionsAccepterPtrOutput { + return i.ToPeeringConnectionOptionsAccepterPtrOutputWithContext(context.Background()) +} + +func (i *peeringConnectionOptionsAccepterPtrType) ToPeeringConnectionOptionsAccepterPtrOutputWithContext(ctx context.Context) PeeringConnectionOptionsAccepterPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(PeeringConnectionOptionsAccepterPtrOutput) +} + +type PeeringConnectionOptionsAccepterOutput struct{ *pulumi.OutputState } + +func (PeeringConnectionOptionsAccepterOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PeeringConnectionOptionsAccepter)(nil)).Elem() +} + +func (o PeeringConnectionOptionsAccepterOutput) ToPeeringConnectionOptionsAccepterOutput() PeeringConnectionOptionsAccepterOutput { + return o +} + +func (o PeeringConnectionOptionsAccepterOutput) ToPeeringConnectionOptionsAccepterOutputWithContext(ctx context.Context) PeeringConnectionOptionsAccepterOutput { + return o +} + +func (o PeeringConnectionOptionsAccepterOutput) ToPeeringConnectionOptionsAccepterPtrOutput() PeeringConnectionOptionsAccepterPtrOutput { + return o.ToPeeringConnectionOptionsAccepterPtrOutputWithContext(context.Background()) +} + +func (o PeeringConnectionOptionsAccepterOutput) ToPeeringConnectionOptionsAccepterPtrOutputWithContext(ctx context.Context) PeeringConnectionOptionsAccepterPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v PeeringConnectionOptionsAccepter) *PeeringConnectionOptionsAccepter { + return &v + }).(PeeringConnectionOptionsAccepterPtrOutput) +} + +// Allow a local VPC to resolve public DNS hostnames to private IP addresses when queried from instances in the peer VPC. +func (o PeeringConnectionOptionsAccepterOutput) AllowRemoteVpcDnsResolution() pulumi.BoolPtrOutput { + return o.ApplyT(func(v PeeringConnectionOptionsAccepter) *bool { return v.AllowRemoteVpcDnsResolution }).(pulumi.BoolPtrOutput) +} + +type PeeringConnectionOptionsAccepterPtrOutput struct{ *pulumi.OutputState } + +func (PeeringConnectionOptionsAccepterPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**PeeringConnectionOptionsAccepter)(nil)).Elem() +} + +func (o PeeringConnectionOptionsAccepterPtrOutput) ToPeeringConnectionOptionsAccepterPtrOutput() PeeringConnectionOptionsAccepterPtrOutput { + return o +} + +func (o PeeringConnectionOptionsAccepterPtrOutput) ToPeeringConnectionOptionsAccepterPtrOutputWithContext(ctx context.Context) PeeringConnectionOptionsAccepterPtrOutput { + return o +} + +func (o PeeringConnectionOptionsAccepterPtrOutput) Elem() PeeringConnectionOptionsAccepterOutput { + return o.ApplyT(func(v *PeeringConnectionOptionsAccepter) PeeringConnectionOptionsAccepter { + if v != nil { + return *v + } + var ret PeeringConnectionOptionsAccepter + return ret + }).(PeeringConnectionOptionsAccepterOutput) +} + +// Allow a local VPC to resolve public DNS hostnames to private IP addresses when queried from instances in the peer VPC. +func (o PeeringConnectionOptionsAccepterPtrOutput) AllowRemoteVpcDnsResolution() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *PeeringConnectionOptionsAccepter) *bool { + if v == nil { + return nil + } + return v.AllowRemoteVpcDnsResolution + }).(pulumi.BoolPtrOutput) +} + +type PeeringConnectionOptionsRequester struct { + // Allow a local VPC to resolve public DNS hostnames to private IP addresses when queried from instances in the peer VPC. + AllowRemoteVpcDnsResolution *bool `pulumi:"allowRemoteVpcDnsResolution"` +} + +// PeeringConnectionOptionsRequesterInput is an input type that accepts PeeringConnectionOptionsRequesterArgs and PeeringConnectionOptionsRequesterOutput values. +// You can construct a concrete instance of `PeeringConnectionOptionsRequesterInput` via: +// +// PeeringConnectionOptionsRequesterArgs{...} +type PeeringConnectionOptionsRequesterInput interface { + pulumi.Input + + ToPeeringConnectionOptionsRequesterOutput() PeeringConnectionOptionsRequesterOutput + ToPeeringConnectionOptionsRequesterOutputWithContext(context.Context) PeeringConnectionOptionsRequesterOutput +} + +type PeeringConnectionOptionsRequesterArgs struct { + // Allow a local VPC to resolve public DNS hostnames to private IP addresses when queried from instances in the peer VPC. + AllowRemoteVpcDnsResolution pulumi.BoolPtrInput `pulumi:"allowRemoteVpcDnsResolution"` +} + +func (PeeringConnectionOptionsRequesterArgs) ElementType() reflect.Type { + return reflect.TypeOf((*PeeringConnectionOptionsRequester)(nil)).Elem() +} + +func (i PeeringConnectionOptionsRequesterArgs) ToPeeringConnectionOptionsRequesterOutput() PeeringConnectionOptionsRequesterOutput { + return i.ToPeeringConnectionOptionsRequesterOutputWithContext(context.Background()) +} + +func (i PeeringConnectionOptionsRequesterArgs) ToPeeringConnectionOptionsRequesterOutputWithContext(ctx context.Context) PeeringConnectionOptionsRequesterOutput { + return pulumi.ToOutputWithContext(ctx, i).(PeeringConnectionOptionsRequesterOutput) +} + +func (i PeeringConnectionOptionsRequesterArgs) ToPeeringConnectionOptionsRequesterPtrOutput() PeeringConnectionOptionsRequesterPtrOutput { + return i.ToPeeringConnectionOptionsRequesterPtrOutputWithContext(context.Background()) +} + +func (i PeeringConnectionOptionsRequesterArgs) ToPeeringConnectionOptionsRequesterPtrOutputWithContext(ctx context.Context) PeeringConnectionOptionsRequesterPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(PeeringConnectionOptionsRequesterOutput).ToPeeringConnectionOptionsRequesterPtrOutputWithContext(ctx) +} + +// PeeringConnectionOptionsRequesterPtrInput is an input type that accepts PeeringConnectionOptionsRequesterArgs, PeeringConnectionOptionsRequesterPtr and PeeringConnectionOptionsRequesterPtrOutput values. +// You can construct a concrete instance of `PeeringConnectionOptionsRequesterPtrInput` via: +// +// PeeringConnectionOptionsRequesterArgs{...} +// +// or: +// +// nil +type PeeringConnectionOptionsRequesterPtrInput interface { + pulumi.Input + + ToPeeringConnectionOptionsRequesterPtrOutput() PeeringConnectionOptionsRequesterPtrOutput + ToPeeringConnectionOptionsRequesterPtrOutputWithContext(context.Context) PeeringConnectionOptionsRequesterPtrOutput +} + +type peeringConnectionOptionsRequesterPtrType PeeringConnectionOptionsRequesterArgs + +func PeeringConnectionOptionsRequesterPtr(v *PeeringConnectionOptionsRequesterArgs) PeeringConnectionOptionsRequesterPtrInput { + return (*peeringConnectionOptionsRequesterPtrType)(v) +} + +func (*peeringConnectionOptionsRequesterPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**PeeringConnectionOptionsRequester)(nil)).Elem() +} + +func (i *peeringConnectionOptionsRequesterPtrType) ToPeeringConnectionOptionsRequesterPtrOutput() PeeringConnectionOptionsRequesterPtrOutput { + return i.ToPeeringConnectionOptionsRequesterPtrOutputWithContext(context.Background()) +} + +func (i *peeringConnectionOptionsRequesterPtrType) ToPeeringConnectionOptionsRequesterPtrOutputWithContext(ctx context.Context) PeeringConnectionOptionsRequesterPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(PeeringConnectionOptionsRequesterPtrOutput) +} + +type PeeringConnectionOptionsRequesterOutput struct{ *pulumi.OutputState } + +func (PeeringConnectionOptionsRequesterOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PeeringConnectionOptionsRequester)(nil)).Elem() +} + +func (o PeeringConnectionOptionsRequesterOutput) ToPeeringConnectionOptionsRequesterOutput() PeeringConnectionOptionsRequesterOutput { + return o +} + +func (o PeeringConnectionOptionsRequesterOutput) ToPeeringConnectionOptionsRequesterOutputWithContext(ctx context.Context) PeeringConnectionOptionsRequesterOutput { + return o +} + +func (o PeeringConnectionOptionsRequesterOutput) ToPeeringConnectionOptionsRequesterPtrOutput() PeeringConnectionOptionsRequesterPtrOutput { + return o.ToPeeringConnectionOptionsRequesterPtrOutputWithContext(context.Background()) +} + +func (o PeeringConnectionOptionsRequesterOutput) ToPeeringConnectionOptionsRequesterPtrOutputWithContext(ctx context.Context) PeeringConnectionOptionsRequesterPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v PeeringConnectionOptionsRequester) *PeeringConnectionOptionsRequester { + return &v + }).(PeeringConnectionOptionsRequesterPtrOutput) +} + +// Allow a local VPC to resolve public DNS hostnames to private IP addresses when queried from instances in the peer VPC. +func (o PeeringConnectionOptionsRequesterOutput) AllowRemoteVpcDnsResolution() pulumi.BoolPtrOutput { + return o.ApplyT(func(v PeeringConnectionOptionsRequester) *bool { return v.AllowRemoteVpcDnsResolution }).(pulumi.BoolPtrOutput) +} + +type PeeringConnectionOptionsRequesterPtrOutput struct{ *pulumi.OutputState } + +func (PeeringConnectionOptionsRequesterPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**PeeringConnectionOptionsRequester)(nil)).Elem() +} + +func (o PeeringConnectionOptionsRequesterPtrOutput) ToPeeringConnectionOptionsRequesterPtrOutput() PeeringConnectionOptionsRequesterPtrOutput { + return o +} + +func (o PeeringConnectionOptionsRequesterPtrOutput) ToPeeringConnectionOptionsRequesterPtrOutputWithContext(ctx context.Context) PeeringConnectionOptionsRequesterPtrOutput { + return o +} + +func (o PeeringConnectionOptionsRequesterPtrOutput) Elem() PeeringConnectionOptionsRequesterOutput { + return o.ApplyT(func(v *PeeringConnectionOptionsRequester) PeeringConnectionOptionsRequester { + if v != nil { + return *v + } + var ret PeeringConnectionOptionsRequester + return ret + }).(PeeringConnectionOptionsRequesterOutput) +} + +// Allow a local VPC to resolve public DNS hostnames to private IP addresses when queried from instances in the peer VPC. +func (o PeeringConnectionOptionsRequesterPtrOutput) AllowRemoteVpcDnsResolution() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *PeeringConnectionOptionsRequester) *bool { + if v == nil { + return nil + } + return v.AllowRemoteVpcDnsResolution + }).(pulumi.BoolPtrOutput) +} + +type RouteTableRoute struct { + // Identifier of a carrier gateway. This attribute can only be used when the VPC contains a subnet which is associated with a Wavelength Zone. + CarrierGatewayId *string `pulumi:"carrierGatewayId"` + // The CIDR block of the route. + CidrBlock *string `pulumi:"cidrBlock"` + // The Amazon Resource Name (ARN) of a core network. + CoreNetworkArn *string `pulumi:"coreNetworkArn"` + // The ID of a managed prefix list destination of the route. + // + // One of the following target arguments must be supplied: + DestinationPrefixListId *string `pulumi:"destinationPrefixListId"` + // Identifier of a VPC Egress Only Internet Gateway. + EgressOnlyGatewayId *string `pulumi:"egressOnlyGatewayId"` + // Identifier of a VPC internet gateway, virtual private gateway, or `local`. `local` routes cannot be created but can be adopted or imported. See the example above. + GatewayId *string `pulumi:"gatewayId"` + // The Ipv6 CIDR block of the route. + Ipv6CidrBlock *string `pulumi:"ipv6CidrBlock"` + // Identifier of a Outpost local gateway. + LocalGatewayId *string `pulumi:"localGatewayId"` + // Identifier of a VPC NAT gateway. + NatGatewayId *string `pulumi:"natGatewayId"` + // Identifier of an EC2 network interface. + NetworkInterfaceId *string `pulumi:"networkInterfaceId"` + // Identifier of an EC2 Transit Gateway. + TransitGatewayId *string `pulumi:"transitGatewayId"` + // Identifier of a VPC Endpoint. + VpcEndpointId *string `pulumi:"vpcEndpointId"` + // Identifier of a VPC peering connection. + // + // Note that the default route, mapping the VPC's CIDR block to "local", is created implicitly and cannot be specified. + VpcPeeringConnectionId *string `pulumi:"vpcPeeringConnectionId"` +} + +// RouteTableRouteInput is an input type that accepts RouteTableRouteArgs and RouteTableRouteOutput values. +// You can construct a concrete instance of `RouteTableRouteInput` via: +// +// RouteTableRouteArgs{...} +type RouteTableRouteInput interface { + pulumi.Input + + ToRouteTableRouteOutput() RouteTableRouteOutput + ToRouteTableRouteOutputWithContext(context.Context) RouteTableRouteOutput +} + +type RouteTableRouteArgs struct { + // Identifier of a carrier gateway. This attribute can only be used when the VPC contains a subnet which is associated with a Wavelength Zone. + CarrierGatewayId pulumi.StringPtrInput `pulumi:"carrierGatewayId"` + // The CIDR block of the route. + CidrBlock pulumi.StringPtrInput `pulumi:"cidrBlock"` + // The Amazon Resource Name (ARN) of a core network. + CoreNetworkArn pulumi.StringPtrInput `pulumi:"coreNetworkArn"` + // The ID of a managed prefix list destination of the route. + // + // One of the following target arguments must be supplied: + DestinationPrefixListId pulumi.StringPtrInput `pulumi:"destinationPrefixListId"` + // Identifier of a VPC Egress Only Internet Gateway. + EgressOnlyGatewayId pulumi.StringPtrInput `pulumi:"egressOnlyGatewayId"` + // Identifier of a VPC internet gateway, virtual private gateway, or `local`. `local` routes cannot be created but can be adopted or imported. See the example above. + GatewayId pulumi.StringPtrInput `pulumi:"gatewayId"` + // The Ipv6 CIDR block of the route. + Ipv6CidrBlock pulumi.StringPtrInput `pulumi:"ipv6CidrBlock"` + // Identifier of a Outpost local gateway. + LocalGatewayId pulumi.StringPtrInput `pulumi:"localGatewayId"` + // Identifier of a VPC NAT gateway. + NatGatewayId pulumi.StringPtrInput `pulumi:"natGatewayId"` + // Identifier of an EC2 network interface. + NetworkInterfaceId pulumi.StringPtrInput `pulumi:"networkInterfaceId"` + // Identifier of an EC2 Transit Gateway. + TransitGatewayId pulumi.StringPtrInput `pulumi:"transitGatewayId"` + // Identifier of a VPC Endpoint. + VpcEndpointId pulumi.StringPtrInput `pulumi:"vpcEndpointId"` + // Identifier of a VPC peering connection. + // + // Note that the default route, mapping the VPC's CIDR block to "local", is created implicitly and cannot be specified. + VpcPeeringConnectionId pulumi.StringPtrInput `pulumi:"vpcPeeringConnectionId"` +} + +func (RouteTableRouteArgs) ElementType() reflect.Type { + return reflect.TypeOf((*RouteTableRoute)(nil)).Elem() +} + +func (i RouteTableRouteArgs) ToRouteTableRouteOutput() RouteTableRouteOutput { + return i.ToRouteTableRouteOutputWithContext(context.Background()) +} + +func (i RouteTableRouteArgs) ToRouteTableRouteOutputWithContext(ctx context.Context) RouteTableRouteOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteTableRouteOutput) +} + +// RouteTableRouteArrayInput is an input type that accepts RouteTableRouteArray and RouteTableRouteArrayOutput values. +// You can construct a concrete instance of `RouteTableRouteArrayInput` via: +// +// RouteTableRouteArray{ RouteTableRouteArgs{...} } +type RouteTableRouteArrayInput interface { + pulumi.Input + + ToRouteTableRouteArrayOutput() RouteTableRouteArrayOutput + ToRouteTableRouteArrayOutputWithContext(context.Context) RouteTableRouteArrayOutput +} + +type RouteTableRouteArray []RouteTableRouteInput + +func (RouteTableRouteArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]RouteTableRoute)(nil)).Elem() +} + +func (i RouteTableRouteArray) ToRouteTableRouteArrayOutput() RouteTableRouteArrayOutput { + return i.ToRouteTableRouteArrayOutputWithContext(context.Background()) +} + +func (i RouteTableRouteArray) ToRouteTableRouteArrayOutputWithContext(ctx context.Context) RouteTableRouteArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteTableRouteArrayOutput) +} + +type RouteTableRouteOutput struct{ *pulumi.OutputState } + +func (RouteTableRouteOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RouteTableRoute)(nil)).Elem() +} + +func (o RouteTableRouteOutput) ToRouteTableRouteOutput() RouteTableRouteOutput { + return o +} + +func (o RouteTableRouteOutput) ToRouteTableRouteOutputWithContext(ctx context.Context) RouteTableRouteOutput { + return o +} + +// Identifier of a carrier gateway. This attribute can only be used when the VPC contains a subnet which is associated with a Wavelength Zone. +func (o RouteTableRouteOutput) CarrierGatewayId() pulumi.StringPtrOutput { + return o.ApplyT(func(v RouteTableRoute) *string { return v.CarrierGatewayId }).(pulumi.StringPtrOutput) +} + +// The CIDR block of the route. +func (o RouteTableRouteOutput) CidrBlock() pulumi.StringPtrOutput { + return o.ApplyT(func(v RouteTableRoute) *string { return v.CidrBlock }).(pulumi.StringPtrOutput) +} + +// The Amazon Resource Name (ARN) of a core network. +func (o RouteTableRouteOutput) CoreNetworkArn() pulumi.StringPtrOutput { + return o.ApplyT(func(v RouteTableRoute) *string { return v.CoreNetworkArn }).(pulumi.StringPtrOutput) +} + +// The ID of a managed prefix list destination of the route. +// +// One of the following target arguments must be supplied: +func (o RouteTableRouteOutput) DestinationPrefixListId() pulumi.StringPtrOutput { + return o.ApplyT(func(v RouteTableRoute) *string { return v.DestinationPrefixListId }).(pulumi.StringPtrOutput) +} + +// Identifier of a VPC Egress Only Internet Gateway. +func (o RouteTableRouteOutput) EgressOnlyGatewayId() pulumi.StringPtrOutput { + return o.ApplyT(func(v RouteTableRoute) *string { return v.EgressOnlyGatewayId }).(pulumi.StringPtrOutput) +} + +// Identifier of a VPC internet gateway, virtual private gateway, or `local`. `local` routes cannot be created but can be adopted or imported. See the example above. +func (o RouteTableRouteOutput) GatewayId() pulumi.StringPtrOutput { + return o.ApplyT(func(v RouteTableRoute) *string { return v.GatewayId }).(pulumi.StringPtrOutput) +} + +// The Ipv6 CIDR block of the route. +func (o RouteTableRouteOutput) Ipv6CidrBlock() pulumi.StringPtrOutput { + return o.ApplyT(func(v RouteTableRoute) *string { return v.Ipv6CidrBlock }).(pulumi.StringPtrOutput) +} + +// Identifier of a Outpost local gateway. +func (o RouteTableRouteOutput) LocalGatewayId() pulumi.StringPtrOutput { + return o.ApplyT(func(v RouteTableRoute) *string { return v.LocalGatewayId }).(pulumi.StringPtrOutput) +} + +// Identifier of a VPC NAT gateway. +func (o RouteTableRouteOutput) NatGatewayId() pulumi.StringPtrOutput { + return o.ApplyT(func(v RouteTableRoute) *string { return v.NatGatewayId }).(pulumi.StringPtrOutput) +} + +// Identifier of an EC2 network interface. +func (o RouteTableRouteOutput) NetworkInterfaceId() pulumi.StringPtrOutput { + return o.ApplyT(func(v RouteTableRoute) *string { return v.NetworkInterfaceId }).(pulumi.StringPtrOutput) +} + +// Identifier of an EC2 Transit Gateway. +func (o RouteTableRouteOutput) TransitGatewayId() pulumi.StringPtrOutput { + return o.ApplyT(func(v RouteTableRoute) *string { return v.TransitGatewayId }).(pulumi.StringPtrOutput) +} + +// Identifier of a VPC Endpoint. +func (o RouteTableRouteOutput) VpcEndpointId() pulumi.StringPtrOutput { + return o.ApplyT(func(v RouteTableRoute) *string { return v.VpcEndpointId }).(pulumi.StringPtrOutput) +} + +// Identifier of a VPC peering connection. +// +// Note that the default route, mapping the VPC's CIDR block to "local", is created implicitly and cannot be specified. +func (o RouteTableRouteOutput) VpcPeeringConnectionId() pulumi.StringPtrOutput { + return o.ApplyT(func(v RouteTableRoute) *string { return v.VpcPeeringConnectionId }).(pulumi.StringPtrOutput) +} + +type RouteTableRouteArrayOutput struct{ *pulumi.OutputState } + +func (RouteTableRouteArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]RouteTableRoute)(nil)).Elem() +} + +func (o RouteTableRouteArrayOutput) ToRouteTableRouteArrayOutput() RouteTableRouteArrayOutput { + return o +} + +func (o RouteTableRouteArrayOutput) ToRouteTableRouteArrayOutputWithContext(ctx context.Context) RouteTableRouteArrayOutput { + return o +} + +func (o RouteTableRouteArrayOutput) Index(i pulumi.IntInput) RouteTableRouteOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) RouteTableRoute { + return vs[0].([]RouteTableRoute)[vs[1].(int)] + }).(RouteTableRouteOutput) +} + +type SecurityGroupEgress struct { + // List of CIDR blocks. + CidrBlocks []string `pulumi:"cidrBlocks"` + // Description of this egress rule. + Description *string `pulumi:"description"` + // Start port (or ICMP type number if protocol is `icmp`) + FromPort int `pulumi:"fromPort"` + // List of IPv6 CIDR blocks. + Ipv6CidrBlocks []string `pulumi:"ipv6CidrBlocks"` + // List of Prefix List IDs. + PrefixListIds []string `pulumi:"prefixListIds"` + // Protocol. If you select a protocol of `-1` (semantically equivalent to `all`, which is not a valid value here), you must specify a `fromPort` and `toPort` equal to 0. The supported values are defined in the `IpProtocol` argument in the [IpPermission](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_IpPermission.html) API reference. + Protocol string `pulumi:"protocol"` + // List of security groups. A group name can be used relative to the default VPC. Otherwise, group ID. + SecurityGroups []string `pulumi:"securityGroups"` + // Whether the security group itself will be added as a source to this egress rule. + Self *bool `pulumi:"self"` + // End range port (or ICMP code if protocol is `icmp`). + // + // The following arguments are optional: + // + // > **Note** Although `cidrBlocks`, `ipv6CidrBlocks`, `prefixListIds`, and `securityGroups` are all marked as optional, you _must_ provide one of them in order to configure the destination of the traffic. + ToPort int `pulumi:"toPort"` +} + +// SecurityGroupEgressInput is an input type that accepts SecurityGroupEgressArgs and SecurityGroupEgressOutput values. +// You can construct a concrete instance of `SecurityGroupEgressInput` via: +// +// SecurityGroupEgressArgs{...} +type SecurityGroupEgressInput interface { + pulumi.Input + + ToSecurityGroupEgressOutput() SecurityGroupEgressOutput + ToSecurityGroupEgressOutputWithContext(context.Context) SecurityGroupEgressOutput +} + +type SecurityGroupEgressArgs struct { + // List of CIDR blocks. + CidrBlocks pulumi.StringArrayInput `pulumi:"cidrBlocks"` + // Description of this egress rule. + Description pulumi.StringPtrInput `pulumi:"description"` + // Start port (or ICMP type number if protocol is `icmp`) + FromPort pulumi.IntInput `pulumi:"fromPort"` + // List of IPv6 CIDR blocks. + Ipv6CidrBlocks pulumi.StringArrayInput `pulumi:"ipv6CidrBlocks"` + // List of Prefix List IDs. + PrefixListIds pulumi.StringArrayInput `pulumi:"prefixListIds"` + // Protocol. If you select a protocol of `-1` (semantically equivalent to `all`, which is not a valid value here), you must specify a `fromPort` and `toPort` equal to 0. The supported values are defined in the `IpProtocol` argument in the [IpPermission](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_IpPermission.html) API reference. + Protocol pulumi.StringInput `pulumi:"protocol"` + // List of security groups. A group name can be used relative to the default VPC. Otherwise, group ID. + SecurityGroups pulumi.StringArrayInput `pulumi:"securityGroups"` + // Whether the security group itself will be added as a source to this egress rule. + Self pulumi.BoolPtrInput `pulumi:"self"` + // End range port (or ICMP code if protocol is `icmp`). + // + // The following arguments are optional: + // + // > **Note** Although `cidrBlocks`, `ipv6CidrBlocks`, `prefixListIds`, and `securityGroups` are all marked as optional, you _must_ provide one of them in order to configure the destination of the traffic. + ToPort pulumi.IntInput `pulumi:"toPort"` +} + +func (SecurityGroupEgressArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SecurityGroupEgress)(nil)).Elem() +} + +func (i SecurityGroupEgressArgs) ToSecurityGroupEgressOutput() SecurityGroupEgressOutput { + return i.ToSecurityGroupEgressOutputWithContext(context.Background()) +} + +func (i SecurityGroupEgressArgs) ToSecurityGroupEgressOutputWithContext(ctx context.Context) SecurityGroupEgressOutput { + return pulumi.ToOutputWithContext(ctx, i).(SecurityGroupEgressOutput) +} + +// SecurityGroupEgressArrayInput is an input type that accepts SecurityGroupEgressArray and SecurityGroupEgressArrayOutput values. +// You can construct a concrete instance of `SecurityGroupEgressArrayInput` via: +// +// SecurityGroupEgressArray{ SecurityGroupEgressArgs{...} } +type SecurityGroupEgressArrayInput interface { + pulumi.Input + + ToSecurityGroupEgressArrayOutput() SecurityGroupEgressArrayOutput + ToSecurityGroupEgressArrayOutputWithContext(context.Context) SecurityGroupEgressArrayOutput +} + +type SecurityGroupEgressArray []SecurityGroupEgressInput + +func (SecurityGroupEgressArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]SecurityGroupEgress)(nil)).Elem() +} + +func (i SecurityGroupEgressArray) ToSecurityGroupEgressArrayOutput() SecurityGroupEgressArrayOutput { + return i.ToSecurityGroupEgressArrayOutputWithContext(context.Background()) +} + +func (i SecurityGroupEgressArray) ToSecurityGroupEgressArrayOutputWithContext(ctx context.Context) SecurityGroupEgressArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(SecurityGroupEgressArrayOutput) +} + +type SecurityGroupEgressOutput struct{ *pulumi.OutputState } + +func (SecurityGroupEgressOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SecurityGroupEgress)(nil)).Elem() +} + +func (o SecurityGroupEgressOutput) ToSecurityGroupEgressOutput() SecurityGroupEgressOutput { + return o +} + +func (o SecurityGroupEgressOutput) ToSecurityGroupEgressOutputWithContext(ctx context.Context) SecurityGroupEgressOutput { + return o +} + +// List of CIDR blocks. +func (o SecurityGroupEgressOutput) CidrBlocks() pulumi.StringArrayOutput { + return o.ApplyT(func(v SecurityGroupEgress) []string { return v.CidrBlocks }).(pulumi.StringArrayOutput) +} + +// Description of this egress rule. +func (o SecurityGroupEgressOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v SecurityGroupEgress) *string { return v.Description }).(pulumi.StringPtrOutput) +} + +// Start port (or ICMP type number if protocol is `icmp`) +func (o SecurityGroupEgressOutput) FromPort() pulumi.IntOutput { + return o.ApplyT(func(v SecurityGroupEgress) int { return v.FromPort }).(pulumi.IntOutput) +} + +// List of IPv6 CIDR blocks. +func (o SecurityGroupEgressOutput) Ipv6CidrBlocks() pulumi.StringArrayOutput { + return o.ApplyT(func(v SecurityGroupEgress) []string { return v.Ipv6CidrBlocks }).(pulumi.StringArrayOutput) +} + +// List of Prefix List IDs. +func (o SecurityGroupEgressOutput) PrefixListIds() pulumi.StringArrayOutput { + return o.ApplyT(func(v SecurityGroupEgress) []string { return v.PrefixListIds }).(pulumi.StringArrayOutput) +} + +// Protocol. If you select a protocol of `-1` (semantically equivalent to `all`, which is not a valid value here), you must specify a `fromPort` and `toPort` equal to 0. The supported values are defined in the `IpProtocol` argument in the [IpPermission](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_IpPermission.html) API reference. +func (o SecurityGroupEgressOutput) Protocol() pulumi.StringOutput { + return o.ApplyT(func(v SecurityGroupEgress) string { return v.Protocol }).(pulumi.StringOutput) +} + +// List of security groups. A group name can be used relative to the default VPC. Otherwise, group ID. +func (o SecurityGroupEgressOutput) SecurityGroups() pulumi.StringArrayOutput { + return o.ApplyT(func(v SecurityGroupEgress) []string { return v.SecurityGroups }).(pulumi.StringArrayOutput) +} + +// Whether the security group itself will be added as a source to this egress rule. +func (o SecurityGroupEgressOutput) Self() pulumi.BoolPtrOutput { + return o.ApplyT(func(v SecurityGroupEgress) *bool { return v.Self }).(pulumi.BoolPtrOutput) +} + +// End range port (or ICMP code if protocol is `icmp`). +// +// The following arguments are optional: +// +// > **Note** Although `cidrBlocks`, `ipv6CidrBlocks`, `prefixListIds`, and `securityGroups` are all marked as optional, you _must_ provide one of them in order to configure the destination of the traffic. +func (o SecurityGroupEgressOutput) ToPort() pulumi.IntOutput { + return o.ApplyT(func(v SecurityGroupEgress) int { return v.ToPort }).(pulumi.IntOutput) +} + +type SecurityGroupEgressArrayOutput struct{ *pulumi.OutputState } + +func (SecurityGroupEgressArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]SecurityGroupEgress)(nil)).Elem() +} + +func (o SecurityGroupEgressArrayOutput) ToSecurityGroupEgressArrayOutput() SecurityGroupEgressArrayOutput { + return o +} + +func (o SecurityGroupEgressArrayOutput) ToSecurityGroupEgressArrayOutputWithContext(ctx context.Context) SecurityGroupEgressArrayOutput { + return o +} + +func (o SecurityGroupEgressArrayOutput) Index(i pulumi.IntInput) SecurityGroupEgressOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) SecurityGroupEgress { + return vs[0].([]SecurityGroupEgress)[vs[1].(int)] + }).(SecurityGroupEgressOutput) +} + +type SecurityGroupIngress struct { + // List of CIDR blocks. + CidrBlocks []string `pulumi:"cidrBlocks"` + // Description of this ingress rule. + Description *string `pulumi:"description"` + // Start port (or ICMP type number if protocol is `icmp` or `icmpv6`). + FromPort int `pulumi:"fromPort"` + // List of IPv6 CIDR blocks. + Ipv6CidrBlocks []string `pulumi:"ipv6CidrBlocks"` + // List of Prefix List IDs. + PrefixListIds []string `pulumi:"prefixListIds"` + // Protocol. If you select a protocol of `-1` (semantically equivalent to `all`, which is not a valid value here), you must specify a `fromPort` and `toPort` equal to 0. The supported values are defined in the `IpProtocol` argument on the [IpPermission](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_IpPermission.html) API reference. + // + // The following arguments are optional: + // + // > **Note** Although `cidrBlocks`, `ipv6CidrBlocks`, `prefixListIds`, and `securityGroups` are all marked as optional, you _must_ provide one of them in order to configure the source of the traffic. + Protocol string `pulumi:"protocol"` + // List of security groups. A group name can be used relative to the default VPC. Otherwise, group ID. + SecurityGroups []string `pulumi:"securityGroups"` + // Whether the security group itself will be added as a source to this ingress rule. + Self *bool `pulumi:"self"` + // End range port (or ICMP code if protocol is `icmp`). + ToPort int `pulumi:"toPort"` +} + +// SecurityGroupIngressInput is an input type that accepts SecurityGroupIngressArgs and SecurityGroupIngressOutput values. +// You can construct a concrete instance of `SecurityGroupIngressInput` via: +// +// SecurityGroupIngressArgs{...} +type SecurityGroupIngressInput interface { + pulumi.Input + + ToSecurityGroupIngressOutput() SecurityGroupIngressOutput + ToSecurityGroupIngressOutputWithContext(context.Context) SecurityGroupIngressOutput +} + +type SecurityGroupIngressArgs struct { + // List of CIDR blocks. + CidrBlocks pulumi.StringArrayInput `pulumi:"cidrBlocks"` + // Description of this ingress rule. + Description pulumi.StringPtrInput `pulumi:"description"` + // Start port (or ICMP type number if protocol is `icmp` or `icmpv6`). + FromPort pulumi.IntInput `pulumi:"fromPort"` + // List of IPv6 CIDR blocks. + Ipv6CidrBlocks pulumi.StringArrayInput `pulumi:"ipv6CidrBlocks"` + // List of Prefix List IDs. + PrefixListIds pulumi.StringArrayInput `pulumi:"prefixListIds"` + // Protocol. If you select a protocol of `-1` (semantically equivalent to `all`, which is not a valid value here), you must specify a `fromPort` and `toPort` equal to 0. The supported values are defined in the `IpProtocol` argument on the [IpPermission](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_IpPermission.html) API reference. + // + // The following arguments are optional: + // + // > **Note** Although `cidrBlocks`, `ipv6CidrBlocks`, `prefixListIds`, and `securityGroups` are all marked as optional, you _must_ provide one of them in order to configure the source of the traffic. + Protocol pulumi.StringInput `pulumi:"protocol"` + // List of security groups. A group name can be used relative to the default VPC. Otherwise, group ID. + SecurityGroups pulumi.StringArrayInput `pulumi:"securityGroups"` + // Whether the security group itself will be added as a source to this ingress rule. + Self pulumi.BoolPtrInput `pulumi:"self"` + // End range port (or ICMP code if protocol is `icmp`). + ToPort pulumi.IntInput `pulumi:"toPort"` +} + +func (SecurityGroupIngressArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SecurityGroupIngress)(nil)).Elem() +} + +func (i SecurityGroupIngressArgs) ToSecurityGroupIngressOutput() SecurityGroupIngressOutput { + return i.ToSecurityGroupIngressOutputWithContext(context.Background()) +} + +func (i SecurityGroupIngressArgs) ToSecurityGroupIngressOutputWithContext(ctx context.Context) SecurityGroupIngressOutput { + return pulumi.ToOutputWithContext(ctx, i).(SecurityGroupIngressOutput) +} + +// SecurityGroupIngressArrayInput is an input type that accepts SecurityGroupIngressArray and SecurityGroupIngressArrayOutput values. +// You can construct a concrete instance of `SecurityGroupIngressArrayInput` via: +// +// SecurityGroupIngressArray{ SecurityGroupIngressArgs{...} } +type SecurityGroupIngressArrayInput interface { + pulumi.Input + + ToSecurityGroupIngressArrayOutput() SecurityGroupIngressArrayOutput + ToSecurityGroupIngressArrayOutputWithContext(context.Context) SecurityGroupIngressArrayOutput +} + +type SecurityGroupIngressArray []SecurityGroupIngressInput + +func (SecurityGroupIngressArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]SecurityGroupIngress)(nil)).Elem() +} + +func (i SecurityGroupIngressArray) ToSecurityGroupIngressArrayOutput() SecurityGroupIngressArrayOutput { + return i.ToSecurityGroupIngressArrayOutputWithContext(context.Background()) +} + +func (i SecurityGroupIngressArray) ToSecurityGroupIngressArrayOutputWithContext(ctx context.Context) SecurityGroupIngressArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(SecurityGroupIngressArrayOutput) +} + +type SecurityGroupIngressOutput struct{ *pulumi.OutputState } + +func (SecurityGroupIngressOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SecurityGroupIngress)(nil)).Elem() +} + +func (o SecurityGroupIngressOutput) ToSecurityGroupIngressOutput() SecurityGroupIngressOutput { + return o +} + +func (o SecurityGroupIngressOutput) ToSecurityGroupIngressOutputWithContext(ctx context.Context) SecurityGroupIngressOutput { + return o +} + +// List of CIDR blocks. +func (o SecurityGroupIngressOutput) CidrBlocks() pulumi.StringArrayOutput { + return o.ApplyT(func(v SecurityGroupIngress) []string { return v.CidrBlocks }).(pulumi.StringArrayOutput) +} + +// Description of this ingress rule. +func (o SecurityGroupIngressOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v SecurityGroupIngress) *string { return v.Description }).(pulumi.StringPtrOutput) +} + +// Start port (or ICMP type number if protocol is `icmp` or `icmpv6`). +func (o SecurityGroupIngressOutput) FromPort() pulumi.IntOutput { + return o.ApplyT(func(v SecurityGroupIngress) int { return v.FromPort }).(pulumi.IntOutput) +} + +// List of IPv6 CIDR blocks. +func (o SecurityGroupIngressOutput) Ipv6CidrBlocks() pulumi.StringArrayOutput { + return o.ApplyT(func(v SecurityGroupIngress) []string { return v.Ipv6CidrBlocks }).(pulumi.StringArrayOutput) +} + +// List of Prefix List IDs. +func (o SecurityGroupIngressOutput) PrefixListIds() pulumi.StringArrayOutput { + return o.ApplyT(func(v SecurityGroupIngress) []string { return v.PrefixListIds }).(pulumi.StringArrayOutput) +} + +// Protocol. If you select a protocol of `-1` (semantically equivalent to `all`, which is not a valid value here), you must specify a `fromPort` and `toPort` equal to 0. The supported values are defined in the `IpProtocol` argument on the [IpPermission](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_IpPermission.html) API reference. +// +// The following arguments are optional: +// +// > **Note** Although `cidrBlocks`, `ipv6CidrBlocks`, `prefixListIds`, and `securityGroups` are all marked as optional, you _must_ provide one of them in order to configure the source of the traffic. +func (o SecurityGroupIngressOutput) Protocol() pulumi.StringOutput { + return o.ApplyT(func(v SecurityGroupIngress) string { return v.Protocol }).(pulumi.StringOutput) +} + +// List of security groups. A group name can be used relative to the default VPC. Otherwise, group ID. +func (o SecurityGroupIngressOutput) SecurityGroups() pulumi.StringArrayOutput { + return o.ApplyT(func(v SecurityGroupIngress) []string { return v.SecurityGroups }).(pulumi.StringArrayOutput) +} + +// Whether the security group itself will be added as a source to this ingress rule. +func (o SecurityGroupIngressOutput) Self() pulumi.BoolPtrOutput { + return o.ApplyT(func(v SecurityGroupIngress) *bool { return v.Self }).(pulumi.BoolPtrOutput) +} + +// End range port (or ICMP code if protocol is `icmp`). +func (o SecurityGroupIngressOutput) ToPort() pulumi.IntOutput { + return o.ApplyT(func(v SecurityGroupIngress) int { return v.ToPort }).(pulumi.IntOutput) +} + +type SecurityGroupIngressArrayOutput struct{ *pulumi.OutputState } + +func (SecurityGroupIngressArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]SecurityGroupIngress)(nil)).Elem() +} + +func (o SecurityGroupIngressArrayOutput) ToSecurityGroupIngressArrayOutput() SecurityGroupIngressArrayOutput { + return o +} + +func (o SecurityGroupIngressArrayOutput) ToSecurityGroupIngressArrayOutputWithContext(ctx context.Context) SecurityGroupIngressArrayOutput { + return o +} + +func (o SecurityGroupIngressArrayOutput) Index(i pulumi.IntInput) SecurityGroupIngressOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) SecurityGroupIngress { + return vs[0].([]SecurityGroupIngress)[vs[1].(int)] + }).(SecurityGroupIngressOutput) +} + +type SpotFleetRequestLaunchSpecification struct { + Ami string `pulumi:"ami"` + AssociatePublicIpAddress *bool `pulumi:"associatePublicIpAddress"` + // The availability zone in which to place the request. + AvailabilityZone *string `pulumi:"availabilityZone"` + EbsBlockDevices []SpotFleetRequestLaunchSpecificationEbsBlockDevice `pulumi:"ebsBlockDevices"` + EbsOptimized *bool `pulumi:"ebsOptimized"` + EphemeralBlockDevices []SpotFleetRequestLaunchSpecificationEphemeralBlockDevice `pulumi:"ephemeralBlockDevices"` + IamInstanceProfile *string `pulumi:"iamInstanceProfile"` + IamInstanceProfileArn *string `pulumi:"iamInstanceProfileArn"` + // The type of instance to request. + InstanceType string `pulumi:"instanceType"` + KeyName *string `pulumi:"keyName"` + Monitoring *bool `pulumi:"monitoring"` + PlacementGroup *string `pulumi:"placementGroup"` + PlacementTenancy *string `pulumi:"placementTenancy"` + RootBlockDevices []SpotFleetRequestLaunchSpecificationRootBlockDevice `pulumi:"rootBlockDevices"` + // The maximum bid price per unit hour. + SpotPrice *string `pulumi:"spotPrice"` + // The subnet in which to launch the requested instance. + SubnetId *string `pulumi:"subnetId"` + // A map of tags to assign to the resource. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + Tags map[string]string `pulumi:"tags"` + UserData *string `pulumi:"userData"` + VpcSecurityGroupIds []string `pulumi:"vpcSecurityGroupIds"` + // The capacity added to the fleet by a fulfilled request. + WeightedCapacity *string `pulumi:"weightedCapacity"` +} + +// SpotFleetRequestLaunchSpecificationInput is an input type that accepts SpotFleetRequestLaunchSpecificationArgs and SpotFleetRequestLaunchSpecificationOutput values. +// You can construct a concrete instance of `SpotFleetRequestLaunchSpecificationInput` via: +// +// SpotFleetRequestLaunchSpecificationArgs{...} +type SpotFleetRequestLaunchSpecificationInput interface { + pulumi.Input + + ToSpotFleetRequestLaunchSpecificationOutput() SpotFleetRequestLaunchSpecificationOutput + ToSpotFleetRequestLaunchSpecificationOutputWithContext(context.Context) SpotFleetRequestLaunchSpecificationOutput +} + +type SpotFleetRequestLaunchSpecificationArgs struct { + Ami pulumi.StringInput `pulumi:"ami"` + AssociatePublicIpAddress pulumi.BoolPtrInput `pulumi:"associatePublicIpAddress"` + // The availability zone in which to place the request. + AvailabilityZone pulumi.StringPtrInput `pulumi:"availabilityZone"` + EbsBlockDevices SpotFleetRequestLaunchSpecificationEbsBlockDeviceArrayInput `pulumi:"ebsBlockDevices"` + EbsOptimized pulumi.BoolPtrInput `pulumi:"ebsOptimized"` + EphemeralBlockDevices SpotFleetRequestLaunchSpecificationEphemeralBlockDeviceArrayInput `pulumi:"ephemeralBlockDevices"` + IamInstanceProfile pulumi.StringPtrInput `pulumi:"iamInstanceProfile"` + IamInstanceProfileArn pulumi.StringPtrInput `pulumi:"iamInstanceProfileArn"` + // The type of instance to request. + InstanceType pulumi.StringInput `pulumi:"instanceType"` + KeyName pulumi.StringPtrInput `pulumi:"keyName"` + Monitoring pulumi.BoolPtrInput `pulumi:"monitoring"` + PlacementGroup pulumi.StringPtrInput `pulumi:"placementGroup"` + PlacementTenancy pulumi.StringPtrInput `pulumi:"placementTenancy"` + RootBlockDevices SpotFleetRequestLaunchSpecificationRootBlockDeviceArrayInput `pulumi:"rootBlockDevices"` + // The maximum bid price per unit hour. + SpotPrice pulumi.StringPtrInput `pulumi:"spotPrice"` + // The subnet in which to launch the requested instance. + SubnetId pulumi.StringPtrInput `pulumi:"subnetId"` + // A map of tags to assign to the resource. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + Tags pulumi.StringMapInput `pulumi:"tags"` + UserData pulumi.StringPtrInput `pulumi:"userData"` + VpcSecurityGroupIds pulumi.StringArrayInput `pulumi:"vpcSecurityGroupIds"` + // The capacity added to the fleet by a fulfilled request. + WeightedCapacity pulumi.StringPtrInput `pulumi:"weightedCapacity"` +} + +func (SpotFleetRequestLaunchSpecificationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SpotFleetRequestLaunchSpecification)(nil)).Elem() +} + +func (i SpotFleetRequestLaunchSpecificationArgs) ToSpotFleetRequestLaunchSpecificationOutput() SpotFleetRequestLaunchSpecificationOutput { + return i.ToSpotFleetRequestLaunchSpecificationOutputWithContext(context.Background()) +} + +func (i SpotFleetRequestLaunchSpecificationArgs) ToSpotFleetRequestLaunchSpecificationOutputWithContext(ctx context.Context) SpotFleetRequestLaunchSpecificationOutput { + return pulumi.ToOutputWithContext(ctx, i).(SpotFleetRequestLaunchSpecificationOutput) +} + +// SpotFleetRequestLaunchSpecificationArrayInput is an input type that accepts SpotFleetRequestLaunchSpecificationArray and SpotFleetRequestLaunchSpecificationArrayOutput values. +// You can construct a concrete instance of `SpotFleetRequestLaunchSpecificationArrayInput` via: +// +// SpotFleetRequestLaunchSpecificationArray{ SpotFleetRequestLaunchSpecificationArgs{...} } +type SpotFleetRequestLaunchSpecificationArrayInput interface { + pulumi.Input + + ToSpotFleetRequestLaunchSpecificationArrayOutput() SpotFleetRequestLaunchSpecificationArrayOutput + ToSpotFleetRequestLaunchSpecificationArrayOutputWithContext(context.Context) SpotFleetRequestLaunchSpecificationArrayOutput +} + +type SpotFleetRequestLaunchSpecificationArray []SpotFleetRequestLaunchSpecificationInput + +func (SpotFleetRequestLaunchSpecificationArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]SpotFleetRequestLaunchSpecification)(nil)).Elem() +} + +func (i SpotFleetRequestLaunchSpecificationArray) ToSpotFleetRequestLaunchSpecificationArrayOutput() SpotFleetRequestLaunchSpecificationArrayOutput { + return i.ToSpotFleetRequestLaunchSpecificationArrayOutputWithContext(context.Background()) +} + +func (i SpotFleetRequestLaunchSpecificationArray) ToSpotFleetRequestLaunchSpecificationArrayOutputWithContext(ctx context.Context) SpotFleetRequestLaunchSpecificationArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(SpotFleetRequestLaunchSpecificationArrayOutput) +} + +type SpotFleetRequestLaunchSpecificationOutput struct{ *pulumi.OutputState } + +func (SpotFleetRequestLaunchSpecificationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SpotFleetRequestLaunchSpecification)(nil)).Elem() +} + +func (o SpotFleetRequestLaunchSpecificationOutput) ToSpotFleetRequestLaunchSpecificationOutput() SpotFleetRequestLaunchSpecificationOutput { + return o +} + +func (o SpotFleetRequestLaunchSpecificationOutput) ToSpotFleetRequestLaunchSpecificationOutputWithContext(ctx context.Context) SpotFleetRequestLaunchSpecificationOutput { + return o +} + +func (o SpotFleetRequestLaunchSpecificationOutput) Ami() pulumi.StringOutput { + return o.ApplyT(func(v SpotFleetRequestLaunchSpecification) string { return v.Ami }).(pulumi.StringOutput) +} + +func (o SpotFleetRequestLaunchSpecificationOutput) AssociatePublicIpAddress() pulumi.BoolPtrOutput { + return o.ApplyT(func(v SpotFleetRequestLaunchSpecification) *bool { return v.AssociatePublicIpAddress }).(pulumi.BoolPtrOutput) +} + +// The availability zone in which to place the request. +func (o SpotFleetRequestLaunchSpecificationOutput) AvailabilityZone() pulumi.StringPtrOutput { + return o.ApplyT(func(v SpotFleetRequestLaunchSpecification) *string { return v.AvailabilityZone }).(pulumi.StringPtrOutput) +} + +func (o SpotFleetRequestLaunchSpecificationOutput) EbsBlockDevices() SpotFleetRequestLaunchSpecificationEbsBlockDeviceArrayOutput { + return o.ApplyT(func(v SpotFleetRequestLaunchSpecification) []SpotFleetRequestLaunchSpecificationEbsBlockDevice { + return v.EbsBlockDevices + }).(SpotFleetRequestLaunchSpecificationEbsBlockDeviceArrayOutput) +} + +func (o SpotFleetRequestLaunchSpecificationOutput) EbsOptimized() pulumi.BoolPtrOutput { + return o.ApplyT(func(v SpotFleetRequestLaunchSpecification) *bool { return v.EbsOptimized }).(pulumi.BoolPtrOutput) +} + +func (o SpotFleetRequestLaunchSpecificationOutput) EphemeralBlockDevices() SpotFleetRequestLaunchSpecificationEphemeralBlockDeviceArrayOutput { + return o.ApplyT(func(v SpotFleetRequestLaunchSpecification) []SpotFleetRequestLaunchSpecificationEphemeralBlockDevice { + return v.EphemeralBlockDevices + }).(SpotFleetRequestLaunchSpecificationEphemeralBlockDeviceArrayOutput) +} + +func (o SpotFleetRequestLaunchSpecificationOutput) IamInstanceProfile() pulumi.StringPtrOutput { + return o.ApplyT(func(v SpotFleetRequestLaunchSpecification) *string { return v.IamInstanceProfile }).(pulumi.StringPtrOutput) +} + +func (o SpotFleetRequestLaunchSpecificationOutput) IamInstanceProfileArn() pulumi.StringPtrOutput { + return o.ApplyT(func(v SpotFleetRequestLaunchSpecification) *string { return v.IamInstanceProfileArn }).(pulumi.StringPtrOutput) +} + +// The type of instance to request. +func (o SpotFleetRequestLaunchSpecificationOutput) InstanceType() pulumi.StringOutput { + return o.ApplyT(func(v SpotFleetRequestLaunchSpecification) string { return v.InstanceType }).(pulumi.StringOutput) +} + +func (o SpotFleetRequestLaunchSpecificationOutput) KeyName() pulumi.StringPtrOutput { + return o.ApplyT(func(v SpotFleetRequestLaunchSpecification) *string { return v.KeyName }).(pulumi.StringPtrOutput) +} + +func (o SpotFleetRequestLaunchSpecificationOutput) Monitoring() pulumi.BoolPtrOutput { + return o.ApplyT(func(v SpotFleetRequestLaunchSpecification) *bool { return v.Monitoring }).(pulumi.BoolPtrOutput) +} + +func (o SpotFleetRequestLaunchSpecificationOutput) PlacementGroup() pulumi.StringPtrOutput { + return o.ApplyT(func(v SpotFleetRequestLaunchSpecification) *string { return v.PlacementGroup }).(pulumi.StringPtrOutput) +} + +func (o SpotFleetRequestLaunchSpecificationOutput) PlacementTenancy() pulumi.StringPtrOutput { + return o.ApplyT(func(v SpotFleetRequestLaunchSpecification) *string { return v.PlacementTenancy }).(pulumi.StringPtrOutput) +} + +func (o SpotFleetRequestLaunchSpecificationOutput) RootBlockDevices() SpotFleetRequestLaunchSpecificationRootBlockDeviceArrayOutput { + return o.ApplyT(func(v SpotFleetRequestLaunchSpecification) []SpotFleetRequestLaunchSpecificationRootBlockDevice { + return v.RootBlockDevices + }).(SpotFleetRequestLaunchSpecificationRootBlockDeviceArrayOutput) +} + +// The maximum bid price per unit hour. +func (o SpotFleetRequestLaunchSpecificationOutput) SpotPrice() pulumi.StringPtrOutput { + return o.ApplyT(func(v SpotFleetRequestLaunchSpecification) *string { return v.SpotPrice }).(pulumi.StringPtrOutput) +} + +// The subnet in which to launch the requested instance. +func (o SpotFleetRequestLaunchSpecificationOutput) SubnetId() pulumi.StringPtrOutput { + return o.ApplyT(func(v SpotFleetRequestLaunchSpecification) *string { return v.SubnetId }).(pulumi.StringPtrOutput) +} + +// A map of tags to assign to the resource. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. +func (o SpotFleetRequestLaunchSpecificationOutput) Tags() pulumi.StringMapOutput { + return o.ApplyT(func(v SpotFleetRequestLaunchSpecification) map[string]string { return v.Tags }).(pulumi.StringMapOutput) +} + +func (o SpotFleetRequestLaunchSpecificationOutput) UserData() pulumi.StringPtrOutput { + return o.ApplyT(func(v SpotFleetRequestLaunchSpecification) *string { return v.UserData }).(pulumi.StringPtrOutput) +} + +func (o SpotFleetRequestLaunchSpecificationOutput) VpcSecurityGroupIds() pulumi.StringArrayOutput { + return o.ApplyT(func(v SpotFleetRequestLaunchSpecification) []string { return v.VpcSecurityGroupIds }).(pulumi.StringArrayOutput) +} + +// The capacity added to the fleet by a fulfilled request. +func (o SpotFleetRequestLaunchSpecificationOutput) WeightedCapacity() pulumi.StringPtrOutput { + return o.ApplyT(func(v SpotFleetRequestLaunchSpecification) *string { return v.WeightedCapacity }).(pulumi.StringPtrOutput) +} + +type SpotFleetRequestLaunchSpecificationArrayOutput struct{ *pulumi.OutputState } + +func (SpotFleetRequestLaunchSpecificationArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]SpotFleetRequestLaunchSpecification)(nil)).Elem() +} + +func (o SpotFleetRequestLaunchSpecificationArrayOutput) ToSpotFleetRequestLaunchSpecificationArrayOutput() SpotFleetRequestLaunchSpecificationArrayOutput { + return o +} + +func (o SpotFleetRequestLaunchSpecificationArrayOutput) ToSpotFleetRequestLaunchSpecificationArrayOutputWithContext(ctx context.Context) SpotFleetRequestLaunchSpecificationArrayOutput { + return o +} + +func (o SpotFleetRequestLaunchSpecificationArrayOutput) Index(i pulumi.IntInput) SpotFleetRequestLaunchSpecificationOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) SpotFleetRequestLaunchSpecification { + return vs[0].([]SpotFleetRequestLaunchSpecification)[vs[1].(int)] + }).(SpotFleetRequestLaunchSpecificationOutput) +} + +type SpotFleetRequestLaunchSpecificationEbsBlockDevice struct { + DeleteOnTermination *bool `pulumi:"deleteOnTermination"` + DeviceName string `pulumi:"deviceName"` + Encrypted *bool `pulumi:"encrypted"` + Iops *int `pulumi:"iops"` + KmsKeyId *string `pulumi:"kmsKeyId"` + SnapshotId *string `pulumi:"snapshotId"` + Throughput *int `pulumi:"throughput"` + VolumeSize *int `pulumi:"volumeSize"` + VolumeType *string `pulumi:"volumeType"` +} + +// SpotFleetRequestLaunchSpecificationEbsBlockDeviceInput is an input type that accepts SpotFleetRequestLaunchSpecificationEbsBlockDeviceArgs and SpotFleetRequestLaunchSpecificationEbsBlockDeviceOutput values. +// You can construct a concrete instance of `SpotFleetRequestLaunchSpecificationEbsBlockDeviceInput` via: +// +// SpotFleetRequestLaunchSpecificationEbsBlockDeviceArgs{...} +type SpotFleetRequestLaunchSpecificationEbsBlockDeviceInput interface { + pulumi.Input + + ToSpotFleetRequestLaunchSpecificationEbsBlockDeviceOutput() SpotFleetRequestLaunchSpecificationEbsBlockDeviceOutput + ToSpotFleetRequestLaunchSpecificationEbsBlockDeviceOutputWithContext(context.Context) SpotFleetRequestLaunchSpecificationEbsBlockDeviceOutput +} + +type SpotFleetRequestLaunchSpecificationEbsBlockDeviceArgs struct { + DeleteOnTermination pulumi.BoolPtrInput `pulumi:"deleteOnTermination"` + DeviceName pulumi.StringInput `pulumi:"deviceName"` + Encrypted pulumi.BoolPtrInput `pulumi:"encrypted"` + Iops pulumi.IntPtrInput `pulumi:"iops"` + KmsKeyId pulumi.StringPtrInput `pulumi:"kmsKeyId"` + SnapshotId pulumi.StringPtrInput `pulumi:"snapshotId"` + Throughput pulumi.IntPtrInput `pulumi:"throughput"` + VolumeSize pulumi.IntPtrInput `pulumi:"volumeSize"` + VolumeType pulumi.StringPtrInput `pulumi:"volumeType"` +} + +func (SpotFleetRequestLaunchSpecificationEbsBlockDeviceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SpotFleetRequestLaunchSpecificationEbsBlockDevice)(nil)).Elem() +} + +func (i SpotFleetRequestLaunchSpecificationEbsBlockDeviceArgs) ToSpotFleetRequestLaunchSpecificationEbsBlockDeviceOutput() SpotFleetRequestLaunchSpecificationEbsBlockDeviceOutput { + return i.ToSpotFleetRequestLaunchSpecificationEbsBlockDeviceOutputWithContext(context.Background()) +} + +func (i SpotFleetRequestLaunchSpecificationEbsBlockDeviceArgs) ToSpotFleetRequestLaunchSpecificationEbsBlockDeviceOutputWithContext(ctx context.Context) SpotFleetRequestLaunchSpecificationEbsBlockDeviceOutput { + return pulumi.ToOutputWithContext(ctx, i).(SpotFleetRequestLaunchSpecificationEbsBlockDeviceOutput) +} + +// SpotFleetRequestLaunchSpecificationEbsBlockDeviceArrayInput is an input type that accepts SpotFleetRequestLaunchSpecificationEbsBlockDeviceArray and SpotFleetRequestLaunchSpecificationEbsBlockDeviceArrayOutput values. +// You can construct a concrete instance of `SpotFleetRequestLaunchSpecificationEbsBlockDeviceArrayInput` via: +// +// SpotFleetRequestLaunchSpecificationEbsBlockDeviceArray{ SpotFleetRequestLaunchSpecificationEbsBlockDeviceArgs{...} } +type SpotFleetRequestLaunchSpecificationEbsBlockDeviceArrayInput interface { + pulumi.Input + + ToSpotFleetRequestLaunchSpecificationEbsBlockDeviceArrayOutput() SpotFleetRequestLaunchSpecificationEbsBlockDeviceArrayOutput + ToSpotFleetRequestLaunchSpecificationEbsBlockDeviceArrayOutputWithContext(context.Context) SpotFleetRequestLaunchSpecificationEbsBlockDeviceArrayOutput +} + +type SpotFleetRequestLaunchSpecificationEbsBlockDeviceArray []SpotFleetRequestLaunchSpecificationEbsBlockDeviceInput + +func (SpotFleetRequestLaunchSpecificationEbsBlockDeviceArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]SpotFleetRequestLaunchSpecificationEbsBlockDevice)(nil)).Elem() +} + +func (i SpotFleetRequestLaunchSpecificationEbsBlockDeviceArray) ToSpotFleetRequestLaunchSpecificationEbsBlockDeviceArrayOutput() SpotFleetRequestLaunchSpecificationEbsBlockDeviceArrayOutput { + return i.ToSpotFleetRequestLaunchSpecificationEbsBlockDeviceArrayOutputWithContext(context.Background()) +} + +func (i SpotFleetRequestLaunchSpecificationEbsBlockDeviceArray) ToSpotFleetRequestLaunchSpecificationEbsBlockDeviceArrayOutputWithContext(ctx context.Context) SpotFleetRequestLaunchSpecificationEbsBlockDeviceArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(SpotFleetRequestLaunchSpecificationEbsBlockDeviceArrayOutput) +} + +type SpotFleetRequestLaunchSpecificationEbsBlockDeviceOutput struct{ *pulumi.OutputState } + +func (SpotFleetRequestLaunchSpecificationEbsBlockDeviceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SpotFleetRequestLaunchSpecificationEbsBlockDevice)(nil)).Elem() +} + +func (o SpotFleetRequestLaunchSpecificationEbsBlockDeviceOutput) ToSpotFleetRequestLaunchSpecificationEbsBlockDeviceOutput() SpotFleetRequestLaunchSpecificationEbsBlockDeviceOutput { + return o +} + +func (o SpotFleetRequestLaunchSpecificationEbsBlockDeviceOutput) ToSpotFleetRequestLaunchSpecificationEbsBlockDeviceOutputWithContext(ctx context.Context) SpotFleetRequestLaunchSpecificationEbsBlockDeviceOutput { + return o +} + +func (o SpotFleetRequestLaunchSpecificationEbsBlockDeviceOutput) DeleteOnTermination() pulumi.BoolPtrOutput { + return o.ApplyT(func(v SpotFleetRequestLaunchSpecificationEbsBlockDevice) *bool { return v.DeleteOnTermination }).(pulumi.BoolPtrOutput) +} + +func (o SpotFleetRequestLaunchSpecificationEbsBlockDeviceOutput) DeviceName() pulumi.StringOutput { + return o.ApplyT(func(v SpotFleetRequestLaunchSpecificationEbsBlockDevice) string { return v.DeviceName }).(pulumi.StringOutput) +} + +func (o SpotFleetRequestLaunchSpecificationEbsBlockDeviceOutput) Encrypted() pulumi.BoolPtrOutput { + return o.ApplyT(func(v SpotFleetRequestLaunchSpecificationEbsBlockDevice) *bool { return v.Encrypted }).(pulumi.BoolPtrOutput) +} + +func (o SpotFleetRequestLaunchSpecificationEbsBlockDeviceOutput) Iops() pulumi.IntPtrOutput { + return o.ApplyT(func(v SpotFleetRequestLaunchSpecificationEbsBlockDevice) *int { return v.Iops }).(pulumi.IntPtrOutput) +} + +func (o SpotFleetRequestLaunchSpecificationEbsBlockDeviceOutput) KmsKeyId() pulumi.StringPtrOutput { + return o.ApplyT(func(v SpotFleetRequestLaunchSpecificationEbsBlockDevice) *string { return v.KmsKeyId }).(pulumi.StringPtrOutput) +} + +func (o SpotFleetRequestLaunchSpecificationEbsBlockDeviceOutput) SnapshotId() pulumi.StringPtrOutput { + return o.ApplyT(func(v SpotFleetRequestLaunchSpecificationEbsBlockDevice) *string { return v.SnapshotId }).(pulumi.StringPtrOutput) +} + +func (o SpotFleetRequestLaunchSpecificationEbsBlockDeviceOutput) Throughput() pulumi.IntPtrOutput { + return o.ApplyT(func(v SpotFleetRequestLaunchSpecificationEbsBlockDevice) *int { return v.Throughput }).(pulumi.IntPtrOutput) +} + +func (o SpotFleetRequestLaunchSpecificationEbsBlockDeviceOutput) VolumeSize() pulumi.IntPtrOutput { + return o.ApplyT(func(v SpotFleetRequestLaunchSpecificationEbsBlockDevice) *int { return v.VolumeSize }).(pulumi.IntPtrOutput) +} + +func (o SpotFleetRequestLaunchSpecificationEbsBlockDeviceOutput) VolumeType() pulumi.StringPtrOutput { + return o.ApplyT(func(v SpotFleetRequestLaunchSpecificationEbsBlockDevice) *string { return v.VolumeType }).(pulumi.StringPtrOutput) +} + +type SpotFleetRequestLaunchSpecificationEbsBlockDeviceArrayOutput struct{ *pulumi.OutputState } + +func (SpotFleetRequestLaunchSpecificationEbsBlockDeviceArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]SpotFleetRequestLaunchSpecificationEbsBlockDevice)(nil)).Elem() +} + +func (o SpotFleetRequestLaunchSpecificationEbsBlockDeviceArrayOutput) ToSpotFleetRequestLaunchSpecificationEbsBlockDeviceArrayOutput() SpotFleetRequestLaunchSpecificationEbsBlockDeviceArrayOutput { + return o +} + +func (o SpotFleetRequestLaunchSpecificationEbsBlockDeviceArrayOutput) ToSpotFleetRequestLaunchSpecificationEbsBlockDeviceArrayOutputWithContext(ctx context.Context) SpotFleetRequestLaunchSpecificationEbsBlockDeviceArrayOutput { + return o +} + +func (o SpotFleetRequestLaunchSpecificationEbsBlockDeviceArrayOutput) Index(i pulumi.IntInput) SpotFleetRequestLaunchSpecificationEbsBlockDeviceOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) SpotFleetRequestLaunchSpecificationEbsBlockDevice { + return vs[0].([]SpotFleetRequestLaunchSpecificationEbsBlockDevice)[vs[1].(int)] + }).(SpotFleetRequestLaunchSpecificationEbsBlockDeviceOutput) +} + +type SpotFleetRequestLaunchSpecificationEphemeralBlockDevice struct { + DeviceName string `pulumi:"deviceName"` + VirtualName string `pulumi:"virtualName"` +} + +// SpotFleetRequestLaunchSpecificationEphemeralBlockDeviceInput is an input type that accepts SpotFleetRequestLaunchSpecificationEphemeralBlockDeviceArgs and SpotFleetRequestLaunchSpecificationEphemeralBlockDeviceOutput values. +// You can construct a concrete instance of `SpotFleetRequestLaunchSpecificationEphemeralBlockDeviceInput` via: +// +// SpotFleetRequestLaunchSpecificationEphemeralBlockDeviceArgs{...} +type SpotFleetRequestLaunchSpecificationEphemeralBlockDeviceInput interface { + pulumi.Input + + ToSpotFleetRequestLaunchSpecificationEphemeralBlockDeviceOutput() SpotFleetRequestLaunchSpecificationEphemeralBlockDeviceOutput + ToSpotFleetRequestLaunchSpecificationEphemeralBlockDeviceOutputWithContext(context.Context) SpotFleetRequestLaunchSpecificationEphemeralBlockDeviceOutput +} + +type SpotFleetRequestLaunchSpecificationEphemeralBlockDeviceArgs struct { + DeviceName pulumi.StringInput `pulumi:"deviceName"` + VirtualName pulumi.StringInput `pulumi:"virtualName"` +} + +func (SpotFleetRequestLaunchSpecificationEphemeralBlockDeviceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SpotFleetRequestLaunchSpecificationEphemeralBlockDevice)(nil)).Elem() +} + +func (i SpotFleetRequestLaunchSpecificationEphemeralBlockDeviceArgs) ToSpotFleetRequestLaunchSpecificationEphemeralBlockDeviceOutput() SpotFleetRequestLaunchSpecificationEphemeralBlockDeviceOutput { + return i.ToSpotFleetRequestLaunchSpecificationEphemeralBlockDeviceOutputWithContext(context.Background()) +} + +func (i SpotFleetRequestLaunchSpecificationEphemeralBlockDeviceArgs) ToSpotFleetRequestLaunchSpecificationEphemeralBlockDeviceOutputWithContext(ctx context.Context) SpotFleetRequestLaunchSpecificationEphemeralBlockDeviceOutput { + return pulumi.ToOutputWithContext(ctx, i).(SpotFleetRequestLaunchSpecificationEphemeralBlockDeviceOutput) +} + +// SpotFleetRequestLaunchSpecificationEphemeralBlockDeviceArrayInput is an input type that accepts SpotFleetRequestLaunchSpecificationEphemeralBlockDeviceArray and SpotFleetRequestLaunchSpecificationEphemeralBlockDeviceArrayOutput values. +// You can construct a concrete instance of `SpotFleetRequestLaunchSpecificationEphemeralBlockDeviceArrayInput` via: +// +// SpotFleetRequestLaunchSpecificationEphemeralBlockDeviceArray{ SpotFleetRequestLaunchSpecificationEphemeralBlockDeviceArgs{...} } +type SpotFleetRequestLaunchSpecificationEphemeralBlockDeviceArrayInput interface { + pulumi.Input + + ToSpotFleetRequestLaunchSpecificationEphemeralBlockDeviceArrayOutput() SpotFleetRequestLaunchSpecificationEphemeralBlockDeviceArrayOutput + ToSpotFleetRequestLaunchSpecificationEphemeralBlockDeviceArrayOutputWithContext(context.Context) SpotFleetRequestLaunchSpecificationEphemeralBlockDeviceArrayOutput +} + +type SpotFleetRequestLaunchSpecificationEphemeralBlockDeviceArray []SpotFleetRequestLaunchSpecificationEphemeralBlockDeviceInput + +func (SpotFleetRequestLaunchSpecificationEphemeralBlockDeviceArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]SpotFleetRequestLaunchSpecificationEphemeralBlockDevice)(nil)).Elem() +} + +func (i SpotFleetRequestLaunchSpecificationEphemeralBlockDeviceArray) ToSpotFleetRequestLaunchSpecificationEphemeralBlockDeviceArrayOutput() SpotFleetRequestLaunchSpecificationEphemeralBlockDeviceArrayOutput { + return i.ToSpotFleetRequestLaunchSpecificationEphemeralBlockDeviceArrayOutputWithContext(context.Background()) +} + +func (i SpotFleetRequestLaunchSpecificationEphemeralBlockDeviceArray) ToSpotFleetRequestLaunchSpecificationEphemeralBlockDeviceArrayOutputWithContext(ctx context.Context) SpotFleetRequestLaunchSpecificationEphemeralBlockDeviceArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(SpotFleetRequestLaunchSpecificationEphemeralBlockDeviceArrayOutput) +} + +type SpotFleetRequestLaunchSpecificationEphemeralBlockDeviceOutput struct{ *pulumi.OutputState } + +func (SpotFleetRequestLaunchSpecificationEphemeralBlockDeviceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SpotFleetRequestLaunchSpecificationEphemeralBlockDevice)(nil)).Elem() +} + +func (o SpotFleetRequestLaunchSpecificationEphemeralBlockDeviceOutput) ToSpotFleetRequestLaunchSpecificationEphemeralBlockDeviceOutput() SpotFleetRequestLaunchSpecificationEphemeralBlockDeviceOutput { + return o +} + +func (o SpotFleetRequestLaunchSpecificationEphemeralBlockDeviceOutput) ToSpotFleetRequestLaunchSpecificationEphemeralBlockDeviceOutputWithContext(ctx context.Context) SpotFleetRequestLaunchSpecificationEphemeralBlockDeviceOutput { + return o +} + +func (o SpotFleetRequestLaunchSpecificationEphemeralBlockDeviceOutput) DeviceName() pulumi.StringOutput { + return o.ApplyT(func(v SpotFleetRequestLaunchSpecificationEphemeralBlockDevice) string { return v.DeviceName }).(pulumi.StringOutput) +} + +func (o SpotFleetRequestLaunchSpecificationEphemeralBlockDeviceOutput) VirtualName() pulumi.StringOutput { + return o.ApplyT(func(v SpotFleetRequestLaunchSpecificationEphemeralBlockDevice) string { return v.VirtualName }).(pulumi.StringOutput) +} + +type SpotFleetRequestLaunchSpecificationEphemeralBlockDeviceArrayOutput struct{ *pulumi.OutputState } + +func (SpotFleetRequestLaunchSpecificationEphemeralBlockDeviceArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]SpotFleetRequestLaunchSpecificationEphemeralBlockDevice)(nil)).Elem() +} + +func (o SpotFleetRequestLaunchSpecificationEphemeralBlockDeviceArrayOutput) ToSpotFleetRequestLaunchSpecificationEphemeralBlockDeviceArrayOutput() SpotFleetRequestLaunchSpecificationEphemeralBlockDeviceArrayOutput { + return o +} + +func (o SpotFleetRequestLaunchSpecificationEphemeralBlockDeviceArrayOutput) ToSpotFleetRequestLaunchSpecificationEphemeralBlockDeviceArrayOutputWithContext(ctx context.Context) SpotFleetRequestLaunchSpecificationEphemeralBlockDeviceArrayOutput { + return o +} + +func (o SpotFleetRequestLaunchSpecificationEphemeralBlockDeviceArrayOutput) Index(i pulumi.IntInput) SpotFleetRequestLaunchSpecificationEphemeralBlockDeviceOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) SpotFleetRequestLaunchSpecificationEphemeralBlockDevice { + return vs[0].([]SpotFleetRequestLaunchSpecificationEphemeralBlockDevice)[vs[1].(int)] + }).(SpotFleetRequestLaunchSpecificationEphemeralBlockDeviceOutput) +} + +type SpotFleetRequestLaunchSpecificationRootBlockDevice struct { + DeleteOnTermination *bool `pulumi:"deleteOnTermination"` + Encrypted *bool `pulumi:"encrypted"` + Iops *int `pulumi:"iops"` + KmsKeyId *string `pulumi:"kmsKeyId"` + Throughput *int `pulumi:"throughput"` + VolumeSize *int `pulumi:"volumeSize"` + VolumeType *string `pulumi:"volumeType"` +} + +// SpotFleetRequestLaunchSpecificationRootBlockDeviceInput is an input type that accepts SpotFleetRequestLaunchSpecificationRootBlockDeviceArgs and SpotFleetRequestLaunchSpecificationRootBlockDeviceOutput values. +// You can construct a concrete instance of `SpotFleetRequestLaunchSpecificationRootBlockDeviceInput` via: +// +// SpotFleetRequestLaunchSpecificationRootBlockDeviceArgs{...} +type SpotFleetRequestLaunchSpecificationRootBlockDeviceInput interface { + pulumi.Input + + ToSpotFleetRequestLaunchSpecificationRootBlockDeviceOutput() SpotFleetRequestLaunchSpecificationRootBlockDeviceOutput + ToSpotFleetRequestLaunchSpecificationRootBlockDeviceOutputWithContext(context.Context) SpotFleetRequestLaunchSpecificationRootBlockDeviceOutput +} + +type SpotFleetRequestLaunchSpecificationRootBlockDeviceArgs struct { + DeleteOnTermination pulumi.BoolPtrInput `pulumi:"deleteOnTermination"` + Encrypted pulumi.BoolPtrInput `pulumi:"encrypted"` + Iops pulumi.IntPtrInput `pulumi:"iops"` + KmsKeyId pulumi.StringPtrInput `pulumi:"kmsKeyId"` + Throughput pulumi.IntPtrInput `pulumi:"throughput"` + VolumeSize pulumi.IntPtrInput `pulumi:"volumeSize"` + VolumeType pulumi.StringPtrInput `pulumi:"volumeType"` +} + +func (SpotFleetRequestLaunchSpecificationRootBlockDeviceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SpotFleetRequestLaunchSpecificationRootBlockDevice)(nil)).Elem() +} + +func (i SpotFleetRequestLaunchSpecificationRootBlockDeviceArgs) ToSpotFleetRequestLaunchSpecificationRootBlockDeviceOutput() SpotFleetRequestLaunchSpecificationRootBlockDeviceOutput { + return i.ToSpotFleetRequestLaunchSpecificationRootBlockDeviceOutputWithContext(context.Background()) +} + +func (i SpotFleetRequestLaunchSpecificationRootBlockDeviceArgs) ToSpotFleetRequestLaunchSpecificationRootBlockDeviceOutputWithContext(ctx context.Context) SpotFleetRequestLaunchSpecificationRootBlockDeviceOutput { + return pulumi.ToOutputWithContext(ctx, i).(SpotFleetRequestLaunchSpecificationRootBlockDeviceOutput) +} + +// SpotFleetRequestLaunchSpecificationRootBlockDeviceArrayInput is an input type that accepts SpotFleetRequestLaunchSpecificationRootBlockDeviceArray and SpotFleetRequestLaunchSpecificationRootBlockDeviceArrayOutput values. +// You can construct a concrete instance of `SpotFleetRequestLaunchSpecificationRootBlockDeviceArrayInput` via: +// +// SpotFleetRequestLaunchSpecificationRootBlockDeviceArray{ SpotFleetRequestLaunchSpecificationRootBlockDeviceArgs{...} } +type SpotFleetRequestLaunchSpecificationRootBlockDeviceArrayInput interface { + pulumi.Input + + ToSpotFleetRequestLaunchSpecificationRootBlockDeviceArrayOutput() SpotFleetRequestLaunchSpecificationRootBlockDeviceArrayOutput + ToSpotFleetRequestLaunchSpecificationRootBlockDeviceArrayOutputWithContext(context.Context) SpotFleetRequestLaunchSpecificationRootBlockDeviceArrayOutput +} + +type SpotFleetRequestLaunchSpecificationRootBlockDeviceArray []SpotFleetRequestLaunchSpecificationRootBlockDeviceInput + +func (SpotFleetRequestLaunchSpecificationRootBlockDeviceArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]SpotFleetRequestLaunchSpecificationRootBlockDevice)(nil)).Elem() +} + +func (i SpotFleetRequestLaunchSpecificationRootBlockDeviceArray) ToSpotFleetRequestLaunchSpecificationRootBlockDeviceArrayOutput() SpotFleetRequestLaunchSpecificationRootBlockDeviceArrayOutput { + return i.ToSpotFleetRequestLaunchSpecificationRootBlockDeviceArrayOutputWithContext(context.Background()) +} + +func (i SpotFleetRequestLaunchSpecificationRootBlockDeviceArray) ToSpotFleetRequestLaunchSpecificationRootBlockDeviceArrayOutputWithContext(ctx context.Context) SpotFleetRequestLaunchSpecificationRootBlockDeviceArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(SpotFleetRequestLaunchSpecificationRootBlockDeviceArrayOutput) +} + +type SpotFleetRequestLaunchSpecificationRootBlockDeviceOutput struct{ *pulumi.OutputState } + +func (SpotFleetRequestLaunchSpecificationRootBlockDeviceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SpotFleetRequestLaunchSpecificationRootBlockDevice)(nil)).Elem() +} + +func (o SpotFleetRequestLaunchSpecificationRootBlockDeviceOutput) ToSpotFleetRequestLaunchSpecificationRootBlockDeviceOutput() SpotFleetRequestLaunchSpecificationRootBlockDeviceOutput { + return o +} + +func (o SpotFleetRequestLaunchSpecificationRootBlockDeviceOutput) ToSpotFleetRequestLaunchSpecificationRootBlockDeviceOutputWithContext(ctx context.Context) SpotFleetRequestLaunchSpecificationRootBlockDeviceOutput { + return o +} + +func (o SpotFleetRequestLaunchSpecificationRootBlockDeviceOutput) DeleteOnTermination() pulumi.BoolPtrOutput { + return o.ApplyT(func(v SpotFleetRequestLaunchSpecificationRootBlockDevice) *bool { return v.DeleteOnTermination }).(pulumi.BoolPtrOutput) +} + +func (o SpotFleetRequestLaunchSpecificationRootBlockDeviceOutput) Encrypted() pulumi.BoolPtrOutput { + return o.ApplyT(func(v SpotFleetRequestLaunchSpecificationRootBlockDevice) *bool { return v.Encrypted }).(pulumi.BoolPtrOutput) +} + +func (o SpotFleetRequestLaunchSpecificationRootBlockDeviceOutput) Iops() pulumi.IntPtrOutput { + return o.ApplyT(func(v SpotFleetRequestLaunchSpecificationRootBlockDevice) *int { return v.Iops }).(pulumi.IntPtrOutput) +} + +func (o SpotFleetRequestLaunchSpecificationRootBlockDeviceOutput) KmsKeyId() pulumi.StringPtrOutput { + return o.ApplyT(func(v SpotFleetRequestLaunchSpecificationRootBlockDevice) *string { return v.KmsKeyId }).(pulumi.StringPtrOutput) +} + +func (o SpotFleetRequestLaunchSpecificationRootBlockDeviceOutput) Throughput() pulumi.IntPtrOutput { + return o.ApplyT(func(v SpotFleetRequestLaunchSpecificationRootBlockDevice) *int { return v.Throughput }).(pulumi.IntPtrOutput) +} + +func (o SpotFleetRequestLaunchSpecificationRootBlockDeviceOutput) VolumeSize() pulumi.IntPtrOutput { + return o.ApplyT(func(v SpotFleetRequestLaunchSpecificationRootBlockDevice) *int { return v.VolumeSize }).(pulumi.IntPtrOutput) +} + +func (o SpotFleetRequestLaunchSpecificationRootBlockDeviceOutput) VolumeType() pulumi.StringPtrOutput { + return o.ApplyT(func(v SpotFleetRequestLaunchSpecificationRootBlockDevice) *string { return v.VolumeType }).(pulumi.StringPtrOutput) +} + +type SpotFleetRequestLaunchSpecificationRootBlockDeviceArrayOutput struct{ *pulumi.OutputState } + +func (SpotFleetRequestLaunchSpecificationRootBlockDeviceArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]SpotFleetRequestLaunchSpecificationRootBlockDevice)(nil)).Elem() +} + +func (o SpotFleetRequestLaunchSpecificationRootBlockDeviceArrayOutput) ToSpotFleetRequestLaunchSpecificationRootBlockDeviceArrayOutput() SpotFleetRequestLaunchSpecificationRootBlockDeviceArrayOutput { + return o +} + +func (o SpotFleetRequestLaunchSpecificationRootBlockDeviceArrayOutput) ToSpotFleetRequestLaunchSpecificationRootBlockDeviceArrayOutputWithContext(ctx context.Context) SpotFleetRequestLaunchSpecificationRootBlockDeviceArrayOutput { + return o +} + +func (o SpotFleetRequestLaunchSpecificationRootBlockDeviceArrayOutput) Index(i pulumi.IntInput) SpotFleetRequestLaunchSpecificationRootBlockDeviceOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) SpotFleetRequestLaunchSpecificationRootBlockDevice { + return vs[0].([]SpotFleetRequestLaunchSpecificationRootBlockDevice)[vs[1].(int)] + }).(SpotFleetRequestLaunchSpecificationRootBlockDeviceOutput) +} + +type SpotFleetRequestLaunchTemplateConfig struct { + // Launch template specification. See Launch Template Specification below for more details. + LaunchTemplateSpecification SpotFleetRequestLaunchTemplateConfigLaunchTemplateSpecification `pulumi:"launchTemplateSpecification"` + // One or more override configurations. See Overrides below for more details. + Overrides []SpotFleetRequestLaunchTemplateConfigOverride `pulumi:"overrides"` +} + +// SpotFleetRequestLaunchTemplateConfigInput is an input type that accepts SpotFleetRequestLaunchTemplateConfigArgs and SpotFleetRequestLaunchTemplateConfigOutput values. +// You can construct a concrete instance of `SpotFleetRequestLaunchTemplateConfigInput` via: +// +// SpotFleetRequestLaunchTemplateConfigArgs{...} +type SpotFleetRequestLaunchTemplateConfigInput interface { + pulumi.Input + + ToSpotFleetRequestLaunchTemplateConfigOutput() SpotFleetRequestLaunchTemplateConfigOutput + ToSpotFleetRequestLaunchTemplateConfigOutputWithContext(context.Context) SpotFleetRequestLaunchTemplateConfigOutput +} + +type SpotFleetRequestLaunchTemplateConfigArgs struct { + // Launch template specification. See Launch Template Specification below for more details. + LaunchTemplateSpecification SpotFleetRequestLaunchTemplateConfigLaunchTemplateSpecificationInput `pulumi:"launchTemplateSpecification"` + // One or more override configurations. See Overrides below for more details. + Overrides SpotFleetRequestLaunchTemplateConfigOverrideArrayInput `pulumi:"overrides"` +} + +func (SpotFleetRequestLaunchTemplateConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SpotFleetRequestLaunchTemplateConfig)(nil)).Elem() +} + +func (i SpotFleetRequestLaunchTemplateConfigArgs) ToSpotFleetRequestLaunchTemplateConfigOutput() SpotFleetRequestLaunchTemplateConfigOutput { + return i.ToSpotFleetRequestLaunchTemplateConfigOutputWithContext(context.Background()) +} + +func (i SpotFleetRequestLaunchTemplateConfigArgs) ToSpotFleetRequestLaunchTemplateConfigOutputWithContext(ctx context.Context) SpotFleetRequestLaunchTemplateConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(SpotFleetRequestLaunchTemplateConfigOutput) +} + +// SpotFleetRequestLaunchTemplateConfigArrayInput is an input type that accepts SpotFleetRequestLaunchTemplateConfigArray and SpotFleetRequestLaunchTemplateConfigArrayOutput values. +// You can construct a concrete instance of `SpotFleetRequestLaunchTemplateConfigArrayInput` via: +// +// SpotFleetRequestLaunchTemplateConfigArray{ SpotFleetRequestLaunchTemplateConfigArgs{...} } +type SpotFleetRequestLaunchTemplateConfigArrayInput interface { + pulumi.Input + + ToSpotFleetRequestLaunchTemplateConfigArrayOutput() SpotFleetRequestLaunchTemplateConfigArrayOutput + ToSpotFleetRequestLaunchTemplateConfigArrayOutputWithContext(context.Context) SpotFleetRequestLaunchTemplateConfigArrayOutput +} + +type SpotFleetRequestLaunchTemplateConfigArray []SpotFleetRequestLaunchTemplateConfigInput + +func (SpotFleetRequestLaunchTemplateConfigArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]SpotFleetRequestLaunchTemplateConfig)(nil)).Elem() +} + +func (i SpotFleetRequestLaunchTemplateConfigArray) ToSpotFleetRequestLaunchTemplateConfigArrayOutput() SpotFleetRequestLaunchTemplateConfigArrayOutput { + return i.ToSpotFleetRequestLaunchTemplateConfigArrayOutputWithContext(context.Background()) +} + +func (i SpotFleetRequestLaunchTemplateConfigArray) ToSpotFleetRequestLaunchTemplateConfigArrayOutputWithContext(ctx context.Context) SpotFleetRequestLaunchTemplateConfigArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(SpotFleetRequestLaunchTemplateConfigArrayOutput) +} + +type SpotFleetRequestLaunchTemplateConfigOutput struct{ *pulumi.OutputState } + +func (SpotFleetRequestLaunchTemplateConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SpotFleetRequestLaunchTemplateConfig)(nil)).Elem() +} + +func (o SpotFleetRequestLaunchTemplateConfigOutput) ToSpotFleetRequestLaunchTemplateConfigOutput() SpotFleetRequestLaunchTemplateConfigOutput { + return o +} + +func (o SpotFleetRequestLaunchTemplateConfigOutput) ToSpotFleetRequestLaunchTemplateConfigOutputWithContext(ctx context.Context) SpotFleetRequestLaunchTemplateConfigOutput { + return o +} + +// Launch template specification. See Launch Template Specification below for more details. +func (o SpotFleetRequestLaunchTemplateConfigOutput) LaunchTemplateSpecification() SpotFleetRequestLaunchTemplateConfigLaunchTemplateSpecificationOutput { + return o.ApplyT(func(v SpotFleetRequestLaunchTemplateConfig) SpotFleetRequestLaunchTemplateConfigLaunchTemplateSpecification { + return v.LaunchTemplateSpecification + }).(SpotFleetRequestLaunchTemplateConfigLaunchTemplateSpecificationOutput) +} + +// One or more override configurations. See Overrides below for more details. +func (o SpotFleetRequestLaunchTemplateConfigOutput) Overrides() SpotFleetRequestLaunchTemplateConfigOverrideArrayOutput { + return o.ApplyT(func(v SpotFleetRequestLaunchTemplateConfig) []SpotFleetRequestLaunchTemplateConfigOverride { + return v.Overrides + }).(SpotFleetRequestLaunchTemplateConfigOverrideArrayOutput) +} + +type SpotFleetRequestLaunchTemplateConfigArrayOutput struct{ *pulumi.OutputState } + +func (SpotFleetRequestLaunchTemplateConfigArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]SpotFleetRequestLaunchTemplateConfig)(nil)).Elem() +} + +func (o SpotFleetRequestLaunchTemplateConfigArrayOutput) ToSpotFleetRequestLaunchTemplateConfigArrayOutput() SpotFleetRequestLaunchTemplateConfigArrayOutput { + return o +} + +func (o SpotFleetRequestLaunchTemplateConfigArrayOutput) ToSpotFleetRequestLaunchTemplateConfigArrayOutputWithContext(ctx context.Context) SpotFleetRequestLaunchTemplateConfigArrayOutput { + return o +} + +func (o SpotFleetRequestLaunchTemplateConfigArrayOutput) Index(i pulumi.IntInput) SpotFleetRequestLaunchTemplateConfigOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) SpotFleetRequestLaunchTemplateConfig { + return vs[0].([]SpotFleetRequestLaunchTemplateConfig)[vs[1].(int)] + }).(SpotFleetRequestLaunchTemplateConfigOutput) +} + +type SpotFleetRequestLaunchTemplateConfigLaunchTemplateSpecification struct { + // The ID of the launch template. Conflicts with `name`. + Id *string `pulumi:"id"` + // The name of the launch template. Conflicts with `id`. + Name *string `pulumi:"name"` + // Template version. Unlike the autoscaling equivalent, does not support `$Latest` or `$Default`, so use the launchTemplate resource's attribute, e.g., `"${aws_launch_template.foo.latest_version}"`. It will use the default version if omitted. + // + // **Note:** The specified launch template can specify only a subset of the + // inputs of `ec2.LaunchTemplate`. There are limitations on + // what you can specify as spot fleet does not support all the attributes that are supported by autoscaling groups. [AWS documentation](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-templates.html#launch-templates-spot-fleet) is currently sparse, but at least `instanceInitiatedShutdownBehavior` is confirmed unsupported. + Version *string `pulumi:"version"` +} + +// SpotFleetRequestLaunchTemplateConfigLaunchTemplateSpecificationInput is an input type that accepts SpotFleetRequestLaunchTemplateConfigLaunchTemplateSpecificationArgs and SpotFleetRequestLaunchTemplateConfigLaunchTemplateSpecificationOutput values. +// You can construct a concrete instance of `SpotFleetRequestLaunchTemplateConfigLaunchTemplateSpecificationInput` via: +// +// SpotFleetRequestLaunchTemplateConfigLaunchTemplateSpecificationArgs{...} +type SpotFleetRequestLaunchTemplateConfigLaunchTemplateSpecificationInput interface { + pulumi.Input + + ToSpotFleetRequestLaunchTemplateConfigLaunchTemplateSpecificationOutput() SpotFleetRequestLaunchTemplateConfigLaunchTemplateSpecificationOutput + ToSpotFleetRequestLaunchTemplateConfigLaunchTemplateSpecificationOutputWithContext(context.Context) SpotFleetRequestLaunchTemplateConfigLaunchTemplateSpecificationOutput +} + +type SpotFleetRequestLaunchTemplateConfigLaunchTemplateSpecificationArgs struct { + // The ID of the launch template. Conflicts with `name`. + Id pulumi.StringPtrInput `pulumi:"id"` + // The name of the launch template. Conflicts with `id`. + Name pulumi.StringPtrInput `pulumi:"name"` + // Template version. Unlike the autoscaling equivalent, does not support `$Latest` or `$Default`, so use the launchTemplate resource's attribute, e.g., `"${aws_launch_template.foo.latest_version}"`. It will use the default version if omitted. + // + // **Note:** The specified launch template can specify only a subset of the + // inputs of `ec2.LaunchTemplate`. There are limitations on + // what you can specify as spot fleet does not support all the attributes that are supported by autoscaling groups. [AWS documentation](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-templates.html#launch-templates-spot-fleet) is currently sparse, but at least `instanceInitiatedShutdownBehavior` is confirmed unsupported. + Version pulumi.StringPtrInput `pulumi:"version"` +} + +func (SpotFleetRequestLaunchTemplateConfigLaunchTemplateSpecificationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SpotFleetRequestLaunchTemplateConfigLaunchTemplateSpecification)(nil)).Elem() +} + +func (i SpotFleetRequestLaunchTemplateConfigLaunchTemplateSpecificationArgs) ToSpotFleetRequestLaunchTemplateConfigLaunchTemplateSpecificationOutput() SpotFleetRequestLaunchTemplateConfigLaunchTemplateSpecificationOutput { + return i.ToSpotFleetRequestLaunchTemplateConfigLaunchTemplateSpecificationOutputWithContext(context.Background()) +} + +func (i SpotFleetRequestLaunchTemplateConfigLaunchTemplateSpecificationArgs) ToSpotFleetRequestLaunchTemplateConfigLaunchTemplateSpecificationOutputWithContext(ctx context.Context) SpotFleetRequestLaunchTemplateConfigLaunchTemplateSpecificationOutput { + return pulumi.ToOutputWithContext(ctx, i).(SpotFleetRequestLaunchTemplateConfigLaunchTemplateSpecificationOutput) +} + +type SpotFleetRequestLaunchTemplateConfigLaunchTemplateSpecificationOutput struct{ *pulumi.OutputState } + +func (SpotFleetRequestLaunchTemplateConfigLaunchTemplateSpecificationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SpotFleetRequestLaunchTemplateConfigLaunchTemplateSpecification)(nil)).Elem() +} + +func (o SpotFleetRequestLaunchTemplateConfigLaunchTemplateSpecificationOutput) ToSpotFleetRequestLaunchTemplateConfigLaunchTemplateSpecificationOutput() SpotFleetRequestLaunchTemplateConfigLaunchTemplateSpecificationOutput { + return o +} + +func (o SpotFleetRequestLaunchTemplateConfigLaunchTemplateSpecificationOutput) ToSpotFleetRequestLaunchTemplateConfigLaunchTemplateSpecificationOutputWithContext(ctx context.Context) SpotFleetRequestLaunchTemplateConfigLaunchTemplateSpecificationOutput { + return o +} + +// The ID of the launch template. Conflicts with `name`. +func (o SpotFleetRequestLaunchTemplateConfigLaunchTemplateSpecificationOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v SpotFleetRequestLaunchTemplateConfigLaunchTemplateSpecification) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +// The name of the launch template. Conflicts with `id`. +func (o SpotFleetRequestLaunchTemplateConfigLaunchTemplateSpecificationOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v SpotFleetRequestLaunchTemplateConfigLaunchTemplateSpecification) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +// Template version. Unlike the autoscaling equivalent, does not support `$Latest` or `$Default`, so use the launchTemplate resource's attribute, e.g., `"${aws_launch_template.foo.latest_version}"`. It will use the default version if omitted. +// +// **Note:** The specified launch template can specify only a subset of the +// inputs of `ec2.LaunchTemplate`. There are limitations on +// what you can specify as spot fleet does not support all the attributes that are supported by autoscaling groups. [AWS documentation](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-templates.html#launch-templates-spot-fleet) is currently sparse, but at least `instanceInitiatedShutdownBehavior` is confirmed unsupported. +func (o SpotFleetRequestLaunchTemplateConfigLaunchTemplateSpecificationOutput) Version() pulumi.StringPtrOutput { + return o.ApplyT(func(v SpotFleetRequestLaunchTemplateConfigLaunchTemplateSpecification) *string { return v.Version }).(pulumi.StringPtrOutput) +} + +type SpotFleetRequestLaunchTemplateConfigOverride struct { + // The availability zone in which to place the request. + AvailabilityZone *string `pulumi:"availabilityZone"` + // The instance requirements. See below. + InstanceRequirements *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirements `pulumi:"instanceRequirements"` + // The type of instance to request. + InstanceType *string `pulumi:"instanceType"` + // The priority for the launch template override. The lower the number, the higher the priority. If no number is set, the launch template override has the lowest priority. + Priority *float64 `pulumi:"priority"` + // The maximum spot bid for this override request. + SpotPrice *string `pulumi:"spotPrice"` + // The subnet in which to launch the requested instance. + SubnetId *string `pulumi:"subnetId"` + // The capacity added to the fleet by a fulfilled request. + WeightedCapacity *float64 `pulumi:"weightedCapacity"` +} + +// SpotFleetRequestLaunchTemplateConfigOverrideInput is an input type that accepts SpotFleetRequestLaunchTemplateConfigOverrideArgs and SpotFleetRequestLaunchTemplateConfigOverrideOutput values. +// You can construct a concrete instance of `SpotFleetRequestLaunchTemplateConfigOverrideInput` via: +// +// SpotFleetRequestLaunchTemplateConfigOverrideArgs{...} +type SpotFleetRequestLaunchTemplateConfigOverrideInput interface { + pulumi.Input + + ToSpotFleetRequestLaunchTemplateConfigOverrideOutput() SpotFleetRequestLaunchTemplateConfigOverrideOutput + ToSpotFleetRequestLaunchTemplateConfigOverrideOutputWithContext(context.Context) SpotFleetRequestLaunchTemplateConfigOverrideOutput +} + +type SpotFleetRequestLaunchTemplateConfigOverrideArgs struct { + // The availability zone in which to place the request. + AvailabilityZone pulumi.StringPtrInput `pulumi:"availabilityZone"` + // The instance requirements. See below. + InstanceRequirements SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsPtrInput `pulumi:"instanceRequirements"` + // The type of instance to request. + InstanceType pulumi.StringPtrInput `pulumi:"instanceType"` + // The priority for the launch template override. The lower the number, the higher the priority. If no number is set, the launch template override has the lowest priority. + Priority pulumi.Float64PtrInput `pulumi:"priority"` + // The maximum spot bid for this override request. + SpotPrice pulumi.StringPtrInput `pulumi:"spotPrice"` + // The subnet in which to launch the requested instance. + SubnetId pulumi.StringPtrInput `pulumi:"subnetId"` + // The capacity added to the fleet by a fulfilled request. + WeightedCapacity pulumi.Float64PtrInput `pulumi:"weightedCapacity"` +} + +func (SpotFleetRequestLaunchTemplateConfigOverrideArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SpotFleetRequestLaunchTemplateConfigOverride)(nil)).Elem() +} + +func (i SpotFleetRequestLaunchTemplateConfigOverrideArgs) ToSpotFleetRequestLaunchTemplateConfigOverrideOutput() SpotFleetRequestLaunchTemplateConfigOverrideOutput { + return i.ToSpotFleetRequestLaunchTemplateConfigOverrideOutputWithContext(context.Background()) +} + +func (i SpotFleetRequestLaunchTemplateConfigOverrideArgs) ToSpotFleetRequestLaunchTemplateConfigOverrideOutputWithContext(ctx context.Context) SpotFleetRequestLaunchTemplateConfigOverrideOutput { + return pulumi.ToOutputWithContext(ctx, i).(SpotFleetRequestLaunchTemplateConfigOverrideOutput) +} + +// SpotFleetRequestLaunchTemplateConfigOverrideArrayInput is an input type that accepts SpotFleetRequestLaunchTemplateConfigOverrideArray and SpotFleetRequestLaunchTemplateConfigOverrideArrayOutput values. +// You can construct a concrete instance of `SpotFleetRequestLaunchTemplateConfigOverrideArrayInput` via: +// +// SpotFleetRequestLaunchTemplateConfigOverrideArray{ SpotFleetRequestLaunchTemplateConfigOverrideArgs{...} } +type SpotFleetRequestLaunchTemplateConfigOverrideArrayInput interface { + pulumi.Input + + ToSpotFleetRequestLaunchTemplateConfigOverrideArrayOutput() SpotFleetRequestLaunchTemplateConfigOverrideArrayOutput + ToSpotFleetRequestLaunchTemplateConfigOverrideArrayOutputWithContext(context.Context) SpotFleetRequestLaunchTemplateConfigOverrideArrayOutput +} + +type SpotFleetRequestLaunchTemplateConfigOverrideArray []SpotFleetRequestLaunchTemplateConfigOverrideInput + +func (SpotFleetRequestLaunchTemplateConfigOverrideArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]SpotFleetRequestLaunchTemplateConfigOverride)(nil)).Elem() +} + +func (i SpotFleetRequestLaunchTemplateConfigOverrideArray) ToSpotFleetRequestLaunchTemplateConfigOverrideArrayOutput() SpotFleetRequestLaunchTemplateConfigOverrideArrayOutput { + return i.ToSpotFleetRequestLaunchTemplateConfigOverrideArrayOutputWithContext(context.Background()) +} + +func (i SpotFleetRequestLaunchTemplateConfigOverrideArray) ToSpotFleetRequestLaunchTemplateConfigOverrideArrayOutputWithContext(ctx context.Context) SpotFleetRequestLaunchTemplateConfigOverrideArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(SpotFleetRequestLaunchTemplateConfigOverrideArrayOutput) +} + +type SpotFleetRequestLaunchTemplateConfigOverrideOutput struct{ *pulumi.OutputState } + +func (SpotFleetRequestLaunchTemplateConfigOverrideOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SpotFleetRequestLaunchTemplateConfigOverride)(nil)).Elem() +} + +func (o SpotFleetRequestLaunchTemplateConfigOverrideOutput) ToSpotFleetRequestLaunchTemplateConfigOverrideOutput() SpotFleetRequestLaunchTemplateConfigOverrideOutput { + return o +} + +func (o SpotFleetRequestLaunchTemplateConfigOverrideOutput) ToSpotFleetRequestLaunchTemplateConfigOverrideOutputWithContext(ctx context.Context) SpotFleetRequestLaunchTemplateConfigOverrideOutput { + return o +} + +// The availability zone in which to place the request. +func (o SpotFleetRequestLaunchTemplateConfigOverrideOutput) AvailabilityZone() pulumi.StringPtrOutput { + return o.ApplyT(func(v SpotFleetRequestLaunchTemplateConfigOverride) *string { return v.AvailabilityZone }).(pulumi.StringPtrOutput) +} + +// The instance requirements. See below. +func (o SpotFleetRequestLaunchTemplateConfigOverrideOutput) InstanceRequirements() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput { + return o.ApplyT(func(v SpotFleetRequestLaunchTemplateConfigOverride) *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirements { + return v.InstanceRequirements + }).(SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput) +} + +// The type of instance to request. +func (o SpotFleetRequestLaunchTemplateConfigOverrideOutput) InstanceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v SpotFleetRequestLaunchTemplateConfigOverride) *string { return v.InstanceType }).(pulumi.StringPtrOutput) +} + +// The priority for the launch template override. The lower the number, the higher the priority. If no number is set, the launch template override has the lowest priority. +func (o SpotFleetRequestLaunchTemplateConfigOverrideOutput) Priority() pulumi.Float64PtrOutput { + return o.ApplyT(func(v SpotFleetRequestLaunchTemplateConfigOverride) *float64 { return v.Priority }).(pulumi.Float64PtrOutput) +} + +// The maximum spot bid for this override request. +func (o SpotFleetRequestLaunchTemplateConfigOverrideOutput) SpotPrice() pulumi.StringPtrOutput { + return o.ApplyT(func(v SpotFleetRequestLaunchTemplateConfigOverride) *string { return v.SpotPrice }).(pulumi.StringPtrOutput) +} + +// The subnet in which to launch the requested instance. +func (o SpotFleetRequestLaunchTemplateConfigOverrideOutput) SubnetId() pulumi.StringPtrOutput { + return o.ApplyT(func(v SpotFleetRequestLaunchTemplateConfigOverride) *string { return v.SubnetId }).(pulumi.StringPtrOutput) +} + +// The capacity added to the fleet by a fulfilled request. +func (o SpotFleetRequestLaunchTemplateConfigOverrideOutput) WeightedCapacity() pulumi.Float64PtrOutput { + return o.ApplyT(func(v SpotFleetRequestLaunchTemplateConfigOverride) *float64 { return v.WeightedCapacity }).(pulumi.Float64PtrOutput) +} + +type SpotFleetRequestLaunchTemplateConfigOverrideArrayOutput struct{ *pulumi.OutputState } + +func (SpotFleetRequestLaunchTemplateConfigOverrideArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]SpotFleetRequestLaunchTemplateConfigOverride)(nil)).Elem() } func (o SpotFleetRequestLaunchTemplateConfigOverrideArrayOutput) ToSpotFleetRequestLaunchTemplateConfigOverrideArrayOutput() SpotFleetRequestLaunchTemplateConfigOverrideArrayOutput { return o } -func (o SpotFleetRequestLaunchTemplateConfigOverrideArrayOutput) ToSpotFleetRequestLaunchTemplateConfigOverrideArrayOutputWithContext(ctx context.Context) SpotFleetRequestLaunchTemplateConfigOverrideArrayOutput { +func (o SpotFleetRequestLaunchTemplateConfigOverrideArrayOutput) ToSpotFleetRequestLaunchTemplateConfigOverrideArrayOutputWithContext(ctx context.Context) SpotFleetRequestLaunchTemplateConfigOverrideArrayOutput { + return o +} + +func (o SpotFleetRequestLaunchTemplateConfigOverrideArrayOutput) Index(i pulumi.IntInput) SpotFleetRequestLaunchTemplateConfigOverrideOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) SpotFleetRequestLaunchTemplateConfigOverride { + return vs[0].([]SpotFleetRequestLaunchTemplateConfigOverride)[vs[1].(int)] + }).(SpotFleetRequestLaunchTemplateConfigOverrideOutput) +} + +type SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirements struct { + // Block describing the minimum and maximum number of accelerators (GPUs, FPGAs, or AWS Inferentia chips). Default is no minimum or maximum. + AcceleratorCount *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCount `pulumi:"acceleratorCount"` + // List of accelerator manufacturer names. Default is any manufacturer. + AcceleratorManufacturers []string `pulumi:"acceleratorManufacturers"` + // List of accelerator names. Default is any acclerator. + AcceleratorNames []string `pulumi:"acceleratorNames"` + // Block describing the minimum and maximum total memory of the accelerators. Default is no minimum or maximum. + AcceleratorTotalMemoryMib *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMib `pulumi:"acceleratorTotalMemoryMib"` + // List of accelerator types. Default is any accelerator type. + AcceleratorTypes []string `pulumi:"acceleratorTypes"` + // 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. + // + // > **NOTE:** If you specify `allowedInstanceTypes`, you can't specify `excludedInstanceTypes`. + AllowedInstanceTypes []string `pulumi:"allowedInstanceTypes"` + // Indicate whether bare metal instace types should be `included`, `excluded`, or `required`. Default is `excluded`. + BareMetal *string `pulumi:"bareMetal"` + // Block describing the minimum and maximum baseline EBS bandwidth, in Mbps. Default is no minimum or maximum. + BaselineEbsBandwidthMbps *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbps `pulumi:"baselineEbsBandwidthMbps"` + // Indicate whether burstable performance instance types should be `included`, `excluded`, or `required`. Default is `excluded`. + BurstablePerformance *string `pulumi:"burstablePerformance"` + // List of CPU manufacturer names. Default is any manufacturer. + // + // > **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. + CpuManufacturers []string `pulumi:"cpuManufacturers"` + // 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. + // + // > **NOTE:** If you specify `excludedInstanceTypes`, you can't specify `allowedInstanceTypes`. + ExcludedInstanceTypes []string `pulumi:"excludedInstanceTypes"` + // List of instance generation names. Default is any generation. + InstanceGenerations []string `pulumi:"instanceGenerations"` + // Indicate whether instance types with local storage volumes are `included`, `excluded`, or `required`. Default is `included`. + LocalStorage *string `pulumi:"localStorage"` + // List of local storage type names. Default any storage type. + LocalStorageTypes []string `pulumi:"localStorageTypes"` + // Block describing the minimum and maximum amount of memory (GiB) per vCPU. Default is no minimum or maximum. + MemoryGibPerVcpu *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpu `pulumi:"memoryGibPerVcpu"` + // Block describing the minimum and maximum amount of memory (MiB). Default is no maximum. + MemoryMib *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMib `pulumi:"memoryMib"` + // Block describing the minimum and maximum amount of network bandwidth, in gigabits per second (Gbps). Default is no minimum or maximum. + NetworkBandwidthGbps *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbps `pulumi:"networkBandwidthGbps"` + // Block describing the minimum and maximum number of network interfaces. Default is no minimum or maximum. + NetworkInterfaceCount *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCount `pulumi:"networkInterfaceCount"` + // The 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. + // + // If 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. + OnDemandMaxPricePercentageOverLowestPrice *int `pulumi:"onDemandMaxPricePercentageOverLowestPrice"` + // Indicate whether instance types must support On-Demand Instance Hibernation, either `true` or `false`. Default is `false`. + RequireHibernateSupport *bool `pulumi:"requireHibernateSupport"` + // The 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. + // + // If 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. + SpotMaxPricePercentageOverLowestPrice *int `pulumi:"spotMaxPricePercentageOverLowestPrice"` + // Block describing the minimum and maximum total local storage (GB). Default is no minimum or maximum. + TotalLocalStorageGb *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGb `pulumi:"totalLocalStorageGb"` + // Block describing the minimum and maximum number of vCPUs. Default is no maximum. + VcpuCount *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCount `pulumi:"vcpuCount"` +} + +// SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsInput is an input type that accepts SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsArgs and SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsOutput values. +// You can construct a concrete instance of `SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsInput` via: +// +// SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsArgs{...} +type SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsInput interface { + pulumi.Input + + ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsOutput() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsOutput + ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsOutputWithContext(context.Context) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsOutput +} + +type SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsArgs struct { + // Block describing the minimum and maximum number of accelerators (GPUs, FPGAs, or AWS Inferentia chips). Default is no minimum or maximum. + AcceleratorCount SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrInput `pulumi:"acceleratorCount"` + // List of accelerator manufacturer names. Default is any manufacturer. + AcceleratorManufacturers pulumi.StringArrayInput `pulumi:"acceleratorManufacturers"` + // List of accelerator names. Default is any acclerator. + AcceleratorNames pulumi.StringArrayInput `pulumi:"acceleratorNames"` + // Block describing the minimum and maximum total memory of the accelerators. Default is no minimum or maximum. + AcceleratorTotalMemoryMib SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrInput `pulumi:"acceleratorTotalMemoryMib"` + // List of accelerator types. Default is any accelerator type. + AcceleratorTypes pulumi.StringArrayInput `pulumi:"acceleratorTypes"` + // 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. + // + // > **NOTE:** If you specify `allowedInstanceTypes`, you can't specify `excludedInstanceTypes`. + AllowedInstanceTypes pulumi.StringArrayInput `pulumi:"allowedInstanceTypes"` + // Indicate whether bare metal instace types should be `included`, `excluded`, or `required`. Default is `excluded`. + BareMetal pulumi.StringPtrInput `pulumi:"bareMetal"` + // Block describing the minimum and maximum baseline EBS bandwidth, in Mbps. Default is no minimum or maximum. + BaselineEbsBandwidthMbps SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrInput `pulumi:"baselineEbsBandwidthMbps"` + // Indicate whether burstable performance instance types should be `included`, `excluded`, or `required`. Default is `excluded`. + BurstablePerformance pulumi.StringPtrInput `pulumi:"burstablePerformance"` + // List of CPU manufacturer names. Default is any manufacturer. + // + // > **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. + CpuManufacturers pulumi.StringArrayInput `pulumi:"cpuManufacturers"` + // 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. + // + // > **NOTE:** If you specify `excludedInstanceTypes`, you can't specify `allowedInstanceTypes`. + ExcludedInstanceTypes pulumi.StringArrayInput `pulumi:"excludedInstanceTypes"` + // List of instance generation names. Default is any generation. + InstanceGenerations pulumi.StringArrayInput `pulumi:"instanceGenerations"` + // Indicate whether instance types with local storage volumes are `included`, `excluded`, or `required`. Default is `included`. + LocalStorage pulumi.StringPtrInput `pulumi:"localStorage"` + // List of local storage type names. Default any storage type. + LocalStorageTypes pulumi.StringArrayInput `pulumi:"localStorageTypes"` + // Block describing the minimum and maximum amount of memory (GiB) per vCPU. Default is no minimum or maximum. + MemoryGibPerVcpu SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrInput `pulumi:"memoryGibPerVcpu"` + // Block describing the minimum and maximum amount of memory (MiB). Default is no maximum. + MemoryMib SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrInput `pulumi:"memoryMib"` + // Block describing the minimum and maximum amount of network bandwidth, in gigabits per second (Gbps). Default is no minimum or maximum. + NetworkBandwidthGbps SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrInput `pulumi:"networkBandwidthGbps"` + // Block describing the minimum and maximum number of network interfaces. Default is no minimum or maximum. + NetworkInterfaceCount SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrInput `pulumi:"networkInterfaceCount"` + // The 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. + // + // If 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. + OnDemandMaxPricePercentageOverLowestPrice pulumi.IntPtrInput `pulumi:"onDemandMaxPricePercentageOverLowestPrice"` + // Indicate whether instance types must support On-Demand Instance Hibernation, either `true` or `false`. Default is `false`. + RequireHibernateSupport pulumi.BoolPtrInput `pulumi:"requireHibernateSupport"` + // The 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. + // + // If 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. + SpotMaxPricePercentageOverLowestPrice pulumi.IntPtrInput `pulumi:"spotMaxPricePercentageOverLowestPrice"` + // Block describing the minimum and maximum total local storage (GB). Default is no minimum or maximum. + TotalLocalStorageGb SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrInput `pulumi:"totalLocalStorageGb"` + // Block describing the minimum and maximum number of vCPUs. Default is no maximum. + VcpuCount SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrInput `pulumi:"vcpuCount"` +} + +func (SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirements)(nil)).Elem() +} + +func (i SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsArgs) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsOutput() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsOutput { + return i.ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsOutputWithContext(context.Background()) +} + +func (i SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsArgs) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsOutputWithContext(ctx context.Context) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsOutput { + return pulumi.ToOutputWithContext(ctx, i).(SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsOutput) +} + +func (i SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsArgs) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput { + return i.ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsPtrOutputWithContext(context.Background()) +} + +func (i SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsArgs) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsPtrOutputWithContext(ctx context.Context) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsOutput).ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsPtrOutputWithContext(ctx) +} + +// SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsPtrInput is an input type that accepts SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsArgs, SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsPtr and SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput values. +// You can construct a concrete instance of `SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsPtrInput` via: +// +// SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsArgs{...} +// +// or: +// +// nil +type SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsPtrInput interface { + pulumi.Input + + ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput + ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsPtrOutputWithContext(context.Context) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput +} + +type spotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsPtrType SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsArgs + +func SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsPtr(v *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsArgs) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsPtrInput { + return (*spotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsPtrType)(v) +} + +func (*spotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirements)(nil)).Elem() +} + +func (i *spotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsPtrType) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput { + return i.ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsPtrOutputWithContext(context.Background()) +} + +func (i *spotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsPtrType) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsPtrOutputWithContext(ctx context.Context) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput) +} + +type SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsOutput struct{ *pulumi.OutputState } + +func (SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirements)(nil)).Elem() +} + +func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsOutput) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsOutput() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsOutput { + return o +} + +func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsOutput) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsOutputWithContext(ctx context.Context) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsOutput { + return o +} + +func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsOutput) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput { + return o.ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsPtrOutputWithContext(context.Background()) +} + +func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsOutput) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsPtrOutputWithContext(ctx context.Context) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirements) *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirements { + return &v + }).(SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput) +} + +// Block describing the minimum and maximum number of accelerators (GPUs, FPGAs, or AWS Inferentia chips). Default is no minimum or maximum. +func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsOutput) AcceleratorCount() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrOutput { + return o.ApplyT(func(v SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirements) *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCount { + return v.AcceleratorCount + }).(SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrOutput) +} + +// List of accelerator manufacturer names. Default is any manufacturer. +func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsOutput) AcceleratorManufacturers() pulumi.StringArrayOutput { + return o.ApplyT(func(v SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirements) []string { + return v.AcceleratorManufacturers + }).(pulumi.StringArrayOutput) +} + +// List of accelerator names. Default is any acclerator. +func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsOutput) AcceleratorNames() pulumi.StringArrayOutput { + return o.ApplyT(func(v SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirements) []string { + return v.AcceleratorNames + }).(pulumi.StringArrayOutput) +} + +// Block describing the minimum and maximum total memory of the accelerators. Default is no minimum or maximum. +func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsOutput) AcceleratorTotalMemoryMib() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrOutput { + return o.ApplyT(func(v SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirements) *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMib { + return v.AcceleratorTotalMemoryMib + }).(SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrOutput) +} + +// List of accelerator types. Default is any accelerator type. +func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsOutput) AcceleratorTypes() pulumi.StringArrayOutput { + return o.ApplyT(func(v SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirements) []string { + return v.AcceleratorTypes + }).(pulumi.StringArrayOutput) +} + +// 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. +// +// > **NOTE:** If you specify `allowedInstanceTypes`, you can't specify `excludedInstanceTypes`. +func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsOutput) AllowedInstanceTypes() pulumi.StringArrayOutput { + return o.ApplyT(func(v SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirements) []string { + return v.AllowedInstanceTypes + }).(pulumi.StringArrayOutput) +} + +// Indicate whether bare metal instace types should be `included`, `excluded`, or `required`. Default is `excluded`. +func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsOutput) BareMetal() pulumi.StringPtrOutput { + return o.ApplyT(func(v SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirements) *string { return v.BareMetal }).(pulumi.StringPtrOutput) +} + +// Block describing the minimum and maximum baseline EBS bandwidth, in Mbps. Default is no minimum or maximum. +func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsOutput) BaselineEbsBandwidthMbps() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutput { + return o.ApplyT(func(v SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirements) *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbps { + return v.BaselineEbsBandwidthMbps + }).(SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutput) +} + +// Indicate whether burstable performance instance types should be `included`, `excluded`, or `required`. Default is `excluded`. +func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsOutput) BurstablePerformance() pulumi.StringPtrOutput { + return o.ApplyT(func(v SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirements) *string { + return v.BurstablePerformance + }).(pulumi.StringPtrOutput) +} + +// List of CPU manufacturer names. Default is any manufacturer. +// +// > **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. +func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsOutput) CpuManufacturers() pulumi.StringArrayOutput { + return o.ApplyT(func(v SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirements) []string { + return v.CpuManufacturers + }).(pulumi.StringArrayOutput) +} + +// 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. +// +// > **NOTE:** If you specify `excludedInstanceTypes`, you can't specify `allowedInstanceTypes`. +func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsOutput) ExcludedInstanceTypes() pulumi.StringArrayOutput { + return o.ApplyT(func(v SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirements) []string { + return v.ExcludedInstanceTypes + }).(pulumi.StringArrayOutput) +} + +// List of instance generation names. Default is any generation. +func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsOutput) InstanceGenerations() pulumi.StringArrayOutput { + return o.ApplyT(func(v SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirements) []string { + return v.InstanceGenerations + }).(pulumi.StringArrayOutput) +} + +// Indicate whether instance types with local storage volumes are `included`, `excluded`, or `required`. Default is `included`. +func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsOutput) LocalStorage() pulumi.StringPtrOutput { + return o.ApplyT(func(v SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirements) *string { + return v.LocalStorage + }).(pulumi.StringPtrOutput) +} + +// List of local storage type names. Default any storage type. +func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsOutput) LocalStorageTypes() pulumi.StringArrayOutput { + return o.ApplyT(func(v SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirements) []string { + return v.LocalStorageTypes + }).(pulumi.StringArrayOutput) +} + +// Block describing the minimum and maximum amount of memory (GiB) per vCPU. Default is no minimum or maximum. +func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsOutput) MemoryGibPerVcpu() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrOutput { + return o.ApplyT(func(v SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirements) *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpu { + return v.MemoryGibPerVcpu + }).(SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrOutput) +} + +// Block describing the minimum and maximum amount of memory (MiB). Default is no maximum. +func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsOutput) MemoryMib() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrOutput { + return o.ApplyT(func(v SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirements) *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMib { + return v.MemoryMib + }).(SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrOutput) +} + +// Block describing the minimum and maximum amount of network bandwidth, in gigabits per second (Gbps). Default is no minimum or maximum. +func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsOutput) NetworkBandwidthGbps() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrOutput { + return o.ApplyT(func(v SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirements) *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbps { + return v.NetworkBandwidthGbps + }).(SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrOutput) +} + +// Block describing the minimum and maximum number of network interfaces. Default is no minimum or maximum. +func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsOutput) NetworkInterfaceCount() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrOutput { + return o.ApplyT(func(v SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirements) *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCount { + return v.NetworkInterfaceCount + }).(SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrOutput) +} + +// The 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. +// +// If 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. +func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsOutput) OnDemandMaxPricePercentageOverLowestPrice() pulumi.IntPtrOutput { + return o.ApplyT(func(v SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirements) *int { + return v.OnDemandMaxPricePercentageOverLowestPrice + }).(pulumi.IntPtrOutput) +} + +// Indicate whether instance types must support On-Demand Instance Hibernation, either `true` or `false`. Default is `false`. +func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsOutput) RequireHibernateSupport() pulumi.BoolPtrOutput { + return o.ApplyT(func(v SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirements) *bool { + return v.RequireHibernateSupport + }).(pulumi.BoolPtrOutput) +} + +// The 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. +// +// If 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. +func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsOutput) SpotMaxPricePercentageOverLowestPrice() pulumi.IntPtrOutput { + return o.ApplyT(func(v SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirements) *int { + return v.SpotMaxPricePercentageOverLowestPrice + }).(pulumi.IntPtrOutput) +} + +// Block describing the minimum and maximum total local storage (GB). Default is no minimum or maximum. +func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsOutput) TotalLocalStorageGb() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrOutput { + return o.ApplyT(func(v SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirements) *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGb { + return v.TotalLocalStorageGb + }).(SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrOutput) +} + +// Block describing the minimum and maximum number of vCPUs. Default is no maximum. +func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsOutput) VcpuCount() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrOutput { + return o.ApplyT(func(v SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirements) *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCount { + return v.VcpuCount + }).(SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrOutput) +} + +type SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput struct{ *pulumi.OutputState } + +func (SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirements)(nil)).Elem() +} + +func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput { + return o +} + +func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsPtrOutputWithContext(ctx context.Context) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput { + return o +} + +func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput) Elem() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsOutput { + return o.ApplyT(func(v *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirements) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirements { + if v != nil { + return *v + } + var ret SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirements + return ret + }).(SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsOutput) +} + +// Block describing the minimum and maximum number of accelerators (GPUs, FPGAs, or AWS Inferentia chips). Default is no minimum or maximum. +func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput) AcceleratorCount() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrOutput { + return o.ApplyT(func(v *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirements) *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCount { + if v == nil { + return nil + } + return v.AcceleratorCount + }).(SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrOutput) +} + +// List of accelerator manufacturer names. Default is any manufacturer. +func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput) AcceleratorManufacturers() pulumi.StringArrayOutput { + return o.ApplyT(func(v *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirements) []string { + if v == nil { + return nil + } + return v.AcceleratorManufacturers + }).(pulumi.StringArrayOutput) +} + +// List of accelerator names. Default is any acclerator. +func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput) AcceleratorNames() pulumi.StringArrayOutput { + return o.ApplyT(func(v *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirements) []string { + if v == nil { + return nil + } + return v.AcceleratorNames + }).(pulumi.StringArrayOutput) +} + +// Block describing the minimum and maximum total memory of the accelerators. Default is no minimum or maximum. +func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput) AcceleratorTotalMemoryMib() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrOutput { + return o.ApplyT(func(v *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirements) *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMib { + if v == nil { + return nil + } + return v.AcceleratorTotalMemoryMib + }).(SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrOutput) +} + +// List of accelerator types. Default is any accelerator type. +func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput) AcceleratorTypes() pulumi.StringArrayOutput { + return o.ApplyT(func(v *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirements) []string { + if v == nil { + return nil + } + return v.AcceleratorTypes + }).(pulumi.StringArrayOutput) +} + +// 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. +// +// > **NOTE:** If you specify `allowedInstanceTypes`, you can't specify `excludedInstanceTypes`. +func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput) AllowedInstanceTypes() pulumi.StringArrayOutput { + return o.ApplyT(func(v *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirements) []string { + if v == nil { + return nil + } + return v.AllowedInstanceTypes + }).(pulumi.StringArrayOutput) +} + +// Indicate whether bare metal instace types should be `included`, `excluded`, or `required`. Default is `excluded`. +func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput) BareMetal() pulumi.StringPtrOutput { + return o.ApplyT(func(v *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirements) *string { + if v == nil { + return nil + } + return v.BareMetal + }).(pulumi.StringPtrOutput) +} + +// Block describing the minimum and maximum baseline EBS bandwidth, in Mbps. Default is no minimum or maximum. +func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput) BaselineEbsBandwidthMbps() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutput { + return o.ApplyT(func(v *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirements) *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbps { + if v == nil { + return nil + } + return v.BaselineEbsBandwidthMbps + }).(SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutput) +} + +// Indicate whether burstable performance instance types should be `included`, `excluded`, or `required`. Default is `excluded`. +func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput) BurstablePerformance() pulumi.StringPtrOutput { + return o.ApplyT(func(v *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirements) *string { + if v == nil { + return nil + } + return v.BurstablePerformance + }).(pulumi.StringPtrOutput) +} + +// List of CPU manufacturer names. Default is any manufacturer. +// +// > **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. +func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput) CpuManufacturers() pulumi.StringArrayOutput { + return o.ApplyT(func(v *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirements) []string { + if v == nil { + return nil + } + return v.CpuManufacturers + }).(pulumi.StringArrayOutput) +} + +// 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. +// +// > **NOTE:** If you specify `excludedInstanceTypes`, you can't specify `allowedInstanceTypes`. +func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput) ExcludedInstanceTypes() pulumi.StringArrayOutput { + return o.ApplyT(func(v *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirements) []string { + if v == nil { + return nil + } + return v.ExcludedInstanceTypes + }).(pulumi.StringArrayOutput) +} + +// List of instance generation names. Default is any generation. +func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput) InstanceGenerations() pulumi.StringArrayOutput { + return o.ApplyT(func(v *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirements) []string { + if v == nil { + return nil + } + return v.InstanceGenerations + }).(pulumi.StringArrayOutput) +} + +// Indicate whether instance types with local storage volumes are `included`, `excluded`, or `required`. Default is `included`. +func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput) LocalStorage() pulumi.StringPtrOutput { + return o.ApplyT(func(v *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirements) *string { + if v == nil { + return nil + } + return v.LocalStorage + }).(pulumi.StringPtrOutput) +} + +// List of local storage type names. Default any storage type. +func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput) LocalStorageTypes() pulumi.StringArrayOutput { + return o.ApplyT(func(v *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirements) []string { + if v == nil { + return nil + } + return v.LocalStorageTypes + }).(pulumi.StringArrayOutput) +} + +// Block describing the minimum and maximum amount of memory (GiB) per vCPU. Default is no minimum or maximum. +func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput) MemoryGibPerVcpu() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrOutput { + return o.ApplyT(func(v *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirements) *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpu { + if v == nil { + return nil + } + return v.MemoryGibPerVcpu + }).(SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrOutput) +} + +// Block describing the minimum and maximum amount of memory (MiB). Default is no maximum. +func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput) MemoryMib() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrOutput { + return o.ApplyT(func(v *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirements) *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMib { + if v == nil { + return nil + } + return v.MemoryMib + }).(SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrOutput) +} + +// Block describing the minimum and maximum amount of network bandwidth, in gigabits per second (Gbps). Default is no minimum or maximum. +func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput) NetworkBandwidthGbps() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrOutput { + return o.ApplyT(func(v *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirements) *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbps { + if v == nil { + return nil + } + return v.NetworkBandwidthGbps + }).(SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrOutput) +} + +// Block describing the minimum and maximum number of network interfaces. Default is no minimum or maximum. +func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput) NetworkInterfaceCount() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrOutput { + return o.ApplyT(func(v *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirements) *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCount { + if v == nil { + return nil + } + return v.NetworkInterfaceCount + }).(SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrOutput) +} + +// The 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. +// +// If 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. +func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput) OnDemandMaxPricePercentageOverLowestPrice() pulumi.IntPtrOutput { + return o.ApplyT(func(v *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirements) *int { + if v == nil { + return nil + } + return v.OnDemandMaxPricePercentageOverLowestPrice + }).(pulumi.IntPtrOutput) +} + +// Indicate whether instance types must support On-Demand Instance Hibernation, either `true` or `false`. Default is `false`. +func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput) RequireHibernateSupport() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirements) *bool { + if v == nil { + return nil + } + return v.RequireHibernateSupport + }).(pulumi.BoolPtrOutput) +} + +// The 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. +// +// If 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. +func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput) SpotMaxPricePercentageOverLowestPrice() pulumi.IntPtrOutput { + return o.ApplyT(func(v *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirements) *int { + if v == nil { + return nil + } + return v.SpotMaxPricePercentageOverLowestPrice + }).(pulumi.IntPtrOutput) +} + +// Block describing the minimum and maximum total local storage (GB). Default is no minimum or maximum. +func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput) TotalLocalStorageGb() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrOutput { + return o.ApplyT(func(v *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirements) *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGb { + if v == nil { + return nil + } + return v.TotalLocalStorageGb + }).(SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrOutput) +} + +// Block describing the minimum and maximum number of vCPUs. Default is no maximum. +func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput) VcpuCount() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrOutput { + return o.ApplyT(func(v *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirements) *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCount { + if v == nil { + return nil + } + return v.VcpuCount + }).(SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrOutput) +} + +type SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCount struct { + // Maximum. Set to `0` to exclude instance types with accelerators. + Max *int `pulumi:"max"` + // Minimum. + Min *int `pulumi:"min"` +} + +// SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountInput is an input type that accepts SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountArgs and SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountOutput values. +// You can construct a concrete instance of `SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountInput` via: +// +// SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountArgs{...} +type SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountInput interface { + pulumi.Input + + ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountOutput() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountOutput + ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountOutputWithContext(context.Context) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountOutput +} + +type SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountArgs struct { + // Maximum. Set to `0` to exclude instance types with accelerators. + Max pulumi.IntPtrInput `pulumi:"max"` + // Minimum. + Min pulumi.IntPtrInput `pulumi:"min"` +} + +func (SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCount)(nil)).Elem() +} + +func (i SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountArgs) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountOutput() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountOutput { + return i.ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountOutputWithContext(context.Background()) +} + +func (i SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountArgs) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountOutputWithContext(ctx context.Context) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountOutput { + return pulumi.ToOutputWithContext(ctx, i).(SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountOutput) +} + +func (i SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountArgs) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrOutput() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrOutput { + return i.ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrOutputWithContext(context.Background()) +} + +func (i SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountArgs) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrOutputWithContext(ctx context.Context) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountOutput).ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrOutputWithContext(ctx) +} + +// SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrInput is an input type that accepts SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountArgs, SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtr and SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrOutput values. +// You can construct a concrete instance of `SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrInput` via: +// +// SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountArgs{...} +// +// or: +// +// nil +type SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrInput interface { + pulumi.Input + + ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrOutput() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrOutput + ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrOutputWithContext(context.Context) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrOutput +} + +type spotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrType SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountArgs + +func SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtr(v *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountArgs) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrInput { + return (*spotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrType)(v) +} + +func (*spotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCount)(nil)).Elem() +} + +func (i *spotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrType) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrOutput() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrOutput { + return i.ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrOutputWithContext(context.Background()) +} + +func (i *spotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrType) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrOutputWithContext(ctx context.Context) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrOutput) +} + +type SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountOutput struct{ *pulumi.OutputState } + +func (SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCount)(nil)).Elem() +} + +func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountOutput) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountOutput() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountOutput { + return o +} + +func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountOutput) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountOutputWithContext(ctx context.Context) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountOutput { + return o +} + +func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountOutput) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrOutput() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrOutput { + return o.ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrOutputWithContext(context.Background()) +} + +func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountOutput) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrOutputWithContext(ctx context.Context) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCount) *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCount { + return &v + }).(SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrOutput) +} + +// Maximum. Set to `0` to exclude instance types with accelerators. +func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountOutput) Max() pulumi.IntPtrOutput { + return o.ApplyT(func(v SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCount) *int { + return v.Max + }).(pulumi.IntPtrOutput) +} + +// Minimum. +func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountOutput) Min() pulumi.IntPtrOutput { + return o.ApplyT(func(v SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCount) *int { + return v.Min + }).(pulumi.IntPtrOutput) +} + +type SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrOutput struct{ *pulumi.OutputState } + +func (SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCount)(nil)).Elem() +} + +func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrOutput) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrOutput() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrOutput { + return o +} + +func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrOutput) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrOutputWithContext(ctx context.Context) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrOutput { + return o +} + +func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrOutput) Elem() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountOutput { + return o.ApplyT(func(v *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCount) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCount { + if v != nil { + return *v + } + var ret SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCount + return ret + }).(SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountOutput) +} + +// Maximum. Set to `0` to exclude instance types with accelerators. +func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrOutput) Max() pulumi.IntPtrOutput { + return o.ApplyT(func(v *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCount) *int { + if v == nil { + return nil + } + return v.Max + }).(pulumi.IntPtrOutput) +} + +// Minimum. +func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrOutput) Min() pulumi.IntPtrOutput { + return o.ApplyT(func(v *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCount) *int { + if v == nil { + return nil + } + return v.Min + }).(pulumi.IntPtrOutput) +} + +type SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMib struct { + // Maximum. + Max *int `pulumi:"max"` + // Minimum. + Min *int `pulumi:"min"` +} + +// SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibInput is an input type that accepts SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibArgs and SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibOutput values. +// You can construct a concrete instance of `SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibInput` via: +// +// SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibArgs{...} +type SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibInput interface { + pulumi.Input + + ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibOutput() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibOutput + ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibOutputWithContext(context.Context) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibOutput +} + +type SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibArgs struct { + // Maximum. + Max pulumi.IntPtrInput `pulumi:"max"` + // Minimum. + Min pulumi.IntPtrInput `pulumi:"min"` +} + +func (SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMib)(nil)).Elem() +} + +func (i SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibArgs) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibOutput() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibOutput { + return i.ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibOutputWithContext(context.Background()) +} + +func (i SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibArgs) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibOutputWithContext(ctx context.Context) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibOutput { + return pulumi.ToOutputWithContext(ctx, i).(SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibOutput) +} + +func (i SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibArgs) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrOutput() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrOutput { + return i.ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrOutputWithContext(context.Background()) +} + +func (i SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibArgs) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrOutputWithContext(ctx context.Context) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibOutput).ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrOutputWithContext(ctx) +} + +// SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrInput is an input type that accepts SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibArgs, SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtr and SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrOutput values. +// You can construct a concrete instance of `SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrInput` via: +// +// SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibArgs{...} +// +// or: +// +// nil +type SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrInput interface { + pulumi.Input + + ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrOutput() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrOutput + ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrOutputWithContext(context.Context) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrOutput +} + +type spotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrType SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibArgs + +func SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtr(v *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibArgs) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrInput { + return (*spotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrType)(v) +} + +func (*spotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMib)(nil)).Elem() +} + +func (i *spotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrType) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrOutput() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrOutput { + return i.ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrOutputWithContext(context.Background()) +} + +func (i *spotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrType) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrOutputWithContext(ctx context.Context) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrOutput) +} + +type SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibOutput struct{ *pulumi.OutputState } + +func (SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMib)(nil)).Elem() +} + +func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibOutput) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibOutput() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibOutput { + return o +} + +func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibOutput) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibOutputWithContext(ctx context.Context) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibOutput { + return o +} + +func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibOutput) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrOutput() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrOutput { + return o.ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrOutputWithContext(context.Background()) +} + +func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibOutput) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrOutputWithContext(ctx context.Context) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMib) *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMib { + return &v + }).(SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrOutput) +} + +// Maximum. +func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibOutput) Max() pulumi.IntPtrOutput { + return o.ApplyT(func(v SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMib) *int { + return v.Max + }).(pulumi.IntPtrOutput) +} + +// Minimum. +func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibOutput) Min() pulumi.IntPtrOutput { + return o.ApplyT(func(v SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMib) *int { + return v.Min + }).(pulumi.IntPtrOutput) +} + +type SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrOutput struct{ *pulumi.OutputState } + +func (SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMib)(nil)).Elem() +} + +func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrOutput) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrOutput() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrOutput { + return o +} + +func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrOutput) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrOutputWithContext(ctx context.Context) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrOutput { return o } -func (o SpotFleetRequestLaunchTemplateConfigOverrideArrayOutput) Index(i pulumi.IntInput) SpotFleetRequestLaunchTemplateConfigOverrideOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) SpotFleetRequestLaunchTemplateConfigOverride { - return vs[0].([]SpotFleetRequestLaunchTemplateConfigOverride)[vs[1].(int)] - }).(SpotFleetRequestLaunchTemplateConfigOverrideOutput) +func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrOutput) Elem() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibOutput { + return o.ApplyT(func(v *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMib) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMib { + if v != nil { + return *v + } + var ret SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMib + return ret + }).(SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibOutput) +} + +// Maximum. +func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrOutput) Max() pulumi.IntPtrOutput { + return o.ApplyT(func(v *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMib) *int { + if v == nil { + return nil + } + return v.Max + }).(pulumi.IntPtrOutput) +} + +// Minimum. +func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrOutput) Min() pulumi.IntPtrOutput { + return o.ApplyT(func(v *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMib) *int { + if v == nil { + return nil + } + return v.Min + }).(pulumi.IntPtrOutput) +} + +type SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbps struct { + // Maximum. + Max *int `pulumi:"max"` + // Minimum. + Min *int `pulumi:"min"` +} + +// SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsInput is an input type that accepts SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsArgs and SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsOutput values. +// You can construct a concrete instance of `SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsInput` via: +// +// SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsArgs{...} +type SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsInput interface { + pulumi.Input + + ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsOutput() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsOutput + ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsOutputWithContext(context.Context) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsOutput +} + +type SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsArgs struct { + // Maximum. + Max pulumi.IntPtrInput `pulumi:"max"` + // Minimum. + Min pulumi.IntPtrInput `pulumi:"min"` +} + +func (SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbps)(nil)).Elem() +} + +func (i SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsArgs) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsOutput() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsOutput { + return i.ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsOutputWithContext(context.Background()) +} + +func (i SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsArgs) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsOutputWithContext(ctx context.Context) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsOutput { + return pulumi.ToOutputWithContext(ctx, i).(SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsOutput) +} + +func (i SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsArgs) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutput() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutput { + return i.ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutputWithContext(context.Background()) +} + +func (i SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsArgs) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutputWithContext(ctx context.Context) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsOutput).ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutputWithContext(ctx) +} + +// SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrInput is an input type that accepts SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsArgs, SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtr and SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutput values. +// You can construct a concrete instance of `SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrInput` via: +// +// SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsArgs{...} +// +// or: +// +// nil +type SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrInput interface { + pulumi.Input + + ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutput() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutput + ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutputWithContext(context.Context) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutput +} + +type spotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrType SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsArgs + +func SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtr(v *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsArgs) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrInput { + return (*spotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrType)(v) +} + +func (*spotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbps)(nil)).Elem() +} + +func (i *spotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrType) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutput() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutput { + return i.ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutputWithContext(context.Background()) +} + +func (i *spotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrType) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutputWithContext(ctx context.Context) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutput) +} + +type SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsOutput struct{ *pulumi.OutputState } + +func (SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbps)(nil)).Elem() +} + +func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsOutput) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsOutput() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsOutput { + return o +} + +func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsOutput) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsOutputWithContext(ctx context.Context) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsOutput { + return o +} + +func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsOutput) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutput() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutput { + return o.ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutputWithContext(context.Background()) +} + +func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsOutput) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutputWithContext(ctx context.Context) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbps) *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbps { + return &v + }).(SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutput) +} + +// Maximum. +func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsOutput) Max() pulumi.IntPtrOutput { + return o.ApplyT(func(v SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbps) *int { + return v.Max + }).(pulumi.IntPtrOutput) +} + +// Minimum. +func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsOutput) Min() pulumi.IntPtrOutput { + return o.ApplyT(func(v SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbps) *int { + return v.Min + }).(pulumi.IntPtrOutput) +} + +type SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutput struct{ *pulumi.OutputState } + +func (SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbps)(nil)).Elem() +} + +func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutput) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutput() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutput { + return o +} + +func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutput) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutputWithContext(ctx context.Context) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutput { + return o +} + +func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutput) Elem() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsOutput { + return o.ApplyT(func(v *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbps) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbps { + if v != nil { + return *v + } + var ret SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbps + return ret + }).(SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsOutput) +} + +// Maximum. +func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutput) Max() pulumi.IntPtrOutput { + return o.ApplyT(func(v *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbps) *int { + if v == nil { + return nil + } + return v.Max + }).(pulumi.IntPtrOutput) +} + +// Minimum. +func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutput) Min() pulumi.IntPtrOutput { + return o.ApplyT(func(v *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbps) *int { + if v == nil { + return nil + } + return v.Min + }).(pulumi.IntPtrOutput) +} + +type SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpu struct { + // Maximum. May be a decimal number, e.g. `0.5`. + Max *float64 `pulumi:"max"` + // Minimum. May be a decimal number, e.g. `0.5`. + Min *float64 `pulumi:"min"` +} + +// SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuInput is an input type that accepts SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuArgs and SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuOutput values. +// You can construct a concrete instance of `SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuInput` via: +// +// SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuArgs{...} +type SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuInput interface { + pulumi.Input + + ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuOutput() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuOutput + ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuOutputWithContext(context.Context) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuOutput +} + +type SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuArgs struct { + // Maximum. May be a decimal number, e.g. `0.5`. + Max pulumi.Float64PtrInput `pulumi:"max"` + // Minimum. May be a decimal number, e.g. `0.5`. + Min pulumi.Float64PtrInput `pulumi:"min"` +} + +func (SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpu)(nil)).Elem() +} + +func (i SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuArgs) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuOutput() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuOutput { + return i.ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuOutputWithContext(context.Background()) +} + +func (i SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuArgs) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuOutputWithContext(ctx context.Context) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuOutput { + return pulumi.ToOutputWithContext(ctx, i).(SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuOutput) +} + +func (i SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuArgs) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrOutput() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrOutput { + return i.ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrOutputWithContext(context.Background()) +} + +func (i SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuArgs) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrOutputWithContext(ctx context.Context) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuOutput).ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrOutputWithContext(ctx) +} + +// SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrInput is an input type that accepts SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuArgs, SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtr and SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrOutput values. +// You can construct a concrete instance of `SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrInput` via: +// +// SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuArgs{...} +// +// or: +// +// nil +type SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrInput interface { + pulumi.Input + + ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrOutput() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrOutput + ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrOutputWithContext(context.Context) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrOutput +} + +type spotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrType SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuArgs + +func SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtr(v *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuArgs) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrInput { + return (*spotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrType)(v) +} + +func (*spotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpu)(nil)).Elem() +} + +func (i *spotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrType) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrOutput() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrOutput { + return i.ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrOutputWithContext(context.Background()) +} + +func (i *spotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrType) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrOutputWithContext(ctx context.Context) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrOutput) +} + +type SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuOutput struct{ *pulumi.OutputState } + +func (SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpu)(nil)).Elem() +} + +func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuOutput) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuOutput() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuOutput { + return o +} + +func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuOutput) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuOutputWithContext(ctx context.Context) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuOutput { + return o +} + +func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuOutput) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrOutput() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrOutput { + return o.ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrOutputWithContext(context.Background()) +} + +func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuOutput) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrOutputWithContext(ctx context.Context) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpu) *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpu { + return &v + }).(SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrOutput) +} + +// Maximum. May be a decimal number, e.g. `0.5`. +func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuOutput) Max() pulumi.Float64PtrOutput { + return o.ApplyT(func(v SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpu) *float64 { + return v.Max + }).(pulumi.Float64PtrOutput) +} + +// Minimum. May be a decimal number, e.g. `0.5`. +func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuOutput) Min() pulumi.Float64PtrOutput { + return o.ApplyT(func(v SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpu) *float64 { + return v.Min + }).(pulumi.Float64PtrOutput) +} + +type SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrOutput struct{ *pulumi.OutputState } + +func (SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpu)(nil)).Elem() +} + +func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrOutput) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrOutput() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrOutput { + return o +} + +func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrOutput) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrOutputWithContext(ctx context.Context) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrOutput { + return o +} + +func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrOutput) Elem() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuOutput { + return o.ApplyT(func(v *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpu) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpu { + if v != nil { + return *v + } + var ret SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpu + return ret + }).(SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuOutput) +} + +// Maximum. May be a decimal number, e.g. `0.5`. +func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrOutput) Max() pulumi.Float64PtrOutput { + return o.ApplyT(func(v *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpu) *float64 { + if v == nil { + return nil + } + return v.Max + }).(pulumi.Float64PtrOutput) +} + +// Minimum. May be a decimal number, e.g. `0.5`. +func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrOutput) Min() pulumi.Float64PtrOutput { + return o.ApplyT(func(v *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpu) *float64 { + if v == nil { + return nil + } + return v.Min + }).(pulumi.Float64PtrOutput) +} + +type SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMib struct { + // Maximum. + Max *int `pulumi:"max"` + // Minimum. + Min *int `pulumi:"min"` +} + +// SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibInput is an input type that accepts SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibArgs and SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibOutput values. +// You can construct a concrete instance of `SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibInput` via: +// +// SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibArgs{...} +type SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibInput interface { + pulumi.Input + + ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibOutput() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibOutput + ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibOutputWithContext(context.Context) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibOutput +} + +type SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibArgs struct { + // Maximum. + Max pulumi.IntPtrInput `pulumi:"max"` + // Minimum. + Min pulumi.IntPtrInput `pulumi:"min"` +} + +func (SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMib)(nil)).Elem() +} + +func (i SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibArgs) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibOutput() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibOutput { + return i.ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibOutputWithContext(context.Background()) +} + +func (i SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibArgs) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibOutputWithContext(ctx context.Context) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibOutput { + return pulumi.ToOutputWithContext(ctx, i).(SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibOutput) +} + +func (i SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibArgs) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrOutput() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrOutput { + return i.ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrOutputWithContext(context.Background()) +} + +func (i SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibArgs) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrOutputWithContext(ctx context.Context) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibOutput).ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrOutputWithContext(ctx) +} + +// SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrInput is an input type that accepts SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibArgs, SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtr and SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrOutput values. +// You can construct a concrete instance of `SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrInput` via: +// +// SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibArgs{...} +// +// or: +// +// nil +type SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrInput interface { + pulumi.Input + + ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrOutput() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrOutput + ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrOutputWithContext(context.Context) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrOutput +} + +type spotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrType SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibArgs + +func SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtr(v *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibArgs) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrInput { + return (*spotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrType)(v) +} + +func (*spotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMib)(nil)).Elem() +} + +func (i *spotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrType) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrOutput() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrOutput { + return i.ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrOutputWithContext(context.Background()) +} + +func (i *spotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrType) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrOutputWithContext(ctx context.Context) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrOutput) +} + +type SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibOutput struct{ *pulumi.OutputState } + +func (SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMib)(nil)).Elem() +} + +func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibOutput) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibOutput() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibOutput { + return o +} + +func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibOutput) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibOutputWithContext(ctx context.Context) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibOutput { + return o +} + +func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibOutput) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrOutput() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrOutput { + return o.ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrOutputWithContext(context.Background()) +} + +func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibOutput) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrOutputWithContext(ctx context.Context) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMib) *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMib { + return &v + }).(SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrOutput) +} + +// Maximum. +func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibOutput) Max() pulumi.IntPtrOutput { + return o.ApplyT(func(v SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMib) *int { return v.Max }).(pulumi.IntPtrOutput) +} + +// Minimum. +func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibOutput) Min() pulumi.IntPtrOutput { + return o.ApplyT(func(v SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMib) *int { return v.Min }).(pulumi.IntPtrOutput) +} + +type SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrOutput struct{ *pulumi.OutputState } + +func (SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMib)(nil)).Elem() +} + +func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrOutput) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrOutput() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrOutput { + return o +} + +func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrOutput) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrOutputWithContext(ctx context.Context) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrOutput { + return o +} + +func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrOutput) Elem() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibOutput { + return o.ApplyT(func(v *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMib) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMib { + if v != nil { + return *v + } + var ret SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMib + return ret + }).(SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibOutput) +} + +// Maximum. +func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrOutput) Max() pulumi.IntPtrOutput { + return o.ApplyT(func(v *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMib) *int { + if v == nil { + return nil + } + return v.Max + }).(pulumi.IntPtrOutput) +} + +// Minimum. +func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrOutput) Min() pulumi.IntPtrOutput { + return o.ApplyT(func(v *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMib) *int { + if v == nil { + return nil + } + return v.Min + }).(pulumi.IntPtrOutput) } -type SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirements struct { - // Block describing the minimum and maximum number of accelerators (GPUs, FPGAs, or AWS Inferentia chips). Default is no minimum or maximum. - AcceleratorCount *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCount `pulumi:"acceleratorCount"` - // List of accelerator manufacturer names. Default is any manufacturer. - AcceleratorManufacturers []string `pulumi:"acceleratorManufacturers"` - // List of accelerator names. Default is any acclerator. - AcceleratorNames []string `pulumi:"acceleratorNames"` - // Block describing the minimum and maximum total memory of the accelerators. Default is no minimum or maximum. - AcceleratorTotalMemoryMib *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMib `pulumi:"acceleratorTotalMemoryMib"` - // List of accelerator types. Default is any accelerator type. - AcceleratorTypes []string `pulumi:"acceleratorTypes"` - // 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. - // - // > **NOTE:** If you specify `allowedInstanceTypes`, you can't specify `excludedInstanceTypes`. - AllowedInstanceTypes []string `pulumi:"allowedInstanceTypes"` - // Indicate whether bare metal instace types should be `included`, `excluded`, or `required`. Default is `excluded`. - BareMetal *string `pulumi:"bareMetal"` - // Block describing the minimum and maximum baseline EBS bandwidth, in Mbps. Default is no minimum or maximum. - BaselineEbsBandwidthMbps *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbps `pulumi:"baselineEbsBandwidthMbps"` - // Indicate whether burstable performance instance types should be `included`, `excluded`, or `required`. Default is `excluded`. - BurstablePerformance *string `pulumi:"burstablePerformance"` - // List of CPU manufacturer names. Default is any manufacturer. - // - // > **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. - CpuManufacturers []string `pulumi:"cpuManufacturers"` - // 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. - // - // > **NOTE:** If you specify `excludedInstanceTypes`, you can't specify `allowedInstanceTypes`. - ExcludedInstanceTypes []string `pulumi:"excludedInstanceTypes"` - // List of instance generation names. Default is any generation. - InstanceGenerations []string `pulumi:"instanceGenerations"` - // Indicate whether instance types with local storage volumes are `included`, `excluded`, or `required`. Default is `included`. - LocalStorage *string `pulumi:"localStorage"` - // List of local storage type names. Default any storage type. - LocalStorageTypes []string `pulumi:"localStorageTypes"` - // Block describing the minimum and maximum amount of memory (GiB) per vCPU. Default is no minimum or maximum. - MemoryGibPerVcpu *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpu `pulumi:"memoryGibPerVcpu"` - // Block describing the minimum and maximum amount of memory (MiB). Default is no maximum. - MemoryMib *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMib `pulumi:"memoryMib"` - // Block describing the minimum and maximum amount of network bandwidth, in gigabits per second (Gbps). Default is no minimum or maximum. - NetworkBandwidthGbps *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbps `pulumi:"networkBandwidthGbps"` - // Block describing the minimum and maximum number of network interfaces. Default is no minimum or maximum. - NetworkInterfaceCount *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCount `pulumi:"networkInterfaceCount"` - // The 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. - // - // If 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. - OnDemandMaxPricePercentageOverLowestPrice *int `pulumi:"onDemandMaxPricePercentageOverLowestPrice"` - // Indicate whether instance types must support On-Demand Instance Hibernation, either `true` or `false`. Default is `false`. - RequireHibernateSupport *bool `pulumi:"requireHibernateSupport"` - // The 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. - // - // If 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. - SpotMaxPricePercentageOverLowestPrice *int `pulumi:"spotMaxPricePercentageOverLowestPrice"` - // Block describing the minimum and maximum total local storage (GB). Default is no minimum or maximum. - TotalLocalStorageGb *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGb `pulumi:"totalLocalStorageGb"` - // Block describing the minimum and maximum number of vCPUs. Default is no maximum. - VcpuCount *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCount `pulumi:"vcpuCount"` +type SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbps struct { + // Maximum. + Max *float64 `pulumi:"max"` + // Minimum. + Min *float64 `pulumi:"min"` } -// SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsInput is an input type that accepts SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsArgs and SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsOutput values. -// You can construct a concrete instance of `SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsInput` via: +// SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsInput is an input type that accepts SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsArgs and SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsOutput values. +// You can construct a concrete instance of `SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsInput` via: // -// SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsArgs{...} -type SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsInput interface { +// SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsArgs{...} +type SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsInput interface { pulumi.Input - ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsOutput() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsOutput - ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsOutputWithContext(context.Context) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsOutput + ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsOutput() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsOutput + ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsOutputWithContext(context.Context) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsOutput } -type SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsArgs struct { - // Block describing the minimum and maximum number of accelerators (GPUs, FPGAs, or AWS Inferentia chips). Default is no minimum or maximum. - AcceleratorCount SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrInput `pulumi:"acceleratorCount"` - // List of accelerator manufacturer names. Default is any manufacturer. - AcceleratorManufacturers pulumi.StringArrayInput `pulumi:"acceleratorManufacturers"` - // List of accelerator names. Default is any acclerator. - AcceleratorNames pulumi.StringArrayInput `pulumi:"acceleratorNames"` - // Block describing the minimum and maximum total memory of the accelerators. Default is no minimum or maximum. - AcceleratorTotalMemoryMib SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrInput `pulumi:"acceleratorTotalMemoryMib"` - // List of accelerator types. Default is any accelerator type. - AcceleratorTypes pulumi.StringArrayInput `pulumi:"acceleratorTypes"` - // 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. - // - // > **NOTE:** If you specify `allowedInstanceTypes`, you can't specify `excludedInstanceTypes`. - AllowedInstanceTypes pulumi.StringArrayInput `pulumi:"allowedInstanceTypes"` - // Indicate whether bare metal instace types should be `included`, `excluded`, or `required`. Default is `excluded`. - BareMetal pulumi.StringPtrInput `pulumi:"bareMetal"` - // Block describing the minimum and maximum baseline EBS bandwidth, in Mbps. Default is no minimum or maximum. - BaselineEbsBandwidthMbps SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrInput `pulumi:"baselineEbsBandwidthMbps"` - // Indicate whether burstable performance instance types should be `included`, `excluded`, or `required`. Default is `excluded`. - BurstablePerformance pulumi.StringPtrInput `pulumi:"burstablePerformance"` - // List of CPU manufacturer names. Default is any manufacturer. - // - // > **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. - CpuManufacturers pulumi.StringArrayInput `pulumi:"cpuManufacturers"` - // 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. - // - // > **NOTE:** If you specify `excludedInstanceTypes`, you can't specify `allowedInstanceTypes`. - ExcludedInstanceTypes pulumi.StringArrayInput `pulumi:"excludedInstanceTypes"` - // List of instance generation names. Default is any generation. - InstanceGenerations pulumi.StringArrayInput `pulumi:"instanceGenerations"` - // Indicate whether instance types with local storage volumes are `included`, `excluded`, or `required`. Default is `included`. - LocalStorage pulumi.StringPtrInput `pulumi:"localStorage"` - // List of local storage type names. Default any storage type. - LocalStorageTypes pulumi.StringArrayInput `pulumi:"localStorageTypes"` - // Block describing the minimum and maximum amount of memory (GiB) per vCPU. Default is no minimum or maximum. - MemoryGibPerVcpu SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrInput `pulumi:"memoryGibPerVcpu"` - // Block describing the minimum and maximum amount of memory (MiB). Default is no maximum. - MemoryMib SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrInput `pulumi:"memoryMib"` - // Block describing the minimum and maximum amount of network bandwidth, in gigabits per second (Gbps). Default is no minimum or maximum. - NetworkBandwidthGbps SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrInput `pulumi:"networkBandwidthGbps"` - // Block describing the minimum and maximum number of network interfaces. Default is no minimum or maximum. - NetworkInterfaceCount SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrInput `pulumi:"networkInterfaceCount"` - // The 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. - // - // If 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. - OnDemandMaxPricePercentageOverLowestPrice pulumi.IntPtrInput `pulumi:"onDemandMaxPricePercentageOverLowestPrice"` - // Indicate whether instance types must support On-Demand Instance Hibernation, either `true` or `false`. Default is `false`. - RequireHibernateSupport pulumi.BoolPtrInput `pulumi:"requireHibernateSupport"` - // The 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. - // - // If 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. - SpotMaxPricePercentageOverLowestPrice pulumi.IntPtrInput `pulumi:"spotMaxPricePercentageOverLowestPrice"` - // Block describing the minimum and maximum total local storage (GB). Default is no minimum or maximum. - TotalLocalStorageGb SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrInput `pulumi:"totalLocalStorageGb"` - // Block describing the minimum and maximum number of vCPUs. Default is no maximum. - VcpuCount SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrInput `pulumi:"vcpuCount"` +type SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsArgs struct { + // Maximum. + Max pulumi.Float64PtrInput `pulumi:"max"` + // Minimum. + Min pulumi.Float64PtrInput `pulumi:"min"` } -func (SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsArgs) ElementType() reflect.Type { - return reflect.TypeOf((*SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirements)(nil)).Elem() +func (SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbps)(nil)).Elem() } -func (i SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsArgs) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsOutput() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsOutput { - return i.ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsOutputWithContext(context.Background()) +func (i SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsArgs) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsOutput() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsOutput { + return i.ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsOutputWithContext(context.Background()) } -func (i SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsArgs) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsOutputWithContext(ctx context.Context) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsOutput { - return pulumi.ToOutputWithContext(ctx, i).(SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsOutput) +func (i SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsArgs) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsOutputWithContext(ctx context.Context) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsOutput { + return pulumi.ToOutputWithContext(ctx, i).(SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsOutput) } -func (i SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsArgs) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput { - return i.ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsPtrOutputWithContext(context.Background()) +func (i SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsArgs) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrOutput() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrOutput { + return i.ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrOutputWithContext(context.Background()) } -func (i SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsArgs) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsPtrOutputWithContext(ctx context.Context) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsOutput).ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsPtrOutputWithContext(ctx) +func (i SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsArgs) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrOutputWithContext(ctx context.Context) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsOutput).ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrOutputWithContext(ctx) } -// SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsPtrInput is an input type that accepts SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsArgs, SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsPtr and SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput values. -// You can construct a concrete instance of `SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsPtrInput` via: +// SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrInput is an input type that accepts SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsArgs, SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtr and SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrOutput values. +// You can construct a concrete instance of `SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrInput` via: // -// SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsArgs{...} +// SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsArgs{...} // // or: // // nil -type SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsPtrInput interface { +type SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrInput interface { pulumi.Input - ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput - ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsPtrOutputWithContext(context.Context) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput + ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrOutput() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrOutput + ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrOutputWithContext(context.Context) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrOutput } -type spotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsPtrType SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsArgs +type spotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrType SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsArgs -func SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsPtr(v *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsArgs) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsPtrInput { - return (*spotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsPtrType)(v) +func SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtr(v *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsArgs) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrInput { + return (*spotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrType)(v) } -func (*spotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirements)(nil)).Elem() +func (*spotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbps)(nil)).Elem() } -func (i *spotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsPtrType) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput { - return i.ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsPtrOutputWithContext(context.Background()) +func (i *spotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrType) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrOutput() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrOutput { + return i.ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrOutputWithContext(context.Background()) } -func (i *spotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsPtrType) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsPtrOutputWithContext(ctx context.Context) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput) +func (i *spotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrType) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrOutputWithContext(ctx context.Context) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrOutput) } -type SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsOutput struct{ *pulumi.OutputState } +type SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsOutput struct{ *pulumi.OutputState } -func (SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsOutput) ElementType() reflect.Type { - return reflect.TypeOf((*SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirements)(nil)).Elem() +func (SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbps)(nil)).Elem() } -func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsOutput) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsOutput() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsOutput { +func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsOutput) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsOutput() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsOutput { return o } -func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsOutput) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsOutputWithContext(ctx context.Context) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsOutput { +func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsOutput) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsOutputWithContext(ctx context.Context) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsOutput { return o } -func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsOutput) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput { - return o.ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsPtrOutputWithContext(context.Background()) +func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsOutput) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrOutput() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrOutput { + return o.ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrOutputWithContext(context.Background()) } -func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsOutput) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsPtrOutputWithContext(ctx context.Context) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirements) *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirements { +func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsOutput) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrOutputWithContext(ctx context.Context) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbps) *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbps { return &v - }).(SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput) + }).(SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrOutput) } -// Block describing the minimum and maximum number of accelerators (GPUs, FPGAs, or AWS Inferentia chips). Default is no minimum or maximum. -func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsOutput) AcceleratorCount() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrOutput { - return o.ApplyT(func(v SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirements) *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCount { - return v.AcceleratorCount - }).(SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrOutput) +// Maximum. +func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsOutput) Max() pulumi.Float64PtrOutput { + return o.ApplyT(func(v SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbps) *float64 { + return v.Max + }).(pulumi.Float64PtrOutput) } -// List of accelerator manufacturer names. Default is any manufacturer. -func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsOutput) AcceleratorManufacturers() pulumi.StringArrayOutput { - return o.ApplyT(func(v SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirements) []string { - return v.AcceleratorManufacturers - }).(pulumi.StringArrayOutput) +// Minimum. +func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsOutput) Min() pulumi.Float64PtrOutput { + return o.ApplyT(func(v SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbps) *float64 { + return v.Min + }).(pulumi.Float64PtrOutput) } -// List of accelerator names. Default is any acclerator. -func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsOutput) AcceleratorNames() pulumi.StringArrayOutput { - return o.ApplyT(func(v SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirements) []string { - return v.AcceleratorNames - }).(pulumi.StringArrayOutput) +type SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrOutput struct{ *pulumi.OutputState } + +func (SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbps)(nil)).Elem() } -// Block describing the minimum and maximum total memory of the accelerators. Default is no minimum or maximum. -func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsOutput) AcceleratorTotalMemoryMib() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrOutput { - return o.ApplyT(func(v SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirements) *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMib { - return v.AcceleratorTotalMemoryMib - }).(SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrOutput) +func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrOutput) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrOutput() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrOutput { + return o } -// List of accelerator types. Default is any accelerator type. -func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsOutput) AcceleratorTypes() pulumi.StringArrayOutput { - return o.ApplyT(func(v SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirements) []string { - return v.AcceleratorTypes - }).(pulumi.StringArrayOutput) +func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrOutput) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrOutputWithContext(ctx context.Context) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrOutput { + return o } -// 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. -// -// > **NOTE:** If you specify `allowedInstanceTypes`, you can't specify `excludedInstanceTypes`. -func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsOutput) AllowedInstanceTypes() pulumi.StringArrayOutput { - return o.ApplyT(func(v SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirements) []string { - return v.AllowedInstanceTypes - }).(pulumi.StringArrayOutput) +func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrOutput) Elem() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsOutput { + return o.ApplyT(func(v *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbps) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbps { + if v != nil { + return *v + } + var ret SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbps + return ret + }).(SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsOutput) } -// Indicate whether bare metal instace types should be `included`, `excluded`, or `required`. Default is `excluded`. -func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsOutput) BareMetal() pulumi.StringPtrOutput { - return o.ApplyT(func(v SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirements) *string { return v.BareMetal }).(pulumi.StringPtrOutput) +// Maximum. +func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrOutput) Max() pulumi.Float64PtrOutput { + return o.ApplyT(func(v *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbps) *float64 { + if v == nil { + return nil + } + return v.Max + }).(pulumi.Float64PtrOutput) } -// Block describing the minimum and maximum baseline EBS bandwidth, in Mbps. Default is no minimum or maximum. -func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsOutput) BaselineEbsBandwidthMbps() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutput { - return o.ApplyT(func(v SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirements) *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbps { - return v.BaselineEbsBandwidthMbps - }).(SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutput) +// Minimum. +func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrOutput) Min() pulumi.Float64PtrOutput { + return o.ApplyT(func(v *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbps) *float64 { + if v == nil { + return nil + } + return v.Min + }).(pulumi.Float64PtrOutput) } -// Indicate whether burstable performance instance types should be `included`, `excluded`, or `required`. Default is `excluded`. -func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsOutput) BurstablePerformance() pulumi.StringPtrOutput { - return o.ApplyT(func(v SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirements) *string { - return v.BurstablePerformance - }).(pulumi.StringPtrOutput) +type SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCount struct { + // Maximum. + Max *int `pulumi:"max"` + // Minimum. + Min *int `pulumi:"min"` } -// List of CPU manufacturer names. Default is any manufacturer. +// SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountInput is an input type that accepts SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountArgs and SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountOutput values. +// You can construct a concrete instance of `SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountInput` via: // -// > **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. -func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsOutput) CpuManufacturers() pulumi.StringArrayOutput { - return o.ApplyT(func(v SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirements) []string { - return v.CpuManufacturers - }).(pulumi.StringArrayOutput) +// SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountArgs{...} +type SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountInput interface { + pulumi.Input + + ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountOutput() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountOutput + ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountOutputWithContext(context.Context) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountOutput } -// 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. +type SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountArgs struct { + // Maximum. + Max pulumi.IntPtrInput `pulumi:"max"` + // Minimum. + Min pulumi.IntPtrInput `pulumi:"min"` +} + +func (SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCount)(nil)).Elem() +} + +func (i SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountArgs) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountOutput() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountOutput { + return i.ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountOutputWithContext(context.Background()) +} + +func (i SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountArgs) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountOutputWithContext(ctx context.Context) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountOutput { + return pulumi.ToOutputWithContext(ctx, i).(SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountOutput) +} + +func (i SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountArgs) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrOutput() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrOutput { + return i.ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrOutputWithContext(context.Background()) +} + +func (i SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountArgs) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrOutputWithContext(ctx context.Context) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountOutput).ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrOutputWithContext(ctx) +} + +// SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrInput is an input type that accepts SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountArgs, SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtr and SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrOutput values. +// You can construct a concrete instance of `SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrInput` via: // -// > **NOTE:** If you specify `excludedInstanceTypes`, you can't specify `allowedInstanceTypes`. -func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsOutput) ExcludedInstanceTypes() pulumi.StringArrayOutput { - return o.ApplyT(func(v SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirements) []string { - return v.ExcludedInstanceTypes - }).(pulumi.StringArrayOutput) +// SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountArgs{...} +// +// or: +// +// nil +type SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrInput interface { + pulumi.Input + + ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrOutput() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrOutput + ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrOutputWithContext(context.Context) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrOutput } -// List of instance generation names. Default is any generation. -func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsOutput) InstanceGenerations() pulumi.StringArrayOutput { - return o.ApplyT(func(v SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirements) []string { - return v.InstanceGenerations - }).(pulumi.StringArrayOutput) +type spotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrType SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountArgs + +func SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtr(v *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountArgs) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrInput { + return (*spotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrType)(v) } -// Indicate whether instance types with local storage volumes are `included`, `excluded`, or `required`. Default is `included`. -func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsOutput) LocalStorage() pulumi.StringPtrOutput { - return o.ApplyT(func(v SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirements) *string { - return v.LocalStorage - }).(pulumi.StringPtrOutput) +func (*spotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCount)(nil)).Elem() } -// List of local storage type names. Default any storage type. -func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsOutput) LocalStorageTypes() pulumi.StringArrayOutput { - return o.ApplyT(func(v SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirements) []string { - return v.LocalStorageTypes - }).(pulumi.StringArrayOutput) +func (i *spotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrType) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrOutput() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrOutput { + return i.ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrOutputWithContext(context.Background()) } -// Block describing the minimum and maximum amount of memory (GiB) per vCPU. Default is no minimum or maximum. -func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsOutput) MemoryGibPerVcpu() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrOutput { - return o.ApplyT(func(v SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirements) *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpu { - return v.MemoryGibPerVcpu - }).(SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrOutput) +func (i *spotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrType) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrOutputWithContext(ctx context.Context) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrOutput) } -// Block describing the minimum and maximum amount of memory (MiB). Default is no maximum. -func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsOutput) MemoryMib() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrOutput { - return o.ApplyT(func(v SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirements) *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMib { - return v.MemoryMib - }).(SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrOutput) +type SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountOutput struct{ *pulumi.OutputState } + +func (SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCount)(nil)).Elem() } -// Block describing the minimum and maximum amount of network bandwidth, in gigabits per second (Gbps). Default is no minimum or maximum. -func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsOutput) NetworkBandwidthGbps() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrOutput { - return o.ApplyT(func(v SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirements) *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbps { - return v.NetworkBandwidthGbps - }).(SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrOutput) +func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountOutput) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountOutput() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountOutput { + return o } -// Block describing the minimum and maximum number of network interfaces. Default is no minimum or maximum. -func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsOutput) NetworkInterfaceCount() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrOutput { - return o.ApplyT(func(v SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirements) *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCount { - return v.NetworkInterfaceCount +func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountOutput) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountOutputWithContext(ctx context.Context) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountOutput { + return o +} + +func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountOutput) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrOutput() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrOutput { + return o.ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrOutputWithContext(context.Background()) +} + +func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountOutput) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrOutputWithContext(ctx context.Context) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCount) *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCount { + return &v }).(SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrOutput) } -// The 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. -// -// If 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. -func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsOutput) OnDemandMaxPricePercentageOverLowestPrice() pulumi.IntPtrOutput { - return o.ApplyT(func(v SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirements) *int { - return v.OnDemandMaxPricePercentageOverLowestPrice +// Maximum. +func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountOutput) Max() pulumi.IntPtrOutput { + return o.ApplyT(func(v SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCount) *int { + return v.Max }).(pulumi.IntPtrOutput) } -// Indicate whether instance types must support On-Demand Instance Hibernation, either `true` or `false`. Default is `false`. -func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsOutput) RequireHibernateSupport() pulumi.BoolPtrOutput { - return o.ApplyT(func(v SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirements) *bool { - return v.RequireHibernateSupport - }).(pulumi.BoolPtrOutput) +// Minimum. +func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountOutput) Min() pulumi.IntPtrOutput { + return o.ApplyT(func(v SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCount) *int { + return v.Min + }).(pulumi.IntPtrOutput) } -// The 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. -// -// If 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. -func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsOutput) SpotMaxPricePercentageOverLowestPrice() pulumi.IntPtrOutput { - return o.ApplyT(func(v SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirements) *int { - return v.SpotMaxPricePercentageOverLowestPrice - }).(pulumi.IntPtrOutput) +type SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrOutput struct{ *pulumi.OutputState } + +func (SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCount)(nil)).Elem() } -// Block describing the minimum and maximum total local storage (GB). Default is no minimum or maximum. -func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsOutput) TotalLocalStorageGb() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrOutput { - return o.ApplyT(func(v SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirements) *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGb { - return v.TotalLocalStorageGb - }).(SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrOutput) +func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrOutput) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrOutput() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrOutput { + return o } -// Block describing the minimum and maximum number of vCPUs. Default is no maximum. -func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsOutput) VcpuCount() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrOutput { - return o.ApplyT(func(v SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirements) *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCount { - return v.VcpuCount - }).(SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrOutput) +func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrOutput) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrOutputWithContext(ctx context.Context) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrOutput { + return o } -type SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput struct{ *pulumi.OutputState } +func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrOutput) Elem() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountOutput { + return o.ApplyT(func(v *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCount) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCount { + if v != nil { + return *v + } + var ret SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCount + return ret + }).(SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountOutput) +} -func (SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirements)(nil)).Elem() +// Maximum. +func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrOutput) Max() pulumi.IntPtrOutput { + return o.ApplyT(func(v *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCount) *int { + if v == nil { + return nil + } + return v.Max + }).(pulumi.IntPtrOutput) } -func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput { - return o +// Minimum. +func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrOutput) Min() pulumi.IntPtrOutput { + return o.ApplyT(func(v *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCount) *int { + if v == nil { + return nil + } + return v.Min + }).(pulumi.IntPtrOutput) } -func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsPtrOutputWithContext(ctx context.Context) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput { - return o +type SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGb struct { + // Maximum. May be a decimal number, e.g. `0.5`. + Max *float64 `pulumi:"max"` + // Minimum. May be a decimal number, e.g. `0.5`. + Min *float64 `pulumi:"min"` +} + +// SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbInput is an input type that accepts SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbArgs and SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbOutput values. +// You can construct a concrete instance of `SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbInput` via: +// +// SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbArgs{...} +type SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbInput interface { + pulumi.Input + + ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbOutput() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbOutput + ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbOutputWithContext(context.Context) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbOutput } -func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput) Elem() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsOutput { - return o.ApplyT(func(v *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirements) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirements { - if v != nil { - return *v - } - var ret SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirements - return ret - }).(SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsOutput) +type SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbArgs struct { + // Maximum. May be a decimal number, e.g. `0.5`. + Max pulumi.Float64PtrInput `pulumi:"max"` + // Minimum. May be a decimal number, e.g. `0.5`. + Min pulumi.Float64PtrInput `pulumi:"min"` } -// Block describing the minimum and maximum number of accelerators (GPUs, FPGAs, or AWS Inferentia chips). Default is no minimum or maximum. -func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput) AcceleratorCount() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrOutput { - return o.ApplyT(func(v *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirements) *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCount { - if v == nil { - return nil - } - return v.AcceleratorCount - }).(SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrOutput) +func (SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGb)(nil)).Elem() } -// List of accelerator manufacturer names. Default is any manufacturer. -func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput) AcceleratorManufacturers() pulumi.StringArrayOutput { - return o.ApplyT(func(v *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirements) []string { - if v == nil { - return nil - } - return v.AcceleratorManufacturers - }).(pulumi.StringArrayOutput) +func (i SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbArgs) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbOutput() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbOutput { + return i.ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbOutputWithContext(context.Background()) } -// List of accelerator names. Default is any acclerator. -func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput) AcceleratorNames() pulumi.StringArrayOutput { - return o.ApplyT(func(v *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirements) []string { - if v == nil { - return nil - } - return v.AcceleratorNames - }).(pulumi.StringArrayOutput) +func (i SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbArgs) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbOutputWithContext(ctx context.Context) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbOutput { + return pulumi.ToOutputWithContext(ctx, i).(SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbOutput) } -// Block describing the minimum and maximum total memory of the accelerators. Default is no minimum or maximum. -func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput) AcceleratorTotalMemoryMib() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrOutput { - return o.ApplyT(func(v *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirements) *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMib { - if v == nil { - return nil - } - return v.AcceleratorTotalMemoryMib - }).(SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrOutput) +func (i SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbArgs) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrOutput() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrOutput { + return i.ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrOutputWithContext(context.Background()) } -// List of accelerator types. Default is any accelerator type. -func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput) AcceleratorTypes() pulumi.StringArrayOutput { - return o.ApplyT(func(v *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirements) []string { - if v == nil { - return nil - } - return v.AcceleratorTypes - }).(pulumi.StringArrayOutput) +func (i SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbArgs) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrOutputWithContext(ctx context.Context) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbOutput).ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrOutputWithContext(ctx) } -// 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. +// SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrInput is an input type that accepts SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbArgs, SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtr and SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrOutput values. +// You can construct a concrete instance of `SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrInput` via: // -// > **NOTE:** If you specify `allowedInstanceTypes`, you can't specify `excludedInstanceTypes`. -func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput) AllowedInstanceTypes() pulumi.StringArrayOutput { - return o.ApplyT(func(v *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirements) []string { - if v == nil { - return nil - } - return v.AllowedInstanceTypes - }).(pulumi.StringArrayOutput) +// SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbArgs{...} +// +// or: +// +// nil +type SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrInput interface { + pulumi.Input + + ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrOutput() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrOutput + ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrOutputWithContext(context.Context) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrOutput } -// Indicate whether bare metal instace types should be `included`, `excluded`, or `required`. Default is `excluded`. -func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput) BareMetal() pulumi.StringPtrOutput { - return o.ApplyT(func(v *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirements) *string { - if v == nil { - return nil - } - return v.BareMetal - }).(pulumi.StringPtrOutput) +type spotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrType SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbArgs + +func SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtr(v *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbArgs) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrInput { + return (*spotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrType)(v) } -// Block describing the minimum and maximum baseline EBS bandwidth, in Mbps. Default is no minimum or maximum. -func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput) BaselineEbsBandwidthMbps() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutput { - return o.ApplyT(func(v *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirements) *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbps { - if v == nil { - return nil - } - return v.BaselineEbsBandwidthMbps - }).(SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutput) +func (*spotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGb)(nil)).Elem() } -// Indicate whether burstable performance instance types should be `included`, `excluded`, or `required`. Default is `excluded`. -func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput) BurstablePerformance() pulumi.StringPtrOutput { - return o.ApplyT(func(v *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirements) *string { - if v == nil { - return nil - } - return v.BurstablePerformance - }).(pulumi.StringPtrOutput) +func (i *spotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrType) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrOutput() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrOutput { + return i.ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrOutputWithContext(context.Background()) } -// List of CPU manufacturer names. Default is any manufacturer. -// -// > **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. -func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput) CpuManufacturers() pulumi.StringArrayOutput { - return o.ApplyT(func(v *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirements) []string { - if v == nil { - return nil - } - return v.CpuManufacturers - }).(pulumi.StringArrayOutput) +func (i *spotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrType) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrOutputWithContext(ctx context.Context) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrOutput) } -// 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. -// -// > **NOTE:** If you specify `excludedInstanceTypes`, you can't specify `allowedInstanceTypes`. -func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput) ExcludedInstanceTypes() pulumi.StringArrayOutput { - return o.ApplyT(func(v *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirements) []string { - if v == nil { - return nil - } - return v.ExcludedInstanceTypes - }).(pulumi.StringArrayOutput) +type SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbOutput struct{ *pulumi.OutputState } + +func (SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGb)(nil)).Elem() } -// List of instance generation names. Default is any generation. -func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput) InstanceGenerations() pulumi.StringArrayOutput { - return o.ApplyT(func(v *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirements) []string { - if v == nil { - return nil - } - return v.InstanceGenerations - }).(pulumi.StringArrayOutput) +func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbOutput) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbOutput() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbOutput { + return o } -// Indicate whether instance types with local storage volumes are `included`, `excluded`, or `required`. Default is `included`. -func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput) LocalStorage() pulumi.StringPtrOutput { - return o.ApplyT(func(v *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirements) *string { - if v == nil { - return nil - } - return v.LocalStorage - }).(pulumi.StringPtrOutput) +func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbOutput) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbOutputWithContext(ctx context.Context) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbOutput { + return o } -// List of local storage type names. Default any storage type. -func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput) LocalStorageTypes() pulumi.StringArrayOutput { - return o.ApplyT(func(v *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirements) []string { - if v == nil { - return nil - } - return v.LocalStorageTypes - }).(pulumi.StringArrayOutput) +func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbOutput) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrOutput() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrOutput { + return o.ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrOutputWithContext(context.Background()) } -// Block describing the minimum and maximum amount of memory (GiB) per vCPU. Default is no minimum or maximum. -func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput) MemoryGibPerVcpu() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrOutput { - return o.ApplyT(func(v *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirements) *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpu { - if v == nil { - return nil - } - return v.MemoryGibPerVcpu - }).(SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrOutput) +func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbOutput) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrOutputWithContext(ctx context.Context) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGb) *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGb { + return &v + }).(SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrOutput) } -// Block describing the minimum and maximum amount of memory (MiB). Default is no maximum. -func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput) MemoryMib() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrOutput { - return o.ApplyT(func(v *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirements) *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMib { - if v == nil { - return nil - } - return v.MemoryMib - }).(SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrOutput) +// Maximum. May be a decimal number, e.g. `0.5`. +func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbOutput) Max() pulumi.Float64PtrOutput { + return o.ApplyT(func(v SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGb) *float64 { + return v.Max + }).(pulumi.Float64PtrOutput) } -// Block describing the minimum and maximum amount of network bandwidth, in gigabits per second (Gbps). Default is no minimum or maximum. -func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput) NetworkBandwidthGbps() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrOutput { - return o.ApplyT(func(v *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirements) *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbps { - if v == nil { - return nil - } - return v.NetworkBandwidthGbps - }).(SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrOutput) +// Minimum. May be a decimal number, e.g. `0.5`. +func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbOutput) Min() pulumi.Float64PtrOutput { + return o.ApplyT(func(v SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGb) *float64 { + return v.Min + }).(pulumi.Float64PtrOutput) } -// Block describing the minimum and maximum number of network interfaces. Default is no minimum or maximum. -func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput) NetworkInterfaceCount() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrOutput { - return o.ApplyT(func(v *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirements) *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCount { - if v == nil { - return nil - } - return v.NetworkInterfaceCount - }).(SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrOutput) +type SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrOutput struct{ *pulumi.OutputState } + +func (SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGb)(nil)).Elem() } -// The 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. -// -// If 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. -func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput) OnDemandMaxPricePercentageOverLowestPrice() pulumi.IntPtrOutput { - return o.ApplyT(func(v *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirements) *int { - if v == nil { - return nil - } - return v.OnDemandMaxPricePercentageOverLowestPrice - }).(pulumi.IntPtrOutput) +func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrOutput) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrOutput() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrOutput { + return o } -// Indicate whether instance types must support On-Demand Instance Hibernation, either `true` or `false`. Default is `false`. -func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput) RequireHibernateSupport() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirements) *bool { - if v == nil { - return nil - } - return v.RequireHibernateSupport - }).(pulumi.BoolPtrOutput) +func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrOutput) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrOutputWithContext(ctx context.Context) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrOutput { + return o } -// The 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. -// -// If 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. -func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput) SpotMaxPricePercentageOverLowestPrice() pulumi.IntPtrOutput { - return o.ApplyT(func(v *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirements) *int { - if v == nil { - return nil +func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrOutput) Elem() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbOutput { + return o.ApplyT(func(v *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGb) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGb { + if v != nil { + return *v } - return v.SpotMaxPricePercentageOverLowestPrice - }).(pulumi.IntPtrOutput) + var ret SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGb + return ret + }).(SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbOutput) } -// Block describing the minimum and maximum total local storage (GB). Default is no minimum or maximum. -func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput) TotalLocalStorageGb() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrOutput { - return o.ApplyT(func(v *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirements) *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGb { +// Maximum. May be a decimal number, e.g. `0.5`. +func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrOutput) Max() pulumi.Float64PtrOutput { + return o.ApplyT(func(v *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGb) *float64 { if v == nil { return nil } - return v.TotalLocalStorageGb - }).(SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrOutput) + return v.Max + }).(pulumi.Float64PtrOutput) } -// Block describing the minimum and maximum number of vCPUs. Default is no maximum. -func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsPtrOutput) VcpuCount() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrOutput { - return o.ApplyT(func(v *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirements) *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCount { +// Minimum. May be a decimal number, e.g. `0.5`. +func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrOutput) Min() pulumi.Float64PtrOutput { + return o.ApplyT(func(v *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGb) *float64 { if v == nil { return nil } - return v.VcpuCount - }).(SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrOutput) + return v.Min + }).(pulumi.Float64PtrOutput) } -type SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCount struct { - // Maximum. Set to `0` to exclude instance types with accelerators. +type SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCount struct { + // Maximum. Max *int `pulumi:"max"` // Minimum. Min *int `pulumi:"min"` } -// SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountInput is an input type that accepts SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountArgs and SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountOutput values. -// You can construct a concrete instance of `SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountInput` via: +// SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountInput is an input type that accepts SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountArgs and SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountOutput values. +// You can construct a concrete instance of `SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountInput` via: // -// SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountArgs{...} -type SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountInput interface { +// SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountArgs{...} +type SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountInput interface { pulumi.Input - ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountOutput() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountOutput - ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountOutputWithContext(context.Context) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountOutput + ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountOutput() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountOutput + ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountOutputWithContext(context.Context) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountOutput } -type SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountArgs struct { - // Maximum. Set to `0` to exclude instance types with accelerators. +type SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountArgs struct { + // Maximum. Max pulumi.IntPtrInput `pulumi:"max"` // Minimum. Min pulumi.IntPtrInput `pulumi:"min"` } -func (SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountArgs) ElementType() reflect.Type { - return reflect.TypeOf((*SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCount)(nil)).Elem() +func (SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCount)(nil)).Elem() } -func (i SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountArgs) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountOutput() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountOutput { - return i.ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountOutputWithContext(context.Background()) +func (i SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountArgs) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountOutput() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountOutput { + return i.ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountOutputWithContext(context.Background()) } -func (i SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountArgs) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountOutputWithContext(ctx context.Context) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountOutput { - return pulumi.ToOutputWithContext(ctx, i).(SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountOutput) +func (i SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountArgs) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountOutputWithContext(ctx context.Context) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountOutput { + return pulumi.ToOutputWithContext(ctx, i).(SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountOutput) } -func (i SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountArgs) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrOutput() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrOutput { - return i.ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrOutputWithContext(context.Background()) +func (i SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountArgs) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrOutput() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrOutput { + return i.ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrOutputWithContext(context.Background()) } -func (i SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountArgs) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrOutputWithContext(ctx context.Context) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountOutput).ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrOutputWithContext(ctx) +func (i SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountArgs) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrOutputWithContext(ctx context.Context) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountOutput).ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrOutputWithContext(ctx) } -// SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrInput is an input type that accepts SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountArgs, SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtr and SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrOutput values. -// You can construct a concrete instance of `SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrInput` via: +// SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrInput is an input type that accepts SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountArgs, SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtr and SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrOutput values. +// You can construct a concrete instance of `SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrInput` via: // -// SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountArgs{...} +// SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountArgs{...} // // or: // // nil -type SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrInput interface { +type SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrInput interface { pulumi.Input - ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrOutput() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrOutput - ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrOutputWithContext(context.Context) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrOutput + ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrOutput() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrOutput + ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrOutputWithContext(context.Context) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrOutput } -type spotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrType SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountArgs +type spotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrType SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountArgs -func SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtr(v *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountArgs) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrInput { - return (*spotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrType)(v) +func SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtr(v *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountArgs) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrInput { + return (*spotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrType)(v) } -func (*spotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCount)(nil)).Elem() +func (*spotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCount)(nil)).Elem() } -func (i *spotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrType) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrOutput() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrOutput { - return i.ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrOutputWithContext(context.Background()) +func (i *spotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrType) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrOutput() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrOutput { + return i.ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrOutputWithContext(context.Background()) } -func (i *spotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrType) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrOutputWithContext(ctx context.Context) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrOutput) +func (i *spotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrType) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrOutputWithContext(ctx context.Context) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrOutput) } -type SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountOutput struct{ *pulumi.OutputState } +type SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountOutput struct{ *pulumi.OutputState } -func (SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountOutput) ElementType() reflect.Type { - return reflect.TypeOf((*SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCount)(nil)).Elem() +func (SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCount)(nil)).Elem() } -func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountOutput) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountOutput() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountOutput { +func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountOutput) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountOutput() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountOutput { return o } -func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountOutput) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountOutputWithContext(ctx context.Context) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountOutput { +func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountOutput) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountOutputWithContext(ctx context.Context) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountOutput { return o } -func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountOutput) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrOutput() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrOutput { - return o.ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrOutputWithContext(context.Background()) +func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountOutput) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrOutput() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrOutput { + return o.ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrOutputWithContext(context.Background()) } -func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountOutput) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrOutputWithContext(ctx context.Context) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCount) *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCount { +func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountOutput) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrOutputWithContext(ctx context.Context) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCount) *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCount { return &v - }).(SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrOutput) + }).(SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrOutput) } -// Maximum. Set to `0` to exclude instance types with accelerators. -func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountOutput) Max() pulumi.IntPtrOutput { - return o.ApplyT(func(v SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCount) *int { - return v.Max - }).(pulumi.IntPtrOutput) +// Maximum. +func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountOutput) Max() pulumi.IntPtrOutput { + return o.ApplyT(func(v SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCount) *int { return v.Max }).(pulumi.IntPtrOutput) } // Minimum. -func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountOutput) Min() pulumi.IntPtrOutput { - return o.ApplyT(func(v SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCount) *int { - return v.Min - }).(pulumi.IntPtrOutput) +func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountOutput) Min() pulumi.IntPtrOutput { + return o.ApplyT(func(v SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCount) *int { return v.Min }).(pulumi.IntPtrOutput) } -type SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrOutput struct{ *pulumi.OutputState } +type SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrOutput struct{ *pulumi.OutputState } -func (SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCount)(nil)).Elem() +func (SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCount)(nil)).Elem() } -func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrOutput) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrOutput() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrOutput { +func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrOutput) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrOutput() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrOutput { return o } -func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrOutput) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrOutputWithContext(ctx context.Context) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrOutput { +func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrOutput) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrOutputWithContext(ctx context.Context) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrOutput { return o } -func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrOutput) Elem() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountOutput { - return o.ApplyT(func(v *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCount) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCount { +func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrOutput) Elem() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountOutput { + return o.ApplyT(func(v *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCount) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCount { if v != nil { return *v } - var ret SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCount + var ret SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCount return ret - }).(SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountOutput) + }).(SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountOutput) } -// Maximum. Set to `0` to exclude instance types with accelerators. -func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrOutput) Max() pulumi.IntPtrOutput { - return o.ApplyT(func(v *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCount) *int { +// Maximum. +func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrOutput) Max() pulumi.IntPtrOutput { + return o.ApplyT(func(v *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCount) *int { if v == nil { return nil } @@ -30079,8 +33324,8 @@ func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAccelera } // Minimum. -func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountPtrOutput) Min() pulumi.IntPtrOutput { - return o.ApplyT(func(v *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCount) *int { +func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrOutput) Min() pulumi.IntPtrOutput { + return o.ApplyT(func(v *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCount) *int { if v == nil { return nil } @@ -30088,2217 +33333,2345 @@ func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAccelera }).(pulumi.IntPtrOutput) } -type SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMib struct { - // Maximum. - Max *int `pulumi:"max"` - // Minimum. - Min *int `pulumi:"min"` +type SpotFleetRequestSpotMaintenanceStrategies struct { + // Nested argument containing the capacity rebalance for your fleet request. Defined below. + CapacityRebalance *SpotFleetRequestSpotMaintenanceStrategiesCapacityRebalance `pulumi:"capacityRebalance"` } -// SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibInput is an input type that accepts SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibArgs and SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibOutput values. -// You can construct a concrete instance of `SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibInput` via: +// SpotFleetRequestSpotMaintenanceStrategiesInput is an input type that accepts SpotFleetRequestSpotMaintenanceStrategiesArgs and SpotFleetRequestSpotMaintenanceStrategiesOutput values. +// You can construct a concrete instance of `SpotFleetRequestSpotMaintenanceStrategiesInput` via: // -// SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibArgs{...} -type SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibInput interface { +// SpotFleetRequestSpotMaintenanceStrategiesArgs{...} +type SpotFleetRequestSpotMaintenanceStrategiesInput interface { pulumi.Input - ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibOutput() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibOutput - ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibOutputWithContext(context.Context) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibOutput + ToSpotFleetRequestSpotMaintenanceStrategiesOutput() SpotFleetRequestSpotMaintenanceStrategiesOutput + ToSpotFleetRequestSpotMaintenanceStrategiesOutputWithContext(context.Context) SpotFleetRequestSpotMaintenanceStrategiesOutput } -type SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibArgs struct { - // Maximum. - Max pulumi.IntPtrInput `pulumi:"max"` - // Minimum. - Min pulumi.IntPtrInput `pulumi:"min"` +type SpotFleetRequestSpotMaintenanceStrategiesArgs struct { + // Nested argument containing the capacity rebalance for your fleet request. Defined below. + CapacityRebalance SpotFleetRequestSpotMaintenanceStrategiesCapacityRebalancePtrInput `pulumi:"capacityRebalance"` } -func (SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibArgs) ElementType() reflect.Type { - return reflect.TypeOf((*SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMib)(nil)).Elem() +func (SpotFleetRequestSpotMaintenanceStrategiesArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SpotFleetRequestSpotMaintenanceStrategies)(nil)).Elem() } -func (i SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibArgs) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibOutput() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibOutput { - return i.ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibOutputWithContext(context.Background()) +func (i SpotFleetRequestSpotMaintenanceStrategiesArgs) ToSpotFleetRequestSpotMaintenanceStrategiesOutput() SpotFleetRequestSpotMaintenanceStrategiesOutput { + return i.ToSpotFleetRequestSpotMaintenanceStrategiesOutputWithContext(context.Background()) } -func (i SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibArgs) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibOutputWithContext(ctx context.Context) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibOutput { - return pulumi.ToOutputWithContext(ctx, i).(SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibOutput) +func (i SpotFleetRequestSpotMaintenanceStrategiesArgs) ToSpotFleetRequestSpotMaintenanceStrategiesOutputWithContext(ctx context.Context) SpotFleetRequestSpotMaintenanceStrategiesOutput { + return pulumi.ToOutputWithContext(ctx, i).(SpotFleetRequestSpotMaintenanceStrategiesOutput) } -func (i SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibArgs) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrOutput() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrOutput { - return i.ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrOutputWithContext(context.Background()) +func (i SpotFleetRequestSpotMaintenanceStrategiesArgs) ToSpotFleetRequestSpotMaintenanceStrategiesPtrOutput() SpotFleetRequestSpotMaintenanceStrategiesPtrOutput { + return i.ToSpotFleetRequestSpotMaintenanceStrategiesPtrOutputWithContext(context.Background()) } -func (i SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibArgs) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrOutputWithContext(ctx context.Context) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibOutput).ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrOutputWithContext(ctx) +func (i SpotFleetRequestSpotMaintenanceStrategiesArgs) ToSpotFleetRequestSpotMaintenanceStrategiesPtrOutputWithContext(ctx context.Context) SpotFleetRequestSpotMaintenanceStrategiesPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SpotFleetRequestSpotMaintenanceStrategiesOutput).ToSpotFleetRequestSpotMaintenanceStrategiesPtrOutputWithContext(ctx) } -// SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrInput is an input type that accepts SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibArgs, SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtr and SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrOutput values. -// You can construct a concrete instance of `SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrInput` via: +// SpotFleetRequestSpotMaintenanceStrategiesPtrInput is an input type that accepts SpotFleetRequestSpotMaintenanceStrategiesArgs, SpotFleetRequestSpotMaintenanceStrategiesPtr and SpotFleetRequestSpotMaintenanceStrategiesPtrOutput values. +// You can construct a concrete instance of `SpotFleetRequestSpotMaintenanceStrategiesPtrInput` via: // -// SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibArgs{...} +// SpotFleetRequestSpotMaintenanceStrategiesArgs{...} // // or: // // nil -type SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrInput interface { +type SpotFleetRequestSpotMaintenanceStrategiesPtrInput interface { pulumi.Input - ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrOutput() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrOutput - ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrOutputWithContext(context.Context) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrOutput + ToSpotFleetRequestSpotMaintenanceStrategiesPtrOutput() SpotFleetRequestSpotMaintenanceStrategiesPtrOutput + ToSpotFleetRequestSpotMaintenanceStrategiesPtrOutputWithContext(context.Context) SpotFleetRequestSpotMaintenanceStrategiesPtrOutput } -type spotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrType SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibArgs +type spotFleetRequestSpotMaintenanceStrategiesPtrType SpotFleetRequestSpotMaintenanceStrategiesArgs -func SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtr(v *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibArgs) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrInput { - return (*spotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrType)(v) +func SpotFleetRequestSpotMaintenanceStrategiesPtr(v *SpotFleetRequestSpotMaintenanceStrategiesArgs) SpotFleetRequestSpotMaintenanceStrategiesPtrInput { + return (*spotFleetRequestSpotMaintenanceStrategiesPtrType)(v) } -func (*spotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMib)(nil)).Elem() +func (*spotFleetRequestSpotMaintenanceStrategiesPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**SpotFleetRequestSpotMaintenanceStrategies)(nil)).Elem() } -func (i *spotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrType) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrOutput() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrOutput { - return i.ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrOutputWithContext(context.Background()) +func (i *spotFleetRequestSpotMaintenanceStrategiesPtrType) ToSpotFleetRequestSpotMaintenanceStrategiesPtrOutput() SpotFleetRequestSpotMaintenanceStrategiesPtrOutput { + return i.ToSpotFleetRequestSpotMaintenanceStrategiesPtrOutputWithContext(context.Background()) } -func (i *spotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrType) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrOutputWithContext(ctx context.Context) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrOutput) +func (i *spotFleetRequestSpotMaintenanceStrategiesPtrType) ToSpotFleetRequestSpotMaintenanceStrategiesPtrOutputWithContext(ctx context.Context) SpotFleetRequestSpotMaintenanceStrategiesPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SpotFleetRequestSpotMaintenanceStrategiesPtrOutput) } -type SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibOutput struct{ *pulumi.OutputState } +type SpotFleetRequestSpotMaintenanceStrategiesOutput struct{ *pulumi.OutputState } -func (SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibOutput) ElementType() reflect.Type { - return reflect.TypeOf((*SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMib)(nil)).Elem() +func (SpotFleetRequestSpotMaintenanceStrategiesOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SpotFleetRequestSpotMaintenanceStrategies)(nil)).Elem() } -func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibOutput) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibOutput() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibOutput { +func (o SpotFleetRequestSpotMaintenanceStrategiesOutput) ToSpotFleetRequestSpotMaintenanceStrategiesOutput() SpotFleetRequestSpotMaintenanceStrategiesOutput { return o } -func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibOutput) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibOutputWithContext(ctx context.Context) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibOutput { +func (o SpotFleetRequestSpotMaintenanceStrategiesOutput) ToSpotFleetRequestSpotMaintenanceStrategiesOutputWithContext(ctx context.Context) SpotFleetRequestSpotMaintenanceStrategiesOutput { return o } - -func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibOutput) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrOutput() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrOutput { - return o.ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrOutputWithContext(context.Background()) -} - -func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibOutput) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrOutputWithContext(ctx context.Context) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMib) *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMib { - return &v - }).(SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrOutput) + +func (o SpotFleetRequestSpotMaintenanceStrategiesOutput) ToSpotFleetRequestSpotMaintenanceStrategiesPtrOutput() SpotFleetRequestSpotMaintenanceStrategiesPtrOutput { + return o.ToSpotFleetRequestSpotMaintenanceStrategiesPtrOutputWithContext(context.Background()) } -// Maximum. -func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibOutput) Max() pulumi.IntPtrOutput { - return o.ApplyT(func(v SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMib) *int { - return v.Max - }).(pulumi.IntPtrOutput) +func (o SpotFleetRequestSpotMaintenanceStrategiesOutput) ToSpotFleetRequestSpotMaintenanceStrategiesPtrOutputWithContext(ctx context.Context) SpotFleetRequestSpotMaintenanceStrategiesPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v SpotFleetRequestSpotMaintenanceStrategies) *SpotFleetRequestSpotMaintenanceStrategies { + return &v + }).(SpotFleetRequestSpotMaintenanceStrategiesPtrOutput) } -// Minimum. -func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibOutput) Min() pulumi.IntPtrOutput { - return o.ApplyT(func(v SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMib) *int { - return v.Min - }).(pulumi.IntPtrOutput) +// Nested argument containing the capacity rebalance for your fleet request. Defined below. +func (o SpotFleetRequestSpotMaintenanceStrategiesOutput) CapacityRebalance() SpotFleetRequestSpotMaintenanceStrategiesCapacityRebalancePtrOutput { + return o.ApplyT(func(v SpotFleetRequestSpotMaintenanceStrategies) *SpotFleetRequestSpotMaintenanceStrategiesCapacityRebalance { + return v.CapacityRebalance + }).(SpotFleetRequestSpotMaintenanceStrategiesCapacityRebalancePtrOutput) } -type SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrOutput struct{ *pulumi.OutputState } +type SpotFleetRequestSpotMaintenanceStrategiesPtrOutput struct{ *pulumi.OutputState } -func (SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMib)(nil)).Elem() +func (SpotFleetRequestSpotMaintenanceStrategiesPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**SpotFleetRequestSpotMaintenanceStrategies)(nil)).Elem() } -func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrOutput) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrOutput() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrOutput { +func (o SpotFleetRequestSpotMaintenanceStrategiesPtrOutput) ToSpotFleetRequestSpotMaintenanceStrategiesPtrOutput() SpotFleetRequestSpotMaintenanceStrategiesPtrOutput { return o } -func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrOutput) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrOutputWithContext(ctx context.Context) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrOutput { +func (o SpotFleetRequestSpotMaintenanceStrategiesPtrOutput) ToSpotFleetRequestSpotMaintenanceStrategiesPtrOutputWithContext(ctx context.Context) SpotFleetRequestSpotMaintenanceStrategiesPtrOutput { return o } -func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrOutput) Elem() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibOutput { - return o.ApplyT(func(v *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMib) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMib { +func (o SpotFleetRequestSpotMaintenanceStrategiesPtrOutput) Elem() SpotFleetRequestSpotMaintenanceStrategiesOutput { + return o.ApplyT(func(v *SpotFleetRequestSpotMaintenanceStrategies) SpotFleetRequestSpotMaintenanceStrategies { if v != nil { return *v } - var ret SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMib + var ret SpotFleetRequestSpotMaintenanceStrategies return ret - }).(SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibOutput) -} - -// Maximum. -func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrOutput) Max() pulumi.IntPtrOutput { - return o.ApplyT(func(v *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMib) *int { - if v == nil { - return nil - } - return v.Max - }).(pulumi.IntPtrOutput) + }).(SpotFleetRequestSpotMaintenanceStrategiesOutput) } -// Minimum. -func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibPtrOutput) Min() pulumi.IntPtrOutput { - return o.ApplyT(func(v *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMib) *int { +// Nested argument containing the capacity rebalance for your fleet request. Defined below. +func (o SpotFleetRequestSpotMaintenanceStrategiesPtrOutput) CapacityRebalance() SpotFleetRequestSpotMaintenanceStrategiesCapacityRebalancePtrOutput { + return o.ApplyT(func(v *SpotFleetRequestSpotMaintenanceStrategies) *SpotFleetRequestSpotMaintenanceStrategiesCapacityRebalance { if v == nil { return nil } - return v.Min - }).(pulumi.IntPtrOutput) + return v.CapacityRebalance + }).(SpotFleetRequestSpotMaintenanceStrategiesCapacityRebalancePtrOutput) } -type SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbps struct { - // Maximum. - Max *int `pulumi:"max"` - // Minimum. - Min *int `pulumi:"min"` +type SpotFleetRequestSpotMaintenanceStrategiesCapacityRebalance struct { + // The replacement strategy to use. Only available for spot fleets with `fleetType` set to `maintain`. Valid values: `launch`. + ReplacementStrategy *string `pulumi:"replacementStrategy"` } -// SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsInput is an input type that accepts SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsArgs and SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsOutput values. -// You can construct a concrete instance of `SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsInput` via: +// SpotFleetRequestSpotMaintenanceStrategiesCapacityRebalanceInput is an input type that accepts SpotFleetRequestSpotMaintenanceStrategiesCapacityRebalanceArgs and SpotFleetRequestSpotMaintenanceStrategiesCapacityRebalanceOutput values. +// You can construct a concrete instance of `SpotFleetRequestSpotMaintenanceStrategiesCapacityRebalanceInput` via: // -// SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsArgs{...} -type SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsInput interface { +// SpotFleetRequestSpotMaintenanceStrategiesCapacityRebalanceArgs{...} +type SpotFleetRequestSpotMaintenanceStrategiesCapacityRebalanceInput interface { pulumi.Input - ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsOutput() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsOutput - ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsOutputWithContext(context.Context) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsOutput + ToSpotFleetRequestSpotMaintenanceStrategiesCapacityRebalanceOutput() SpotFleetRequestSpotMaintenanceStrategiesCapacityRebalanceOutput + ToSpotFleetRequestSpotMaintenanceStrategiesCapacityRebalanceOutputWithContext(context.Context) SpotFleetRequestSpotMaintenanceStrategiesCapacityRebalanceOutput } -type SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsArgs struct { - // Maximum. - Max pulumi.IntPtrInput `pulumi:"max"` - // Minimum. - Min pulumi.IntPtrInput `pulumi:"min"` +type SpotFleetRequestSpotMaintenanceStrategiesCapacityRebalanceArgs struct { + // The replacement strategy to use. Only available for spot fleets with `fleetType` set to `maintain`. Valid values: `launch`. + ReplacementStrategy pulumi.StringPtrInput `pulumi:"replacementStrategy"` } -func (SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsArgs) ElementType() reflect.Type { - return reflect.TypeOf((*SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbps)(nil)).Elem() +func (SpotFleetRequestSpotMaintenanceStrategiesCapacityRebalanceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SpotFleetRequestSpotMaintenanceStrategiesCapacityRebalance)(nil)).Elem() } -func (i SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsArgs) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsOutput() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsOutput { - return i.ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsOutputWithContext(context.Background()) +func (i SpotFleetRequestSpotMaintenanceStrategiesCapacityRebalanceArgs) ToSpotFleetRequestSpotMaintenanceStrategiesCapacityRebalanceOutput() SpotFleetRequestSpotMaintenanceStrategiesCapacityRebalanceOutput { + return i.ToSpotFleetRequestSpotMaintenanceStrategiesCapacityRebalanceOutputWithContext(context.Background()) } -func (i SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsArgs) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsOutputWithContext(ctx context.Context) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsOutput { - return pulumi.ToOutputWithContext(ctx, i).(SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsOutput) +func (i SpotFleetRequestSpotMaintenanceStrategiesCapacityRebalanceArgs) ToSpotFleetRequestSpotMaintenanceStrategiesCapacityRebalanceOutputWithContext(ctx context.Context) SpotFleetRequestSpotMaintenanceStrategiesCapacityRebalanceOutput { + return pulumi.ToOutputWithContext(ctx, i).(SpotFleetRequestSpotMaintenanceStrategiesCapacityRebalanceOutput) } -func (i SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsArgs) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutput() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutput { - return i.ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutputWithContext(context.Background()) +func (i SpotFleetRequestSpotMaintenanceStrategiesCapacityRebalanceArgs) ToSpotFleetRequestSpotMaintenanceStrategiesCapacityRebalancePtrOutput() SpotFleetRequestSpotMaintenanceStrategiesCapacityRebalancePtrOutput { + return i.ToSpotFleetRequestSpotMaintenanceStrategiesCapacityRebalancePtrOutputWithContext(context.Background()) } -func (i SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsArgs) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutputWithContext(ctx context.Context) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsOutput).ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutputWithContext(ctx) +func (i SpotFleetRequestSpotMaintenanceStrategiesCapacityRebalanceArgs) ToSpotFleetRequestSpotMaintenanceStrategiesCapacityRebalancePtrOutputWithContext(ctx context.Context) SpotFleetRequestSpotMaintenanceStrategiesCapacityRebalancePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SpotFleetRequestSpotMaintenanceStrategiesCapacityRebalanceOutput).ToSpotFleetRequestSpotMaintenanceStrategiesCapacityRebalancePtrOutputWithContext(ctx) } -// SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrInput is an input type that accepts SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsArgs, SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtr and SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutput values. -// You can construct a concrete instance of `SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrInput` via: +// SpotFleetRequestSpotMaintenanceStrategiesCapacityRebalancePtrInput is an input type that accepts SpotFleetRequestSpotMaintenanceStrategiesCapacityRebalanceArgs, SpotFleetRequestSpotMaintenanceStrategiesCapacityRebalancePtr and SpotFleetRequestSpotMaintenanceStrategiesCapacityRebalancePtrOutput values. +// You can construct a concrete instance of `SpotFleetRequestSpotMaintenanceStrategiesCapacityRebalancePtrInput` via: // -// SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsArgs{...} +// SpotFleetRequestSpotMaintenanceStrategiesCapacityRebalanceArgs{...} // // or: // // nil -type SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrInput interface { +type SpotFleetRequestSpotMaintenanceStrategiesCapacityRebalancePtrInput interface { pulumi.Input - ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutput() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutput - ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutputWithContext(context.Context) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutput + ToSpotFleetRequestSpotMaintenanceStrategiesCapacityRebalancePtrOutput() SpotFleetRequestSpotMaintenanceStrategiesCapacityRebalancePtrOutput + ToSpotFleetRequestSpotMaintenanceStrategiesCapacityRebalancePtrOutputWithContext(context.Context) SpotFleetRequestSpotMaintenanceStrategiesCapacityRebalancePtrOutput } -type spotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrType SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsArgs +type spotFleetRequestSpotMaintenanceStrategiesCapacityRebalancePtrType SpotFleetRequestSpotMaintenanceStrategiesCapacityRebalanceArgs -func SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtr(v *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsArgs) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrInput { - return (*spotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrType)(v) +func SpotFleetRequestSpotMaintenanceStrategiesCapacityRebalancePtr(v *SpotFleetRequestSpotMaintenanceStrategiesCapacityRebalanceArgs) SpotFleetRequestSpotMaintenanceStrategiesCapacityRebalancePtrInput { + return (*spotFleetRequestSpotMaintenanceStrategiesCapacityRebalancePtrType)(v) } -func (*spotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbps)(nil)).Elem() +func (*spotFleetRequestSpotMaintenanceStrategiesCapacityRebalancePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**SpotFleetRequestSpotMaintenanceStrategiesCapacityRebalance)(nil)).Elem() } -func (i *spotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrType) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutput() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutput { - return i.ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutputWithContext(context.Background()) +func (i *spotFleetRequestSpotMaintenanceStrategiesCapacityRebalancePtrType) ToSpotFleetRequestSpotMaintenanceStrategiesCapacityRebalancePtrOutput() SpotFleetRequestSpotMaintenanceStrategiesCapacityRebalancePtrOutput { + return i.ToSpotFleetRequestSpotMaintenanceStrategiesCapacityRebalancePtrOutputWithContext(context.Background()) } -func (i *spotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrType) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutputWithContext(ctx context.Context) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutput) +func (i *spotFleetRequestSpotMaintenanceStrategiesCapacityRebalancePtrType) ToSpotFleetRequestSpotMaintenanceStrategiesCapacityRebalancePtrOutputWithContext(ctx context.Context) SpotFleetRequestSpotMaintenanceStrategiesCapacityRebalancePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SpotFleetRequestSpotMaintenanceStrategiesCapacityRebalancePtrOutput) } -type SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsOutput struct{ *pulumi.OutputState } +type SpotFleetRequestSpotMaintenanceStrategiesCapacityRebalanceOutput struct{ *pulumi.OutputState } -func (SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsOutput) ElementType() reflect.Type { - return reflect.TypeOf((*SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbps)(nil)).Elem() +func (SpotFleetRequestSpotMaintenanceStrategiesCapacityRebalanceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SpotFleetRequestSpotMaintenanceStrategiesCapacityRebalance)(nil)).Elem() } -func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsOutput) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsOutput() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsOutput { +func (o SpotFleetRequestSpotMaintenanceStrategiesCapacityRebalanceOutput) ToSpotFleetRequestSpotMaintenanceStrategiesCapacityRebalanceOutput() SpotFleetRequestSpotMaintenanceStrategiesCapacityRebalanceOutput { return o } -func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsOutput) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsOutputWithContext(ctx context.Context) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsOutput { +func (o SpotFleetRequestSpotMaintenanceStrategiesCapacityRebalanceOutput) ToSpotFleetRequestSpotMaintenanceStrategiesCapacityRebalanceOutputWithContext(ctx context.Context) SpotFleetRequestSpotMaintenanceStrategiesCapacityRebalanceOutput { return o } -func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsOutput) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutput() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutput { - return o.ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutputWithContext(context.Background()) +func (o SpotFleetRequestSpotMaintenanceStrategiesCapacityRebalanceOutput) ToSpotFleetRequestSpotMaintenanceStrategiesCapacityRebalancePtrOutput() SpotFleetRequestSpotMaintenanceStrategiesCapacityRebalancePtrOutput { + return o.ToSpotFleetRequestSpotMaintenanceStrategiesCapacityRebalancePtrOutputWithContext(context.Background()) } -func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsOutput) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutputWithContext(ctx context.Context) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbps) *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbps { +func (o SpotFleetRequestSpotMaintenanceStrategiesCapacityRebalanceOutput) ToSpotFleetRequestSpotMaintenanceStrategiesCapacityRebalancePtrOutputWithContext(ctx context.Context) SpotFleetRequestSpotMaintenanceStrategiesCapacityRebalancePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v SpotFleetRequestSpotMaintenanceStrategiesCapacityRebalance) *SpotFleetRequestSpotMaintenanceStrategiesCapacityRebalance { return &v - }).(SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutput) -} - -// Maximum. -func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsOutput) Max() pulumi.IntPtrOutput { - return o.ApplyT(func(v SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbps) *int { - return v.Max - }).(pulumi.IntPtrOutput) + }).(SpotFleetRequestSpotMaintenanceStrategiesCapacityRebalancePtrOutput) } -// Minimum. -func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsOutput) Min() pulumi.IntPtrOutput { - return o.ApplyT(func(v SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbps) *int { - return v.Min - }).(pulumi.IntPtrOutput) +// The replacement strategy to use. Only available for spot fleets with `fleetType` set to `maintain`. Valid values: `launch`. +func (o SpotFleetRequestSpotMaintenanceStrategiesCapacityRebalanceOutput) ReplacementStrategy() pulumi.StringPtrOutput { + return o.ApplyT(func(v SpotFleetRequestSpotMaintenanceStrategiesCapacityRebalance) *string { + return v.ReplacementStrategy + }).(pulumi.StringPtrOutput) } -type SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutput struct{ *pulumi.OutputState } +type SpotFleetRequestSpotMaintenanceStrategiesCapacityRebalancePtrOutput struct{ *pulumi.OutputState } -func (SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbps)(nil)).Elem() +func (SpotFleetRequestSpotMaintenanceStrategiesCapacityRebalancePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**SpotFleetRequestSpotMaintenanceStrategiesCapacityRebalance)(nil)).Elem() } -func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutput) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutput() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutput { +func (o SpotFleetRequestSpotMaintenanceStrategiesCapacityRebalancePtrOutput) ToSpotFleetRequestSpotMaintenanceStrategiesCapacityRebalancePtrOutput() SpotFleetRequestSpotMaintenanceStrategiesCapacityRebalancePtrOutput { return o } -func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutput) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutputWithContext(ctx context.Context) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutput { +func (o SpotFleetRequestSpotMaintenanceStrategiesCapacityRebalancePtrOutput) ToSpotFleetRequestSpotMaintenanceStrategiesCapacityRebalancePtrOutputWithContext(ctx context.Context) SpotFleetRequestSpotMaintenanceStrategiesCapacityRebalancePtrOutput { return o } -func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutput) Elem() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsOutput { - return o.ApplyT(func(v *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbps) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbps { +func (o SpotFleetRequestSpotMaintenanceStrategiesCapacityRebalancePtrOutput) Elem() SpotFleetRequestSpotMaintenanceStrategiesCapacityRebalanceOutput { + return o.ApplyT(func(v *SpotFleetRequestSpotMaintenanceStrategiesCapacityRebalance) SpotFleetRequestSpotMaintenanceStrategiesCapacityRebalance { if v != nil { return *v } - var ret SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbps + var ret SpotFleetRequestSpotMaintenanceStrategiesCapacityRebalance return ret - }).(SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsOutput) -} - -// Maximum. -func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutput) Max() pulumi.IntPtrOutput { - return o.ApplyT(func(v *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbps) *int { - if v == nil { - return nil - } - return v.Max - }).(pulumi.IntPtrOutput) + }).(SpotFleetRequestSpotMaintenanceStrategiesCapacityRebalanceOutput) } -// Minimum. -func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsPtrOutput) Min() pulumi.IntPtrOutput { - return o.ApplyT(func(v *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbps) *int { +// The replacement strategy to use. Only available for spot fleets with `fleetType` set to `maintain`. Valid values: `launch`. +func (o SpotFleetRequestSpotMaintenanceStrategiesCapacityRebalancePtrOutput) ReplacementStrategy() pulumi.StringPtrOutput { + return o.ApplyT(func(v *SpotFleetRequestSpotMaintenanceStrategiesCapacityRebalance) *string { if v == nil { return nil } - return v.Min - }).(pulumi.IntPtrOutput) + return v.ReplacementStrategy + }).(pulumi.StringPtrOutput) } -type SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpu struct { - // Maximum. May be a decimal number, e.g. `0.5`. - Max *float64 `pulumi:"max"` - // Minimum. May be a decimal number, e.g. `0.5`. - Min *float64 `pulumi:"min"` +type SpotInstanceRequestCapacityReservationSpecification struct { + // Indicates the instance's Capacity Reservation preferences. Can be `"open"` or `"none"`. (Default: `"open"`). + CapacityReservationPreference *string `pulumi:"capacityReservationPreference"` + // Information about the target Capacity Reservation. See Capacity Reservation Target below for more details. + // + // For more information, see the documentation on [Capacity Reservations](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/capacity-reservations-using.html). + CapacityReservationTarget *SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTarget `pulumi:"capacityReservationTarget"` } -// SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuInput is an input type that accepts SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuArgs and SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuOutput values. -// You can construct a concrete instance of `SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuInput` via: +// SpotInstanceRequestCapacityReservationSpecificationInput is an input type that accepts SpotInstanceRequestCapacityReservationSpecificationArgs and SpotInstanceRequestCapacityReservationSpecificationOutput values. +// You can construct a concrete instance of `SpotInstanceRequestCapacityReservationSpecificationInput` via: // -// SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuArgs{...} -type SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuInput interface { +// SpotInstanceRequestCapacityReservationSpecificationArgs{...} +type SpotInstanceRequestCapacityReservationSpecificationInput interface { pulumi.Input - ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuOutput() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuOutput - ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuOutputWithContext(context.Context) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuOutput + ToSpotInstanceRequestCapacityReservationSpecificationOutput() SpotInstanceRequestCapacityReservationSpecificationOutput + ToSpotInstanceRequestCapacityReservationSpecificationOutputWithContext(context.Context) SpotInstanceRequestCapacityReservationSpecificationOutput } -type SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuArgs struct { - // Maximum. May be a decimal number, e.g. `0.5`. - Max pulumi.Float64PtrInput `pulumi:"max"` - // Minimum. May be a decimal number, e.g. `0.5`. - Min pulumi.Float64PtrInput `pulumi:"min"` +type SpotInstanceRequestCapacityReservationSpecificationArgs struct { + // Indicates the instance's Capacity Reservation preferences. Can be `"open"` or `"none"`. (Default: `"open"`). + CapacityReservationPreference pulumi.StringPtrInput `pulumi:"capacityReservationPreference"` + // Information about the target Capacity Reservation. See Capacity Reservation Target below for more details. + // + // For more information, see the documentation on [Capacity Reservations](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/capacity-reservations-using.html). + CapacityReservationTarget SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetPtrInput `pulumi:"capacityReservationTarget"` } -func (SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuArgs) ElementType() reflect.Type { - return reflect.TypeOf((*SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpu)(nil)).Elem() +func (SpotInstanceRequestCapacityReservationSpecificationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SpotInstanceRequestCapacityReservationSpecification)(nil)).Elem() } -func (i SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuArgs) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuOutput() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuOutput { - return i.ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuOutputWithContext(context.Background()) +func (i SpotInstanceRequestCapacityReservationSpecificationArgs) ToSpotInstanceRequestCapacityReservationSpecificationOutput() SpotInstanceRequestCapacityReservationSpecificationOutput { + return i.ToSpotInstanceRequestCapacityReservationSpecificationOutputWithContext(context.Background()) } -func (i SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuArgs) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuOutputWithContext(ctx context.Context) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuOutput { - return pulumi.ToOutputWithContext(ctx, i).(SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuOutput) +func (i SpotInstanceRequestCapacityReservationSpecificationArgs) ToSpotInstanceRequestCapacityReservationSpecificationOutputWithContext(ctx context.Context) SpotInstanceRequestCapacityReservationSpecificationOutput { + return pulumi.ToOutputWithContext(ctx, i).(SpotInstanceRequestCapacityReservationSpecificationOutput) } -func (i SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuArgs) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrOutput() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrOutput { - return i.ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrOutputWithContext(context.Background()) +func (i SpotInstanceRequestCapacityReservationSpecificationArgs) ToSpotInstanceRequestCapacityReservationSpecificationPtrOutput() SpotInstanceRequestCapacityReservationSpecificationPtrOutput { + return i.ToSpotInstanceRequestCapacityReservationSpecificationPtrOutputWithContext(context.Background()) } -func (i SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuArgs) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrOutputWithContext(ctx context.Context) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuOutput).ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrOutputWithContext(ctx) +func (i SpotInstanceRequestCapacityReservationSpecificationArgs) ToSpotInstanceRequestCapacityReservationSpecificationPtrOutputWithContext(ctx context.Context) SpotInstanceRequestCapacityReservationSpecificationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SpotInstanceRequestCapacityReservationSpecificationOutput).ToSpotInstanceRequestCapacityReservationSpecificationPtrOutputWithContext(ctx) } -// SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrInput is an input type that accepts SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuArgs, SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtr and SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrOutput values. -// You can construct a concrete instance of `SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrInput` via: +// SpotInstanceRequestCapacityReservationSpecificationPtrInput is an input type that accepts SpotInstanceRequestCapacityReservationSpecificationArgs, SpotInstanceRequestCapacityReservationSpecificationPtr and SpotInstanceRequestCapacityReservationSpecificationPtrOutput values. +// You can construct a concrete instance of `SpotInstanceRequestCapacityReservationSpecificationPtrInput` via: // -// SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuArgs{...} +// SpotInstanceRequestCapacityReservationSpecificationArgs{...} // // or: // // nil -type SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrInput interface { +type SpotInstanceRequestCapacityReservationSpecificationPtrInput interface { pulumi.Input - ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrOutput() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrOutput - ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrOutputWithContext(context.Context) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrOutput + ToSpotInstanceRequestCapacityReservationSpecificationPtrOutput() SpotInstanceRequestCapacityReservationSpecificationPtrOutput + ToSpotInstanceRequestCapacityReservationSpecificationPtrOutputWithContext(context.Context) SpotInstanceRequestCapacityReservationSpecificationPtrOutput } -type spotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrType SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuArgs +type spotInstanceRequestCapacityReservationSpecificationPtrType SpotInstanceRequestCapacityReservationSpecificationArgs -func SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtr(v *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuArgs) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrInput { - return (*spotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrType)(v) +func SpotInstanceRequestCapacityReservationSpecificationPtr(v *SpotInstanceRequestCapacityReservationSpecificationArgs) SpotInstanceRequestCapacityReservationSpecificationPtrInput { + return (*spotInstanceRequestCapacityReservationSpecificationPtrType)(v) } -func (*spotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpu)(nil)).Elem() +func (*spotInstanceRequestCapacityReservationSpecificationPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**SpotInstanceRequestCapacityReservationSpecification)(nil)).Elem() } -func (i *spotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrType) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrOutput() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrOutput { - return i.ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrOutputWithContext(context.Background()) +func (i *spotInstanceRequestCapacityReservationSpecificationPtrType) ToSpotInstanceRequestCapacityReservationSpecificationPtrOutput() SpotInstanceRequestCapacityReservationSpecificationPtrOutput { + return i.ToSpotInstanceRequestCapacityReservationSpecificationPtrOutputWithContext(context.Background()) } -func (i *spotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrType) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrOutputWithContext(ctx context.Context) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrOutput) +func (i *spotInstanceRequestCapacityReservationSpecificationPtrType) ToSpotInstanceRequestCapacityReservationSpecificationPtrOutputWithContext(ctx context.Context) SpotInstanceRequestCapacityReservationSpecificationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SpotInstanceRequestCapacityReservationSpecificationPtrOutput) } -type SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuOutput struct{ *pulumi.OutputState } +type SpotInstanceRequestCapacityReservationSpecificationOutput struct{ *pulumi.OutputState } -func (SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuOutput) ElementType() reflect.Type { - return reflect.TypeOf((*SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpu)(nil)).Elem() +func (SpotInstanceRequestCapacityReservationSpecificationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SpotInstanceRequestCapacityReservationSpecification)(nil)).Elem() } -func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuOutput) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuOutput() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuOutput { +func (o SpotInstanceRequestCapacityReservationSpecificationOutput) ToSpotInstanceRequestCapacityReservationSpecificationOutput() SpotInstanceRequestCapacityReservationSpecificationOutput { return o } -func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuOutput) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuOutputWithContext(ctx context.Context) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuOutput { +func (o SpotInstanceRequestCapacityReservationSpecificationOutput) ToSpotInstanceRequestCapacityReservationSpecificationOutputWithContext(ctx context.Context) SpotInstanceRequestCapacityReservationSpecificationOutput { return o } -func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuOutput) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrOutput() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrOutput { - return o.ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrOutputWithContext(context.Background()) +func (o SpotInstanceRequestCapacityReservationSpecificationOutput) ToSpotInstanceRequestCapacityReservationSpecificationPtrOutput() SpotInstanceRequestCapacityReservationSpecificationPtrOutput { + return o.ToSpotInstanceRequestCapacityReservationSpecificationPtrOutputWithContext(context.Background()) } -func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuOutput) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrOutputWithContext(ctx context.Context) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpu) *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpu { +func (o SpotInstanceRequestCapacityReservationSpecificationOutput) ToSpotInstanceRequestCapacityReservationSpecificationPtrOutputWithContext(ctx context.Context) SpotInstanceRequestCapacityReservationSpecificationPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v SpotInstanceRequestCapacityReservationSpecification) *SpotInstanceRequestCapacityReservationSpecification { return &v - }).(SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrOutput) + }).(SpotInstanceRequestCapacityReservationSpecificationPtrOutput) } -// Maximum. May be a decimal number, e.g. `0.5`. -func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuOutput) Max() pulumi.Float64PtrOutput { - return o.ApplyT(func(v SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpu) *float64 { - return v.Max - }).(pulumi.Float64PtrOutput) +// Indicates the instance's Capacity Reservation preferences. Can be `"open"` or `"none"`. (Default: `"open"`). +func (o SpotInstanceRequestCapacityReservationSpecificationOutput) CapacityReservationPreference() pulumi.StringPtrOutput { + return o.ApplyT(func(v SpotInstanceRequestCapacityReservationSpecification) *string { + return v.CapacityReservationPreference + }).(pulumi.StringPtrOutput) } -// Minimum. May be a decimal number, e.g. `0.5`. -func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuOutput) Min() pulumi.Float64PtrOutput { - return o.ApplyT(func(v SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpu) *float64 { - return v.Min - }).(pulumi.Float64PtrOutput) +// Information about the target Capacity Reservation. See Capacity Reservation Target below for more details. +// +// For more information, see the documentation on [Capacity Reservations](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/capacity-reservations-using.html). +func (o SpotInstanceRequestCapacityReservationSpecificationOutput) CapacityReservationTarget() SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetPtrOutput { + return o.ApplyT(func(v SpotInstanceRequestCapacityReservationSpecification) *SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTarget { + return v.CapacityReservationTarget + }).(SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetPtrOutput) } -type SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrOutput struct{ *pulumi.OutputState } +type SpotInstanceRequestCapacityReservationSpecificationPtrOutput struct{ *pulumi.OutputState } -func (SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpu)(nil)).Elem() +func (SpotInstanceRequestCapacityReservationSpecificationPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**SpotInstanceRequestCapacityReservationSpecification)(nil)).Elem() } -func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrOutput) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrOutput() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrOutput { +func (o SpotInstanceRequestCapacityReservationSpecificationPtrOutput) ToSpotInstanceRequestCapacityReservationSpecificationPtrOutput() SpotInstanceRequestCapacityReservationSpecificationPtrOutput { return o } -func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrOutput) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrOutputWithContext(ctx context.Context) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrOutput { +func (o SpotInstanceRequestCapacityReservationSpecificationPtrOutput) ToSpotInstanceRequestCapacityReservationSpecificationPtrOutputWithContext(ctx context.Context) SpotInstanceRequestCapacityReservationSpecificationPtrOutput { return o } -func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrOutput) Elem() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuOutput { - return o.ApplyT(func(v *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpu) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpu { +func (o SpotInstanceRequestCapacityReservationSpecificationPtrOutput) Elem() SpotInstanceRequestCapacityReservationSpecificationOutput { + return o.ApplyT(func(v *SpotInstanceRequestCapacityReservationSpecification) SpotInstanceRequestCapacityReservationSpecification { if v != nil { return *v } - var ret SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpu + var ret SpotInstanceRequestCapacityReservationSpecification return ret - }).(SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuOutput) + }).(SpotInstanceRequestCapacityReservationSpecificationOutput) } -// Maximum. May be a decimal number, e.g. `0.5`. -func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrOutput) Max() pulumi.Float64PtrOutput { - return o.ApplyT(func(v *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpu) *float64 { +// Indicates the instance's Capacity Reservation preferences. Can be `"open"` or `"none"`. (Default: `"open"`). +func (o SpotInstanceRequestCapacityReservationSpecificationPtrOutput) CapacityReservationPreference() pulumi.StringPtrOutput { + return o.ApplyT(func(v *SpotInstanceRequestCapacityReservationSpecification) *string { if v == nil { return nil } - return v.Max - }).(pulumi.Float64PtrOutput) + return v.CapacityReservationPreference + }).(pulumi.StringPtrOutput) } -// Minimum. May be a decimal number, e.g. `0.5`. -func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuPtrOutput) Min() pulumi.Float64PtrOutput { - return o.ApplyT(func(v *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpu) *float64 { +// Information about the target Capacity Reservation. See Capacity Reservation Target below for more details. +// +// For more information, see the documentation on [Capacity Reservations](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/capacity-reservations-using.html). +func (o SpotInstanceRequestCapacityReservationSpecificationPtrOutput) CapacityReservationTarget() SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetPtrOutput { + return o.ApplyT(func(v *SpotInstanceRequestCapacityReservationSpecification) *SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTarget { if v == nil { return nil } - return v.Min - }).(pulumi.Float64PtrOutput) + return v.CapacityReservationTarget + }).(SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetPtrOutput) } -type SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMib struct { - // Maximum. - Max *int `pulumi:"max"` - // Minimum. - Min *int `pulumi:"min"` +type SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTarget struct { + // ID of the Capacity Reservation in which to run the instance. + CapacityReservationId *string `pulumi:"capacityReservationId"` + // ARN of the Capacity Reservation resource group in which to run the instance. + CapacityReservationResourceGroupArn *string `pulumi:"capacityReservationResourceGroupArn"` } -// SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibInput is an input type that accepts SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibArgs and SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibOutput values. -// You can construct a concrete instance of `SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibInput` via: +// SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetInput is an input type that accepts SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetArgs and SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetOutput values. +// You can construct a concrete instance of `SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetInput` via: // -// SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibArgs{...} -type SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibInput interface { +// SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetArgs{...} +type SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetInput interface { pulumi.Input - ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibOutput() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibOutput - ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibOutputWithContext(context.Context) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibOutput + ToSpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetOutput() SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetOutput + ToSpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetOutputWithContext(context.Context) SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetOutput } -type SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibArgs struct { - // Maximum. - Max pulumi.IntPtrInput `pulumi:"max"` - // Minimum. - Min pulumi.IntPtrInput `pulumi:"min"` +type SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetArgs struct { + // ID of the Capacity Reservation in which to run the instance. + CapacityReservationId pulumi.StringPtrInput `pulumi:"capacityReservationId"` + // ARN of the Capacity Reservation resource group in which to run the instance. + CapacityReservationResourceGroupArn pulumi.StringPtrInput `pulumi:"capacityReservationResourceGroupArn"` } -func (SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibArgs) ElementType() reflect.Type { - return reflect.TypeOf((*SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMib)(nil)).Elem() +func (SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTarget)(nil)).Elem() } -func (i SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibArgs) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibOutput() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibOutput { - return i.ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibOutputWithContext(context.Background()) +func (i SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetArgs) ToSpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetOutput() SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetOutput { + return i.ToSpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetOutputWithContext(context.Background()) } -func (i SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibArgs) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibOutputWithContext(ctx context.Context) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibOutput { - return pulumi.ToOutputWithContext(ctx, i).(SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibOutput) +func (i SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetArgs) ToSpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetOutputWithContext(ctx context.Context) SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetOutput { + return pulumi.ToOutputWithContext(ctx, i).(SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetOutput) } -func (i SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibArgs) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrOutput() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrOutput { - return i.ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrOutputWithContext(context.Background()) +func (i SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetArgs) ToSpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetPtrOutput() SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetPtrOutput { + return i.ToSpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetPtrOutputWithContext(context.Background()) } -func (i SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibArgs) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrOutputWithContext(ctx context.Context) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibOutput).ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrOutputWithContext(ctx) +func (i SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetArgs) ToSpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetPtrOutputWithContext(ctx context.Context) SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetOutput).ToSpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetPtrOutputWithContext(ctx) } -// SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrInput is an input type that accepts SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibArgs, SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtr and SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrOutput values. -// You can construct a concrete instance of `SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrInput` via: +// SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetPtrInput is an input type that accepts SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetArgs, SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetPtr and SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetPtrOutput values. +// You can construct a concrete instance of `SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetPtrInput` via: // -// SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibArgs{...} +// SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetArgs{...} // // or: // // nil -type SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrInput interface { +type SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetPtrInput interface { pulumi.Input - ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrOutput() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrOutput - ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrOutputWithContext(context.Context) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrOutput + ToSpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetPtrOutput() SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetPtrOutput + ToSpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetPtrOutputWithContext(context.Context) SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetPtrOutput } -type spotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrType SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibArgs +type spotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetPtrType SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetArgs -func SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtr(v *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibArgs) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrInput { - return (*spotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrType)(v) +func SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetPtr(v *SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetArgs) SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetPtrInput { + return (*spotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetPtrType)(v) } -func (*spotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMib)(nil)).Elem() +func (*spotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTarget)(nil)).Elem() } -func (i *spotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrType) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrOutput() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrOutput { - return i.ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrOutputWithContext(context.Background()) +func (i *spotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetPtrType) ToSpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetPtrOutput() SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetPtrOutput { + return i.ToSpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetPtrOutputWithContext(context.Background()) } -func (i *spotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrType) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrOutputWithContext(ctx context.Context) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrOutput) +func (i *spotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetPtrType) ToSpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetPtrOutputWithContext(ctx context.Context) SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetPtrOutput) } -type SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibOutput struct{ *pulumi.OutputState } +type SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetOutput struct{ *pulumi.OutputState } -func (SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibOutput) ElementType() reflect.Type { - return reflect.TypeOf((*SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMib)(nil)).Elem() +func (SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTarget)(nil)).Elem() } -func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibOutput) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibOutput() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibOutput { +func (o SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetOutput) ToSpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetOutput() SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetOutput { return o } -func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibOutput) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibOutputWithContext(ctx context.Context) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibOutput { +func (o SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetOutput) ToSpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetOutputWithContext(ctx context.Context) SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetOutput { return o } -func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibOutput) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrOutput() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrOutput { - return o.ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrOutputWithContext(context.Background()) +func (o SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetOutput) ToSpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetPtrOutput() SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetPtrOutput { + return o.ToSpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetPtrOutputWithContext(context.Background()) } -func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibOutput) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrOutputWithContext(ctx context.Context) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMib) *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMib { +func (o SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetOutput) ToSpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetPtrOutputWithContext(ctx context.Context) SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTarget) *SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTarget { return &v - }).(SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrOutput) + }).(SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetPtrOutput) } -// Maximum. -func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibOutput) Max() pulumi.IntPtrOutput { - return o.ApplyT(func(v SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMib) *int { return v.Max }).(pulumi.IntPtrOutput) +// ID of the Capacity Reservation in which to run the instance. +func (o SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetOutput) CapacityReservationId() pulumi.StringPtrOutput { + return o.ApplyT(func(v SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTarget) *string { + return v.CapacityReservationId + }).(pulumi.StringPtrOutput) } -// Minimum. -func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibOutput) Min() pulumi.IntPtrOutput { - return o.ApplyT(func(v SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMib) *int { return v.Min }).(pulumi.IntPtrOutput) +// ARN of the Capacity Reservation resource group in which to run the instance. +func (o SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetOutput) CapacityReservationResourceGroupArn() pulumi.StringPtrOutput { + return o.ApplyT(func(v SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTarget) *string { + return v.CapacityReservationResourceGroupArn + }).(pulumi.StringPtrOutput) } -type SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrOutput struct{ *pulumi.OutputState } +type SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetPtrOutput struct{ *pulumi.OutputState } -func (SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMib)(nil)).Elem() +func (SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTarget)(nil)).Elem() } -func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrOutput) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrOutput() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrOutput { +func (o SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetPtrOutput) ToSpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetPtrOutput() SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetPtrOutput { return o } -func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrOutput) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrOutputWithContext(ctx context.Context) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrOutput { +func (o SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetPtrOutput) ToSpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetPtrOutputWithContext(ctx context.Context) SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetPtrOutput { return o } -func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrOutput) Elem() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibOutput { - return o.ApplyT(func(v *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMib) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMib { +func (o SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetPtrOutput) Elem() SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetOutput { + return o.ApplyT(func(v *SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTarget) SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTarget { if v != nil { return *v } - var ret SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMib + var ret SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTarget return ret - }).(SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibOutput) + }).(SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetOutput) } -// Maximum. -func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrOutput) Max() pulumi.IntPtrOutput { - return o.ApplyT(func(v *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMib) *int { +// ID of the Capacity Reservation in which to run the instance. +func (o SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetPtrOutput) CapacityReservationId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTarget) *string { if v == nil { return nil } - return v.Max - }).(pulumi.IntPtrOutput) + return v.CapacityReservationId + }).(pulumi.StringPtrOutput) } -// Minimum. -func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibPtrOutput) Min() pulumi.IntPtrOutput { - return o.ApplyT(func(v *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMib) *int { +// ARN of the Capacity Reservation resource group in which to run the instance. +func (o SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetPtrOutput) CapacityReservationResourceGroupArn() pulumi.StringPtrOutput { + return o.ApplyT(func(v *SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTarget) *string { if v == nil { return nil } - return v.Min - }).(pulumi.IntPtrOutput) + return v.CapacityReservationResourceGroupArn + }).(pulumi.StringPtrOutput) } -type SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbps struct { - // Maximum. - Max *float64 `pulumi:"max"` - // Minimum. - Min *float64 `pulumi:"min"` +type SpotInstanceRequestCpuOptions struct { + // Indicates whether to enable the instance for AMD SEV-SNP. AMD SEV-SNP is supported with M6a, R6a, and C6a instance types only. Valid values are `enabled` and `disabled`. + AmdSevSnp *string `pulumi:"amdSevSnp"` + // Sets the number of CPU cores for an instance. This option is only supported on creation of instance type that support CPU Options [CPU Cores and Threads Per CPU Core Per Instance Type](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-optimize-cpu.html#cpu-options-supported-instances-values) - specifying this option for unsupported instance types will return an error from the EC2 API. + CoreCount *int `pulumi:"coreCount"` + // If set to 1, hyperthreading is disabled on the launched instance. Defaults to 2 if not set. See [Optimizing CPU Options](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-optimize-cpu.html) for more information. + // + // For more information, see the documentation on [Optimizing CPU options](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-optimize-cpu.html). + ThreadsPerCore *int `pulumi:"threadsPerCore"` } -// SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsInput is an input type that accepts SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsArgs and SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsOutput values. -// You can construct a concrete instance of `SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsInput` via: +// SpotInstanceRequestCpuOptionsInput is an input type that accepts SpotInstanceRequestCpuOptionsArgs and SpotInstanceRequestCpuOptionsOutput values. +// You can construct a concrete instance of `SpotInstanceRequestCpuOptionsInput` via: // -// SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsArgs{...} -type SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsInput interface { +// SpotInstanceRequestCpuOptionsArgs{...} +type SpotInstanceRequestCpuOptionsInput interface { pulumi.Input - ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsOutput() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsOutput - ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsOutputWithContext(context.Context) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsOutput + ToSpotInstanceRequestCpuOptionsOutput() SpotInstanceRequestCpuOptionsOutput + ToSpotInstanceRequestCpuOptionsOutputWithContext(context.Context) SpotInstanceRequestCpuOptionsOutput } -type SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsArgs struct { - // Maximum. - Max pulumi.Float64PtrInput `pulumi:"max"` - // Minimum. - Min pulumi.Float64PtrInput `pulumi:"min"` +type SpotInstanceRequestCpuOptionsArgs struct { + // Indicates whether to enable the instance for AMD SEV-SNP. AMD SEV-SNP is supported with M6a, R6a, and C6a instance types only. Valid values are `enabled` and `disabled`. + AmdSevSnp pulumi.StringPtrInput `pulumi:"amdSevSnp"` + // Sets the number of CPU cores for an instance. This option is only supported on creation of instance type that support CPU Options [CPU Cores and Threads Per CPU Core Per Instance Type](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-optimize-cpu.html#cpu-options-supported-instances-values) - specifying this option for unsupported instance types will return an error from the EC2 API. + CoreCount pulumi.IntPtrInput `pulumi:"coreCount"` + // If set to 1, hyperthreading is disabled on the launched instance. Defaults to 2 if not set. See [Optimizing CPU Options](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-optimize-cpu.html) for more information. + // + // For more information, see the documentation on [Optimizing CPU options](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-optimize-cpu.html). + ThreadsPerCore pulumi.IntPtrInput `pulumi:"threadsPerCore"` } -func (SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsArgs) ElementType() reflect.Type { - return reflect.TypeOf((*SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbps)(nil)).Elem() +func (SpotInstanceRequestCpuOptionsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SpotInstanceRequestCpuOptions)(nil)).Elem() } -func (i SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsArgs) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsOutput() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsOutput { - return i.ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsOutputWithContext(context.Background()) +func (i SpotInstanceRequestCpuOptionsArgs) ToSpotInstanceRequestCpuOptionsOutput() SpotInstanceRequestCpuOptionsOutput { + return i.ToSpotInstanceRequestCpuOptionsOutputWithContext(context.Background()) } -func (i SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsArgs) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsOutputWithContext(ctx context.Context) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsOutput { - return pulumi.ToOutputWithContext(ctx, i).(SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsOutput) +func (i SpotInstanceRequestCpuOptionsArgs) ToSpotInstanceRequestCpuOptionsOutputWithContext(ctx context.Context) SpotInstanceRequestCpuOptionsOutput { + return pulumi.ToOutputWithContext(ctx, i).(SpotInstanceRequestCpuOptionsOutput) } -func (i SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsArgs) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrOutput() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrOutput { - return i.ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrOutputWithContext(context.Background()) +func (i SpotInstanceRequestCpuOptionsArgs) ToSpotInstanceRequestCpuOptionsPtrOutput() SpotInstanceRequestCpuOptionsPtrOutput { + return i.ToSpotInstanceRequestCpuOptionsPtrOutputWithContext(context.Background()) } -func (i SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsArgs) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrOutputWithContext(ctx context.Context) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsOutput).ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrOutputWithContext(ctx) +func (i SpotInstanceRequestCpuOptionsArgs) ToSpotInstanceRequestCpuOptionsPtrOutputWithContext(ctx context.Context) SpotInstanceRequestCpuOptionsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SpotInstanceRequestCpuOptionsOutput).ToSpotInstanceRequestCpuOptionsPtrOutputWithContext(ctx) } -// SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrInput is an input type that accepts SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsArgs, SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtr and SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrOutput values. -// You can construct a concrete instance of `SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrInput` via: +// SpotInstanceRequestCpuOptionsPtrInput is an input type that accepts SpotInstanceRequestCpuOptionsArgs, SpotInstanceRequestCpuOptionsPtr and SpotInstanceRequestCpuOptionsPtrOutput values. +// You can construct a concrete instance of `SpotInstanceRequestCpuOptionsPtrInput` via: // -// SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsArgs{...} +// SpotInstanceRequestCpuOptionsArgs{...} // // or: // // nil -type SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrInput interface { +type SpotInstanceRequestCpuOptionsPtrInput interface { pulumi.Input - ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrOutput() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrOutput - ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrOutputWithContext(context.Context) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrOutput + ToSpotInstanceRequestCpuOptionsPtrOutput() SpotInstanceRequestCpuOptionsPtrOutput + ToSpotInstanceRequestCpuOptionsPtrOutputWithContext(context.Context) SpotInstanceRequestCpuOptionsPtrOutput } -type spotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrType SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsArgs +type spotInstanceRequestCpuOptionsPtrType SpotInstanceRequestCpuOptionsArgs -func SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtr(v *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsArgs) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrInput { - return (*spotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrType)(v) +func SpotInstanceRequestCpuOptionsPtr(v *SpotInstanceRequestCpuOptionsArgs) SpotInstanceRequestCpuOptionsPtrInput { + return (*spotInstanceRequestCpuOptionsPtrType)(v) } -func (*spotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbps)(nil)).Elem() +func (*spotInstanceRequestCpuOptionsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**SpotInstanceRequestCpuOptions)(nil)).Elem() } -func (i *spotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrType) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrOutput() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrOutput { - return i.ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrOutputWithContext(context.Background()) +func (i *spotInstanceRequestCpuOptionsPtrType) ToSpotInstanceRequestCpuOptionsPtrOutput() SpotInstanceRequestCpuOptionsPtrOutput { + return i.ToSpotInstanceRequestCpuOptionsPtrOutputWithContext(context.Background()) } -func (i *spotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrType) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrOutputWithContext(ctx context.Context) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrOutput) +func (i *spotInstanceRequestCpuOptionsPtrType) ToSpotInstanceRequestCpuOptionsPtrOutputWithContext(ctx context.Context) SpotInstanceRequestCpuOptionsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SpotInstanceRequestCpuOptionsPtrOutput) } -type SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsOutput struct{ *pulumi.OutputState } +type SpotInstanceRequestCpuOptionsOutput struct{ *pulumi.OutputState } -func (SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsOutput) ElementType() reflect.Type { - return reflect.TypeOf((*SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbps)(nil)).Elem() +func (SpotInstanceRequestCpuOptionsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SpotInstanceRequestCpuOptions)(nil)).Elem() } -func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsOutput) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsOutput() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsOutput { +func (o SpotInstanceRequestCpuOptionsOutput) ToSpotInstanceRequestCpuOptionsOutput() SpotInstanceRequestCpuOptionsOutput { return o } -func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsOutput) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsOutputWithContext(ctx context.Context) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsOutput { +func (o SpotInstanceRequestCpuOptionsOutput) ToSpotInstanceRequestCpuOptionsOutputWithContext(ctx context.Context) SpotInstanceRequestCpuOptionsOutput { return o } -func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsOutput) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrOutput() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrOutput { - return o.ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrOutputWithContext(context.Background()) +func (o SpotInstanceRequestCpuOptionsOutput) ToSpotInstanceRequestCpuOptionsPtrOutput() SpotInstanceRequestCpuOptionsPtrOutput { + return o.ToSpotInstanceRequestCpuOptionsPtrOutputWithContext(context.Background()) } -func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsOutput) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrOutputWithContext(ctx context.Context) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbps) *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbps { +func (o SpotInstanceRequestCpuOptionsOutput) ToSpotInstanceRequestCpuOptionsPtrOutputWithContext(ctx context.Context) SpotInstanceRequestCpuOptionsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v SpotInstanceRequestCpuOptions) *SpotInstanceRequestCpuOptions { return &v - }).(SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrOutput) + }).(SpotInstanceRequestCpuOptionsPtrOutput) } -// Maximum. -func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsOutput) Max() pulumi.Float64PtrOutput { - return o.ApplyT(func(v SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbps) *float64 { - return v.Max - }).(pulumi.Float64PtrOutput) +// Indicates whether to enable the instance for AMD SEV-SNP. AMD SEV-SNP is supported with M6a, R6a, and C6a instance types only. Valid values are `enabled` and `disabled`. +func (o SpotInstanceRequestCpuOptionsOutput) AmdSevSnp() pulumi.StringPtrOutput { + return o.ApplyT(func(v SpotInstanceRequestCpuOptions) *string { return v.AmdSevSnp }).(pulumi.StringPtrOutput) } -// Minimum. -func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsOutput) Min() pulumi.Float64PtrOutput { - return o.ApplyT(func(v SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbps) *float64 { - return v.Min - }).(pulumi.Float64PtrOutput) +// Sets the number of CPU cores for an instance. This option is only supported on creation of instance type that support CPU Options [CPU Cores and Threads Per CPU Core Per Instance Type](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-optimize-cpu.html#cpu-options-supported-instances-values) - specifying this option for unsupported instance types will return an error from the EC2 API. +func (o SpotInstanceRequestCpuOptionsOutput) CoreCount() pulumi.IntPtrOutput { + return o.ApplyT(func(v SpotInstanceRequestCpuOptions) *int { return v.CoreCount }).(pulumi.IntPtrOutput) } -type SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrOutput struct{ *pulumi.OutputState } +// If set to 1, hyperthreading is disabled on the launched instance. Defaults to 2 if not set. See [Optimizing CPU Options](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-optimize-cpu.html) for more information. +// +// For more information, see the documentation on [Optimizing CPU options](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-optimize-cpu.html). +func (o SpotInstanceRequestCpuOptionsOutput) ThreadsPerCore() pulumi.IntPtrOutput { + return o.ApplyT(func(v SpotInstanceRequestCpuOptions) *int { return v.ThreadsPerCore }).(pulumi.IntPtrOutput) +} -func (SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbps)(nil)).Elem() +type SpotInstanceRequestCpuOptionsPtrOutput struct{ *pulumi.OutputState } + +func (SpotInstanceRequestCpuOptionsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**SpotInstanceRequestCpuOptions)(nil)).Elem() } -func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrOutput) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrOutput() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrOutput { +func (o SpotInstanceRequestCpuOptionsPtrOutput) ToSpotInstanceRequestCpuOptionsPtrOutput() SpotInstanceRequestCpuOptionsPtrOutput { return o } -func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrOutput) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrOutputWithContext(ctx context.Context) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrOutput { +func (o SpotInstanceRequestCpuOptionsPtrOutput) ToSpotInstanceRequestCpuOptionsPtrOutputWithContext(ctx context.Context) SpotInstanceRequestCpuOptionsPtrOutput { return o } -func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrOutput) Elem() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsOutput { - return o.ApplyT(func(v *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbps) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbps { +func (o SpotInstanceRequestCpuOptionsPtrOutput) Elem() SpotInstanceRequestCpuOptionsOutput { + return o.ApplyT(func(v *SpotInstanceRequestCpuOptions) SpotInstanceRequestCpuOptions { if v != nil { return *v } - var ret SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbps + var ret SpotInstanceRequestCpuOptions return ret - }).(SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsOutput) + }).(SpotInstanceRequestCpuOptionsOutput) } -// Maximum. -func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrOutput) Max() pulumi.Float64PtrOutput { - return o.ApplyT(func(v *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbps) *float64 { +// Indicates whether to enable the instance for AMD SEV-SNP. AMD SEV-SNP is supported with M6a, R6a, and C6a instance types only. Valid values are `enabled` and `disabled`. +func (o SpotInstanceRequestCpuOptionsPtrOutput) AmdSevSnp() pulumi.StringPtrOutput { + return o.ApplyT(func(v *SpotInstanceRequestCpuOptions) *string { if v == nil { return nil } - return v.Max - }).(pulumi.Float64PtrOutput) + return v.AmdSevSnp + }).(pulumi.StringPtrOutput) } -// Minimum. -func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsPtrOutput) Min() pulumi.Float64PtrOutput { - return o.ApplyT(func(v *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbps) *float64 { +// Sets the number of CPU cores for an instance. This option is only supported on creation of instance type that support CPU Options [CPU Cores and Threads Per CPU Core Per Instance Type](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-optimize-cpu.html#cpu-options-supported-instances-values) - specifying this option for unsupported instance types will return an error from the EC2 API. +func (o SpotInstanceRequestCpuOptionsPtrOutput) CoreCount() pulumi.IntPtrOutput { + return o.ApplyT(func(v *SpotInstanceRequestCpuOptions) *int { if v == nil { return nil } - return v.Min - }).(pulumi.Float64PtrOutput) + return v.CoreCount + }).(pulumi.IntPtrOutput) } -type SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCount struct { - // Maximum. - Max *int `pulumi:"max"` - // Minimum. - Min *int `pulumi:"min"` +// If set to 1, hyperthreading is disabled on the launched instance. Defaults to 2 if not set. See [Optimizing CPU Options](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-optimize-cpu.html) for more information. +// +// For more information, see the documentation on [Optimizing CPU options](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-optimize-cpu.html). +func (o SpotInstanceRequestCpuOptionsPtrOutput) ThreadsPerCore() pulumi.IntPtrOutput { + return o.ApplyT(func(v *SpotInstanceRequestCpuOptions) *int { + if v == nil { + return nil + } + return v.ThreadsPerCore + }).(pulumi.IntPtrOutput) } -// SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountInput is an input type that accepts SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountArgs and SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountOutput values. -// You can construct a concrete instance of `SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountInput` via: +type SpotInstanceRequestCreditSpecification struct { + // Credit option for CPU usage. Valid values include `standard` or `unlimited`. T3 instances are launched as unlimited by default. T2 instances are launched as standard by default. + CpuCredits *string `pulumi:"cpuCredits"` +} + +// SpotInstanceRequestCreditSpecificationInput is an input type that accepts SpotInstanceRequestCreditSpecificationArgs and SpotInstanceRequestCreditSpecificationOutput values. +// You can construct a concrete instance of `SpotInstanceRequestCreditSpecificationInput` via: // -// SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountArgs{...} -type SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountInput interface { +// SpotInstanceRequestCreditSpecificationArgs{...} +type SpotInstanceRequestCreditSpecificationInput interface { pulumi.Input - ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountOutput() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountOutput - ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountOutputWithContext(context.Context) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountOutput + ToSpotInstanceRequestCreditSpecificationOutput() SpotInstanceRequestCreditSpecificationOutput + ToSpotInstanceRequestCreditSpecificationOutputWithContext(context.Context) SpotInstanceRequestCreditSpecificationOutput } -type SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountArgs struct { - // Maximum. - Max pulumi.IntPtrInput `pulumi:"max"` - // Minimum. - Min pulumi.IntPtrInput `pulumi:"min"` +type SpotInstanceRequestCreditSpecificationArgs struct { + // Credit option for CPU usage. Valid values include `standard` or `unlimited`. T3 instances are launched as unlimited by default. T2 instances are launched as standard by default. + CpuCredits pulumi.StringPtrInput `pulumi:"cpuCredits"` } -func (SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountArgs) ElementType() reflect.Type { - return reflect.TypeOf((*SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCount)(nil)).Elem() +func (SpotInstanceRequestCreditSpecificationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SpotInstanceRequestCreditSpecification)(nil)).Elem() } -func (i SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountArgs) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountOutput() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountOutput { - return i.ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountOutputWithContext(context.Background()) +func (i SpotInstanceRequestCreditSpecificationArgs) ToSpotInstanceRequestCreditSpecificationOutput() SpotInstanceRequestCreditSpecificationOutput { + return i.ToSpotInstanceRequestCreditSpecificationOutputWithContext(context.Background()) } -func (i SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountArgs) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountOutputWithContext(ctx context.Context) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountOutput { - return pulumi.ToOutputWithContext(ctx, i).(SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountOutput) +func (i SpotInstanceRequestCreditSpecificationArgs) ToSpotInstanceRequestCreditSpecificationOutputWithContext(ctx context.Context) SpotInstanceRequestCreditSpecificationOutput { + return pulumi.ToOutputWithContext(ctx, i).(SpotInstanceRequestCreditSpecificationOutput) } -func (i SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountArgs) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrOutput() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrOutput { - return i.ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrOutputWithContext(context.Background()) +func (i SpotInstanceRequestCreditSpecificationArgs) ToSpotInstanceRequestCreditSpecificationPtrOutput() SpotInstanceRequestCreditSpecificationPtrOutput { + return i.ToSpotInstanceRequestCreditSpecificationPtrOutputWithContext(context.Background()) } -func (i SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountArgs) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrOutputWithContext(ctx context.Context) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountOutput).ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrOutputWithContext(ctx) +func (i SpotInstanceRequestCreditSpecificationArgs) ToSpotInstanceRequestCreditSpecificationPtrOutputWithContext(ctx context.Context) SpotInstanceRequestCreditSpecificationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SpotInstanceRequestCreditSpecificationOutput).ToSpotInstanceRequestCreditSpecificationPtrOutputWithContext(ctx) } -// SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrInput is an input type that accepts SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountArgs, SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtr and SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrOutput values. -// You can construct a concrete instance of `SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrInput` via: +// SpotInstanceRequestCreditSpecificationPtrInput is an input type that accepts SpotInstanceRequestCreditSpecificationArgs, SpotInstanceRequestCreditSpecificationPtr and SpotInstanceRequestCreditSpecificationPtrOutput values. +// You can construct a concrete instance of `SpotInstanceRequestCreditSpecificationPtrInput` via: // -// SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountArgs{...} +// SpotInstanceRequestCreditSpecificationArgs{...} // // or: // // nil -type SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrInput interface { +type SpotInstanceRequestCreditSpecificationPtrInput interface { pulumi.Input - ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrOutput() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrOutput - ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrOutputWithContext(context.Context) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrOutput + ToSpotInstanceRequestCreditSpecificationPtrOutput() SpotInstanceRequestCreditSpecificationPtrOutput + ToSpotInstanceRequestCreditSpecificationPtrOutputWithContext(context.Context) SpotInstanceRequestCreditSpecificationPtrOutput } -type spotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrType SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountArgs +type spotInstanceRequestCreditSpecificationPtrType SpotInstanceRequestCreditSpecificationArgs -func SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtr(v *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountArgs) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrInput { - return (*spotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrType)(v) +func SpotInstanceRequestCreditSpecificationPtr(v *SpotInstanceRequestCreditSpecificationArgs) SpotInstanceRequestCreditSpecificationPtrInput { + return (*spotInstanceRequestCreditSpecificationPtrType)(v) } -func (*spotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCount)(nil)).Elem() +func (*spotInstanceRequestCreditSpecificationPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**SpotInstanceRequestCreditSpecification)(nil)).Elem() } -func (i *spotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrType) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrOutput() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrOutput { - return i.ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrOutputWithContext(context.Background()) +func (i *spotInstanceRequestCreditSpecificationPtrType) ToSpotInstanceRequestCreditSpecificationPtrOutput() SpotInstanceRequestCreditSpecificationPtrOutput { + return i.ToSpotInstanceRequestCreditSpecificationPtrOutputWithContext(context.Background()) } -func (i *spotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrType) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrOutputWithContext(ctx context.Context) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrOutput) +func (i *spotInstanceRequestCreditSpecificationPtrType) ToSpotInstanceRequestCreditSpecificationPtrOutputWithContext(ctx context.Context) SpotInstanceRequestCreditSpecificationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SpotInstanceRequestCreditSpecificationPtrOutput) } -type SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountOutput struct{ *pulumi.OutputState } +type SpotInstanceRequestCreditSpecificationOutput struct{ *pulumi.OutputState } -func (SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountOutput) ElementType() reflect.Type { - return reflect.TypeOf((*SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCount)(nil)).Elem() +func (SpotInstanceRequestCreditSpecificationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SpotInstanceRequestCreditSpecification)(nil)).Elem() } -func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountOutput) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountOutput() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountOutput { +func (o SpotInstanceRequestCreditSpecificationOutput) ToSpotInstanceRequestCreditSpecificationOutput() SpotInstanceRequestCreditSpecificationOutput { return o } -func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountOutput) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountOutputWithContext(ctx context.Context) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountOutput { +func (o SpotInstanceRequestCreditSpecificationOutput) ToSpotInstanceRequestCreditSpecificationOutputWithContext(ctx context.Context) SpotInstanceRequestCreditSpecificationOutput { return o } -func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountOutput) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrOutput() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrOutput { - return o.ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrOutputWithContext(context.Background()) +func (o SpotInstanceRequestCreditSpecificationOutput) ToSpotInstanceRequestCreditSpecificationPtrOutput() SpotInstanceRequestCreditSpecificationPtrOutput { + return o.ToSpotInstanceRequestCreditSpecificationPtrOutputWithContext(context.Background()) } -func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountOutput) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrOutputWithContext(ctx context.Context) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCount) *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCount { +func (o SpotInstanceRequestCreditSpecificationOutput) ToSpotInstanceRequestCreditSpecificationPtrOutputWithContext(ctx context.Context) SpotInstanceRequestCreditSpecificationPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v SpotInstanceRequestCreditSpecification) *SpotInstanceRequestCreditSpecification { return &v - }).(SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrOutput) -} - -// Maximum. -func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountOutput) Max() pulumi.IntPtrOutput { - return o.ApplyT(func(v SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCount) *int { - return v.Max - }).(pulumi.IntPtrOutput) + }).(SpotInstanceRequestCreditSpecificationPtrOutput) } -// Minimum. -func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountOutput) Min() pulumi.IntPtrOutput { - return o.ApplyT(func(v SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCount) *int { - return v.Min - }).(pulumi.IntPtrOutput) +// Credit option for CPU usage. Valid values include `standard` or `unlimited`. T3 instances are launched as unlimited by default. T2 instances are launched as standard by default. +func (o SpotInstanceRequestCreditSpecificationOutput) CpuCredits() pulumi.StringPtrOutput { + return o.ApplyT(func(v SpotInstanceRequestCreditSpecification) *string { return v.CpuCredits }).(pulumi.StringPtrOutput) } -type SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrOutput struct{ *pulumi.OutputState } +type SpotInstanceRequestCreditSpecificationPtrOutput struct{ *pulumi.OutputState } -func (SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCount)(nil)).Elem() +func (SpotInstanceRequestCreditSpecificationPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**SpotInstanceRequestCreditSpecification)(nil)).Elem() } -func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrOutput) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrOutput() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrOutput { +func (o SpotInstanceRequestCreditSpecificationPtrOutput) ToSpotInstanceRequestCreditSpecificationPtrOutput() SpotInstanceRequestCreditSpecificationPtrOutput { return o } -func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrOutput) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrOutputWithContext(ctx context.Context) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrOutput { +func (o SpotInstanceRequestCreditSpecificationPtrOutput) ToSpotInstanceRequestCreditSpecificationPtrOutputWithContext(ctx context.Context) SpotInstanceRequestCreditSpecificationPtrOutput { return o } -func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrOutput) Elem() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountOutput { - return o.ApplyT(func(v *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCount) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCount { +func (o SpotInstanceRequestCreditSpecificationPtrOutput) Elem() SpotInstanceRequestCreditSpecificationOutput { + return o.ApplyT(func(v *SpotInstanceRequestCreditSpecification) SpotInstanceRequestCreditSpecification { if v != nil { return *v } - var ret SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCount + var ret SpotInstanceRequestCreditSpecification return ret - }).(SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountOutput) -} - -// Maximum. -func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrOutput) Max() pulumi.IntPtrOutput { - return o.ApplyT(func(v *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCount) *int { - if v == nil { - return nil - } - return v.Max - }).(pulumi.IntPtrOutput) + }).(SpotInstanceRequestCreditSpecificationOutput) } -// Minimum. -func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountPtrOutput) Min() pulumi.IntPtrOutput { - return o.ApplyT(func(v *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCount) *int { +// Credit option for CPU usage. Valid values include `standard` or `unlimited`. T3 instances are launched as unlimited by default. T2 instances are launched as standard by default. +func (o SpotInstanceRequestCreditSpecificationPtrOutput) CpuCredits() pulumi.StringPtrOutput { + return o.ApplyT(func(v *SpotInstanceRequestCreditSpecification) *string { if v == nil { return nil } - return v.Min - }).(pulumi.IntPtrOutput) + return v.CpuCredits + }).(pulumi.StringPtrOutput) } -type SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGb struct { - // Maximum. May be a decimal number, e.g. `0.5`. - Max *float64 `pulumi:"max"` - // Minimum. May be a decimal number, e.g. `0.5`. - Min *float64 `pulumi:"min"` +type SpotInstanceRequestEbsBlockDevice struct { + // Whether the volume should be destroyed on instance termination. Defaults to `true`. + DeleteOnTermination *bool `pulumi:"deleteOnTermination"` + // Name of the device to mount. + DeviceName string `pulumi:"deviceName"` + // Enables [EBS encryption](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html) on the volume. Defaults to `false`. Cannot be used with `snapshotId`. Must be configured to perform drift detection. + Encrypted *bool `pulumi:"encrypted"` + // Amount of provisioned [IOPS](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-io-characteristics.html). Only valid for volumeType of `io1`, `io2` or `gp3`. + Iops *int `pulumi:"iops"` + // Amazon Resource Name (ARN) of the KMS Key to use when encrypting the volume. Must be configured to perform drift detection. + KmsKeyId *string `pulumi:"kmsKeyId"` + // Snapshot ID to mount. + SnapshotId *string `pulumi:"snapshotId"` + // Map of tags to assign to the device. + Tags map[string]string `pulumi:"tags"` + // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + TagsAll map[string]string `pulumi:"tagsAll"` + // Throughput to provision for a volume in mebibytes per second (MiB/s). This is only valid for `volumeType` of `gp3`. + Throughput *int `pulumi:"throughput"` + 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`. + // + // > **NOTE:** Currently, changes to the `ebsBlockDevice` configuration of _existing_ resources cannot be automatically detected by this provider. To manage changes and attachments of an EBS block to an instance, use the `ebs.Volume` and `ec2.VolumeAttachment` resources instead. If you use `ebsBlockDevice` on an `ec2.Instance`, this provider will assume management over the full set of non-root EBS block devices for the instance, treating additional block devices as drift. For this reason, `ebsBlockDevice` cannot be mixed with external `ebs.Volume` and `ec2.VolumeAttachment` resources for a given instance. + VolumeType *string `pulumi:"volumeType"` } -// SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbInput is an input type that accepts SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbArgs and SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbOutput values. -// You can construct a concrete instance of `SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbInput` via: +// SpotInstanceRequestEbsBlockDeviceInput is an input type that accepts SpotInstanceRequestEbsBlockDeviceArgs and SpotInstanceRequestEbsBlockDeviceOutput values. +// You can construct a concrete instance of `SpotInstanceRequestEbsBlockDeviceInput` via: // -// SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbArgs{...} -type SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbInput interface { +// SpotInstanceRequestEbsBlockDeviceArgs{...} +type SpotInstanceRequestEbsBlockDeviceInput interface { pulumi.Input - ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbOutput() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbOutput - ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbOutputWithContext(context.Context) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbOutput + ToSpotInstanceRequestEbsBlockDeviceOutput() SpotInstanceRequestEbsBlockDeviceOutput + ToSpotInstanceRequestEbsBlockDeviceOutputWithContext(context.Context) SpotInstanceRequestEbsBlockDeviceOutput } -type SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbArgs struct { - // Maximum. May be a decimal number, e.g. `0.5`. - Max pulumi.Float64PtrInput `pulumi:"max"` - // Minimum. May be a decimal number, e.g. `0.5`. - Min pulumi.Float64PtrInput `pulumi:"min"` +type SpotInstanceRequestEbsBlockDeviceArgs struct { + // Whether the volume should be destroyed on instance termination. Defaults to `true`. + DeleteOnTermination pulumi.BoolPtrInput `pulumi:"deleteOnTermination"` + // Name of the device to mount. + DeviceName pulumi.StringInput `pulumi:"deviceName"` + // Enables [EBS encryption](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html) on the volume. Defaults to `false`. Cannot be used with `snapshotId`. Must be configured to perform drift detection. + Encrypted pulumi.BoolPtrInput `pulumi:"encrypted"` + // Amount of provisioned [IOPS](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-io-characteristics.html). Only valid for volumeType of `io1`, `io2` or `gp3`. + Iops pulumi.IntPtrInput `pulumi:"iops"` + // Amazon Resource Name (ARN) of the KMS Key to use when encrypting the volume. Must be configured to perform drift detection. + KmsKeyId pulumi.StringPtrInput `pulumi:"kmsKeyId"` + // Snapshot ID to mount. + SnapshotId pulumi.StringPtrInput `pulumi:"snapshotId"` + // Map of tags to assign to the device. + Tags pulumi.StringMapInput `pulumi:"tags"` + // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + TagsAll pulumi.StringMapInput `pulumi:"tagsAll"` + // Throughput to provision for a volume in mebibytes per second (MiB/s). This is only valid for `volumeType` of `gp3`. + Throughput pulumi.IntPtrInput `pulumi:"throughput"` + 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`. + // + // > **NOTE:** Currently, changes to the `ebsBlockDevice` configuration of _existing_ resources cannot be automatically detected by this provider. To manage changes and attachments of an EBS block to an instance, use the `ebs.Volume` and `ec2.VolumeAttachment` resources instead. If you use `ebsBlockDevice` on an `ec2.Instance`, this provider will assume management over the full set of non-root EBS block devices for the instance, treating additional block devices as drift. For this reason, `ebsBlockDevice` cannot be mixed with external `ebs.Volume` and `ec2.VolumeAttachment` resources for a given instance. + VolumeType pulumi.StringPtrInput `pulumi:"volumeType"` } -func (SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbArgs) ElementType() reflect.Type { - return reflect.TypeOf((*SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGb)(nil)).Elem() +func (SpotInstanceRequestEbsBlockDeviceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SpotInstanceRequestEbsBlockDevice)(nil)).Elem() } -func (i SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbArgs) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbOutput() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbOutput { - return i.ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbOutputWithContext(context.Background()) +func (i SpotInstanceRequestEbsBlockDeviceArgs) ToSpotInstanceRequestEbsBlockDeviceOutput() SpotInstanceRequestEbsBlockDeviceOutput { + return i.ToSpotInstanceRequestEbsBlockDeviceOutputWithContext(context.Background()) } -func (i SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbArgs) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbOutputWithContext(ctx context.Context) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbOutput { - return pulumi.ToOutputWithContext(ctx, i).(SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbOutput) +func (i SpotInstanceRequestEbsBlockDeviceArgs) ToSpotInstanceRequestEbsBlockDeviceOutputWithContext(ctx context.Context) SpotInstanceRequestEbsBlockDeviceOutput { + return pulumi.ToOutputWithContext(ctx, i).(SpotInstanceRequestEbsBlockDeviceOutput) } -func (i SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbArgs) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrOutput() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrOutput { - return i.ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrOutputWithContext(context.Background()) +// SpotInstanceRequestEbsBlockDeviceArrayInput is an input type that accepts SpotInstanceRequestEbsBlockDeviceArray and SpotInstanceRequestEbsBlockDeviceArrayOutput values. +// You can construct a concrete instance of `SpotInstanceRequestEbsBlockDeviceArrayInput` via: +// +// SpotInstanceRequestEbsBlockDeviceArray{ SpotInstanceRequestEbsBlockDeviceArgs{...} } +type SpotInstanceRequestEbsBlockDeviceArrayInput interface { + pulumi.Input + + ToSpotInstanceRequestEbsBlockDeviceArrayOutput() SpotInstanceRequestEbsBlockDeviceArrayOutput + ToSpotInstanceRequestEbsBlockDeviceArrayOutputWithContext(context.Context) SpotInstanceRequestEbsBlockDeviceArrayOutput } -func (i SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbArgs) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrOutputWithContext(ctx context.Context) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbOutput).ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrOutputWithContext(ctx) +type SpotInstanceRequestEbsBlockDeviceArray []SpotInstanceRequestEbsBlockDeviceInput + +func (SpotInstanceRequestEbsBlockDeviceArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]SpotInstanceRequestEbsBlockDevice)(nil)).Elem() } -// SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrInput is an input type that accepts SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbArgs, SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtr and SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrOutput values. -// You can construct a concrete instance of `SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrInput` via: -// -// SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbArgs{...} -// -// or: -// -// nil -type SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrInput interface { - pulumi.Input +func (i SpotInstanceRequestEbsBlockDeviceArray) ToSpotInstanceRequestEbsBlockDeviceArrayOutput() SpotInstanceRequestEbsBlockDeviceArrayOutput { + return i.ToSpotInstanceRequestEbsBlockDeviceArrayOutputWithContext(context.Background()) +} - ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrOutput() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrOutput - ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrOutputWithContext(context.Context) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrOutput +func (i SpotInstanceRequestEbsBlockDeviceArray) ToSpotInstanceRequestEbsBlockDeviceArrayOutputWithContext(ctx context.Context) SpotInstanceRequestEbsBlockDeviceArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(SpotInstanceRequestEbsBlockDeviceArrayOutput) } -type spotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrType SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbArgs +type SpotInstanceRequestEbsBlockDeviceOutput struct{ *pulumi.OutputState } -func SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtr(v *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbArgs) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrInput { - return (*spotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrType)(v) +func (SpotInstanceRequestEbsBlockDeviceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SpotInstanceRequestEbsBlockDevice)(nil)).Elem() } -func (*spotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGb)(nil)).Elem() +func (o SpotInstanceRequestEbsBlockDeviceOutput) ToSpotInstanceRequestEbsBlockDeviceOutput() SpotInstanceRequestEbsBlockDeviceOutput { + return o } -func (i *spotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrType) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrOutput() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrOutput { - return i.ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrOutputWithContext(context.Background()) +func (o SpotInstanceRequestEbsBlockDeviceOutput) ToSpotInstanceRequestEbsBlockDeviceOutputWithContext(ctx context.Context) SpotInstanceRequestEbsBlockDeviceOutput { + return o +} + +// Whether the volume should be destroyed on instance termination. Defaults to `true`. +func (o SpotInstanceRequestEbsBlockDeviceOutput) DeleteOnTermination() pulumi.BoolPtrOutput { + return o.ApplyT(func(v SpotInstanceRequestEbsBlockDevice) *bool { return v.DeleteOnTermination }).(pulumi.BoolPtrOutput) +} + +// Name of the device to mount. +func (o SpotInstanceRequestEbsBlockDeviceOutput) DeviceName() pulumi.StringOutput { + return o.ApplyT(func(v SpotInstanceRequestEbsBlockDevice) string { return v.DeviceName }).(pulumi.StringOutput) +} + +// Enables [EBS encryption](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html) on the volume. Defaults to `false`. Cannot be used with `snapshotId`. Must be configured to perform drift detection. +func (o SpotInstanceRequestEbsBlockDeviceOutput) Encrypted() pulumi.BoolPtrOutput { + return o.ApplyT(func(v SpotInstanceRequestEbsBlockDevice) *bool { return v.Encrypted }).(pulumi.BoolPtrOutput) +} + +// Amount of provisioned [IOPS](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-io-characteristics.html). Only valid for volumeType of `io1`, `io2` or `gp3`. +func (o SpotInstanceRequestEbsBlockDeviceOutput) Iops() pulumi.IntPtrOutput { + return o.ApplyT(func(v SpotInstanceRequestEbsBlockDevice) *int { return v.Iops }).(pulumi.IntPtrOutput) } -func (i *spotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrType) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrOutputWithContext(ctx context.Context) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrOutput) +// Amazon Resource Name (ARN) of the KMS Key to use when encrypting the volume. Must be configured to perform drift detection. +func (o SpotInstanceRequestEbsBlockDeviceOutput) KmsKeyId() pulumi.StringPtrOutput { + return o.ApplyT(func(v SpotInstanceRequestEbsBlockDevice) *string { return v.KmsKeyId }).(pulumi.StringPtrOutput) } -type SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbOutput struct{ *pulumi.OutputState } - -func (SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbOutput) ElementType() reflect.Type { - return reflect.TypeOf((*SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGb)(nil)).Elem() +// Snapshot ID to mount. +func (o SpotInstanceRequestEbsBlockDeviceOutput) SnapshotId() pulumi.StringPtrOutput { + return o.ApplyT(func(v SpotInstanceRequestEbsBlockDevice) *string { return v.SnapshotId }).(pulumi.StringPtrOutput) } -func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbOutput) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbOutput() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbOutput { - return o +// Map of tags to assign to the device. +func (o SpotInstanceRequestEbsBlockDeviceOutput) Tags() pulumi.StringMapOutput { + return o.ApplyT(func(v SpotInstanceRequestEbsBlockDevice) map[string]string { return v.Tags }).(pulumi.StringMapOutput) } -func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbOutput) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbOutputWithContext(ctx context.Context) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbOutput { - return o +// A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. +func (o SpotInstanceRequestEbsBlockDeviceOutput) TagsAll() pulumi.StringMapOutput { + return o.ApplyT(func(v SpotInstanceRequestEbsBlockDevice) map[string]string { return v.TagsAll }).(pulumi.StringMapOutput) } -func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbOutput) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrOutput() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrOutput { - return o.ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrOutputWithContext(context.Background()) +// Throughput to provision for a volume in mebibytes per second (MiB/s). This is only valid for `volumeType` of `gp3`. +func (o SpotInstanceRequestEbsBlockDeviceOutput) Throughput() pulumi.IntPtrOutput { + return o.ApplyT(func(v SpotInstanceRequestEbsBlockDevice) *int { return v.Throughput }).(pulumi.IntPtrOutput) } -func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbOutput) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrOutputWithContext(ctx context.Context) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGb) *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGb { - return &v - }).(SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrOutput) +func (o SpotInstanceRequestEbsBlockDeviceOutput) VolumeId() pulumi.StringPtrOutput { + return o.ApplyT(func(v SpotInstanceRequestEbsBlockDevice) *string { return v.VolumeId }).(pulumi.StringPtrOutput) } -// Maximum. May be a decimal number, e.g. `0.5`. -func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbOutput) Max() pulumi.Float64PtrOutput { - return o.ApplyT(func(v SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGb) *float64 { - return v.Max - }).(pulumi.Float64PtrOutput) +// Size of the volume in gibibytes (GiB). +func (o SpotInstanceRequestEbsBlockDeviceOutput) VolumeSize() pulumi.IntPtrOutput { + return o.ApplyT(func(v SpotInstanceRequestEbsBlockDevice) *int { return v.VolumeSize }).(pulumi.IntPtrOutput) } -// Minimum. May be a decimal number, e.g. `0.5`. -func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbOutput) Min() pulumi.Float64PtrOutput { - return o.ApplyT(func(v SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGb) *float64 { - return v.Min - }).(pulumi.Float64PtrOutput) +// Type of volume. Valid values include `standard`, `gp2`, `gp3`, `io1`, `io2`, `sc1`, or `st1`. Defaults to `gp2`. +// +// > **NOTE:** Currently, changes to the `ebsBlockDevice` configuration of _existing_ resources cannot be automatically detected by this provider. To manage changes and attachments of an EBS block to an instance, use the `ebs.Volume` and `ec2.VolumeAttachment` resources instead. If you use `ebsBlockDevice` on an `ec2.Instance`, this provider will assume management over the full set of non-root EBS block devices for the instance, treating additional block devices as drift. For this reason, `ebsBlockDevice` cannot be mixed with external `ebs.Volume` and `ec2.VolumeAttachment` resources for a given instance. +func (o SpotInstanceRequestEbsBlockDeviceOutput) VolumeType() pulumi.StringPtrOutput { + return o.ApplyT(func(v SpotInstanceRequestEbsBlockDevice) *string { return v.VolumeType }).(pulumi.StringPtrOutput) } -type SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrOutput struct{ *pulumi.OutputState } +type SpotInstanceRequestEbsBlockDeviceArrayOutput struct{ *pulumi.OutputState } -func (SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGb)(nil)).Elem() +func (SpotInstanceRequestEbsBlockDeviceArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]SpotInstanceRequestEbsBlockDevice)(nil)).Elem() } -func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrOutput) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrOutput() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrOutput { +func (o SpotInstanceRequestEbsBlockDeviceArrayOutput) ToSpotInstanceRequestEbsBlockDeviceArrayOutput() SpotInstanceRequestEbsBlockDeviceArrayOutput { return o } -func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrOutput) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrOutputWithContext(ctx context.Context) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrOutput { +func (o SpotInstanceRequestEbsBlockDeviceArrayOutput) ToSpotInstanceRequestEbsBlockDeviceArrayOutputWithContext(ctx context.Context) SpotInstanceRequestEbsBlockDeviceArrayOutput { return o } -func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrOutput) Elem() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbOutput { - return o.ApplyT(func(v *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGb) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGb { - if v != nil { - return *v - } - var ret SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGb - return ret - }).(SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbOutput) -} - -// Maximum. May be a decimal number, e.g. `0.5`. -func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrOutput) Max() pulumi.Float64PtrOutput { - return o.ApplyT(func(v *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGb) *float64 { - if v == nil { - return nil - } - return v.Max - }).(pulumi.Float64PtrOutput) -} - -// Minimum. May be a decimal number, e.g. `0.5`. -func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbPtrOutput) Min() pulumi.Float64PtrOutput { - return o.ApplyT(func(v *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGb) *float64 { - if v == nil { - return nil - } - return v.Min - }).(pulumi.Float64PtrOutput) +func (o SpotInstanceRequestEbsBlockDeviceArrayOutput) Index(i pulumi.IntInput) SpotInstanceRequestEbsBlockDeviceOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) SpotInstanceRequestEbsBlockDevice { + return vs[0].([]SpotInstanceRequestEbsBlockDevice)[vs[1].(int)] + }).(SpotInstanceRequestEbsBlockDeviceOutput) } -type SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCount struct { - // Maximum. - Max *int `pulumi:"max"` - // Minimum. - Min *int `pulumi:"min"` +type SpotInstanceRequestEnclaveOptions struct { + // Whether Nitro Enclaves will be enabled on the instance. Defaults to `false`. + // + // For more information, see the documentation on [Nitro Enclaves](https://docs.aws.amazon.com/enclaves/latest/user/nitro-enclave.html). + Enabled *bool `pulumi:"enabled"` } -// SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountInput is an input type that accepts SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountArgs and SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountOutput values. -// You can construct a concrete instance of `SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountInput` via: +// SpotInstanceRequestEnclaveOptionsInput is an input type that accepts SpotInstanceRequestEnclaveOptionsArgs and SpotInstanceRequestEnclaveOptionsOutput values. +// You can construct a concrete instance of `SpotInstanceRequestEnclaveOptionsInput` via: // -// SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountArgs{...} -type SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountInput interface { +// SpotInstanceRequestEnclaveOptionsArgs{...} +type SpotInstanceRequestEnclaveOptionsInput interface { pulumi.Input - ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountOutput() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountOutput - ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountOutputWithContext(context.Context) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountOutput + ToSpotInstanceRequestEnclaveOptionsOutput() SpotInstanceRequestEnclaveOptionsOutput + ToSpotInstanceRequestEnclaveOptionsOutputWithContext(context.Context) SpotInstanceRequestEnclaveOptionsOutput } -type SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountArgs struct { - // Maximum. - Max pulumi.IntPtrInput `pulumi:"max"` - // Minimum. - Min pulumi.IntPtrInput `pulumi:"min"` +type SpotInstanceRequestEnclaveOptionsArgs struct { + // Whether Nitro Enclaves will be enabled on the instance. Defaults to `false`. + // + // For more information, see the documentation on [Nitro Enclaves](https://docs.aws.amazon.com/enclaves/latest/user/nitro-enclave.html). + Enabled pulumi.BoolPtrInput `pulumi:"enabled"` } -func (SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountArgs) ElementType() reflect.Type { - return reflect.TypeOf((*SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCount)(nil)).Elem() +func (SpotInstanceRequestEnclaveOptionsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SpotInstanceRequestEnclaveOptions)(nil)).Elem() } -func (i SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountArgs) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountOutput() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountOutput { - return i.ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountOutputWithContext(context.Background()) +func (i SpotInstanceRequestEnclaveOptionsArgs) ToSpotInstanceRequestEnclaveOptionsOutput() SpotInstanceRequestEnclaveOptionsOutput { + return i.ToSpotInstanceRequestEnclaveOptionsOutputWithContext(context.Background()) } -func (i SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountArgs) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountOutputWithContext(ctx context.Context) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountOutput { - return pulumi.ToOutputWithContext(ctx, i).(SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountOutput) +func (i SpotInstanceRequestEnclaveOptionsArgs) ToSpotInstanceRequestEnclaveOptionsOutputWithContext(ctx context.Context) SpotInstanceRequestEnclaveOptionsOutput { + return pulumi.ToOutputWithContext(ctx, i).(SpotInstanceRequestEnclaveOptionsOutput) } -func (i SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountArgs) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrOutput() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrOutput { - return i.ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrOutputWithContext(context.Background()) +func (i SpotInstanceRequestEnclaveOptionsArgs) ToSpotInstanceRequestEnclaveOptionsPtrOutput() SpotInstanceRequestEnclaveOptionsPtrOutput { + return i.ToSpotInstanceRequestEnclaveOptionsPtrOutputWithContext(context.Background()) } -func (i SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountArgs) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrOutputWithContext(ctx context.Context) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountOutput).ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrOutputWithContext(ctx) +func (i SpotInstanceRequestEnclaveOptionsArgs) ToSpotInstanceRequestEnclaveOptionsPtrOutputWithContext(ctx context.Context) SpotInstanceRequestEnclaveOptionsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SpotInstanceRequestEnclaveOptionsOutput).ToSpotInstanceRequestEnclaveOptionsPtrOutputWithContext(ctx) } -// SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrInput is an input type that accepts SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountArgs, SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtr and SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrOutput values. -// You can construct a concrete instance of `SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrInput` via: +// SpotInstanceRequestEnclaveOptionsPtrInput is an input type that accepts SpotInstanceRequestEnclaveOptionsArgs, SpotInstanceRequestEnclaveOptionsPtr and SpotInstanceRequestEnclaveOptionsPtrOutput values. +// You can construct a concrete instance of `SpotInstanceRequestEnclaveOptionsPtrInput` via: // -// SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountArgs{...} +// SpotInstanceRequestEnclaveOptionsArgs{...} // // or: // // nil -type SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrInput interface { +type SpotInstanceRequestEnclaveOptionsPtrInput interface { pulumi.Input - ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrOutput() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrOutput - ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrOutputWithContext(context.Context) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrOutput + ToSpotInstanceRequestEnclaveOptionsPtrOutput() SpotInstanceRequestEnclaveOptionsPtrOutput + ToSpotInstanceRequestEnclaveOptionsPtrOutputWithContext(context.Context) SpotInstanceRequestEnclaveOptionsPtrOutput } -type spotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrType SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountArgs +type spotInstanceRequestEnclaveOptionsPtrType SpotInstanceRequestEnclaveOptionsArgs -func SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtr(v *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountArgs) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrInput { - return (*spotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrType)(v) +func SpotInstanceRequestEnclaveOptionsPtr(v *SpotInstanceRequestEnclaveOptionsArgs) SpotInstanceRequestEnclaveOptionsPtrInput { + return (*spotInstanceRequestEnclaveOptionsPtrType)(v) } -func (*spotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCount)(nil)).Elem() +func (*spotInstanceRequestEnclaveOptionsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**SpotInstanceRequestEnclaveOptions)(nil)).Elem() } -func (i *spotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrType) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrOutput() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrOutput { - return i.ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrOutputWithContext(context.Background()) +func (i *spotInstanceRequestEnclaveOptionsPtrType) ToSpotInstanceRequestEnclaveOptionsPtrOutput() SpotInstanceRequestEnclaveOptionsPtrOutput { + return i.ToSpotInstanceRequestEnclaveOptionsPtrOutputWithContext(context.Background()) } -func (i *spotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrType) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrOutputWithContext(ctx context.Context) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrOutput) +func (i *spotInstanceRequestEnclaveOptionsPtrType) ToSpotInstanceRequestEnclaveOptionsPtrOutputWithContext(ctx context.Context) SpotInstanceRequestEnclaveOptionsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SpotInstanceRequestEnclaveOptionsPtrOutput) } -type SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountOutput struct{ *pulumi.OutputState } +type SpotInstanceRequestEnclaveOptionsOutput struct{ *pulumi.OutputState } -func (SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountOutput) ElementType() reflect.Type { - return reflect.TypeOf((*SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCount)(nil)).Elem() +func (SpotInstanceRequestEnclaveOptionsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SpotInstanceRequestEnclaveOptions)(nil)).Elem() } -func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountOutput) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountOutput() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountOutput { +func (o SpotInstanceRequestEnclaveOptionsOutput) ToSpotInstanceRequestEnclaveOptionsOutput() SpotInstanceRequestEnclaveOptionsOutput { return o } -func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountOutput) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountOutputWithContext(ctx context.Context) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountOutput { +func (o SpotInstanceRequestEnclaveOptionsOutput) ToSpotInstanceRequestEnclaveOptionsOutputWithContext(ctx context.Context) SpotInstanceRequestEnclaveOptionsOutput { return o } -func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountOutput) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrOutput() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrOutput { - return o.ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrOutputWithContext(context.Background()) +func (o SpotInstanceRequestEnclaveOptionsOutput) ToSpotInstanceRequestEnclaveOptionsPtrOutput() SpotInstanceRequestEnclaveOptionsPtrOutput { + return o.ToSpotInstanceRequestEnclaveOptionsPtrOutputWithContext(context.Background()) } -func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountOutput) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrOutputWithContext(ctx context.Context) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCount) *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCount { +func (o SpotInstanceRequestEnclaveOptionsOutput) ToSpotInstanceRequestEnclaveOptionsPtrOutputWithContext(ctx context.Context) SpotInstanceRequestEnclaveOptionsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v SpotInstanceRequestEnclaveOptions) *SpotInstanceRequestEnclaveOptions { return &v - }).(SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrOutput) -} - -// Maximum. -func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountOutput) Max() pulumi.IntPtrOutput { - return o.ApplyT(func(v SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCount) *int { return v.Max }).(pulumi.IntPtrOutput) + }).(SpotInstanceRequestEnclaveOptionsPtrOutput) } -// Minimum. -func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountOutput) Min() pulumi.IntPtrOutput { - return o.ApplyT(func(v SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCount) *int { return v.Min }).(pulumi.IntPtrOutput) +// Whether Nitro Enclaves will be enabled on the instance. Defaults to `false`. +// +// For more information, see the documentation on [Nitro Enclaves](https://docs.aws.amazon.com/enclaves/latest/user/nitro-enclave.html). +func (o SpotInstanceRequestEnclaveOptionsOutput) Enabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v SpotInstanceRequestEnclaveOptions) *bool { return v.Enabled }).(pulumi.BoolPtrOutput) } -type SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrOutput struct{ *pulumi.OutputState } +type SpotInstanceRequestEnclaveOptionsPtrOutput struct{ *pulumi.OutputState } -func (SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCount)(nil)).Elem() +func (SpotInstanceRequestEnclaveOptionsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**SpotInstanceRequestEnclaveOptions)(nil)).Elem() } -func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrOutput) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrOutput() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrOutput { +func (o SpotInstanceRequestEnclaveOptionsPtrOutput) ToSpotInstanceRequestEnclaveOptionsPtrOutput() SpotInstanceRequestEnclaveOptionsPtrOutput { return o } -func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrOutput) ToSpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrOutputWithContext(ctx context.Context) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrOutput { +func (o SpotInstanceRequestEnclaveOptionsPtrOutput) ToSpotInstanceRequestEnclaveOptionsPtrOutputWithContext(ctx context.Context) SpotInstanceRequestEnclaveOptionsPtrOutput { return o } -func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrOutput) Elem() SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountOutput { - return o.ApplyT(func(v *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCount) SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCount { +func (o SpotInstanceRequestEnclaveOptionsPtrOutput) Elem() SpotInstanceRequestEnclaveOptionsOutput { + return o.ApplyT(func(v *SpotInstanceRequestEnclaveOptions) SpotInstanceRequestEnclaveOptions { if v != nil { return *v } - var ret SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCount + var ret SpotInstanceRequestEnclaveOptions return ret - }).(SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountOutput) -} - -// Maximum. -func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrOutput) Max() pulumi.IntPtrOutput { - return o.ApplyT(func(v *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCount) *int { - if v == nil { - return nil - } - return v.Max - }).(pulumi.IntPtrOutput) + }).(SpotInstanceRequestEnclaveOptionsOutput) } -// Minimum. -func (o SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountPtrOutput) Min() pulumi.IntPtrOutput { - return o.ApplyT(func(v *SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCount) *int { +// Whether Nitro Enclaves will be enabled on the instance. Defaults to `false`. +// +// For more information, see the documentation on [Nitro Enclaves](https://docs.aws.amazon.com/enclaves/latest/user/nitro-enclave.html). +func (o SpotInstanceRequestEnclaveOptionsPtrOutput) Enabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *SpotInstanceRequestEnclaveOptions) *bool { if v == nil { return nil } - return v.Min - }).(pulumi.IntPtrOutput) + return v.Enabled + }).(pulumi.BoolPtrOutput) } -type SpotFleetRequestSpotMaintenanceStrategies struct { - // Nested argument containing the capacity rebalance for your fleet request. Defined below. - CapacityRebalance *SpotFleetRequestSpotMaintenanceStrategiesCapacityRebalance `pulumi:"capacityRebalance"` +type SpotInstanceRequestEphemeralBlockDevice struct { + // Name of the block device to mount on the instance. + DeviceName string `pulumi:"deviceName"` + // Suppresses the specified device included in the AMI's block device mapping. + NoDevice *bool `pulumi:"noDevice"` + // [Instance Store Device Name](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html#InstanceStoreDeviceNames) (e.g., `ephemeral0`). + // + // Each AWS Instance type has a different set of Instance Store block devices available for attachment. AWS [publishes a list](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html#StorageOnInstanceTypes) of which ephemeral devices are available on each type. The devices are always identified by the `virtualName` in the format `ephemeral{0..N}`. + VirtualName *string `pulumi:"virtualName"` } -// SpotFleetRequestSpotMaintenanceStrategiesInput is an input type that accepts SpotFleetRequestSpotMaintenanceStrategiesArgs and SpotFleetRequestSpotMaintenanceStrategiesOutput values. -// You can construct a concrete instance of `SpotFleetRequestSpotMaintenanceStrategiesInput` via: +// SpotInstanceRequestEphemeralBlockDeviceInput is an input type that accepts SpotInstanceRequestEphemeralBlockDeviceArgs and SpotInstanceRequestEphemeralBlockDeviceOutput values. +// You can construct a concrete instance of `SpotInstanceRequestEphemeralBlockDeviceInput` via: // -// SpotFleetRequestSpotMaintenanceStrategiesArgs{...} -type SpotFleetRequestSpotMaintenanceStrategiesInput interface { +// SpotInstanceRequestEphemeralBlockDeviceArgs{...} +type SpotInstanceRequestEphemeralBlockDeviceInput interface { pulumi.Input - ToSpotFleetRequestSpotMaintenanceStrategiesOutput() SpotFleetRequestSpotMaintenanceStrategiesOutput - ToSpotFleetRequestSpotMaintenanceStrategiesOutputWithContext(context.Context) SpotFleetRequestSpotMaintenanceStrategiesOutput -} - -type SpotFleetRequestSpotMaintenanceStrategiesArgs struct { - // Nested argument containing the capacity rebalance for your fleet request. Defined below. - CapacityRebalance SpotFleetRequestSpotMaintenanceStrategiesCapacityRebalancePtrInput `pulumi:"capacityRebalance"` -} - -func (SpotFleetRequestSpotMaintenanceStrategiesArgs) ElementType() reflect.Type { - return reflect.TypeOf((*SpotFleetRequestSpotMaintenanceStrategies)(nil)).Elem() + ToSpotInstanceRequestEphemeralBlockDeviceOutput() SpotInstanceRequestEphemeralBlockDeviceOutput + ToSpotInstanceRequestEphemeralBlockDeviceOutputWithContext(context.Context) SpotInstanceRequestEphemeralBlockDeviceOutput } -func (i SpotFleetRequestSpotMaintenanceStrategiesArgs) ToSpotFleetRequestSpotMaintenanceStrategiesOutput() SpotFleetRequestSpotMaintenanceStrategiesOutput { - return i.ToSpotFleetRequestSpotMaintenanceStrategiesOutputWithContext(context.Background()) +type SpotInstanceRequestEphemeralBlockDeviceArgs struct { + // Name of the block device to mount on the instance. + DeviceName pulumi.StringInput `pulumi:"deviceName"` + // Suppresses the specified device included in the AMI's block device mapping. + NoDevice pulumi.BoolPtrInput `pulumi:"noDevice"` + // [Instance Store Device Name](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html#InstanceStoreDeviceNames) (e.g., `ephemeral0`). + // + // Each AWS Instance type has a different set of Instance Store block devices available for attachment. AWS [publishes a list](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html#StorageOnInstanceTypes) of which ephemeral devices are available on each type. The devices are always identified by the `virtualName` in the format `ephemeral{0..N}`. + VirtualName pulumi.StringPtrInput `pulumi:"virtualName"` } -func (i SpotFleetRequestSpotMaintenanceStrategiesArgs) ToSpotFleetRequestSpotMaintenanceStrategiesOutputWithContext(ctx context.Context) SpotFleetRequestSpotMaintenanceStrategiesOutput { - return pulumi.ToOutputWithContext(ctx, i).(SpotFleetRequestSpotMaintenanceStrategiesOutput) +func (SpotInstanceRequestEphemeralBlockDeviceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SpotInstanceRequestEphemeralBlockDevice)(nil)).Elem() } -func (i SpotFleetRequestSpotMaintenanceStrategiesArgs) ToSpotFleetRequestSpotMaintenanceStrategiesPtrOutput() SpotFleetRequestSpotMaintenanceStrategiesPtrOutput { - return i.ToSpotFleetRequestSpotMaintenanceStrategiesPtrOutputWithContext(context.Background()) +func (i SpotInstanceRequestEphemeralBlockDeviceArgs) ToSpotInstanceRequestEphemeralBlockDeviceOutput() SpotInstanceRequestEphemeralBlockDeviceOutput { + return i.ToSpotInstanceRequestEphemeralBlockDeviceOutputWithContext(context.Background()) } -func (i SpotFleetRequestSpotMaintenanceStrategiesArgs) ToSpotFleetRequestSpotMaintenanceStrategiesPtrOutputWithContext(ctx context.Context) SpotFleetRequestSpotMaintenanceStrategiesPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(SpotFleetRequestSpotMaintenanceStrategiesOutput).ToSpotFleetRequestSpotMaintenanceStrategiesPtrOutputWithContext(ctx) +func (i SpotInstanceRequestEphemeralBlockDeviceArgs) ToSpotInstanceRequestEphemeralBlockDeviceOutputWithContext(ctx context.Context) SpotInstanceRequestEphemeralBlockDeviceOutput { + return pulumi.ToOutputWithContext(ctx, i).(SpotInstanceRequestEphemeralBlockDeviceOutput) } -// SpotFleetRequestSpotMaintenanceStrategiesPtrInput is an input type that accepts SpotFleetRequestSpotMaintenanceStrategiesArgs, SpotFleetRequestSpotMaintenanceStrategiesPtr and SpotFleetRequestSpotMaintenanceStrategiesPtrOutput values. -// You can construct a concrete instance of `SpotFleetRequestSpotMaintenanceStrategiesPtrInput` via: -// -// SpotFleetRequestSpotMaintenanceStrategiesArgs{...} -// -// or: +// SpotInstanceRequestEphemeralBlockDeviceArrayInput is an input type that accepts SpotInstanceRequestEphemeralBlockDeviceArray and SpotInstanceRequestEphemeralBlockDeviceArrayOutput values. +// You can construct a concrete instance of `SpotInstanceRequestEphemeralBlockDeviceArrayInput` via: // -// nil -type SpotFleetRequestSpotMaintenanceStrategiesPtrInput interface { +// SpotInstanceRequestEphemeralBlockDeviceArray{ SpotInstanceRequestEphemeralBlockDeviceArgs{...} } +type SpotInstanceRequestEphemeralBlockDeviceArrayInput interface { pulumi.Input - ToSpotFleetRequestSpotMaintenanceStrategiesPtrOutput() SpotFleetRequestSpotMaintenanceStrategiesPtrOutput - ToSpotFleetRequestSpotMaintenanceStrategiesPtrOutputWithContext(context.Context) SpotFleetRequestSpotMaintenanceStrategiesPtrOutput + ToSpotInstanceRequestEphemeralBlockDeviceArrayOutput() SpotInstanceRequestEphemeralBlockDeviceArrayOutput + ToSpotInstanceRequestEphemeralBlockDeviceArrayOutputWithContext(context.Context) SpotInstanceRequestEphemeralBlockDeviceArrayOutput } -type spotFleetRequestSpotMaintenanceStrategiesPtrType SpotFleetRequestSpotMaintenanceStrategiesArgs - -func SpotFleetRequestSpotMaintenanceStrategiesPtr(v *SpotFleetRequestSpotMaintenanceStrategiesArgs) SpotFleetRequestSpotMaintenanceStrategiesPtrInput { - return (*spotFleetRequestSpotMaintenanceStrategiesPtrType)(v) -} +type SpotInstanceRequestEphemeralBlockDeviceArray []SpotInstanceRequestEphemeralBlockDeviceInput -func (*spotFleetRequestSpotMaintenanceStrategiesPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**SpotFleetRequestSpotMaintenanceStrategies)(nil)).Elem() +func (SpotInstanceRequestEphemeralBlockDeviceArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]SpotInstanceRequestEphemeralBlockDevice)(nil)).Elem() } -func (i *spotFleetRequestSpotMaintenanceStrategiesPtrType) ToSpotFleetRequestSpotMaintenanceStrategiesPtrOutput() SpotFleetRequestSpotMaintenanceStrategiesPtrOutput { - return i.ToSpotFleetRequestSpotMaintenanceStrategiesPtrOutputWithContext(context.Background()) +func (i SpotInstanceRequestEphemeralBlockDeviceArray) ToSpotInstanceRequestEphemeralBlockDeviceArrayOutput() SpotInstanceRequestEphemeralBlockDeviceArrayOutput { + return i.ToSpotInstanceRequestEphemeralBlockDeviceArrayOutputWithContext(context.Background()) } -func (i *spotFleetRequestSpotMaintenanceStrategiesPtrType) ToSpotFleetRequestSpotMaintenanceStrategiesPtrOutputWithContext(ctx context.Context) SpotFleetRequestSpotMaintenanceStrategiesPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(SpotFleetRequestSpotMaintenanceStrategiesPtrOutput) +func (i SpotInstanceRequestEphemeralBlockDeviceArray) ToSpotInstanceRequestEphemeralBlockDeviceArrayOutputWithContext(ctx context.Context) SpotInstanceRequestEphemeralBlockDeviceArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(SpotInstanceRequestEphemeralBlockDeviceArrayOutput) } -type SpotFleetRequestSpotMaintenanceStrategiesOutput struct{ *pulumi.OutputState } +type SpotInstanceRequestEphemeralBlockDeviceOutput struct{ *pulumi.OutputState } -func (SpotFleetRequestSpotMaintenanceStrategiesOutput) ElementType() reflect.Type { - return reflect.TypeOf((*SpotFleetRequestSpotMaintenanceStrategies)(nil)).Elem() +func (SpotInstanceRequestEphemeralBlockDeviceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SpotInstanceRequestEphemeralBlockDevice)(nil)).Elem() } -func (o SpotFleetRequestSpotMaintenanceStrategiesOutput) ToSpotFleetRequestSpotMaintenanceStrategiesOutput() SpotFleetRequestSpotMaintenanceStrategiesOutput { +func (o SpotInstanceRequestEphemeralBlockDeviceOutput) ToSpotInstanceRequestEphemeralBlockDeviceOutput() SpotInstanceRequestEphemeralBlockDeviceOutput { return o } -func (o SpotFleetRequestSpotMaintenanceStrategiesOutput) ToSpotFleetRequestSpotMaintenanceStrategiesOutputWithContext(ctx context.Context) SpotFleetRequestSpotMaintenanceStrategiesOutput { +func (o SpotInstanceRequestEphemeralBlockDeviceOutput) ToSpotInstanceRequestEphemeralBlockDeviceOutputWithContext(ctx context.Context) SpotInstanceRequestEphemeralBlockDeviceOutput { return o } -func (o SpotFleetRequestSpotMaintenanceStrategiesOutput) ToSpotFleetRequestSpotMaintenanceStrategiesPtrOutput() SpotFleetRequestSpotMaintenanceStrategiesPtrOutput { - return o.ToSpotFleetRequestSpotMaintenanceStrategiesPtrOutputWithContext(context.Background()) +// Name of the block device to mount on the instance. +func (o SpotInstanceRequestEphemeralBlockDeviceOutput) DeviceName() pulumi.StringOutput { + return o.ApplyT(func(v SpotInstanceRequestEphemeralBlockDevice) string { return v.DeviceName }).(pulumi.StringOutput) } -func (o SpotFleetRequestSpotMaintenanceStrategiesOutput) ToSpotFleetRequestSpotMaintenanceStrategiesPtrOutputWithContext(ctx context.Context) SpotFleetRequestSpotMaintenanceStrategiesPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v SpotFleetRequestSpotMaintenanceStrategies) *SpotFleetRequestSpotMaintenanceStrategies { - return &v - }).(SpotFleetRequestSpotMaintenanceStrategiesPtrOutput) +// Suppresses the specified device included in the AMI's block device mapping. +func (o SpotInstanceRequestEphemeralBlockDeviceOutput) NoDevice() pulumi.BoolPtrOutput { + return o.ApplyT(func(v SpotInstanceRequestEphemeralBlockDevice) *bool { return v.NoDevice }).(pulumi.BoolPtrOutput) } -// Nested argument containing the capacity rebalance for your fleet request. Defined below. -func (o SpotFleetRequestSpotMaintenanceStrategiesOutput) CapacityRebalance() SpotFleetRequestSpotMaintenanceStrategiesCapacityRebalancePtrOutput { - return o.ApplyT(func(v SpotFleetRequestSpotMaintenanceStrategies) *SpotFleetRequestSpotMaintenanceStrategiesCapacityRebalance { - return v.CapacityRebalance - }).(SpotFleetRequestSpotMaintenanceStrategiesCapacityRebalancePtrOutput) +// [Instance Store Device Name](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html#InstanceStoreDeviceNames) (e.g., `ephemeral0`). +// +// Each AWS Instance type has a different set of Instance Store block devices available for attachment. AWS [publishes a list](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html#StorageOnInstanceTypes) of which ephemeral devices are available on each type. The devices are always identified by the `virtualName` in the format `ephemeral{0..N}`. +func (o SpotInstanceRequestEphemeralBlockDeviceOutput) VirtualName() pulumi.StringPtrOutput { + return o.ApplyT(func(v SpotInstanceRequestEphemeralBlockDevice) *string { return v.VirtualName }).(pulumi.StringPtrOutput) } -type SpotFleetRequestSpotMaintenanceStrategiesPtrOutput struct{ *pulumi.OutputState } +type SpotInstanceRequestEphemeralBlockDeviceArrayOutput struct{ *pulumi.OutputState } -func (SpotFleetRequestSpotMaintenanceStrategiesPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**SpotFleetRequestSpotMaintenanceStrategies)(nil)).Elem() +func (SpotInstanceRequestEphemeralBlockDeviceArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]SpotInstanceRequestEphemeralBlockDevice)(nil)).Elem() } -func (o SpotFleetRequestSpotMaintenanceStrategiesPtrOutput) ToSpotFleetRequestSpotMaintenanceStrategiesPtrOutput() SpotFleetRequestSpotMaintenanceStrategiesPtrOutput { +func (o SpotInstanceRequestEphemeralBlockDeviceArrayOutput) ToSpotInstanceRequestEphemeralBlockDeviceArrayOutput() SpotInstanceRequestEphemeralBlockDeviceArrayOutput { return o } -func (o SpotFleetRequestSpotMaintenanceStrategiesPtrOutput) ToSpotFleetRequestSpotMaintenanceStrategiesPtrOutputWithContext(ctx context.Context) SpotFleetRequestSpotMaintenanceStrategiesPtrOutput { +func (o SpotInstanceRequestEphemeralBlockDeviceArrayOutput) ToSpotInstanceRequestEphemeralBlockDeviceArrayOutputWithContext(ctx context.Context) SpotInstanceRequestEphemeralBlockDeviceArrayOutput { return o } -func (o SpotFleetRequestSpotMaintenanceStrategiesPtrOutput) Elem() SpotFleetRequestSpotMaintenanceStrategiesOutput { - return o.ApplyT(func(v *SpotFleetRequestSpotMaintenanceStrategies) SpotFleetRequestSpotMaintenanceStrategies { - if v != nil { - return *v - } - var ret SpotFleetRequestSpotMaintenanceStrategies - return ret - }).(SpotFleetRequestSpotMaintenanceStrategiesOutput) -} - -// Nested argument containing the capacity rebalance for your fleet request. Defined below. -func (o SpotFleetRequestSpotMaintenanceStrategiesPtrOutput) CapacityRebalance() SpotFleetRequestSpotMaintenanceStrategiesCapacityRebalancePtrOutput { - return o.ApplyT(func(v *SpotFleetRequestSpotMaintenanceStrategies) *SpotFleetRequestSpotMaintenanceStrategiesCapacityRebalance { - if v == nil { - return nil - } - return v.CapacityRebalance - }).(SpotFleetRequestSpotMaintenanceStrategiesCapacityRebalancePtrOutput) +func (o SpotInstanceRequestEphemeralBlockDeviceArrayOutput) Index(i pulumi.IntInput) SpotInstanceRequestEphemeralBlockDeviceOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) SpotInstanceRequestEphemeralBlockDevice { + return vs[0].([]SpotInstanceRequestEphemeralBlockDevice)[vs[1].(int)] + }).(SpotInstanceRequestEphemeralBlockDeviceOutput) } -type SpotFleetRequestSpotMaintenanceStrategiesCapacityRebalance struct { - // The replacement strategy to use. Only available for spot fleets with `fleetType` set to `maintain`. Valid values: `launch`. - ReplacementStrategy *string `pulumi:"replacementStrategy"` +type SpotInstanceRequestLaunchTemplate struct { + // ID of the launch template. Conflicts with `name`. + Id *string `pulumi:"id"` + // Name of the launch template. Conflicts with `id`. + Name *string `pulumi:"name"` + // Template version. Can be a specific version number, `$Latest` or `$Default`. The default value is `$Default`. + Version *string `pulumi:"version"` } -// SpotFleetRequestSpotMaintenanceStrategiesCapacityRebalanceInput is an input type that accepts SpotFleetRequestSpotMaintenanceStrategiesCapacityRebalanceArgs and SpotFleetRequestSpotMaintenanceStrategiesCapacityRebalanceOutput values. -// You can construct a concrete instance of `SpotFleetRequestSpotMaintenanceStrategiesCapacityRebalanceInput` via: +// SpotInstanceRequestLaunchTemplateInput is an input type that accepts SpotInstanceRequestLaunchTemplateArgs and SpotInstanceRequestLaunchTemplateOutput values. +// You can construct a concrete instance of `SpotInstanceRequestLaunchTemplateInput` via: // -// SpotFleetRequestSpotMaintenanceStrategiesCapacityRebalanceArgs{...} -type SpotFleetRequestSpotMaintenanceStrategiesCapacityRebalanceInput interface { +// SpotInstanceRequestLaunchTemplateArgs{...} +type SpotInstanceRequestLaunchTemplateInput interface { pulumi.Input - ToSpotFleetRequestSpotMaintenanceStrategiesCapacityRebalanceOutput() SpotFleetRequestSpotMaintenanceStrategiesCapacityRebalanceOutput - ToSpotFleetRequestSpotMaintenanceStrategiesCapacityRebalanceOutputWithContext(context.Context) SpotFleetRequestSpotMaintenanceStrategiesCapacityRebalanceOutput + ToSpotInstanceRequestLaunchTemplateOutput() SpotInstanceRequestLaunchTemplateOutput + ToSpotInstanceRequestLaunchTemplateOutputWithContext(context.Context) SpotInstanceRequestLaunchTemplateOutput } -type SpotFleetRequestSpotMaintenanceStrategiesCapacityRebalanceArgs struct { - // The replacement strategy to use. Only available for spot fleets with `fleetType` set to `maintain`. Valid values: `launch`. - ReplacementStrategy pulumi.StringPtrInput `pulumi:"replacementStrategy"` +type SpotInstanceRequestLaunchTemplateArgs struct { + // ID of the launch template. Conflicts with `name`. + Id pulumi.StringPtrInput `pulumi:"id"` + // Name of the launch template. Conflicts with `id`. + Name pulumi.StringPtrInput `pulumi:"name"` + // Template version. Can be a specific version number, `$Latest` or `$Default`. The default value is `$Default`. + Version pulumi.StringPtrInput `pulumi:"version"` } -func (SpotFleetRequestSpotMaintenanceStrategiesCapacityRebalanceArgs) ElementType() reflect.Type { - return reflect.TypeOf((*SpotFleetRequestSpotMaintenanceStrategiesCapacityRebalance)(nil)).Elem() +func (SpotInstanceRequestLaunchTemplateArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SpotInstanceRequestLaunchTemplate)(nil)).Elem() } -func (i SpotFleetRequestSpotMaintenanceStrategiesCapacityRebalanceArgs) ToSpotFleetRequestSpotMaintenanceStrategiesCapacityRebalanceOutput() SpotFleetRequestSpotMaintenanceStrategiesCapacityRebalanceOutput { - return i.ToSpotFleetRequestSpotMaintenanceStrategiesCapacityRebalanceOutputWithContext(context.Background()) +func (i SpotInstanceRequestLaunchTemplateArgs) ToSpotInstanceRequestLaunchTemplateOutput() SpotInstanceRequestLaunchTemplateOutput { + return i.ToSpotInstanceRequestLaunchTemplateOutputWithContext(context.Background()) } -func (i SpotFleetRequestSpotMaintenanceStrategiesCapacityRebalanceArgs) ToSpotFleetRequestSpotMaintenanceStrategiesCapacityRebalanceOutputWithContext(ctx context.Context) SpotFleetRequestSpotMaintenanceStrategiesCapacityRebalanceOutput { - return pulumi.ToOutputWithContext(ctx, i).(SpotFleetRequestSpotMaintenanceStrategiesCapacityRebalanceOutput) +func (i SpotInstanceRequestLaunchTemplateArgs) ToSpotInstanceRequestLaunchTemplateOutputWithContext(ctx context.Context) SpotInstanceRequestLaunchTemplateOutput { + return pulumi.ToOutputWithContext(ctx, i).(SpotInstanceRequestLaunchTemplateOutput) } -func (i SpotFleetRequestSpotMaintenanceStrategiesCapacityRebalanceArgs) ToSpotFleetRequestSpotMaintenanceStrategiesCapacityRebalancePtrOutput() SpotFleetRequestSpotMaintenanceStrategiesCapacityRebalancePtrOutput { - return i.ToSpotFleetRequestSpotMaintenanceStrategiesCapacityRebalancePtrOutputWithContext(context.Background()) +func (i SpotInstanceRequestLaunchTemplateArgs) ToSpotInstanceRequestLaunchTemplatePtrOutput() SpotInstanceRequestLaunchTemplatePtrOutput { + return i.ToSpotInstanceRequestLaunchTemplatePtrOutputWithContext(context.Background()) } -func (i SpotFleetRequestSpotMaintenanceStrategiesCapacityRebalanceArgs) ToSpotFleetRequestSpotMaintenanceStrategiesCapacityRebalancePtrOutputWithContext(ctx context.Context) SpotFleetRequestSpotMaintenanceStrategiesCapacityRebalancePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(SpotFleetRequestSpotMaintenanceStrategiesCapacityRebalanceOutput).ToSpotFleetRequestSpotMaintenanceStrategiesCapacityRebalancePtrOutputWithContext(ctx) +func (i SpotInstanceRequestLaunchTemplateArgs) ToSpotInstanceRequestLaunchTemplatePtrOutputWithContext(ctx context.Context) SpotInstanceRequestLaunchTemplatePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SpotInstanceRequestLaunchTemplateOutput).ToSpotInstanceRequestLaunchTemplatePtrOutputWithContext(ctx) } -// SpotFleetRequestSpotMaintenanceStrategiesCapacityRebalancePtrInput is an input type that accepts SpotFleetRequestSpotMaintenanceStrategiesCapacityRebalanceArgs, SpotFleetRequestSpotMaintenanceStrategiesCapacityRebalancePtr and SpotFleetRequestSpotMaintenanceStrategiesCapacityRebalancePtrOutput values. -// You can construct a concrete instance of `SpotFleetRequestSpotMaintenanceStrategiesCapacityRebalancePtrInput` via: +// SpotInstanceRequestLaunchTemplatePtrInput is an input type that accepts SpotInstanceRequestLaunchTemplateArgs, SpotInstanceRequestLaunchTemplatePtr and SpotInstanceRequestLaunchTemplatePtrOutput values. +// You can construct a concrete instance of `SpotInstanceRequestLaunchTemplatePtrInput` via: // -// SpotFleetRequestSpotMaintenanceStrategiesCapacityRebalanceArgs{...} +// SpotInstanceRequestLaunchTemplateArgs{...} // // or: // // nil -type SpotFleetRequestSpotMaintenanceStrategiesCapacityRebalancePtrInput interface { +type SpotInstanceRequestLaunchTemplatePtrInput interface { pulumi.Input - ToSpotFleetRequestSpotMaintenanceStrategiesCapacityRebalancePtrOutput() SpotFleetRequestSpotMaintenanceStrategiesCapacityRebalancePtrOutput - ToSpotFleetRequestSpotMaintenanceStrategiesCapacityRebalancePtrOutputWithContext(context.Context) SpotFleetRequestSpotMaintenanceStrategiesCapacityRebalancePtrOutput + ToSpotInstanceRequestLaunchTemplatePtrOutput() SpotInstanceRequestLaunchTemplatePtrOutput + ToSpotInstanceRequestLaunchTemplatePtrOutputWithContext(context.Context) SpotInstanceRequestLaunchTemplatePtrOutput } -type spotFleetRequestSpotMaintenanceStrategiesCapacityRebalancePtrType SpotFleetRequestSpotMaintenanceStrategiesCapacityRebalanceArgs +type spotInstanceRequestLaunchTemplatePtrType SpotInstanceRequestLaunchTemplateArgs -func SpotFleetRequestSpotMaintenanceStrategiesCapacityRebalancePtr(v *SpotFleetRequestSpotMaintenanceStrategiesCapacityRebalanceArgs) SpotFleetRequestSpotMaintenanceStrategiesCapacityRebalancePtrInput { - return (*spotFleetRequestSpotMaintenanceStrategiesCapacityRebalancePtrType)(v) +func SpotInstanceRequestLaunchTemplatePtr(v *SpotInstanceRequestLaunchTemplateArgs) SpotInstanceRequestLaunchTemplatePtrInput { + return (*spotInstanceRequestLaunchTemplatePtrType)(v) } -func (*spotFleetRequestSpotMaintenanceStrategiesCapacityRebalancePtrType) ElementType() reflect.Type { - return reflect.TypeOf((**SpotFleetRequestSpotMaintenanceStrategiesCapacityRebalance)(nil)).Elem() +func (*spotInstanceRequestLaunchTemplatePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**SpotInstanceRequestLaunchTemplate)(nil)).Elem() } -func (i *spotFleetRequestSpotMaintenanceStrategiesCapacityRebalancePtrType) ToSpotFleetRequestSpotMaintenanceStrategiesCapacityRebalancePtrOutput() SpotFleetRequestSpotMaintenanceStrategiesCapacityRebalancePtrOutput { - return i.ToSpotFleetRequestSpotMaintenanceStrategiesCapacityRebalancePtrOutputWithContext(context.Background()) +func (i *spotInstanceRequestLaunchTemplatePtrType) ToSpotInstanceRequestLaunchTemplatePtrOutput() SpotInstanceRequestLaunchTemplatePtrOutput { + return i.ToSpotInstanceRequestLaunchTemplatePtrOutputWithContext(context.Background()) } -func (i *spotFleetRequestSpotMaintenanceStrategiesCapacityRebalancePtrType) ToSpotFleetRequestSpotMaintenanceStrategiesCapacityRebalancePtrOutputWithContext(ctx context.Context) SpotFleetRequestSpotMaintenanceStrategiesCapacityRebalancePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(SpotFleetRequestSpotMaintenanceStrategiesCapacityRebalancePtrOutput) +func (i *spotInstanceRequestLaunchTemplatePtrType) ToSpotInstanceRequestLaunchTemplatePtrOutputWithContext(ctx context.Context) SpotInstanceRequestLaunchTemplatePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SpotInstanceRequestLaunchTemplatePtrOutput) } -type SpotFleetRequestSpotMaintenanceStrategiesCapacityRebalanceOutput struct{ *pulumi.OutputState } +type SpotInstanceRequestLaunchTemplateOutput struct{ *pulumi.OutputState } -func (SpotFleetRequestSpotMaintenanceStrategiesCapacityRebalanceOutput) ElementType() reflect.Type { - return reflect.TypeOf((*SpotFleetRequestSpotMaintenanceStrategiesCapacityRebalance)(nil)).Elem() +func (SpotInstanceRequestLaunchTemplateOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SpotInstanceRequestLaunchTemplate)(nil)).Elem() } -func (o SpotFleetRequestSpotMaintenanceStrategiesCapacityRebalanceOutput) ToSpotFleetRequestSpotMaintenanceStrategiesCapacityRebalanceOutput() SpotFleetRequestSpotMaintenanceStrategiesCapacityRebalanceOutput { +func (o SpotInstanceRequestLaunchTemplateOutput) ToSpotInstanceRequestLaunchTemplateOutput() SpotInstanceRequestLaunchTemplateOutput { return o } -func (o SpotFleetRequestSpotMaintenanceStrategiesCapacityRebalanceOutput) ToSpotFleetRequestSpotMaintenanceStrategiesCapacityRebalanceOutputWithContext(ctx context.Context) SpotFleetRequestSpotMaintenanceStrategiesCapacityRebalanceOutput { +func (o SpotInstanceRequestLaunchTemplateOutput) ToSpotInstanceRequestLaunchTemplateOutputWithContext(ctx context.Context) SpotInstanceRequestLaunchTemplateOutput { return o } -func (o SpotFleetRequestSpotMaintenanceStrategiesCapacityRebalanceOutput) ToSpotFleetRequestSpotMaintenanceStrategiesCapacityRebalancePtrOutput() SpotFleetRequestSpotMaintenanceStrategiesCapacityRebalancePtrOutput { - return o.ToSpotFleetRequestSpotMaintenanceStrategiesCapacityRebalancePtrOutputWithContext(context.Background()) +func (o SpotInstanceRequestLaunchTemplateOutput) ToSpotInstanceRequestLaunchTemplatePtrOutput() SpotInstanceRequestLaunchTemplatePtrOutput { + return o.ToSpotInstanceRequestLaunchTemplatePtrOutputWithContext(context.Background()) } -func (o SpotFleetRequestSpotMaintenanceStrategiesCapacityRebalanceOutput) ToSpotFleetRequestSpotMaintenanceStrategiesCapacityRebalancePtrOutputWithContext(ctx context.Context) SpotFleetRequestSpotMaintenanceStrategiesCapacityRebalancePtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v SpotFleetRequestSpotMaintenanceStrategiesCapacityRebalance) *SpotFleetRequestSpotMaintenanceStrategiesCapacityRebalance { +func (o SpotInstanceRequestLaunchTemplateOutput) ToSpotInstanceRequestLaunchTemplatePtrOutputWithContext(ctx context.Context) SpotInstanceRequestLaunchTemplatePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v SpotInstanceRequestLaunchTemplate) *SpotInstanceRequestLaunchTemplate { return &v - }).(SpotFleetRequestSpotMaintenanceStrategiesCapacityRebalancePtrOutput) + }).(SpotInstanceRequestLaunchTemplatePtrOutput) +} + +// ID of the launch template. Conflicts with `name`. +func (o SpotInstanceRequestLaunchTemplateOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v SpotInstanceRequestLaunchTemplate) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +// Name of the launch template. Conflicts with `id`. +func (o SpotInstanceRequestLaunchTemplateOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v SpotInstanceRequestLaunchTemplate) *string { return v.Name }).(pulumi.StringPtrOutput) } -// The replacement strategy to use. Only available for spot fleets with `fleetType` set to `maintain`. Valid values: `launch`. -func (o SpotFleetRequestSpotMaintenanceStrategiesCapacityRebalanceOutput) ReplacementStrategy() pulumi.StringPtrOutput { - return o.ApplyT(func(v SpotFleetRequestSpotMaintenanceStrategiesCapacityRebalance) *string { - return v.ReplacementStrategy - }).(pulumi.StringPtrOutput) +// Template version. Can be a specific version number, `$Latest` or `$Default`. The default value is `$Default`. +func (o SpotInstanceRequestLaunchTemplateOutput) Version() pulumi.StringPtrOutput { + return o.ApplyT(func(v SpotInstanceRequestLaunchTemplate) *string { return v.Version }).(pulumi.StringPtrOutput) } -type SpotFleetRequestSpotMaintenanceStrategiesCapacityRebalancePtrOutput struct{ *pulumi.OutputState } +type SpotInstanceRequestLaunchTemplatePtrOutput struct{ *pulumi.OutputState } -func (SpotFleetRequestSpotMaintenanceStrategiesCapacityRebalancePtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**SpotFleetRequestSpotMaintenanceStrategiesCapacityRebalance)(nil)).Elem() +func (SpotInstanceRequestLaunchTemplatePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**SpotInstanceRequestLaunchTemplate)(nil)).Elem() } -func (o SpotFleetRequestSpotMaintenanceStrategiesCapacityRebalancePtrOutput) ToSpotFleetRequestSpotMaintenanceStrategiesCapacityRebalancePtrOutput() SpotFleetRequestSpotMaintenanceStrategiesCapacityRebalancePtrOutput { +func (o SpotInstanceRequestLaunchTemplatePtrOutput) ToSpotInstanceRequestLaunchTemplatePtrOutput() SpotInstanceRequestLaunchTemplatePtrOutput { return o } -func (o SpotFleetRequestSpotMaintenanceStrategiesCapacityRebalancePtrOutput) ToSpotFleetRequestSpotMaintenanceStrategiesCapacityRebalancePtrOutputWithContext(ctx context.Context) SpotFleetRequestSpotMaintenanceStrategiesCapacityRebalancePtrOutput { +func (o SpotInstanceRequestLaunchTemplatePtrOutput) ToSpotInstanceRequestLaunchTemplatePtrOutputWithContext(ctx context.Context) SpotInstanceRequestLaunchTemplatePtrOutput { return o } -func (o SpotFleetRequestSpotMaintenanceStrategiesCapacityRebalancePtrOutput) Elem() SpotFleetRequestSpotMaintenanceStrategiesCapacityRebalanceOutput { - return o.ApplyT(func(v *SpotFleetRequestSpotMaintenanceStrategiesCapacityRebalance) SpotFleetRequestSpotMaintenanceStrategiesCapacityRebalance { +func (o SpotInstanceRequestLaunchTemplatePtrOutput) Elem() SpotInstanceRequestLaunchTemplateOutput { + return o.ApplyT(func(v *SpotInstanceRequestLaunchTemplate) SpotInstanceRequestLaunchTemplate { if v != nil { return *v } - var ret SpotFleetRequestSpotMaintenanceStrategiesCapacityRebalance + var ret SpotInstanceRequestLaunchTemplate return ret - }).(SpotFleetRequestSpotMaintenanceStrategiesCapacityRebalanceOutput) + }).(SpotInstanceRequestLaunchTemplateOutput) } -// The replacement strategy to use. Only available for spot fleets with `fleetType` set to `maintain`. Valid values: `launch`. -func (o SpotFleetRequestSpotMaintenanceStrategiesCapacityRebalancePtrOutput) ReplacementStrategy() pulumi.StringPtrOutput { - return o.ApplyT(func(v *SpotFleetRequestSpotMaintenanceStrategiesCapacityRebalance) *string { +// ID of the launch template. Conflicts with `name`. +func (o SpotInstanceRequestLaunchTemplatePtrOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v *SpotInstanceRequestLaunchTemplate) *string { if v == nil { return nil } - return v.ReplacementStrategy + return v.Id }).(pulumi.StringPtrOutput) } -type SpotInstanceRequestCapacityReservationSpecification struct { - // Indicates the instance's Capacity Reservation preferences. Can be `"open"` or `"none"`. (Default: `"open"`). - CapacityReservationPreference *string `pulumi:"capacityReservationPreference"` - // Information about the target Capacity Reservation. See Capacity Reservation Target below for more details. - // - // For more information, see the documentation on [Capacity Reservations](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/capacity-reservations-using.html). - CapacityReservationTarget *SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTarget `pulumi:"capacityReservationTarget"` +// Name of the launch template. Conflicts with `id`. +func (o SpotInstanceRequestLaunchTemplatePtrOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v *SpotInstanceRequestLaunchTemplate) *string { + if v == nil { + return nil + } + return v.Name + }).(pulumi.StringPtrOutput) } -// SpotInstanceRequestCapacityReservationSpecificationInput is an input type that accepts SpotInstanceRequestCapacityReservationSpecificationArgs and SpotInstanceRequestCapacityReservationSpecificationOutput values. -// You can construct a concrete instance of `SpotInstanceRequestCapacityReservationSpecificationInput` via: +// Template version. Can be a specific version number, `$Latest` or `$Default`. The default value is `$Default`. +func (o SpotInstanceRequestLaunchTemplatePtrOutput) Version() pulumi.StringPtrOutput { + return o.ApplyT(func(v *SpotInstanceRequestLaunchTemplate) *string { + if v == nil { + return nil + } + return v.Version + }).(pulumi.StringPtrOutput) +} + +type SpotInstanceRequestMaintenanceOptions struct { + // Automatic recovery behavior of the Instance. Can be `"default"` or `"disabled"`. See [Recover your instance](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-recover.html) for more details. + AutoRecovery *string `pulumi:"autoRecovery"` +} + +// SpotInstanceRequestMaintenanceOptionsInput is an input type that accepts SpotInstanceRequestMaintenanceOptionsArgs and SpotInstanceRequestMaintenanceOptionsOutput values. +// You can construct a concrete instance of `SpotInstanceRequestMaintenanceOptionsInput` via: // -// SpotInstanceRequestCapacityReservationSpecificationArgs{...} -type SpotInstanceRequestCapacityReservationSpecificationInput interface { +// SpotInstanceRequestMaintenanceOptionsArgs{...} +type SpotInstanceRequestMaintenanceOptionsInput interface { pulumi.Input - ToSpotInstanceRequestCapacityReservationSpecificationOutput() SpotInstanceRequestCapacityReservationSpecificationOutput - ToSpotInstanceRequestCapacityReservationSpecificationOutputWithContext(context.Context) SpotInstanceRequestCapacityReservationSpecificationOutput + ToSpotInstanceRequestMaintenanceOptionsOutput() SpotInstanceRequestMaintenanceOptionsOutput + ToSpotInstanceRequestMaintenanceOptionsOutputWithContext(context.Context) SpotInstanceRequestMaintenanceOptionsOutput } -type SpotInstanceRequestCapacityReservationSpecificationArgs struct { - // Indicates the instance's Capacity Reservation preferences. Can be `"open"` or `"none"`. (Default: `"open"`). - CapacityReservationPreference pulumi.StringPtrInput `pulumi:"capacityReservationPreference"` - // Information about the target Capacity Reservation. See Capacity Reservation Target below for more details. - // - // For more information, see the documentation on [Capacity Reservations](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/capacity-reservations-using.html). - CapacityReservationTarget SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetPtrInput `pulumi:"capacityReservationTarget"` +type SpotInstanceRequestMaintenanceOptionsArgs struct { + // Automatic recovery behavior of the Instance. Can be `"default"` or `"disabled"`. See [Recover your instance](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-recover.html) for more details. + AutoRecovery pulumi.StringPtrInput `pulumi:"autoRecovery"` } -func (SpotInstanceRequestCapacityReservationSpecificationArgs) ElementType() reflect.Type { - return reflect.TypeOf((*SpotInstanceRequestCapacityReservationSpecification)(nil)).Elem() +func (SpotInstanceRequestMaintenanceOptionsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SpotInstanceRequestMaintenanceOptions)(nil)).Elem() } -func (i SpotInstanceRequestCapacityReservationSpecificationArgs) ToSpotInstanceRequestCapacityReservationSpecificationOutput() SpotInstanceRequestCapacityReservationSpecificationOutput { - return i.ToSpotInstanceRequestCapacityReservationSpecificationOutputWithContext(context.Background()) +func (i SpotInstanceRequestMaintenanceOptionsArgs) ToSpotInstanceRequestMaintenanceOptionsOutput() SpotInstanceRequestMaintenanceOptionsOutput { + return i.ToSpotInstanceRequestMaintenanceOptionsOutputWithContext(context.Background()) } -func (i SpotInstanceRequestCapacityReservationSpecificationArgs) ToSpotInstanceRequestCapacityReservationSpecificationOutputWithContext(ctx context.Context) SpotInstanceRequestCapacityReservationSpecificationOutput { - return pulumi.ToOutputWithContext(ctx, i).(SpotInstanceRequestCapacityReservationSpecificationOutput) +func (i SpotInstanceRequestMaintenanceOptionsArgs) ToSpotInstanceRequestMaintenanceOptionsOutputWithContext(ctx context.Context) SpotInstanceRequestMaintenanceOptionsOutput { + return pulumi.ToOutputWithContext(ctx, i).(SpotInstanceRequestMaintenanceOptionsOutput) } -func (i SpotInstanceRequestCapacityReservationSpecificationArgs) ToSpotInstanceRequestCapacityReservationSpecificationPtrOutput() SpotInstanceRequestCapacityReservationSpecificationPtrOutput { - return i.ToSpotInstanceRequestCapacityReservationSpecificationPtrOutputWithContext(context.Background()) +func (i SpotInstanceRequestMaintenanceOptionsArgs) ToSpotInstanceRequestMaintenanceOptionsPtrOutput() SpotInstanceRequestMaintenanceOptionsPtrOutput { + return i.ToSpotInstanceRequestMaintenanceOptionsPtrOutputWithContext(context.Background()) } -func (i SpotInstanceRequestCapacityReservationSpecificationArgs) ToSpotInstanceRequestCapacityReservationSpecificationPtrOutputWithContext(ctx context.Context) SpotInstanceRequestCapacityReservationSpecificationPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(SpotInstanceRequestCapacityReservationSpecificationOutput).ToSpotInstanceRequestCapacityReservationSpecificationPtrOutputWithContext(ctx) +func (i SpotInstanceRequestMaintenanceOptionsArgs) ToSpotInstanceRequestMaintenanceOptionsPtrOutputWithContext(ctx context.Context) SpotInstanceRequestMaintenanceOptionsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SpotInstanceRequestMaintenanceOptionsOutput).ToSpotInstanceRequestMaintenanceOptionsPtrOutputWithContext(ctx) } -// SpotInstanceRequestCapacityReservationSpecificationPtrInput is an input type that accepts SpotInstanceRequestCapacityReservationSpecificationArgs, SpotInstanceRequestCapacityReservationSpecificationPtr and SpotInstanceRequestCapacityReservationSpecificationPtrOutput values. -// You can construct a concrete instance of `SpotInstanceRequestCapacityReservationSpecificationPtrInput` via: +// SpotInstanceRequestMaintenanceOptionsPtrInput is an input type that accepts SpotInstanceRequestMaintenanceOptionsArgs, SpotInstanceRequestMaintenanceOptionsPtr and SpotInstanceRequestMaintenanceOptionsPtrOutput values. +// You can construct a concrete instance of `SpotInstanceRequestMaintenanceOptionsPtrInput` via: // -// SpotInstanceRequestCapacityReservationSpecificationArgs{...} +// SpotInstanceRequestMaintenanceOptionsArgs{...} // // or: // // nil -type SpotInstanceRequestCapacityReservationSpecificationPtrInput interface { +type SpotInstanceRequestMaintenanceOptionsPtrInput interface { pulumi.Input - ToSpotInstanceRequestCapacityReservationSpecificationPtrOutput() SpotInstanceRequestCapacityReservationSpecificationPtrOutput - ToSpotInstanceRequestCapacityReservationSpecificationPtrOutputWithContext(context.Context) SpotInstanceRequestCapacityReservationSpecificationPtrOutput + ToSpotInstanceRequestMaintenanceOptionsPtrOutput() SpotInstanceRequestMaintenanceOptionsPtrOutput + ToSpotInstanceRequestMaintenanceOptionsPtrOutputWithContext(context.Context) SpotInstanceRequestMaintenanceOptionsPtrOutput } -type spotInstanceRequestCapacityReservationSpecificationPtrType SpotInstanceRequestCapacityReservationSpecificationArgs +type spotInstanceRequestMaintenanceOptionsPtrType SpotInstanceRequestMaintenanceOptionsArgs -func SpotInstanceRequestCapacityReservationSpecificationPtr(v *SpotInstanceRequestCapacityReservationSpecificationArgs) SpotInstanceRequestCapacityReservationSpecificationPtrInput { - return (*spotInstanceRequestCapacityReservationSpecificationPtrType)(v) +func SpotInstanceRequestMaintenanceOptionsPtr(v *SpotInstanceRequestMaintenanceOptionsArgs) SpotInstanceRequestMaintenanceOptionsPtrInput { + return (*spotInstanceRequestMaintenanceOptionsPtrType)(v) } -func (*spotInstanceRequestCapacityReservationSpecificationPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**SpotInstanceRequestCapacityReservationSpecification)(nil)).Elem() +func (*spotInstanceRequestMaintenanceOptionsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**SpotInstanceRequestMaintenanceOptions)(nil)).Elem() } -func (i *spotInstanceRequestCapacityReservationSpecificationPtrType) ToSpotInstanceRequestCapacityReservationSpecificationPtrOutput() SpotInstanceRequestCapacityReservationSpecificationPtrOutput { - return i.ToSpotInstanceRequestCapacityReservationSpecificationPtrOutputWithContext(context.Background()) +func (i *spotInstanceRequestMaintenanceOptionsPtrType) ToSpotInstanceRequestMaintenanceOptionsPtrOutput() SpotInstanceRequestMaintenanceOptionsPtrOutput { + return i.ToSpotInstanceRequestMaintenanceOptionsPtrOutputWithContext(context.Background()) } -func (i *spotInstanceRequestCapacityReservationSpecificationPtrType) ToSpotInstanceRequestCapacityReservationSpecificationPtrOutputWithContext(ctx context.Context) SpotInstanceRequestCapacityReservationSpecificationPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(SpotInstanceRequestCapacityReservationSpecificationPtrOutput) +func (i *spotInstanceRequestMaintenanceOptionsPtrType) ToSpotInstanceRequestMaintenanceOptionsPtrOutputWithContext(ctx context.Context) SpotInstanceRequestMaintenanceOptionsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SpotInstanceRequestMaintenanceOptionsPtrOutput) } -type SpotInstanceRequestCapacityReservationSpecificationOutput struct{ *pulumi.OutputState } +type SpotInstanceRequestMaintenanceOptionsOutput struct{ *pulumi.OutputState } -func (SpotInstanceRequestCapacityReservationSpecificationOutput) ElementType() reflect.Type { - return reflect.TypeOf((*SpotInstanceRequestCapacityReservationSpecification)(nil)).Elem() +func (SpotInstanceRequestMaintenanceOptionsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SpotInstanceRequestMaintenanceOptions)(nil)).Elem() } -func (o SpotInstanceRequestCapacityReservationSpecificationOutput) ToSpotInstanceRequestCapacityReservationSpecificationOutput() SpotInstanceRequestCapacityReservationSpecificationOutput { +func (o SpotInstanceRequestMaintenanceOptionsOutput) ToSpotInstanceRequestMaintenanceOptionsOutput() SpotInstanceRequestMaintenanceOptionsOutput { return o } -func (o SpotInstanceRequestCapacityReservationSpecificationOutput) ToSpotInstanceRequestCapacityReservationSpecificationOutputWithContext(ctx context.Context) SpotInstanceRequestCapacityReservationSpecificationOutput { +func (o SpotInstanceRequestMaintenanceOptionsOutput) ToSpotInstanceRequestMaintenanceOptionsOutputWithContext(ctx context.Context) SpotInstanceRequestMaintenanceOptionsOutput { return o } -func (o SpotInstanceRequestCapacityReservationSpecificationOutput) ToSpotInstanceRequestCapacityReservationSpecificationPtrOutput() SpotInstanceRequestCapacityReservationSpecificationPtrOutput { - return o.ToSpotInstanceRequestCapacityReservationSpecificationPtrOutputWithContext(context.Background()) +func (o SpotInstanceRequestMaintenanceOptionsOutput) ToSpotInstanceRequestMaintenanceOptionsPtrOutput() SpotInstanceRequestMaintenanceOptionsPtrOutput { + return o.ToSpotInstanceRequestMaintenanceOptionsPtrOutputWithContext(context.Background()) } -func (o SpotInstanceRequestCapacityReservationSpecificationOutput) ToSpotInstanceRequestCapacityReservationSpecificationPtrOutputWithContext(ctx context.Context) SpotInstanceRequestCapacityReservationSpecificationPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v SpotInstanceRequestCapacityReservationSpecification) *SpotInstanceRequestCapacityReservationSpecification { +func (o SpotInstanceRequestMaintenanceOptionsOutput) ToSpotInstanceRequestMaintenanceOptionsPtrOutputWithContext(ctx context.Context) SpotInstanceRequestMaintenanceOptionsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v SpotInstanceRequestMaintenanceOptions) *SpotInstanceRequestMaintenanceOptions { return &v - }).(SpotInstanceRequestCapacityReservationSpecificationPtrOutput) -} - -// Indicates the instance's Capacity Reservation preferences. Can be `"open"` or `"none"`. (Default: `"open"`). -func (o SpotInstanceRequestCapacityReservationSpecificationOutput) CapacityReservationPreference() pulumi.StringPtrOutput { - return o.ApplyT(func(v SpotInstanceRequestCapacityReservationSpecification) *string { - return v.CapacityReservationPreference - }).(pulumi.StringPtrOutput) + }).(SpotInstanceRequestMaintenanceOptionsPtrOutput) } -// Information about the target Capacity Reservation. See Capacity Reservation Target below for more details. -// -// For more information, see the documentation on [Capacity Reservations](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/capacity-reservations-using.html). -func (o SpotInstanceRequestCapacityReservationSpecificationOutput) CapacityReservationTarget() SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetPtrOutput { - return o.ApplyT(func(v SpotInstanceRequestCapacityReservationSpecification) *SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTarget { - return v.CapacityReservationTarget - }).(SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetPtrOutput) +// Automatic recovery behavior of the Instance. Can be `"default"` or `"disabled"`. See [Recover your instance](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-recover.html) for more details. +func (o SpotInstanceRequestMaintenanceOptionsOutput) AutoRecovery() pulumi.StringPtrOutput { + return o.ApplyT(func(v SpotInstanceRequestMaintenanceOptions) *string { return v.AutoRecovery }).(pulumi.StringPtrOutput) } -type SpotInstanceRequestCapacityReservationSpecificationPtrOutput struct{ *pulumi.OutputState } +type SpotInstanceRequestMaintenanceOptionsPtrOutput struct{ *pulumi.OutputState } -func (SpotInstanceRequestCapacityReservationSpecificationPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**SpotInstanceRequestCapacityReservationSpecification)(nil)).Elem() +func (SpotInstanceRequestMaintenanceOptionsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**SpotInstanceRequestMaintenanceOptions)(nil)).Elem() } -func (o SpotInstanceRequestCapacityReservationSpecificationPtrOutput) ToSpotInstanceRequestCapacityReservationSpecificationPtrOutput() SpotInstanceRequestCapacityReservationSpecificationPtrOutput { +func (o SpotInstanceRequestMaintenanceOptionsPtrOutput) ToSpotInstanceRequestMaintenanceOptionsPtrOutput() SpotInstanceRequestMaintenanceOptionsPtrOutput { return o } -func (o SpotInstanceRequestCapacityReservationSpecificationPtrOutput) ToSpotInstanceRequestCapacityReservationSpecificationPtrOutputWithContext(ctx context.Context) SpotInstanceRequestCapacityReservationSpecificationPtrOutput { +func (o SpotInstanceRequestMaintenanceOptionsPtrOutput) ToSpotInstanceRequestMaintenanceOptionsPtrOutputWithContext(ctx context.Context) SpotInstanceRequestMaintenanceOptionsPtrOutput { return o } -func (o SpotInstanceRequestCapacityReservationSpecificationPtrOutput) Elem() SpotInstanceRequestCapacityReservationSpecificationOutput { - return o.ApplyT(func(v *SpotInstanceRequestCapacityReservationSpecification) SpotInstanceRequestCapacityReservationSpecification { +func (o SpotInstanceRequestMaintenanceOptionsPtrOutput) Elem() SpotInstanceRequestMaintenanceOptionsOutput { + return o.ApplyT(func(v *SpotInstanceRequestMaintenanceOptions) SpotInstanceRequestMaintenanceOptions { if v != nil { return *v } - var ret SpotInstanceRequestCapacityReservationSpecification + var ret SpotInstanceRequestMaintenanceOptions return ret - }).(SpotInstanceRequestCapacityReservationSpecificationOutput) + }).(SpotInstanceRequestMaintenanceOptionsOutput) } -// Indicates the instance's Capacity Reservation preferences. Can be `"open"` or `"none"`. (Default: `"open"`). -func (o SpotInstanceRequestCapacityReservationSpecificationPtrOutput) CapacityReservationPreference() pulumi.StringPtrOutput { - return o.ApplyT(func(v *SpotInstanceRequestCapacityReservationSpecification) *string { +// Automatic recovery behavior of the Instance. Can be `"default"` or `"disabled"`. See [Recover your instance](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-recover.html) for more details. +func (o SpotInstanceRequestMaintenanceOptionsPtrOutput) AutoRecovery() pulumi.StringPtrOutput { + return o.ApplyT(func(v *SpotInstanceRequestMaintenanceOptions) *string { if v == nil { return nil } - return v.CapacityReservationPreference + return v.AutoRecovery }).(pulumi.StringPtrOutput) } -// Information about the target Capacity Reservation. See Capacity Reservation Target below for more details. -// -// For more information, see the documentation on [Capacity Reservations](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/capacity-reservations-using.html). -func (o SpotInstanceRequestCapacityReservationSpecificationPtrOutput) CapacityReservationTarget() SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetPtrOutput { - return o.ApplyT(func(v *SpotInstanceRequestCapacityReservationSpecification) *SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTarget { - if v == nil { - return nil - } - return v.CapacityReservationTarget - }).(SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetPtrOutput) -} - -type SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTarget struct { - // ID of the Capacity Reservation in which to run the instance. - CapacityReservationId *string `pulumi:"capacityReservationId"` - // ARN of the Capacity Reservation resource group in which to run the instance. - CapacityReservationResourceGroupArn *string `pulumi:"capacityReservationResourceGroupArn"` +type SpotInstanceRequestMetadataOptions struct { + // Whether the metadata service is available. Valid values include `enabled` or `disabled`. Defaults to `enabled`. + HttpEndpoint *string `pulumi:"httpEndpoint"` + // Whether the IPv6 endpoint for the instance metadata service is enabled. Defaults to `disabled`. + HttpProtocolIpv6 *string `pulumi:"httpProtocolIpv6"` + // Desired HTTP PUT response hop limit for instance metadata requests. The larger the number, the further instance metadata requests can travel. Valid values are integer from `1` to `64`. Defaults to `1`. + HttpPutResponseHopLimit *int `pulumi:"httpPutResponseHopLimit"` + // Whether or not the metadata service requires session tokens, also referred to as _Instance Metadata Service Version 2 (IMDSv2)_. Valid values include `optional` or `required`. + HttpTokens *string `pulumi:"httpTokens"` + // Enables or disables access to instance tags from the instance metadata service. Valid values include `enabled` or `disabled`. Defaults to `disabled`. + // + // For more information, see the documentation on the [Instance Metadata Service](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html). + InstanceMetadataTags *string `pulumi:"instanceMetadataTags"` } -// SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetInput is an input type that accepts SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetArgs and SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetOutput values. -// You can construct a concrete instance of `SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetInput` via: +// SpotInstanceRequestMetadataOptionsInput is an input type that accepts SpotInstanceRequestMetadataOptionsArgs and SpotInstanceRequestMetadataOptionsOutput values. +// You can construct a concrete instance of `SpotInstanceRequestMetadataOptionsInput` via: // -// SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetArgs{...} -type SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetInput interface { +// SpotInstanceRequestMetadataOptionsArgs{...} +type SpotInstanceRequestMetadataOptionsInput interface { pulumi.Input - ToSpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetOutput() SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetOutput - ToSpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetOutputWithContext(context.Context) SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetOutput + ToSpotInstanceRequestMetadataOptionsOutput() SpotInstanceRequestMetadataOptionsOutput + ToSpotInstanceRequestMetadataOptionsOutputWithContext(context.Context) SpotInstanceRequestMetadataOptionsOutput } -type SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetArgs struct { - // ID of the Capacity Reservation in which to run the instance. - CapacityReservationId pulumi.StringPtrInput `pulumi:"capacityReservationId"` - // ARN of the Capacity Reservation resource group in which to run the instance. - CapacityReservationResourceGroupArn pulumi.StringPtrInput `pulumi:"capacityReservationResourceGroupArn"` +type SpotInstanceRequestMetadataOptionsArgs struct { + // Whether the metadata service is available. Valid values include `enabled` or `disabled`. Defaults to `enabled`. + HttpEndpoint pulumi.StringPtrInput `pulumi:"httpEndpoint"` + // Whether the IPv6 endpoint for the instance metadata service is enabled. Defaults to `disabled`. + HttpProtocolIpv6 pulumi.StringPtrInput `pulumi:"httpProtocolIpv6"` + // Desired HTTP PUT response hop limit for instance metadata requests. The larger the number, the further instance metadata requests can travel. Valid values are integer from `1` to `64`. Defaults to `1`. + HttpPutResponseHopLimit pulumi.IntPtrInput `pulumi:"httpPutResponseHopLimit"` + // Whether or not the metadata service requires session tokens, also referred to as _Instance Metadata Service Version 2 (IMDSv2)_. Valid values include `optional` or `required`. + HttpTokens pulumi.StringPtrInput `pulumi:"httpTokens"` + // Enables or disables access to instance tags from the instance metadata service. Valid values include `enabled` or `disabled`. Defaults to `disabled`. + // + // For more information, see the documentation on the [Instance Metadata Service](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html). + InstanceMetadataTags pulumi.StringPtrInput `pulumi:"instanceMetadataTags"` } -func (SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetArgs) ElementType() reflect.Type { - return reflect.TypeOf((*SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTarget)(nil)).Elem() +func (SpotInstanceRequestMetadataOptionsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SpotInstanceRequestMetadataOptions)(nil)).Elem() } -func (i SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetArgs) ToSpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetOutput() SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetOutput { - return i.ToSpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetOutputWithContext(context.Background()) +func (i SpotInstanceRequestMetadataOptionsArgs) ToSpotInstanceRequestMetadataOptionsOutput() SpotInstanceRequestMetadataOptionsOutput { + return i.ToSpotInstanceRequestMetadataOptionsOutputWithContext(context.Background()) } -func (i SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetArgs) ToSpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetOutputWithContext(ctx context.Context) SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetOutput { - return pulumi.ToOutputWithContext(ctx, i).(SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetOutput) +func (i SpotInstanceRequestMetadataOptionsArgs) ToSpotInstanceRequestMetadataOptionsOutputWithContext(ctx context.Context) SpotInstanceRequestMetadataOptionsOutput { + return pulumi.ToOutputWithContext(ctx, i).(SpotInstanceRequestMetadataOptionsOutput) } -func (i SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetArgs) ToSpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetPtrOutput() SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetPtrOutput { - return i.ToSpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetPtrOutputWithContext(context.Background()) +func (i SpotInstanceRequestMetadataOptionsArgs) ToSpotInstanceRequestMetadataOptionsPtrOutput() SpotInstanceRequestMetadataOptionsPtrOutput { + return i.ToSpotInstanceRequestMetadataOptionsPtrOutputWithContext(context.Background()) } -func (i SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetArgs) ToSpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetPtrOutputWithContext(ctx context.Context) SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetOutput).ToSpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetPtrOutputWithContext(ctx) +func (i SpotInstanceRequestMetadataOptionsArgs) ToSpotInstanceRequestMetadataOptionsPtrOutputWithContext(ctx context.Context) SpotInstanceRequestMetadataOptionsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SpotInstanceRequestMetadataOptionsOutput).ToSpotInstanceRequestMetadataOptionsPtrOutputWithContext(ctx) } -// SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetPtrInput is an input type that accepts SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetArgs, SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetPtr and SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetPtrOutput values. -// You can construct a concrete instance of `SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetPtrInput` via: +// SpotInstanceRequestMetadataOptionsPtrInput is an input type that accepts SpotInstanceRequestMetadataOptionsArgs, SpotInstanceRequestMetadataOptionsPtr and SpotInstanceRequestMetadataOptionsPtrOutput values. +// You can construct a concrete instance of `SpotInstanceRequestMetadataOptionsPtrInput` via: // -// SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetArgs{...} +// SpotInstanceRequestMetadataOptionsArgs{...} // // or: // // nil -type SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetPtrInput interface { +type SpotInstanceRequestMetadataOptionsPtrInput interface { pulumi.Input - ToSpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetPtrOutput() SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetPtrOutput - ToSpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetPtrOutputWithContext(context.Context) SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetPtrOutput + ToSpotInstanceRequestMetadataOptionsPtrOutput() SpotInstanceRequestMetadataOptionsPtrOutput + ToSpotInstanceRequestMetadataOptionsPtrOutputWithContext(context.Context) SpotInstanceRequestMetadataOptionsPtrOutput } -type spotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetPtrType SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetArgs +type spotInstanceRequestMetadataOptionsPtrType SpotInstanceRequestMetadataOptionsArgs -func SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetPtr(v *SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetArgs) SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetPtrInput { - return (*spotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetPtrType)(v) +func SpotInstanceRequestMetadataOptionsPtr(v *SpotInstanceRequestMetadataOptionsArgs) SpotInstanceRequestMetadataOptionsPtrInput { + return (*spotInstanceRequestMetadataOptionsPtrType)(v) } -func (*spotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTarget)(nil)).Elem() +func (*spotInstanceRequestMetadataOptionsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**SpotInstanceRequestMetadataOptions)(nil)).Elem() } -func (i *spotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetPtrType) ToSpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetPtrOutput() SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetPtrOutput { - return i.ToSpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetPtrOutputWithContext(context.Background()) +func (i *spotInstanceRequestMetadataOptionsPtrType) ToSpotInstanceRequestMetadataOptionsPtrOutput() SpotInstanceRequestMetadataOptionsPtrOutput { + return i.ToSpotInstanceRequestMetadataOptionsPtrOutputWithContext(context.Background()) } -func (i *spotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetPtrType) ToSpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetPtrOutputWithContext(ctx context.Context) SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetPtrOutput) +func (i *spotInstanceRequestMetadataOptionsPtrType) ToSpotInstanceRequestMetadataOptionsPtrOutputWithContext(ctx context.Context) SpotInstanceRequestMetadataOptionsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SpotInstanceRequestMetadataOptionsPtrOutput) } -type SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetOutput struct{ *pulumi.OutputState } +type SpotInstanceRequestMetadataOptionsOutput struct{ *pulumi.OutputState } -func (SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetOutput) ElementType() reflect.Type { - return reflect.TypeOf((*SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTarget)(nil)).Elem() +func (SpotInstanceRequestMetadataOptionsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SpotInstanceRequestMetadataOptions)(nil)).Elem() } -func (o SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetOutput) ToSpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetOutput() SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetOutput { +func (o SpotInstanceRequestMetadataOptionsOutput) ToSpotInstanceRequestMetadataOptionsOutput() SpotInstanceRequestMetadataOptionsOutput { return o } -func (o SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetOutput) ToSpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetOutputWithContext(ctx context.Context) SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetOutput { +func (o SpotInstanceRequestMetadataOptionsOutput) ToSpotInstanceRequestMetadataOptionsOutputWithContext(ctx context.Context) SpotInstanceRequestMetadataOptionsOutput { return o } -func (o SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetOutput) ToSpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetPtrOutput() SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetPtrOutput { - return o.ToSpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetPtrOutputWithContext(context.Background()) +func (o SpotInstanceRequestMetadataOptionsOutput) ToSpotInstanceRequestMetadataOptionsPtrOutput() SpotInstanceRequestMetadataOptionsPtrOutput { + return o.ToSpotInstanceRequestMetadataOptionsPtrOutputWithContext(context.Background()) } -func (o SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetOutput) ToSpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetPtrOutputWithContext(ctx context.Context) SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTarget) *SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTarget { +func (o SpotInstanceRequestMetadataOptionsOutput) ToSpotInstanceRequestMetadataOptionsPtrOutputWithContext(ctx context.Context) SpotInstanceRequestMetadataOptionsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v SpotInstanceRequestMetadataOptions) *SpotInstanceRequestMetadataOptions { return &v - }).(SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetPtrOutput) + }).(SpotInstanceRequestMetadataOptionsPtrOutput) } -// ID of the Capacity Reservation in which to run the instance. -func (o SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetOutput) CapacityReservationId() pulumi.StringPtrOutput { - return o.ApplyT(func(v SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTarget) *string { - return v.CapacityReservationId - }).(pulumi.StringPtrOutput) +// Whether the metadata service is available. Valid values include `enabled` or `disabled`. Defaults to `enabled`. +func (o SpotInstanceRequestMetadataOptionsOutput) HttpEndpoint() pulumi.StringPtrOutput { + return o.ApplyT(func(v SpotInstanceRequestMetadataOptions) *string { return v.HttpEndpoint }).(pulumi.StringPtrOutput) } -// ARN of the Capacity Reservation resource group in which to run the instance. -func (o SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetOutput) CapacityReservationResourceGroupArn() pulumi.StringPtrOutput { - return o.ApplyT(func(v SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTarget) *string { - return v.CapacityReservationResourceGroupArn - }).(pulumi.StringPtrOutput) +// Whether the IPv6 endpoint for the instance metadata service is enabled. Defaults to `disabled`. +func (o SpotInstanceRequestMetadataOptionsOutput) HttpProtocolIpv6() pulumi.StringPtrOutput { + return o.ApplyT(func(v SpotInstanceRequestMetadataOptions) *string { return v.HttpProtocolIpv6 }).(pulumi.StringPtrOutput) } -type SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetPtrOutput struct{ *pulumi.OutputState } +// Desired HTTP PUT response hop limit for instance metadata requests. The larger the number, the further instance metadata requests can travel. Valid values are integer from `1` to `64`. Defaults to `1`. +func (o SpotInstanceRequestMetadataOptionsOutput) HttpPutResponseHopLimit() pulumi.IntPtrOutput { + return o.ApplyT(func(v SpotInstanceRequestMetadataOptions) *int { return v.HttpPutResponseHopLimit }).(pulumi.IntPtrOutput) +} -func (SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTarget)(nil)).Elem() +// Whether or not the metadata service requires session tokens, also referred to as _Instance Metadata Service Version 2 (IMDSv2)_. Valid values include `optional` or `required`. +func (o SpotInstanceRequestMetadataOptionsOutput) HttpTokens() pulumi.StringPtrOutput { + return o.ApplyT(func(v SpotInstanceRequestMetadataOptions) *string { return v.HttpTokens }).(pulumi.StringPtrOutput) } -func (o SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetPtrOutput) ToSpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetPtrOutput() SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetPtrOutput { +// Enables or disables access to instance tags from the instance metadata service. Valid values include `enabled` or `disabled`. Defaults to `disabled`. +// +// For more information, see the documentation on the [Instance Metadata Service](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html). +func (o SpotInstanceRequestMetadataOptionsOutput) InstanceMetadataTags() pulumi.StringPtrOutput { + return o.ApplyT(func(v SpotInstanceRequestMetadataOptions) *string { return v.InstanceMetadataTags }).(pulumi.StringPtrOutput) +} + +type SpotInstanceRequestMetadataOptionsPtrOutput struct{ *pulumi.OutputState } + +func (SpotInstanceRequestMetadataOptionsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**SpotInstanceRequestMetadataOptions)(nil)).Elem() +} + +func (o SpotInstanceRequestMetadataOptionsPtrOutput) ToSpotInstanceRequestMetadataOptionsPtrOutput() SpotInstanceRequestMetadataOptionsPtrOutput { return o } -func (o SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetPtrOutput) ToSpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetPtrOutputWithContext(ctx context.Context) SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetPtrOutput { +func (o SpotInstanceRequestMetadataOptionsPtrOutput) ToSpotInstanceRequestMetadataOptionsPtrOutputWithContext(ctx context.Context) SpotInstanceRequestMetadataOptionsPtrOutput { return o } -func (o SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetPtrOutput) Elem() SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetOutput { - return o.ApplyT(func(v *SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTarget) SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTarget { +func (o SpotInstanceRequestMetadataOptionsPtrOutput) Elem() SpotInstanceRequestMetadataOptionsOutput { + return o.ApplyT(func(v *SpotInstanceRequestMetadataOptions) SpotInstanceRequestMetadataOptions { if v != nil { return *v } - var ret SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTarget + var ret SpotInstanceRequestMetadataOptions return ret - }).(SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetOutput) + }).(SpotInstanceRequestMetadataOptionsOutput) } -// ID of the Capacity Reservation in which to run the instance. -func (o SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetPtrOutput) CapacityReservationId() pulumi.StringPtrOutput { - return o.ApplyT(func(v *SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTarget) *string { +// Whether the metadata service is available. Valid values include `enabled` or `disabled`. Defaults to `enabled`. +func (o SpotInstanceRequestMetadataOptionsPtrOutput) HttpEndpoint() pulumi.StringPtrOutput { + return o.ApplyT(func(v *SpotInstanceRequestMetadataOptions) *string { if v == nil { return nil } - return v.CapacityReservationId + return v.HttpEndpoint }).(pulumi.StringPtrOutput) } -// ARN of the Capacity Reservation resource group in which to run the instance. -func (o SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetPtrOutput) CapacityReservationResourceGroupArn() pulumi.StringPtrOutput { - return o.ApplyT(func(v *SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTarget) *string { +// Whether the IPv6 endpoint for the instance metadata service is enabled. Defaults to `disabled`. +func (o SpotInstanceRequestMetadataOptionsPtrOutput) HttpProtocolIpv6() pulumi.StringPtrOutput { + return o.ApplyT(func(v *SpotInstanceRequestMetadataOptions) *string { if v == nil { return nil } - return v.CapacityReservationResourceGroupArn + return v.HttpProtocolIpv6 }).(pulumi.StringPtrOutput) } -type SpotInstanceRequestCpuOptions struct { - // Indicates whether to enable the instance for AMD SEV-SNP. AMD SEV-SNP is supported with M6a, R6a, and C6a instance types only. Valid values are `enabled` and `disabled`. - AmdSevSnp *string `pulumi:"amdSevSnp"` - // Sets the number of CPU cores for an instance. This option is only supported on creation of instance type that support CPU Options [CPU Cores and Threads Per CPU Core Per Instance Type](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-optimize-cpu.html#cpu-options-supported-instances-values) - specifying this option for unsupported instance types will return an error from the EC2 API. - CoreCount *int `pulumi:"coreCount"` - // If set to 1, hyperthreading is disabled on the launched instance. Defaults to 2 if not set. See [Optimizing CPU Options](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-optimize-cpu.html) for more information. - // - // For more information, see the documentation on [Optimizing CPU options](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-optimize-cpu.html). - ThreadsPerCore *int `pulumi:"threadsPerCore"` +// Desired HTTP PUT response hop limit for instance metadata requests. The larger the number, the further instance metadata requests can travel. Valid values are integer from `1` to `64`. Defaults to `1`. +func (o SpotInstanceRequestMetadataOptionsPtrOutput) HttpPutResponseHopLimit() pulumi.IntPtrOutput { + return o.ApplyT(func(v *SpotInstanceRequestMetadataOptions) *int { + if v == nil { + return nil + } + return v.HttpPutResponseHopLimit + }).(pulumi.IntPtrOutput) } -// SpotInstanceRequestCpuOptionsInput is an input type that accepts SpotInstanceRequestCpuOptionsArgs and SpotInstanceRequestCpuOptionsOutput values. -// You can construct a concrete instance of `SpotInstanceRequestCpuOptionsInput` via: +// Whether or not the metadata service requires session tokens, also referred to as _Instance Metadata Service Version 2 (IMDSv2)_. Valid values include `optional` or `required`. +func (o SpotInstanceRequestMetadataOptionsPtrOutput) HttpTokens() pulumi.StringPtrOutput { + return o.ApplyT(func(v *SpotInstanceRequestMetadataOptions) *string { + if v == nil { + return nil + } + return v.HttpTokens + }).(pulumi.StringPtrOutput) +} + +// Enables or disables access to instance tags from the instance metadata service. Valid values include `enabled` or `disabled`. Defaults to `disabled`. // -// SpotInstanceRequestCpuOptionsArgs{...} -type SpotInstanceRequestCpuOptionsInput interface { +// For more information, see the documentation on the [Instance Metadata Service](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html). +func (o SpotInstanceRequestMetadataOptionsPtrOutput) InstanceMetadataTags() pulumi.StringPtrOutput { + return o.ApplyT(func(v *SpotInstanceRequestMetadataOptions) *string { + if v == nil { + return nil + } + return v.InstanceMetadataTags + }).(pulumi.StringPtrOutput) +} + +type SpotInstanceRequestNetworkInterface struct { + // Whether or not to delete the network interface on instance termination. Defaults to `false`. Currently, the only valid value is `false`, as this is only supported when creating new network interfaces when launching an instance. + DeleteOnTermination *bool `pulumi:"deleteOnTermination"` + // Integer index of the network interface attachment. Limited by instance type. + DeviceIndex int `pulumi:"deviceIndex"` + // Integer index of the network card. Limited by instance type. The default index is `0`. + NetworkCardIndex *int `pulumi:"networkCardIndex"` + // ID of the network interface to attach. + NetworkInterfaceId string `pulumi:"networkInterfaceId"` +} + +// SpotInstanceRequestNetworkInterfaceInput is an input type that accepts SpotInstanceRequestNetworkInterfaceArgs and SpotInstanceRequestNetworkInterfaceOutput values. +// You can construct a concrete instance of `SpotInstanceRequestNetworkInterfaceInput` via: +// +// SpotInstanceRequestNetworkInterfaceArgs{...} +type SpotInstanceRequestNetworkInterfaceInput interface { pulumi.Input - ToSpotInstanceRequestCpuOptionsOutput() SpotInstanceRequestCpuOptionsOutput - ToSpotInstanceRequestCpuOptionsOutputWithContext(context.Context) SpotInstanceRequestCpuOptionsOutput + ToSpotInstanceRequestNetworkInterfaceOutput() SpotInstanceRequestNetworkInterfaceOutput + ToSpotInstanceRequestNetworkInterfaceOutputWithContext(context.Context) SpotInstanceRequestNetworkInterfaceOutput +} + +type SpotInstanceRequestNetworkInterfaceArgs struct { + // Whether or not to delete the network interface on instance termination. Defaults to `false`. Currently, the only valid value is `false`, as this is only supported when creating new network interfaces when launching an instance. + DeleteOnTermination pulumi.BoolPtrInput `pulumi:"deleteOnTermination"` + // Integer index of the network interface attachment. Limited by instance type. + DeviceIndex pulumi.IntInput `pulumi:"deviceIndex"` + // Integer index of the network card. Limited by instance type. The default index is `0`. + NetworkCardIndex pulumi.IntPtrInput `pulumi:"networkCardIndex"` + // ID of the network interface to attach. + NetworkInterfaceId pulumi.StringInput `pulumi:"networkInterfaceId"` +} + +func (SpotInstanceRequestNetworkInterfaceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SpotInstanceRequestNetworkInterface)(nil)).Elem() +} + +func (i SpotInstanceRequestNetworkInterfaceArgs) ToSpotInstanceRequestNetworkInterfaceOutput() SpotInstanceRequestNetworkInterfaceOutput { + return i.ToSpotInstanceRequestNetworkInterfaceOutputWithContext(context.Background()) +} + +func (i SpotInstanceRequestNetworkInterfaceArgs) ToSpotInstanceRequestNetworkInterfaceOutputWithContext(ctx context.Context) SpotInstanceRequestNetworkInterfaceOutput { + return pulumi.ToOutputWithContext(ctx, i).(SpotInstanceRequestNetworkInterfaceOutput) +} + +// SpotInstanceRequestNetworkInterfaceArrayInput is an input type that accepts SpotInstanceRequestNetworkInterfaceArray and SpotInstanceRequestNetworkInterfaceArrayOutput values. +// You can construct a concrete instance of `SpotInstanceRequestNetworkInterfaceArrayInput` via: +// +// SpotInstanceRequestNetworkInterfaceArray{ SpotInstanceRequestNetworkInterfaceArgs{...} } +type SpotInstanceRequestNetworkInterfaceArrayInput interface { + pulumi.Input + + ToSpotInstanceRequestNetworkInterfaceArrayOutput() SpotInstanceRequestNetworkInterfaceArrayOutput + ToSpotInstanceRequestNetworkInterfaceArrayOutputWithContext(context.Context) SpotInstanceRequestNetworkInterfaceArrayOutput +} + +type SpotInstanceRequestNetworkInterfaceArray []SpotInstanceRequestNetworkInterfaceInput + +func (SpotInstanceRequestNetworkInterfaceArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]SpotInstanceRequestNetworkInterface)(nil)).Elem() +} + +func (i SpotInstanceRequestNetworkInterfaceArray) ToSpotInstanceRequestNetworkInterfaceArrayOutput() SpotInstanceRequestNetworkInterfaceArrayOutput { + return i.ToSpotInstanceRequestNetworkInterfaceArrayOutputWithContext(context.Background()) +} + +func (i SpotInstanceRequestNetworkInterfaceArray) ToSpotInstanceRequestNetworkInterfaceArrayOutputWithContext(ctx context.Context) SpotInstanceRequestNetworkInterfaceArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(SpotInstanceRequestNetworkInterfaceArrayOutput) +} + +type SpotInstanceRequestNetworkInterfaceOutput struct{ *pulumi.OutputState } + +func (SpotInstanceRequestNetworkInterfaceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SpotInstanceRequestNetworkInterface)(nil)).Elem() } -type SpotInstanceRequestCpuOptionsArgs struct { - // Indicates whether to enable the instance for AMD SEV-SNP. AMD SEV-SNP is supported with M6a, R6a, and C6a instance types only. Valid values are `enabled` and `disabled`. - AmdSevSnp pulumi.StringPtrInput `pulumi:"amdSevSnp"` - // Sets the number of CPU cores for an instance. This option is only supported on creation of instance type that support CPU Options [CPU Cores and Threads Per CPU Core Per Instance Type](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-optimize-cpu.html#cpu-options-supported-instances-values) - specifying this option for unsupported instance types will return an error from the EC2 API. - CoreCount pulumi.IntPtrInput `pulumi:"coreCount"` - // If set to 1, hyperthreading is disabled on the launched instance. Defaults to 2 if not set. See [Optimizing CPU Options](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-optimize-cpu.html) for more information. - // - // For more information, see the documentation on [Optimizing CPU options](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-optimize-cpu.html). - ThreadsPerCore pulumi.IntPtrInput `pulumi:"threadsPerCore"` +func (o SpotInstanceRequestNetworkInterfaceOutput) ToSpotInstanceRequestNetworkInterfaceOutput() SpotInstanceRequestNetworkInterfaceOutput { + return o } -func (SpotInstanceRequestCpuOptionsArgs) ElementType() reflect.Type { - return reflect.TypeOf((*SpotInstanceRequestCpuOptions)(nil)).Elem() +func (o SpotInstanceRequestNetworkInterfaceOutput) ToSpotInstanceRequestNetworkInterfaceOutputWithContext(ctx context.Context) SpotInstanceRequestNetworkInterfaceOutput { + return o } -func (i SpotInstanceRequestCpuOptionsArgs) ToSpotInstanceRequestCpuOptionsOutput() SpotInstanceRequestCpuOptionsOutput { - return i.ToSpotInstanceRequestCpuOptionsOutputWithContext(context.Background()) +// Whether or not to delete the network interface on instance termination. Defaults to `false`. Currently, the only valid value is `false`, as this is only supported when creating new network interfaces when launching an instance. +func (o SpotInstanceRequestNetworkInterfaceOutput) DeleteOnTermination() pulumi.BoolPtrOutput { + return o.ApplyT(func(v SpotInstanceRequestNetworkInterface) *bool { return v.DeleteOnTermination }).(pulumi.BoolPtrOutput) } -func (i SpotInstanceRequestCpuOptionsArgs) ToSpotInstanceRequestCpuOptionsOutputWithContext(ctx context.Context) SpotInstanceRequestCpuOptionsOutput { - return pulumi.ToOutputWithContext(ctx, i).(SpotInstanceRequestCpuOptionsOutput) +// Integer index of the network interface attachment. Limited by instance type. +func (o SpotInstanceRequestNetworkInterfaceOutput) DeviceIndex() pulumi.IntOutput { + return o.ApplyT(func(v SpotInstanceRequestNetworkInterface) int { return v.DeviceIndex }).(pulumi.IntOutput) } -func (i SpotInstanceRequestCpuOptionsArgs) ToSpotInstanceRequestCpuOptionsPtrOutput() SpotInstanceRequestCpuOptionsPtrOutput { - return i.ToSpotInstanceRequestCpuOptionsPtrOutputWithContext(context.Background()) +// Integer index of the network card. Limited by instance type. The default index is `0`. +func (o SpotInstanceRequestNetworkInterfaceOutput) NetworkCardIndex() pulumi.IntPtrOutput { + return o.ApplyT(func(v SpotInstanceRequestNetworkInterface) *int { return v.NetworkCardIndex }).(pulumi.IntPtrOutput) } -func (i SpotInstanceRequestCpuOptionsArgs) ToSpotInstanceRequestCpuOptionsPtrOutputWithContext(ctx context.Context) SpotInstanceRequestCpuOptionsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(SpotInstanceRequestCpuOptionsOutput).ToSpotInstanceRequestCpuOptionsPtrOutputWithContext(ctx) +// ID of the network interface to attach. +func (o SpotInstanceRequestNetworkInterfaceOutput) NetworkInterfaceId() pulumi.StringOutput { + return o.ApplyT(func(v SpotInstanceRequestNetworkInterface) string { return v.NetworkInterfaceId }).(pulumi.StringOutput) } -// SpotInstanceRequestCpuOptionsPtrInput is an input type that accepts SpotInstanceRequestCpuOptionsArgs, SpotInstanceRequestCpuOptionsPtr and SpotInstanceRequestCpuOptionsPtrOutput values. -// You can construct a concrete instance of `SpotInstanceRequestCpuOptionsPtrInput` via: -// -// SpotInstanceRequestCpuOptionsArgs{...} -// -// or: -// -// nil -type SpotInstanceRequestCpuOptionsPtrInput interface { - pulumi.Input +type SpotInstanceRequestNetworkInterfaceArrayOutput struct{ *pulumi.OutputState } - ToSpotInstanceRequestCpuOptionsPtrOutput() SpotInstanceRequestCpuOptionsPtrOutput - ToSpotInstanceRequestCpuOptionsPtrOutputWithContext(context.Context) SpotInstanceRequestCpuOptionsPtrOutput +func (SpotInstanceRequestNetworkInterfaceArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]SpotInstanceRequestNetworkInterface)(nil)).Elem() } -type spotInstanceRequestCpuOptionsPtrType SpotInstanceRequestCpuOptionsArgs - -func SpotInstanceRequestCpuOptionsPtr(v *SpotInstanceRequestCpuOptionsArgs) SpotInstanceRequestCpuOptionsPtrInput { - return (*spotInstanceRequestCpuOptionsPtrType)(v) +func (o SpotInstanceRequestNetworkInterfaceArrayOutput) ToSpotInstanceRequestNetworkInterfaceArrayOutput() SpotInstanceRequestNetworkInterfaceArrayOutput { + return o } -func (*spotInstanceRequestCpuOptionsPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**SpotInstanceRequestCpuOptions)(nil)).Elem() +func (o SpotInstanceRequestNetworkInterfaceArrayOutput) ToSpotInstanceRequestNetworkInterfaceArrayOutputWithContext(ctx context.Context) SpotInstanceRequestNetworkInterfaceArrayOutput { + return o } -func (i *spotInstanceRequestCpuOptionsPtrType) ToSpotInstanceRequestCpuOptionsPtrOutput() SpotInstanceRequestCpuOptionsPtrOutput { - return i.ToSpotInstanceRequestCpuOptionsPtrOutputWithContext(context.Background()) +func (o SpotInstanceRequestNetworkInterfaceArrayOutput) Index(i pulumi.IntInput) SpotInstanceRequestNetworkInterfaceOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) SpotInstanceRequestNetworkInterface { + return vs[0].([]SpotInstanceRequestNetworkInterface)[vs[1].(int)] + }).(SpotInstanceRequestNetworkInterfaceOutput) } -func (i *spotInstanceRequestCpuOptionsPtrType) ToSpotInstanceRequestCpuOptionsPtrOutputWithContext(ctx context.Context) SpotInstanceRequestCpuOptionsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(SpotInstanceRequestCpuOptionsPtrOutput) +type SpotInstanceRequestPrimaryNetworkInterface struct { + // Whether the network interface will be deleted when the instance terminates. + DeleteOnTermination *bool `pulumi:"deleteOnTermination"` + // ID of the network interface to attach. + NetworkInterfaceId *string `pulumi:"networkInterfaceId"` } -type SpotInstanceRequestCpuOptionsOutput struct{ *pulumi.OutputState } +// SpotInstanceRequestPrimaryNetworkInterfaceInput is an input type that accepts SpotInstanceRequestPrimaryNetworkInterfaceArgs and SpotInstanceRequestPrimaryNetworkInterfaceOutput values. +// You can construct a concrete instance of `SpotInstanceRequestPrimaryNetworkInterfaceInput` via: +// +// SpotInstanceRequestPrimaryNetworkInterfaceArgs{...} +type SpotInstanceRequestPrimaryNetworkInterfaceInput interface { + pulumi.Input -func (SpotInstanceRequestCpuOptionsOutput) ElementType() reflect.Type { - return reflect.TypeOf((*SpotInstanceRequestCpuOptions)(nil)).Elem() + ToSpotInstanceRequestPrimaryNetworkInterfaceOutput() SpotInstanceRequestPrimaryNetworkInterfaceOutput + ToSpotInstanceRequestPrimaryNetworkInterfaceOutputWithContext(context.Context) SpotInstanceRequestPrimaryNetworkInterfaceOutput } -func (o SpotInstanceRequestCpuOptionsOutput) ToSpotInstanceRequestCpuOptionsOutput() SpotInstanceRequestCpuOptionsOutput { - return o +type SpotInstanceRequestPrimaryNetworkInterfaceArgs struct { + // Whether the network interface will be deleted when the instance terminates. + DeleteOnTermination pulumi.BoolPtrInput `pulumi:"deleteOnTermination"` + // ID of the network interface to attach. + NetworkInterfaceId pulumi.StringPtrInput `pulumi:"networkInterfaceId"` } -func (o SpotInstanceRequestCpuOptionsOutput) ToSpotInstanceRequestCpuOptionsOutputWithContext(ctx context.Context) SpotInstanceRequestCpuOptionsOutput { - return o +func (SpotInstanceRequestPrimaryNetworkInterfaceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SpotInstanceRequestPrimaryNetworkInterface)(nil)).Elem() } -func (o SpotInstanceRequestCpuOptionsOutput) ToSpotInstanceRequestCpuOptionsPtrOutput() SpotInstanceRequestCpuOptionsPtrOutput { - return o.ToSpotInstanceRequestCpuOptionsPtrOutputWithContext(context.Background()) +func (i SpotInstanceRequestPrimaryNetworkInterfaceArgs) ToSpotInstanceRequestPrimaryNetworkInterfaceOutput() SpotInstanceRequestPrimaryNetworkInterfaceOutput { + return i.ToSpotInstanceRequestPrimaryNetworkInterfaceOutputWithContext(context.Background()) } -func (o SpotInstanceRequestCpuOptionsOutput) ToSpotInstanceRequestCpuOptionsPtrOutputWithContext(ctx context.Context) SpotInstanceRequestCpuOptionsPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v SpotInstanceRequestCpuOptions) *SpotInstanceRequestCpuOptions { - return &v - }).(SpotInstanceRequestCpuOptionsPtrOutput) +func (i SpotInstanceRequestPrimaryNetworkInterfaceArgs) ToSpotInstanceRequestPrimaryNetworkInterfaceOutputWithContext(ctx context.Context) SpotInstanceRequestPrimaryNetworkInterfaceOutput { + return pulumi.ToOutputWithContext(ctx, i).(SpotInstanceRequestPrimaryNetworkInterfaceOutput) } -// Indicates whether to enable the instance for AMD SEV-SNP. AMD SEV-SNP is supported with M6a, R6a, and C6a instance types only. Valid values are `enabled` and `disabled`. -func (o SpotInstanceRequestCpuOptionsOutput) AmdSevSnp() pulumi.StringPtrOutput { - return o.ApplyT(func(v SpotInstanceRequestCpuOptions) *string { return v.AmdSevSnp }).(pulumi.StringPtrOutput) +// SpotInstanceRequestPrimaryNetworkInterfaceArrayInput is an input type that accepts SpotInstanceRequestPrimaryNetworkInterfaceArray and SpotInstanceRequestPrimaryNetworkInterfaceArrayOutput values. +// You can construct a concrete instance of `SpotInstanceRequestPrimaryNetworkInterfaceArrayInput` via: +// +// SpotInstanceRequestPrimaryNetworkInterfaceArray{ SpotInstanceRequestPrimaryNetworkInterfaceArgs{...} } +type SpotInstanceRequestPrimaryNetworkInterfaceArrayInput interface { + pulumi.Input + + ToSpotInstanceRequestPrimaryNetworkInterfaceArrayOutput() SpotInstanceRequestPrimaryNetworkInterfaceArrayOutput + ToSpotInstanceRequestPrimaryNetworkInterfaceArrayOutputWithContext(context.Context) SpotInstanceRequestPrimaryNetworkInterfaceArrayOutput } -// Sets the number of CPU cores for an instance. This option is only supported on creation of instance type that support CPU Options [CPU Cores and Threads Per CPU Core Per Instance Type](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-optimize-cpu.html#cpu-options-supported-instances-values) - specifying this option for unsupported instance types will return an error from the EC2 API. -func (o SpotInstanceRequestCpuOptionsOutput) CoreCount() pulumi.IntPtrOutput { - return o.ApplyT(func(v SpotInstanceRequestCpuOptions) *int { return v.CoreCount }).(pulumi.IntPtrOutput) +type SpotInstanceRequestPrimaryNetworkInterfaceArray []SpotInstanceRequestPrimaryNetworkInterfaceInput + +func (SpotInstanceRequestPrimaryNetworkInterfaceArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]SpotInstanceRequestPrimaryNetworkInterface)(nil)).Elem() } -// If set to 1, hyperthreading is disabled on the launched instance. Defaults to 2 if not set. See [Optimizing CPU Options](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-optimize-cpu.html) for more information. -// -// For more information, see the documentation on [Optimizing CPU options](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-optimize-cpu.html). -func (o SpotInstanceRequestCpuOptionsOutput) ThreadsPerCore() pulumi.IntPtrOutput { - return o.ApplyT(func(v SpotInstanceRequestCpuOptions) *int { return v.ThreadsPerCore }).(pulumi.IntPtrOutput) +func (i SpotInstanceRequestPrimaryNetworkInterfaceArray) ToSpotInstanceRequestPrimaryNetworkInterfaceArrayOutput() SpotInstanceRequestPrimaryNetworkInterfaceArrayOutput { + return i.ToSpotInstanceRequestPrimaryNetworkInterfaceArrayOutputWithContext(context.Background()) } -type SpotInstanceRequestCpuOptionsPtrOutput struct{ *pulumi.OutputState } +func (i SpotInstanceRequestPrimaryNetworkInterfaceArray) ToSpotInstanceRequestPrimaryNetworkInterfaceArrayOutputWithContext(ctx context.Context) SpotInstanceRequestPrimaryNetworkInterfaceArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(SpotInstanceRequestPrimaryNetworkInterfaceArrayOutput) +} -func (SpotInstanceRequestCpuOptionsPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**SpotInstanceRequestCpuOptions)(nil)).Elem() +type SpotInstanceRequestPrimaryNetworkInterfaceOutput struct{ *pulumi.OutputState } + +func (SpotInstanceRequestPrimaryNetworkInterfaceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SpotInstanceRequestPrimaryNetworkInterface)(nil)).Elem() } -func (o SpotInstanceRequestCpuOptionsPtrOutput) ToSpotInstanceRequestCpuOptionsPtrOutput() SpotInstanceRequestCpuOptionsPtrOutput { +func (o SpotInstanceRequestPrimaryNetworkInterfaceOutput) ToSpotInstanceRequestPrimaryNetworkInterfaceOutput() SpotInstanceRequestPrimaryNetworkInterfaceOutput { return o } -func (o SpotInstanceRequestCpuOptionsPtrOutput) ToSpotInstanceRequestCpuOptionsPtrOutputWithContext(ctx context.Context) SpotInstanceRequestCpuOptionsPtrOutput { +func (o SpotInstanceRequestPrimaryNetworkInterfaceOutput) ToSpotInstanceRequestPrimaryNetworkInterfaceOutputWithContext(ctx context.Context) SpotInstanceRequestPrimaryNetworkInterfaceOutput { return o } -func (o SpotInstanceRequestCpuOptionsPtrOutput) Elem() SpotInstanceRequestCpuOptionsOutput { - return o.ApplyT(func(v *SpotInstanceRequestCpuOptions) SpotInstanceRequestCpuOptions { - if v != nil { - return *v - } - var ret SpotInstanceRequestCpuOptions - return ret - }).(SpotInstanceRequestCpuOptionsOutput) +// Whether the network interface will be deleted when the instance terminates. +func (o SpotInstanceRequestPrimaryNetworkInterfaceOutput) DeleteOnTermination() pulumi.BoolPtrOutput { + return o.ApplyT(func(v SpotInstanceRequestPrimaryNetworkInterface) *bool { return v.DeleteOnTermination }).(pulumi.BoolPtrOutput) } -// Indicates whether to enable the instance for AMD SEV-SNP. AMD SEV-SNP is supported with M6a, R6a, and C6a instance types only. Valid values are `enabled` and `disabled`. -func (o SpotInstanceRequestCpuOptionsPtrOutput) AmdSevSnp() pulumi.StringPtrOutput { - return o.ApplyT(func(v *SpotInstanceRequestCpuOptions) *string { - if v == nil { - return nil - } - return v.AmdSevSnp - }).(pulumi.StringPtrOutput) +// ID of the network interface to attach. +func (o SpotInstanceRequestPrimaryNetworkInterfaceOutput) NetworkInterfaceId() pulumi.StringPtrOutput { + return o.ApplyT(func(v SpotInstanceRequestPrimaryNetworkInterface) *string { return v.NetworkInterfaceId }).(pulumi.StringPtrOutput) } -// Sets the number of CPU cores for an instance. This option is only supported on creation of instance type that support CPU Options [CPU Cores and Threads Per CPU Core Per Instance Type](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-optimize-cpu.html#cpu-options-supported-instances-values) - specifying this option for unsupported instance types will return an error from the EC2 API. -func (o SpotInstanceRequestCpuOptionsPtrOutput) CoreCount() pulumi.IntPtrOutput { - return o.ApplyT(func(v *SpotInstanceRequestCpuOptions) *int { - if v == nil { - return nil - } - return v.CoreCount - }).(pulumi.IntPtrOutput) +type SpotInstanceRequestPrimaryNetworkInterfaceArrayOutput struct{ *pulumi.OutputState } + +func (SpotInstanceRequestPrimaryNetworkInterfaceArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]SpotInstanceRequestPrimaryNetworkInterface)(nil)).Elem() } -// If set to 1, hyperthreading is disabled on the launched instance. Defaults to 2 if not set. See [Optimizing CPU Options](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-optimize-cpu.html) for more information. -// -// For more information, see the documentation on [Optimizing CPU options](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-optimize-cpu.html). -func (o SpotInstanceRequestCpuOptionsPtrOutput) ThreadsPerCore() pulumi.IntPtrOutput { - return o.ApplyT(func(v *SpotInstanceRequestCpuOptions) *int { - if v == nil { - return nil - } - return v.ThreadsPerCore - }).(pulumi.IntPtrOutput) +func (o SpotInstanceRequestPrimaryNetworkInterfaceArrayOutput) ToSpotInstanceRequestPrimaryNetworkInterfaceArrayOutput() SpotInstanceRequestPrimaryNetworkInterfaceArrayOutput { + return o } -type SpotInstanceRequestCreditSpecification struct { - // Credit option for CPU usage. Valid values include `standard` or `unlimited`. T3 instances are launched as unlimited by default. T2 instances are launched as standard by default. - CpuCredits *string `pulumi:"cpuCredits"` +func (o SpotInstanceRequestPrimaryNetworkInterfaceArrayOutput) ToSpotInstanceRequestPrimaryNetworkInterfaceArrayOutputWithContext(ctx context.Context) SpotInstanceRequestPrimaryNetworkInterfaceArrayOutput { + return o } -// SpotInstanceRequestCreditSpecificationInput is an input type that accepts SpotInstanceRequestCreditSpecificationArgs and SpotInstanceRequestCreditSpecificationOutput values. -// You can construct a concrete instance of `SpotInstanceRequestCreditSpecificationInput` via: +func (o SpotInstanceRequestPrimaryNetworkInterfaceArrayOutput) Index(i pulumi.IntInput) SpotInstanceRequestPrimaryNetworkInterfaceOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) SpotInstanceRequestPrimaryNetworkInterface { + return vs[0].([]SpotInstanceRequestPrimaryNetworkInterface)[vs[1].(int)] + }).(SpotInstanceRequestPrimaryNetworkInterfaceOutput) +} + +type SpotInstanceRequestPrivateDnsNameOptions struct { + // Indicates whether to respond to DNS queries for instance hostnames with DNS A records. + EnableResourceNameDnsARecord *bool `pulumi:"enableResourceNameDnsARecord"` + // Indicates whether to respond to DNS queries for instance hostnames with DNS AAAA records. + EnableResourceNameDnsAaaaRecord *bool `pulumi:"enableResourceNameDnsAaaaRecord"` + // Type of hostname for Amazon EC2 instances. For IPv4 only subnets, an instance DNS name must be based on the instance IPv4 address. For IPv6 native subnets, an instance DNS name must be based on the instance ID. For dual-stack subnets, you can specify whether DNS names use the instance IPv4 address or the instance ID. Valid values: `ip-name` and `resource-name`. + HostnameType *string `pulumi:"hostnameType"` +} + +// SpotInstanceRequestPrivateDnsNameOptionsInput is an input type that accepts SpotInstanceRequestPrivateDnsNameOptionsArgs and SpotInstanceRequestPrivateDnsNameOptionsOutput values. +// You can construct a concrete instance of `SpotInstanceRequestPrivateDnsNameOptionsInput` via: // -// SpotInstanceRequestCreditSpecificationArgs{...} -type SpotInstanceRequestCreditSpecificationInput interface { +// SpotInstanceRequestPrivateDnsNameOptionsArgs{...} +type SpotInstanceRequestPrivateDnsNameOptionsInput interface { pulumi.Input - ToSpotInstanceRequestCreditSpecificationOutput() SpotInstanceRequestCreditSpecificationOutput - ToSpotInstanceRequestCreditSpecificationOutputWithContext(context.Context) SpotInstanceRequestCreditSpecificationOutput + ToSpotInstanceRequestPrivateDnsNameOptionsOutput() SpotInstanceRequestPrivateDnsNameOptionsOutput + ToSpotInstanceRequestPrivateDnsNameOptionsOutputWithContext(context.Context) SpotInstanceRequestPrivateDnsNameOptionsOutput } -type SpotInstanceRequestCreditSpecificationArgs struct { - // Credit option for CPU usage. Valid values include `standard` or `unlimited`. T3 instances are launched as unlimited by default. T2 instances are launched as standard by default. - CpuCredits pulumi.StringPtrInput `pulumi:"cpuCredits"` +type SpotInstanceRequestPrivateDnsNameOptionsArgs struct { + // Indicates whether to respond to DNS queries for instance hostnames with DNS A records. + EnableResourceNameDnsARecord pulumi.BoolPtrInput `pulumi:"enableResourceNameDnsARecord"` + // Indicates whether to respond to DNS queries for instance hostnames with DNS AAAA records. + EnableResourceNameDnsAaaaRecord pulumi.BoolPtrInput `pulumi:"enableResourceNameDnsAaaaRecord"` + // Type of hostname for Amazon EC2 instances. For IPv4 only subnets, an instance DNS name must be based on the instance IPv4 address. For IPv6 native subnets, an instance DNS name must be based on the instance ID. For dual-stack subnets, you can specify whether DNS names use the instance IPv4 address or the instance ID. Valid values: `ip-name` and `resource-name`. + HostnameType pulumi.StringPtrInput `pulumi:"hostnameType"` } -func (SpotInstanceRequestCreditSpecificationArgs) ElementType() reflect.Type { - return reflect.TypeOf((*SpotInstanceRequestCreditSpecification)(nil)).Elem() +func (SpotInstanceRequestPrivateDnsNameOptionsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SpotInstanceRequestPrivateDnsNameOptions)(nil)).Elem() } -func (i SpotInstanceRequestCreditSpecificationArgs) ToSpotInstanceRequestCreditSpecificationOutput() SpotInstanceRequestCreditSpecificationOutput { - return i.ToSpotInstanceRequestCreditSpecificationOutputWithContext(context.Background()) +func (i SpotInstanceRequestPrivateDnsNameOptionsArgs) ToSpotInstanceRequestPrivateDnsNameOptionsOutput() SpotInstanceRequestPrivateDnsNameOptionsOutput { + return i.ToSpotInstanceRequestPrivateDnsNameOptionsOutputWithContext(context.Background()) } -func (i SpotInstanceRequestCreditSpecificationArgs) ToSpotInstanceRequestCreditSpecificationOutputWithContext(ctx context.Context) SpotInstanceRequestCreditSpecificationOutput { - return pulumi.ToOutputWithContext(ctx, i).(SpotInstanceRequestCreditSpecificationOutput) +func (i SpotInstanceRequestPrivateDnsNameOptionsArgs) ToSpotInstanceRequestPrivateDnsNameOptionsOutputWithContext(ctx context.Context) SpotInstanceRequestPrivateDnsNameOptionsOutput { + return pulumi.ToOutputWithContext(ctx, i).(SpotInstanceRequestPrivateDnsNameOptionsOutput) } -func (i SpotInstanceRequestCreditSpecificationArgs) ToSpotInstanceRequestCreditSpecificationPtrOutput() SpotInstanceRequestCreditSpecificationPtrOutput { - return i.ToSpotInstanceRequestCreditSpecificationPtrOutputWithContext(context.Background()) +func (i SpotInstanceRequestPrivateDnsNameOptionsArgs) ToSpotInstanceRequestPrivateDnsNameOptionsPtrOutput() SpotInstanceRequestPrivateDnsNameOptionsPtrOutput { + return i.ToSpotInstanceRequestPrivateDnsNameOptionsPtrOutputWithContext(context.Background()) } -func (i SpotInstanceRequestCreditSpecificationArgs) ToSpotInstanceRequestCreditSpecificationPtrOutputWithContext(ctx context.Context) SpotInstanceRequestCreditSpecificationPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(SpotInstanceRequestCreditSpecificationOutput).ToSpotInstanceRequestCreditSpecificationPtrOutputWithContext(ctx) +func (i SpotInstanceRequestPrivateDnsNameOptionsArgs) ToSpotInstanceRequestPrivateDnsNameOptionsPtrOutputWithContext(ctx context.Context) SpotInstanceRequestPrivateDnsNameOptionsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SpotInstanceRequestPrivateDnsNameOptionsOutput).ToSpotInstanceRequestPrivateDnsNameOptionsPtrOutputWithContext(ctx) } -// SpotInstanceRequestCreditSpecificationPtrInput is an input type that accepts SpotInstanceRequestCreditSpecificationArgs, SpotInstanceRequestCreditSpecificationPtr and SpotInstanceRequestCreditSpecificationPtrOutput values. -// You can construct a concrete instance of `SpotInstanceRequestCreditSpecificationPtrInput` via: +// SpotInstanceRequestPrivateDnsNameOptionsPtrInput is an input type that accepts SpotInstanceRequestPrivateDnsNameOptionsArgs, SpotInstanceRequestPrivateDnsNameOptionsPtr and SpotInstanceRequestPrivateDnsNameOptionsPtrOutput values. +// You can construct a concrete instance of `SpotInstanceRequestPrivateDnsNameOptionsPtrInput` via: // -// SpotInstanceRequestCreditSpecificationArgs{...} +// SpotInstanceRequestPrivateDnsNameOptionsArgs{...} // // or: // // nil -type SpotInstanceRequestCreditSpecificationPtrInput interface { +type SpotInstanceRequestPrivateDnsNameOptionsPtrInput interface { pulumi.Input - ToSpotInstanceRequestCreditSpecificationPtrOutput() SpotInstanceRequestCreditSpecificationPtrOutput - ToSpotInstanceRequestCreditSpecificationPtrOutputWithContext(context.Context) SpotInstanceRequestCreditSpecificationPtrOutput + ToSpotInstanceRequestPrivateDnsNameOptionsPtrOutput() SpotInstanceRequestPrivateDnsNameOptionsPtrOutput + ToSpotInstanceRequestPrivateDnsNameOptionsPtrOutputWithContext(context.Context) SpotInstanceRequestPrivateDnsNameOptionsPtrOutput } -type spotInstanceRequestCreditSpecificationPtrType SpotInstanceRequestCreditSpecificationArgs +type spotInstanceRequestPrivateDnsNameOptionsPtrType SpotInstanceRequestPrivateDnsNameOptionsArgs -func SpotInstanceRequestCreditSpecificationPtr(v *SpotInstanceRequestCreditSpecificationArgs) SpotInstanceRequestCreditSpecificationPtrInput { - return (*spotInstanceRequestCreditSpecificationPtrType)(v) +func SpotInstanceRequestPrivateDnsNameOptionsPtr(v *SpotInstanceRequestPrivateDnsNameOptionsArgs) SpotInstanceRequestPrivateDnsNameOptionsPtrInput { + return (*spotInstanceRequestPrivateDnsNameOptionsPtrType)(v) } -func (*spotInstanceRequestCreditSpecificationPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**SpotInstanceRequestCreditSpecification)(nil)).Elem() +func (*spotInstanceRequestPrivateDnsNameOptionsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**SpotInstanceRequestPrivateDnsNameOptions)(nil)).Elem() } -func (i *spotInstanceRequestCreditSpecificationPtrType) ToSpotInstanceRequestCreditSpecificationPtrOutput() SpotInstanceRequestCreditSpecificationPtrOutput { - return i.ToSpotInstanceRequestCreditSpecificationPtrOutputWithContext(context.Background()) +func (i *spotInstanceRequestPrivateDnsNameOptionsPtrType) ToSpotInstanceRequestPrivateDnsNameOptionsPtrOutput() SpotInstanceRequestPrivateDnsNameOptionsPtrOutput { + return i.ToSpotInstanceRequestPrivateDnsNameOptionsPtrOutputWithContext(context.Background()) } -func (i *spotInstanceRequestCreditSpecificationPtrType) ToSpotInstanceRequestCreditSpecificationPtrOutputWithContext(ctx context.Context) SpotInstanceRequestCreditSpecificationPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(SpotInstanceRequestCreditSpecificationPtrOutput) +func (i *spotInstanceRequestPrivateDnsNameOptionsPtrType) ToSpotInstanceRequestPrivateDnsNameOptionsPtrOutputWithContext(ctx context.Context) SpotInstanceRequestPrivateDnsNameOptionsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SpotInstanceRequestPrivateDnsNameOptionsPtrOutput) } -type SpotInstanceRequestCreditSpecificationOutput struct{ *pulumi.OutputState } +type SpotInstanceRequestPrivateDnsNameOptionsOutput struct{ *pulumi.OutputState } -func (SpotInstanceRequestCreditSpecificationOutput) ElementType() reflect.Type { - return reflect.TypeOf((*SpotInstanceRequestCreditSpecification)(nil)).Elem() +func (SpotInstanceRequestPrivateDnsNameOptionsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SpotInstanceRequestPrivateDnsNameOptions)(nil)).Elem() } -func (o SpotInstanceRequestCreditSpecificationOutput) ToSpotInstanceRequestCreditSpecificationOutput() SpotInstanceRequestCreditSpecificationOutput { +func (o SpotInstanceRequestPrivateDnsNameOptionsOutput) ToSpotInstanceRequestPrivateDnsNameOptionsOutput() SpotInstanceRequestPrivateDnsNameOptionsOutput { return o } -func (o SpotInstanceRequestCreditSpecificationOutput) ToSpotInstanceRequestCreditSpecificationOutputWithContext(ctx context.Context) SpotInstanceRequestCreditSpecificationOutput { +func (o SpotInstanceRequestPrivateDnsNameOptionsOutput) ToSpotInstanceRequestPrivateDnsNameOptionsOutputWithContext(ctx context.Context) SpotInstanceRequestPrivateDnsNameOptionsOutput { return o } -func (o SpotInstanceRequestCreditSpecificationOutput) ToSpotInstanceRequestCreditSpecificationPtrOutput() SpotInstanceRequestCreditSpecificationPtrOutput { - return o.ToSpotInstanceRequestCreditSpecificationPtrOutputWithContext(context.Background()) +func (o SpotInstanceRequestPrivateDnsNameOptionsOutput) ToSpotInstanceRequestPrivateDnsNameOptionsPtrOutput() SpotInstanceRequestPrivateDnsNameOptionsPtrOutput { + return o.ToSpotInstanceRequestPrivateDnsNameOptionsPtrOutputWithContext(context.Background()) } -func (o SpotInstanceRequestCreditSpecificationOutput) ToSpotInstanceRequestCreditSpecificationPtrOutputWithContext(ctx context.Context) SpotInstanceRequestCreditSpecificationPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v SpotInstanceRequestCreditSpecification) *SpotInstanceRequestCreditSpecification { +func (o SpotInstanceRequestPrivateDnsNameOptionsOutput) ToSpotInstanceRequestPrivateDnsNameOptionsPtrOutputWithContext(ctx context.Context) SpotInstanceRequestPrivateDnsNameOptionsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v SpotInstanceRequestPrivateDnsNameOptions) *SpotInstanceRequestPrivateDnsNameOptions { return &v - }).(SpotInstanceRequestCreditSpecificationPtrOutput) + }).(SpotInstanceRequestPrivateDnsNameOptionsPtrOutput) } -// Credit option for CPU usage. Valid values include `standard` or `unlimited`. T3 instances are launched as unlimited by default. T2 instances are launched as standard by default. -func (o SpotInstanceRequestCreditSpecificationOutput) CpuCredits() pulumi.StringPtrOutput { - return o.ApplyT(func(v SpotInstanceRequestCreditSpecification) *string { return v.CpuCredits }).(pulumi.StringPtrOutput) +// Indicates whether to respond to DNS queries for instance hostnames with DNS A records. +func (o SpotInstanceRequestPrivateDnsNameOptionsOutput) EnableResourceNameDnsARecord() pulumi.BoolPtrOutput { + return o.ApplyT(func(v SpotInstanceRequestPrivateDnsNameOptions) *bool { return v.EnableResourceNameDnsARecord }).(pulumi.BoolPtrOutput) } -type SpotInstanceRequestCreditSpecificationPtrOutput struct{ *pulumi.OutputState } +// Indicates whether to respond to DNS queries for instance hostnames with DNS AAAA records. +func (o SpotInstanceRequestPrivateDnsNameOptionsOutput) EnableResourceNameDnsAaaaRecord() pulumi.BoolPtrOutput { + return o.ApplyT(func(v SpotInstanceRequestPrivateDnsNameOptions) *bool { return v.EnableResourceNameDnsAaaaRecord }).(pulumi.BoolPtrOutput) +} -func (SpotInstanceRequestCreditSpecificationPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**SpotInstanceRequestCreditSpecification)(nil)).Elem() +// Type of hostname for Amazon EC2 instances. For IPv4 only subnets, an instance DNS name must be based on the instance IPv4 address. For IPv6 native subnets, an instance DNS name must be based on the instance ID. For dual-stack subnets, you can specify whether DNS names use the instance IPv4 address or the instance ID. Valid values: `ip-name` and `resource-name`. +func (o SpotInstanceRequestPrivateDnsNameOptionsOutput) HostnameType() pulumi.StringPtrOutput { + return o.ApplyT(func(v SpotInstanceRequestPrivateDnsNameOptions) *string { return v.HostnameType }).(pulumi.StringPtrOutput) } -func (o SpotInstanceRequestCreditSpecificationPtrOutput) ToSpotInstanceRequestCreditSpecificationPtrOutput() SpotInstanceRequestCreditSpecificationPtrOutput { +type SpotInstanceRequestPrivateDnsNameOptionsPtrOutput struct{ *pulumi.OutputState } + +func (SpotInstanceRequestPrivateDnsNameOptionsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**SpotInstanceRequestPrivateDnsNameOptions)(nil)).Elem() +} + +func (o SpotInstanceRequestPrivateDnsNameOptionsPtrOutput) ToSpotInstanceRequestPrivateDnsNameOptionsPtrOutput() SpotInstanceRequestPrivateDnsNameOptionsPtrOutput { return o } -func (o SpotInstanceRequestCreditSpecificationPtrOutput) ToSpotInstanceRequestCreditSpecificationPtrOutputWithContext(ctx context.Context) SpotInstanceRequestCreditSpecificationPtrOutput { +func (o SpotInstanceRequestPrivateDnsNameOptionsPtrOutput) ToSpotInstanceRequestPrivateDnsNameOptionsPtrOutputWithContext(ctx context.Context) SpotInstanceRequestPrivateDnsNameOptionsPtrOutput { return o } -func (o SpotInstanceRequestCreditSpecificationPtrOutput) Elem() SpotInstanceRequestCreditSpecificationOutput { - return o.ApplyT(func(v *SpotInstanceRequestCreditSpecification) SpotInstanceRequestCreditSpecification { +func (o SpotInstanceRequestPrivateDnsNameOptionsPtrOutput) Elem() SpotInstanceRequestPrivateDnsNameOptionsOutput { + return o.ApplyT(func(v *SpotInstanceRequestPrivateDnsNameOptions) SpotInstanceRequestPrivateDnsNameOptions { if v != nil { return *v } - var ret SpotInstanceRequestCreditSpecification + var ret SpotInstanceRequestPrivateDnsNameOptions return ret - }).(SpotInstanceRequestCreditSpecificationOutput) + }).(SpotInstanceRequestPrivateDnsNameOptionsOutput) } -// Credit option for CPU usage. Valid values include `standard` or `unlimited`. T3 instances are launched as unlimited by default. T2 instances are launched as standard by default. -func (o SpotInstanceRequestCreditSpecificationPtrOutput) CpuCredits() pulumi.StringPtrOutput { - return o.ApplyT(func(v *SpotInstanceRequestCreditSpecification) *string { +// Indicates whether to respond to DNS queries for instance hostnames with DNS A records. +func (o SpotInstanceRequestPrivateDnsNameOptionsPtrOutput) EnableResourceNameDnsARecord() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *SpotInstanceRequestPrivateDnsNameOptions) *bool { if v == nil { return nil } - return v.CpuCredits + return v.EnableResourceNameDnsARecord + }).(pulumi.BoolPtrOutput) +} + +// Indicates whether to respond to DNS queries for instance hostnames with DNS AAAA records. +func (o SpotInstanceRequestPrivateDnsNameOptionsPtrOutput) EnableResourceNameDnsAaaaRecord() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *SpotInstanceRequestPrivateDnsNameOptions) *bool { + if v == nil { + return nil + } + return v.EnableResourceNameDnsAaaaRecord + }).(pulumi.BoolPtrOutput) +} + +// Type of hostname for Amazon EC2 instances. For IPv4 only subnets, an instance DNS name must be based on the instance IPv4 address. For IPv6 native subnets, an instance DNS name must be based on the instance ID. For dual-stack subnets, you can specify whether DNS names use the instance IPv4 address or the instance ID. Valid values: `ip-name` and `resource-name`. +func (o SpotInstanceRequestPrivateDnsNameOptionsPtrOutput) HostnameType() pulumi.StringPtrOutput { + return o.ApplyT(func(v *SpotInstanceRequestPrivateDnsNameOptions) *string { + if v == nil { + return nil + } + return v.HostnameType }).(pulumi.StringPtrOutput) } -type SpotInstanceRequestEbsBlockDevice struct { +type SpotInstanceRequestRootBlockDevice struct { // Whether the volume should be destroyed on instance termination. Defaults to `true`. - DeleteOnTermination *bool `pulumi:"deleteOnTermination"` - // Name of the device to mount. - DeviceName string `pulumi:"deviceName"` - // Enables [EBS encryption](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html) on the volume. Defaults to `false`. Cannot be used with `snapshotId`. Must be configured to perform drift detection. + DeleteOnTermination *bool `pulumi:"deleteOnTermination"` + DeviceName *string `pulumi:"deviceName"` + // Whether to enable volume encryption. Defaults to `false`. Must be configured to perform drift detection. Encrypted *bool `pulumi:"encrypted"` // Amount of provisioned [IOPS](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-io-characteristics.html). Only valid for volumeType of `io1`, `io2` or `gp3`. Iops *int `pulumi:"iops"` // Amazon Resource Name (ARN) of the KMS Key to use when encrypting the volume. Must be configured to perform drift detection. KmsKeyId *string `pulumi:"kmsKeyId"` - // Snapshot ID to mount. - SnapshotId *string `pulumi:"snapshotId"` // Map of tags to assign to the device. Tags map[string]string `pulumi:"tags"` // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. @@ -32308,36 +35681,33 @@ type SpotInstanceRequestEbsBlockDevice 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. // - // > **NOTE:** Currently, changes to the `ebsBlockDevice` configuration of _existing_ resources cannot be automatically detected by this provider. To manage changes and attachments of an EBS block to an instance, use the `ebs.Volume` and `ec2.VolumeAttachment` resources instead. If you use `ebsBlockDevice` on an `ec2.Instance`, this provider will assume management over the full set of non-root EBS block devices for the instance, treating additional block devices as drift. For this reason, `ebsBlockDevice` cannot be mixed with external `ebs.Volume` and `ec2.VolumeAttachment` resources for a given instance. + // Modifying the `encrypted` or `kmsKeyId` settings of the `rootBlockDevice` requires resource replacement. VolumeType *string `pulumi:"volumeType"` } -// SpotInstanceRequestEbsBlockDeviceInput is an input type that accepts SpotInstanceRequestEbsBlockDeviceArgs and SpotInstanceRequestEbsBlockDeviceOutput values. -// You can construct a concrete instance of `SpotInstanceRequestEbsBlockDeviceInput` via: +// SpotInstanceRequestRootBlockDeviceInput is an input type that accepts SpotInstanceRequestRootBlockDeviceArgs and SpotInstanceRequestRootBlockDeviceOutput values. +// You can construct a concrete instance of `SpotInstanceRequestRootBlockDeviceInput` via: // -// SpotInstanceRequestEbsBlockDeviceArgs{...} -type SpotInstanceRequestEbsBlockDeviceInput interface { +// SpotInstanceRequestRootBlockDeviceArgs{...} +type SpotInstanceRequestRootBlockDeviceInput interface { pulumi.Input - ToSpotInstanceRequestEbsBlockDeviceOutput() SpotInstanceRequestEbsBlockDeviceOutput - ToSpotInstanceRequestEbsBlockDeviceOutputWithContext(context.Context) SpotInstanceRequestEbsBlockDeviceOutput + ToSpotInstanceRequestRootBlockDeviceOutput() SpotInstanceRequestRootBlockDeviceOutput + ToSpotInstanceRequestRootBlockDeviceOutputWithContext(context.Context) SpotInstanceRequestRootBlockDeviceOutput } -type SpotInstanceRequestEbsBlockDeviceArgs struct { +type SpotInstanceRequestRootBlockDeviceArgs struct { // Whether the volume should be destroyed on instance termination. Defaults to `true`. - DeleteOnTermination pulumi.BoolPtrInput `pulumi:"deleteOnTermination"` - // Name of the device to mount. - DeviceName pulumi.StringInput `pulumi:"deviceName"` - // Enables [EBS encryption](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html) on the volume. Defaults to `false`. Cannot be used with `snapshotId`. Must be configured to perform drift detection. + DeleteOnTermination pulumi.BoolPtrInput `pulumi:"deleteOnTermination"` + DeviceName pulumi.StringPtrInput `pulumi:"deviceName"` + // Whether to enable volume encryption. Defaults to `false`. Must be configured to perform drift detection. Encrypted pulumi.BoolPtrInput `pulumi:"encrypted"` // Amount of provisioned [IOPS](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-io-characteristics.html). Only valid for volumeType of `io1`, `io2` or `gp3`. Iops pulumi.IntPtrInput `pulumi:"iops"` // Amazon Resource Name (ARN) of the KMS Key to use when encrypting the volume. Must be configured to perform drift detection. KmsKeyId pulumi.StringPtrInput `pulumi:"kmsKeyId"` - // Snapshot ID to mount. - SnapshotId pulumi.StringPtrInput `pulumi:"snapshotId"` // Map of tags to assign to the device. Tags pulumi.StringMapInput `pulumi:"tags"` // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. @@ -32347,2163 +35717,2475 @@ type SpotInstanceRequestEbsBlockDeviceArgs 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. // - // > **NOTE:** Currently, changes to the `ebsBlockDevice` configuration of _existing_ resources cannot be automatically detected by this provider. To manage changes and attachments of an EBS block to an instance, use the `ebs.Volume` and `ec2.VolumeAttachment` resources instead. If you use `ebsBlockDevice` on an `ec2.Instance`, this provider will assume management over the full set of non-root EBS block devices for the instance, treating additional block devices as drift. For this reason, `ebsBlockDevice` cannot be mixed with external `ebs.Volume` and `ec2.VolumeAttachment` resources for a given instance. + // Modifying the `encrypted` or `kmsKeyId` settings of the `rootBlockDevice` requires resource replacement. VolumeType pulumi.StringPtrInput `pulumi:"volumeType"` } -func (SpotInstanceRequestEbsBlockDeviceArgs) ElementType() reflect.Type { - return reflect.TypeOf((*SpotInstanceRequestEbsBlockDevice)(nil)).Elem() +func (SpotInstanceRequestRootBlockDeviceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SpotInstanceRequestRootBlockDevice)(nil)).Elem() } -func (i SpotInstanceRequestEbsBlockDeviceArgs) ToSpotInstanceRequestEbsBlockDeviceOutput() SpotInstanceRequestEbsBlockDeviceOutput { - return i.ToSpotInstanceRequestEbsBlockDeviceOutputWithContext(context.Background()) +func (i SpotInstanceRequestRootBlockDeviceArgs) ToSpotInstanceRequestRootBlockDeviceOutput() SpotInstanceRequestRootBlockDeviceOutput { + return i.ToSpotInstanceRequestRootBlockDeviceOutputWithContext(context.Background()) } -func (i SpotInstanceRequestEbsBlockDeviceArgs) ToSpotInstanceRequestEbsBlockDeviceOutputWithContext(ctx context.Context) SpotInstanceRequestEbsBlockDeviceOutput { - return pulumi.ToOutputWithContext(ctx, i).(SpotInstanceRequestEbsBlockDeviceOutput) +func (i SpotInstanceRequestRootBlockDeviceArgs) ToSpotInstanceRequestRootBlockDeviceOutputWithContext(ctx context.Context) SpotInstanceRequestRootBlockDeviceOutput { + return pulumi.ToOutputWithContext(ctx, i).(SpotInstanceRequestRootBlockDeviceOutput) } -// SpotInstanceRequestEbsBlockDeviceArrayInput is an input type that accepts SpotInstanceRequestEbsBlockDeviceArray and SpotInstanceRequestEbsBlockDeviceArrayOutput values. -// You can construct a concrete instance of `SpotInstanceRequestEbsBlockDeviceArrayInput` via: +func (i SpotInstanceRequestRootBlockDeviceArgs) ToSpotInstanceRequestRootBlockDevicePtrOutput() SpotInstanceRequestRootBlockDevicePtrOutput { + return i.ToSpotInstanceRequestRootBlockDevicePtrOutputWithContext(context.Background()) +} + +func (i SpotInstanceRequestRootBlockDeviceArgs) ToSpotInstanceRequestRootBlockDevicePtrOutputWithContext(ctx context.Context) SpotInstanceRequestRootBlockDevicePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SpotInstanceRequestRootBlockDeviceOutput).ToSpotInstanceRequestRootBlockDevicePtrOutputWithContext(ctx) +} + +// SpotInstanceRequestRootBlockDevicePtrInput is an input type that accepts SpotInstanceRequestRootBlockDeviceArgs, SpotInstanceRequestRootBlockDevicePtr and SpotInstanceRequestRootBlockDevicePtrOutput values. +// You can construct a concrete instance of `SpotInstanceRequestRootBlockDevicePtrInput` via: // -// SpotInstanceRequestEbsBlockDeviceArray{ SpotInstanceRequestEbsBlockDeviceArgs{...} } -type SpotInstanceRequestEbsBlockDeviceArrayInput interface { +// SpotInstanceRequestRootBlockDeviceArgs{...} +// +// or: +// +// nil +type SpotInstanceRequestRootBlockDevicePtrInput interface { pulumi.Input - ToSpotInstanceRequestEbsBlockDeviceArrayOutput() SpotInstanceRequestEbsBlockDeviceArrayOutput - ToSpotInstanceRequestEbsBlockDeviceArrayOutputWithContext(context.Context) SpotInstanceRequestEbsBlockDeviceArrayOutput + ToSpotInstanceRequestRootBlockDevicePtrOutput() SpotInstanceRequestRootBlockDevicePtrOutput + ToSpotInstanceRequestRootBlockDevicePtrOutputWithContext(context.Context) SpotInstanceRequestRootBlockDevicePtrOutput +} + +type spotInstanceRequestRootBlockDevicePtrType SpotInstanceRequestRootBlockDeviceArgs + +func SpotInstanceRequestRootBlockDevicePtr(v *SpotInstanceRequestRootBlockDeviceArgs) SpotInstanceRequestRootBlockDevicePtrInput { + return (*spotInstanceRequestRootBlockDevicePtrType)(v) +} + +func (*spotInstanceRequestRootBlockDevicePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**SpotInstanceRequestRootBlockDevice)(nil)).Elem() +} + +func (i *spotInstanceRequestRootBlockDevicePtrType) ToSpotInstanceRequestRootBlockDevicePtrOutput() SpotInstanceRequestRootBlockDevicePtrOutput { + return i.ToSpotInstanceRequestRootBlockDevicePtrOutputWithContext(context.Background()) +} + +func (i *spotInstanceRequestRootBlockDevicePtrType) ToSpotInstanceRequestRootBlockDevicePtrOutputWithContext(ctx context.Context) SpotInstanceRequestRootBlockDevicePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SpotInstanceRequestRootBlockDevicePtrOutput) +} + +type SpotInstanceRequestRootBlockDeviceOutput struct{ *pulumi.OutputState } + +func (SpotInstanceRequestRootBlockDeviceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SpotInstanceRequestRootBlockDevice)(nil)).Elem() +} + +func (o SpotInstanceRequestRootBlockDeviceOutput) ToSpotInstanceRequestRootBlockDeviceOutput() SpotInstanceRequestRootBlockDeviceOutput { + return o +} + +func (o SpotInstanceRequestRootBlockDeviceOutput) ToSpotInstanceRequestRootBlockDeviceOutputWithContext(ctx context.Context) SpotInstanceRequestRootBlockDeviceOutput { + return o +} + +func (o SpotInstanceRequestRootBlockDeviceOutput) ToSpotInstanceRequestRootBlockDevicePtrOutput() SpotInstanceRequestRootBlockDevicePtrOutput { + return o.ToSpotInstanceRequestRootBlockDevicePtrOutputWithContext(context.Background()) +} + +func (o SpotInstanceRequestRootBlockDeviceOutput) ToSpotInstanceRequestRootBlockDevicePtrOutputWithContext(ctx context.Context) SpotInstanceRequestRootBlockDevicePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v SpotInstanceRequestRootBlockDevice) *SpotInstanceRequestRootBlockDevice { + return &v + }).(SpotInstanceRequestRootBlockDevicePtrOutput) +} + +// Whether the volume should be destroyed on instance termination. Defaults to `true`. +func (o SpotInstanceRequestRootBlockDeviceOutput) DeleteOnTermination() pulumi.BoolPtrOutput { + return o.ApplyT(func(v SpotInstanceRequestRootBlockDevice) *bool { return v.DeleteOnTermination }).(pulumi.BoolPtrOutput) +} + +func (o SpotInstanceRequestRootBlockDeviceOutput) DeviceName() pulumi.StringPtrOutput { + return o.ApplyT(func(v SpotInstanceRequestRootBlockDevice) *string { return v.DeviceName }).(pulumi.StringPtrOutput) +} + +// Whether to enable volume encryption. Defaults to `false`. Must be configured to perform drift detection. +func (o SpotInstanceRequestRootBlockDeviceOutput) Encrypted() pulumi.BoolPtrOutput { + return o.ApplyT(func(v SpotInstanceRequestRootBlockDevice) *bool { return v.Encrypted }).(pulumi.BoolPtrOutput) +} + +// Amount of provisioned [IOPS](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-io-characteristics.html). Only valid for volumeType of `io1`, `io2` or `gp3`. +func (o SpotInstanceRequestRootBlockDeviceOutput) Iops() pulumi.IntPtrOutput { + return o.ApplyT(func(v SpotInstanceRequestRootBlockDevice) *int { return v.Iops }).(pulumi.IntPtrOutput) +} + +// Amazon Resource Name (ARN) of the KMS Key to use when encrypting the volume. Must be configured to perform drift detection. +func (o SpotInstanceRequestRootBlockDeviceOutput) KmsKeyId() pulumi.StringPtrOutput { + return o.ApplyT(func(v SpotInstanceRequestRootBlockDevice) *string { return v.KmsKeyId }).(pulumi.StringPtrOutput) +} + +// Map of tags to assign to the device. +func (o SpotInstanceRequestRootBlockDeviceOutput) Tags() pulumi.StringMapOutput { + return o.ApplyT(func(v SpotInstanceRequestRootBlockDevice) map[string]string { return v.Tags }).(pulumi.StringMapOutput) } -type SpotInstanceRequestEbsBlockDeviceArray []SpotInstanceRequestEbsBlockDeviceInput +// A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. +func (o SpotInstanceRequestRootBlockDeviceOutput) TagsAll() pulumi.StringMapOutput { + return o.ApplyT(func(v SpotInstanceRequestRootBlockDevice) map[string]string { return v.TagsAll }).(pulumi.StringMapOutput) +} -func (SpotInstanceRequestEbsBlockDeviceArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]SpotInstanceRequestEbsBlockDevice)(nil)).Elem() +// Throughput to provision for a volume in mebibytes per second (MiB/s). This is only valid for `volumeType` of `gp3`. +func (o SpotInstanceRequestRootBlockDeviceOutput) Throughput() pulumi.IntPtrOutput { + return o.ApplyT(func(v SpotInstanceRequestRootBlockDevice) *int { return v.Throughput }).(pulumi.IntPtrOutput) } -func (i SpotInstanceRequestEbsBlockDeviceArray) ToSpotInstanceRequestEbsBlockDeviceArrayOutput() SpotInstanceRequestEbsBlockDeviceArrayOutput { - return i.ToSpotInstanceRequestEbsBlockDeviceArrayOutputWithContext(context.Background()) +func (o SpotInstanceRequestRootBlockDeviceOutput) VolumeId() pulumi.StringPtrOutput { + return o.ApplyT(func(v SpotInstanceRequestRootBlockDevice) *string { return v.VolumeId }).(pulumi.StringPtrOutput) } -func (i SpotInstanceRequestEbsBlockDeviceArray) ToSpotInstanceRequestEbsBlockDeviceArrayOutputWithContext(ctx context.Context) SpotInstanceRequestEbsBlockDeviceArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(SpotInstanceRequestEbsBlockDeviceArrayOutput) +// Size of the volume in gibibytes (GiB). +func (o SpotInstanceRequestRootBlockDeviceOutput) VolumeSize() pulumi.IntPtrOutput { + return o.ApplyT(func(v SpotInstanceRequestRootBlockDevice) *int { return v.VolumeSize }).(pulumi.IntPtrOutput) } -type SpotInstanceRequestEbsBlockDeviceOutput struct{ *pulumi.OutputState } +// 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 { + return o.ApplyT(func(v SpotInstanceRequestRootBlockDevice) *string { return v.VolumeType }).(pulumi.StringPtrOutput) +} -func (SpotInstanceRequestEbsBlockDeviceOutput) ElementType() reflect.Type { - return reflect.TypeOf((*SpotInstanceRequestEbsBlockDevice)(nil)).Elem() +type SpotInstanceRequestRootBlockDevicePtrOutput struct{ *pulumi.OutputState } + +func (SpotInstanceRequestRootBlockDevicePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**SpotInstanceRequestRootBlockDevice)(nil)).Elem() } -func (o SpotInstanceRequestEbsBlockDeviceOutput) ToSpotInstanceRequestEbsBlockDeviceOutput() SpotInstanceRequestEbsBlockDeviceOutput { +func (o SpotInstanceRequestRootBlockDevicePtrOutput) ToSpotInstanceRequestRootBlockDevicePtrOutput() SpotInstanceRequestRootBlockDevicePtrOutput { return o } -func (o SpotInstanceRequestEbsBlockDeviceOutput) ToSpotInstanceRequestEbsBlockDeviceOutputWithContext(ctx context.Context) SpotInstanceRequestEbsBlockDeviceOutput { +func (o SpotInstanceRequestRootBlockDevicePtrOutput) ToSpotInstanceRequestRootBlockDevicePtrOutputWithContext(ctx context.Context) SpotInstanceRequestRootBlockDevicePtrOutput { return o } +func (o SpotInstanceRequestRootBlockDevicePtrOutput) Elem() SpotInstanceRequestRootBlockDeviceOutput { + return o.ApplyT(func(v *SpotInstanceRequestRootBlockDevice) SpotInstanceRequestRootBlockDevice { + if v != nil { + return *v + } + var ret SpotInstanceRequestRootBlockDevice + return ret + }).(SpotInstanceRequestRootBlockDeviceOutput) +} + // Whether the volume should be destroyed on instance termination. Defaults to `true`. -func (o SpotInstanceRequestEbsBlockDeviceOutput) DeleteOnTermination() pulumi.BoolPtrOutput { - return o.ApplyT(func(v SpotInstanceRequestEbsBlockDevice) *bool { return v.DeleteOnTermination }).(pulumi.BoolPtrOutput) +func (o SpotInstanceRequestRootBlockDevicePtrOutput) DeleteOnTermination() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *SpotInstanceRequestRootBlockDevice) *bool { + if v == nil { + return nil + } + return v.DeleteOnTermination + }).(pulumi.BoolPtrOutput) } -// Name of the device to mount. -func (o SpotInstanceRequestEbsBlockDeviceOutput) DeviceName() pulumi.StringOutput { - return o.ApplyT(func(v SpotInstanceRequestEbsBlockDevice) string { return v.DeviceName }).(pulumi.StringOutput) +func (o SpotInstanceRequestRootBlockDevicePtrOutput) DeviceName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *SpotInstanceRequestRootBlockDevice) *string { + if v == nil { + return nil + } + return v.DeviceName + }).(pulumi.StringPtrOutput) } -// Enables [EBS encryption](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html) on the volume. Defaults to `false`. Cannot be used with `snapshotId`. Must be configured to perform drift detection. -func (o SpotInstanceRequestEbsBlockDeviceOutput) Encrypted() pulumi.BoolPtrOutput { - return o.ApplyT(func(v SpotInstanceRequestEbsBlockDevice) *bool { return v.Encrypted }).(pulumi.BoolPtrOutput) +// Whether to enable volume encryption. Defaults to `false`. Must be configured to perform drift detection. +func (o SpotInstanceRequestRootBlockDevicePtrOutput) Encrypted() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *SpotInstanceRequestRootBlockDevice) *bool { + if v == nil { + return nil + } + return v.Encrypted + }).(pulumi.BoolPtrOutput) } // Amount of provisioned [IOPS](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-io-characteristics.html). Only valid for volumeType of `io1`, `io2` or `gp3`. -func (o SpotInstanceRequestEbsBlockDeviceOutput) Iops() pulumi.IntPtrOutput { - return o.ApplyT(func(v SpotInstanceRequestEbsBlockDevice) *int { return v.Iops }).(pulumi.IntPtrOutput) +func (o SpotInstanceRequestRootBlockDevicePtrOutput) Iops() pulumi.IntPtrOutput { + return o.ApplyT(func(v *SpotInstanceRequestRootBlockDevice) *int { + if v == nil { + return nil + } + return v.Iops + }).(pulumi.IntPtrOutput) } // Amazon Resource Name (ARN) of the KMS Key to use when encrypting the volume. Must be configured to perform drift detection. -func (o SpotInstanceRequestEbsBlockDeviceOutput) KmsKeyId() pulumi.StringPtrOutput { - return o.ApplyT(func(v SpotInstanceRequestEbsBlockDevice) *string { return v.KmsKeyId }).(pulumi.StringPtrOutput) -} - -// Snapshot ID to mount. -func (o SpotInstanceRequestEbsBlockDeviceOutput) SnapshotId() pulumi.StringPtrOutput { - return o.ApplyT(func(v SpotInstanceRequestEbsBlockDevice) *string { return v.SnapshotId }).(pulumi.StringPtrOutput) +func (o SpotInstanceRequestRootBlockDevicePtrOutput) KmsKeyId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *SpotInstanceRequestRootBlockDevice) *string { + if v == nil { + return nil + } + return v.KmsKeyId + }).(pulumi.StringPtrOutput) } // Map of tags to assign to the device. -func (o SpotInstanceRequestEbsBlockDeviceOutput) Tags() pulumi.StringMapOutput { - return o.ApplyT(func(v SpotInstanceRequestEbsBlockDevice) map[string]string { return v.Tags }).(pulumi.StringMapOutput) +func (o SpotInstanceRequestRootBlockDevicePtrOutput) Tags() pulumi.StringMapOutput { + return o.ApplyT(func(v *SpotInstanceRequestRootBlockDevice) map[string]string { + if v == nil { + return nil + } + return v.Tags + }).(pulumi.StringMapOutput) } // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. -func (o SpotInstanceRequestEbsBlockDeviceOutput) TagsAll() pulumi.StringMapOutput { - return o.ApplyT(func(v SpotInstanceRequestEbsBlockDevice) map[string]string { return v.TagsAll }).(pulumi.StringMapOutput) +func (o SpotInstanceRequestRootBlockDevicePtrOutput) TagsAll() pulumi.StringMapOutput { + return o.ApplyT(func(v *SpotInstanceRequestRootBlockDevice) map[string]string { + if v == nil { + return nil + } + return v.TagsAll + }).(pulumi.StringMapOutput) } // Throughput to provision for a volume in mebibytes per second (MiB/s). This is only valid for `volumeType` of `gp3`. -func (o SpotInstanceRequestEbsBlockDeviceOutput) Throughput() pulumi.IntPtrOutput { - return o.ApplyT(func(v SpotInstanceRequestEbsBlockDevice) *int { return v.Throughput }).(pulumi.IntPtrOutput) +func (o SpotInstanceRequestRootBlockDevicePtrOutput) Throughput() pulumi.IntPtrOutput { + return o.ApplyT(func(v *SpotInstanceRequestRootBlockDevice) *int { + if v == nil { + return nil + } + return v.Throughput + }).(pulumi.IntPtrOutput) } -func (o SpotInstanceRequestEbsBlockDeviceOutput) VolumeId() pulumi.StringPtrOutput { - return o.ApplyT(func(v SpotInstanceRequestEbsBlockDevice) *string { return v.VolumeId }).(pulumi.StringPtrOutput) +func (o SpotInstanceRequestRootBlockDevicePtrOutput) VolumeId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *SpotInstanceRequestRootBlockDevice) *string { + if v == nil { + return nil + } + return v.VolumeId + }).(pulumi.StringPtrOutput) } // Size of the volume in gibibytes (GiB). -func (o SpotInstanceRequestEbsBlockDeviceOutput) VolumeSize() pulumi.IntPtrOutput { - return o.ApplyT(func(v SpotInstanceRequestEbsBlockDevice) *int { return v.VolumeSize }).(pulumi.IntPtrOutput) +func (o SpotInstanceRequestRootBlockDevicePtrOutput) VolumeSize() pulumi.IntPtrOutput { + return o.ApplyT(func(v *SpotInstanceRequestRootBlockDevice) *int { + if v == nil { + return nil + } + 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. // -// > **NOTE:** Currently, changes to the `ebsBlockDevice` configuration of _existing_ resources cannot be automatically detected by this provider. To manage changes and attachments of an EBS block to an instance, use the `ebs.Volume` and `ec2.VolumeAttachment` resources instead. If you use `ebsBlockDevice` on an `ec2.Instance`, this provider will assume management over the full set of non-root EBS block devices for the instance, treating additional block devices as drift. For this reason, `ebsBlockDevice` cannot be mixed with external `ebs.Volume` and `ec2.VolumeAttachment` resources for a given instance. -func (o SpotInstanceRequestEbsBlockDeviceOutput) VolumeType() pulumi.StringPtrOutput { - return o.ApplyT(func(v SpotInstanceRequestEbsBlockDevice) *string { return v.VolumeType }).(pulumi.StringPtrOutput) -} - -type SpotInstanceRequestEbsBlockDeviceArrayOutput struct{ *pulumi.OutputState } - -func (SpotInstanceRequestEbsBlockDeviceArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]SpotInstanceRequestEbsBlockDevice)(nil)).Elem() -} - -func (o SpotInstanceRequestEbsBlockDeviceArrayOutput) ToSpotInstanceRequestEbsBlockDeviceArrayOutput() SpotInstanceRequestEbsBlockDeviceArrayOutput { - return o -} - -func (o SpotInstanceRequestEbsBlockDeviceArrayOutput) ToSpotInstanceRequestEbsBlockDeviceArrayOutputWithContext(ctx context.Context) SpotInstanceRequestEbsBlockDeviceArrayOutput { - return o -} - -func (o SpotInstanceRequestEbsBlockDeviceArrayOutput) Index(i pulumi.IntInput) SpotInstanceRequestEbsBlockDeviceOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) SpotInstanceRequestEbsBlockDevice { - return vs[0].([]SpotInstanceRequestEbsBlockDevice)[vs[1].(int)] - }).(SpotInstanceRequestEbsBlockDeviceOutput) +// Modifying the `encrypted` or `kmsKeyId` settings of the `rootBlockDevice` requires resource replacement. +func (o SpotInstanceRequestRootBlockDevicePtrOutput) VolumeType() pulumi.StringPtrOutput { + return o.ApplyT(func(v *SpotInstanceRequestRootBlockDevice) *string { + if v == nil { + return nil + } + return v.VolumeType + }).(pulumi.StringPtrOutput) } -type SpotInstanceRequestEnclaveOptions struct { - // Whether Nitro Enclaves will be enabled on the instance. Defaults to `false`. - // - // For more information, see the documentation on [Nitro Enclaves](https://docs.aws.amazon.com/enclaves/latest/user/nitro-enclave.html). - Enabled *bool `pulumi:"enabled"` +type TrafficMirrorFilterRuleDestinationPortRange struct { + // Starting port of the range + FromPort *int `pulumi:"fromPort"` + // Ending port of the range + ToPort *int `pulumi:"toPort"` } -// SpotInstanceRequestEnclaveOptionsInput is an input type that accepts SpotInstanceRequestEnclaveOptionsArgs and SpotInstanceRequestEnclaveOptionsOutput values. -// You can construct a concrete instance of `SpotInstanceRequestEnclaveOptionsInput` via: +// TrafficMirrorFilterRuleDestinationPortRangeInput is an input type that accepts TrafficMirrorFilterRuleDestinationPortRangeArgs and TrafficMirrorFilterRuleDestinationPortRangeOutput values. +// You can construct a concrete instance of `TrafficMirrorFilterRuleDestinationPortRangeInput` via: // -// SpotInstanceRequestEnclaveOptionsArgs{...} -type SpotInstanceRequestEnclaveOptionsInput interface { +// TrafficMirrorFilterRuleDestinationPortRangeArgs{...} +type TrafficMirrorFilterRuleDestinationPortRangeInput interface { pulumi.Input - ToSpotInstanceRequestEnclaveOptionsOutput() SpotInstanceRequestEnclaveOptionsOutput - ToSpotInstanceRequestEnclaveOptionsOutputWithContext(context.Context) SpotInstanceRequestEnclaveOptionsOutput + ToTrafficMirrorFilterRuleDestinationPortRangeOutput() TrafficMirrorFilterRuleDestinationPortRangeOutput + ToTrafficMirrorFilterRuleDestinationPortRangeOutputWithContext(context.Context) TrafficMirrorFilterRuleDestinationPortRangeOutput } -type SpotInstanceRequestEnclaveOptionsArgs struct { - // Whether Nitro Enclaves will be enabled on the instance. Defaults to `false`. - // - // For more information, see the documentation on [Nitro Enclaves](https://docs.aws.amazon.com/enclaves/latest/user/nitro-enclave.html). - Enabled pulumi.BoolPtrInput `pulumi:"enabled"` +type TrafficMirrorFilterRuleDestinationPortRangeArgs struct { + // Starting port of the range + FromPort pulumi.IntPtrInput `pulumi:"fromPort"` + // Ending port of the range + ToPort pulumi.IntPtrInput `pulumi:"toPort"` } -func (SpotInstanceRequestEnclaveOptionsArgs) ElementType() reflect.Type { - return reflect.TypeOf((*SpotInstanceRequestEnclaveOptions)(nil)).Elem() +func (TrafficMirrorFilterRuleDestinationPortRangeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*TrafficMirrorFilterRuleDestinationPortRange)(nil)).Elem() } -func (i SpotInstanceRequestEnclaveOptionsArgs) ToSpotInstanceRequestEnclaveOptionsOutput() SpotInstanceRequestEnclaveOptionsOutput { - return i.ToSpotInstanceRequestEnclaveOptionsOutputWithContext(context.Background()) +func (i TrafficMirrorFilterRuleDestinationPortRangeArgs) ToTrafficMirrorFilterRuleDestinationPortRangeOutput() TrafficMirrorFilterRuleDestinationPortRangeOutput { + return i.ToTrafficMirrorFilterRuleDestinationPortRangeOutputWithContext(context.Background()) } -func (i SpotInstanceRequestEnclaveOptionsArgs) ToSpotInstanceRequestEnclaveOptionsOutputWithContext(ctx context.Context) SpotInstanceRequestEnclaveOptionsOutput { - return pulumi.ToOutputWithContext(ctx, i).(SpotInstanceRequestEnclaveOptionsOutput) +func (i TrafficMirrorFilterRuleDestinationPortRangeArgs) ToTrafficMirrorFilterRuleDestinationPortRangeOutputWithContext(ctx context.Context) TrafficMirrorFilterRuleDestinationPortRangeOutput { + return pulumi.ToOutputWithContext(ctx, i).(TrafficMirrorFilterRuleDestinationPortRangeOutput) } -func (i SpotInstanceRequestEnclaveOptionsArgs) ToSpotInstanceRequestEnclaveOptionsPtrOutput() SpotInstanceRequestEnclaveOptionsPtrOutput { - return i.ToSpotInstanceRequestEnclaveOptionsPtrOutputWithContext(context.Background()) +func (i TrafficMirrorFilterRuleDestinationPortRangeArgs) ToTrafficMirrorFilterRuleDestinationPortRangePtrOutput() TrafficMirrorFilterRuleDestinationPortRangePtrOutput { + return i.ToTrafficMirrorFilterRuleDestinationPortRangePtrOutputWithContext(context.Background()) } -func (i SpotInstanceRequestEnclaveOptionsArgs) ToSpotInstanceRequestEnclaveOptionsPtrOutputWithContext(ctx context.Context) SpotInstanceRequestEnclaveOptionsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(SpotInstanceRequestEnclaveOptionsOutput).ToSpotInstanceRequestEnclaveOptionsPtrOutputWithContext(ctx) +func (i TrafficMirrorFilterRuleDestinationPortRangeArgs) ToTrafficMirrorFilterRuleDestinationPortRangePtrOutputWithContext(ctx context.Context) TrafficMirrorFilterRuleDestinationPortRangePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(TrafficMirrorFilterRuleDestinationPortRangeOutput).ToTrafficMirrorFilterRuleDestinationPortRangePtrOutputWithContext(ctx) } -// SpotInstanceRequestEnclaveOptionsPtrInput is an input type that accepts SpotInstanceRequestEnclaveOptionsArgs, SpotInstanceRequestEnclaveOptionsPtr and SpotInstanceRequestEnclaveOptionsPtrOutput values. -// You can construct a concrete instance of `SpotInstanceRequestEnclaveOptionsPtrInput` via: +// TrafficMirrorFilterRuleDestinationPortRangePtrInput is an input type that accepts TrafficMirrorFilterRuleDestinationPortRangeArgs, TrafficMirrorFilterRuleDestinationPortRangePtr and TrafficMirrorFilterRuleDestinationPortRangePtrOutput values. +// You can construct a concrete instance of `TrafficMirrorFilterRuleDestinationPortRangePtrInput` via: // -// SpotInstanceRequestEnclaveOptionsArgs{...} +// TrafficMirrorFilterRuleDestinationPortRangeArgs{...} // // or: // // nil -type SpotInstanceRequestEnclaveOptionsPtrInput interface { +type TrafficMirrorFilterRuleDestinationPortRangePtrInput interface { pulumi.Input - ToSpotInstanceRequestEnclaveOptionsPtrOutput() SpotInstanceRequestEnclaveOptionsPtrOutput - ToSpotInstanceRequestEnclaveOptionsPtrOutputWithContext(context.Context) SpotInstanceRequestEnclaveOptionsPtrOutput + ToTrafficMirrorFilterRuleDestinationPortRangePtrOutput() TrafficMirrorFilterRuleDestinationPortRangePtrOutput + ToTrafficMirrorFilterRuleDestinationPortRangePtrOutputWithContext(context.Context) TrafficMirrorFilterRuleDestinationPortRangePtrOutput } -type spotInstanceRequestEnclaveOptionsPtrType SpotInstanceRequestEnclaveOptionsArgs +type trafficMirrorFilterRuleDestinationPortRangePtrType TrafficMirrorFilterRuleDestinationPortRangeArgs -func SpotInstanceRequestEnclaveOptionsPtr(v *SpotInstanceRequestEnclaveOptionsArgs) SpotInstanceRequestEnclaveOptionsPtrInput { - return (*spotInstanceRequestEnclaveOptionsPtrType)(v) +func TrafficMirrorFilterRuleDestinationPortRangePtr(v *TrafficMirrorFilterRuleDestinationPortRangeArgs) TrafficMirrorFilterRuleDestinationPortRangePtrInput { + return (*trafficMirrorFilterRuleDestinationPortRangePtrType)(v) } -func (*spotInstanceRequestEnclaveOptionsPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**SpotInstanceRequestEnclaveOptions)(nil)).Elem() +func (*trafficMirrorFilterRuleDestinationPortRangePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**TrafficMirrorFilterRuleDestinationPortRange)(nil)).Elem() } -func (i *spotInstanceRequestEnclaveOptionsPtrType) ToSpotInstanceRequestEnclaveOptionsPtrOutput() SpotInstanceRequestEnclaveOptionsPtrOutput { - return i.ToSpotInstanceRequestEnclaveOptionsPtrOutputWithContext(context.Background()) +func (i *trafficMirrorFilterRuleDestinationPortRangePtrType) ToTrafficMirrorFilterRuleDestinationPortRangePtrOutput() TrafficMirrorFilterRuleDestinationPortRangePtrOutput { + return i.ToTrafficMirrorFilterRuleDestinationPortRangePtrOutputWithContext(context.Background()) } -func (i *spotInstanceRequestEnclaveOptionsPtrType) ToSpotInstanceRequestEnclaveOptionsPtrOutputWithContext(ctx context.Context) SpotInstanceRequestEnclaveOptionsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(SpotInstanceRequestEnclaveOptionsPtrOutput) +func (i *trafficMirrorFilterRuleDestinationPortRangePtrType) ToTrafficMirrorFilterRuleDestinationPortRangePtrOutputWithContext(ctx context.Context) TrafficMirrorFilterRuleDestinationPortRangePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(TrafficMirrorFilterRuleDestinationPortRangePtrOutput) } -type SpotInstanceRequestEnclaveOptionsOutput struct{ *pulumi.OutputState } +type TrafficMirrorFilterRuleDestinationPortRangeOutput struct{ *pulumi.OutputState } -func (SpotInstanceRequestEnclaveOptionsOutput) ElementType() reflect.Type { - return reflect.TypeOf((*SpotInstanceRequestEnclaveOptions)(nil)).Elem() +func (TrafficMirrorFilterRuleDestinationPortRangeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*TrafficMirrorFilterRuleDestinationPortRange)(nil)).Elem() } -func (o SpotInstanceRequestEnclaveOptionsOutput) ToSpotInstanceRequestEnclaveOptionsOutput() SpotInstanceRequestEnclaveOptionsOutput { +func (o TrafficMirrorFilterRuleDestinationPortRangeOutput) ToTrafficMirrorFilterRuleDestinationPortRangeOutput() TrafficMirrorFilterRuleDestinationPortRangeOutput { return o } -func (o SpotInstanceRequestEnclaveOptionsOutput) ToSpotInstanceRequestEnclaveOptionsOutputWithContext(ctx context.Context) SpotInstanceRequestEnclaveOptionsOutput { +func (o TrafficMirrorFilterRuleDestinationPortRangeOutput) ToTrafficMirrorFilterRuleDestinationPortRangeOutputWithContext(ctx context.Context) TrafficMirrorFilterRuleDestinationPortRangeOutput { return o } -func (o SpotInstanceRequestEnclaveOptionsOutput) ToSpotInstanceRequestEnclaveOptionsPtrOutput() SpotInstanceRequestEnclaveOptionsPtrOutput { - return o.ToSpotInstanceRequestEnclaveOptionsPtrOutputWithContext(context.Background()) +func (o TrafficMirrorFilterRuleDestinationPortRangeOutput) ToTrafficMirrorFilterRuleDestinationPortRangePtrOutput() TrafficMirrorFilterRuleDestinationPortRangePtrOutput { + return o.ToTrafficMirrorFilterRuleDestinationPortRangePtrOutputWithContext(context.Background()) } -func (o SpotInstanceRequestEnclaveOptionsOutput) ToSpotInstanceRequestEnclaveOptionsPtrOutputWithContext(ctx context.Context) SpotInstanceRequestEnclaveOptionsPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v SpotInstanceRequestEnclaveOptions) *SpotInstanceRequestEnclaveOptions { +func (o TrafficMirrorFilterRuleDestinationPortRangeOutput) ToTrafficMirrorFilterRuleDestinationPortRangePtrOutputWithContext(ctx context.Context) TrafficMirrorFilterRuleDestinationPortRangePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v TrafficMirrorFilterRuleDestinationPortRange) *TrafficMirrorFilterRuleDestinationPortRange { return &v - }).(SpotInstanceRequestEnclaveOptionsPtrOutput) + }).(TrafficMirrorFilterRuleDestinationPortRangePtrOutput) } -// Whether Nitro Enclaves will be enabled on the instance. Defaults to `false`. -// -// For more information, see the documentation on [Nitro Enclaves](https://docs.aws.amazon.com/enclaves/latest/user/nitro-enclave.html). -func (o SpotInstanceRequestEnclaveOptionsOutput) Enabled() pulumi.BoolPtrOutput { - return o.ApplyT(func(v SpotInstanceRequestEnclaveOptions) *bool { return v.Enabled }).(pulumi.BoolPtrOutput) +// Starting port of the range +func (o TrafficMirrorFilterRuleDestinationPortRangeOutput) FromPort() pulumi.IntPtrOutput { + return o.ApplyT(func(v TrafficMirrorFilterRuleDestinationPortRange) *int { return v.FromPort }).(pulumi.IntPtrOutput) } -type SpotInstanceRequestEnclaveOptionsPtrOutput struct{ *pulumi.OutputState } +// Ending port of the range +func (o TrafficMirrorFilterRuleDestinationPortRangeOutput) ToPort() pulumi.IntPtrOutput { + return o.ApplyT(func(v TrafficMirrorFilterRuleDestinationPortRange) *int { return v.ToPort }).(pulumi.IntPtrOutput) +} -func (SpotInstanceRequestEnclaveOptionsPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**SpotInstanceRequestEnclaveOptions)(nil)).Elem() +type TrafficMirrorFilterRuleDestinationPortRangePtrOutput struct{ *pulumi.OutputState } + +func (TrafficMirrorFilterRuleDestinationPortRangePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**TrafficMirrorFilterRuleDestinationPortRange)(nil)).Elem() } -func (o SpotInstanceRequestEnclaveOptionsPtrOutput) ToSpotInstanceRequestEnclaveOptionsPtrOutput() SpotInstanceRequestEnclaveOptionsPtrOutput { +func (o TrafficMirrorFilterRuleDestinationPortRangePtrOutput) ToTrafficMirrorFilterRuleDestinationPortRangePtrOutput() TrafficMirrorFilterRuleDestinationPortRangePtrOutput { return o } -func (o SpotInstanceRequestEnclaveOptionsPtrOutput) ToSpotInstanceRequestEnclaveOptionsPtrOutputWithContext(ctx context.Context) SpotInstanceRequestEnclaveOptionsPtrOutput { +func (o TrafficMirrorFilterRuleDestinationPortRangePtrOutput) ToTrafficMirrorFilterRuleDestinationPortRangePtrOutputWithContext(ctx context.Context) TrafficMirrorFilterRuleDestinationPortRangePtrOutput { return o } -func (o SpotInstanceRequestEnclaveOptionsPtrOutput) Elem() SpotInstanceRequestEnclaveOptionsOutput { - return o.ApplyT(func(v *SpotInstanceRequestEnclaveOptions) SpotInstanceRequestEnclaveOptions { +func (o TrafficMirrorFilterRuleDestinationPortRangePtrOutput) Elem() TrafficMirrorFilterRuleDestinationPortRangeOutput { + return o.ApplyT(func(v *TrafficMirrorFilterRuleDestinationPortRange) TrafficMirrorFilterRuleDestinationPortRange { if v != nil { return *v } - var ret SpotInstanceRequestEnclaveOptions + var ret TrafficMirrorFilterRuleDestinationPortRange return ret - }).(SpotInstanceRequestEnclaveOptionsOutput) + }).(TrafficMirrorFilterRuleDestinationPortRangeOutput) } -// Whether Nitro Enclaves will be enabled on the instance. Defaults to `false`. -// -// For more information, see the documentation on [Nitro Enclaves](https://docs.aws.amazon.com/enclaves/latest/user/nitro-enclave.html). -func (o SpotInstanceRequestEnclaveOptionsPtrOutput) Enabled() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *SpotInstanceRequestEnclaveOptions) *bool { +// Starting port of the range +func (o TrafficMirrorFilterRuleDestinationPortRangePtrOutput) FromPort() pulumi.IntPtrOutput { + return o.ApplyT(func(v *TrafficMirrorFilterRuleDestinationPortRange) *int { if v == nil { return nil } - return v.Enabled - }).(pulumi.BoolPtrOutput) + return v.FromPort + }).(pulumi.IntPtrOutput) } -type SpotInstanceRequestEphemeralBlockDevice struct { - // Name of the block device to mount on the instance. - DeviceName string `pulumi:"deviceName"` - // Suppresses the specified device included in the AMI's block device mapping. - NoDevice *bool `pulumi:"noDevice"` - // [Instance Store Device Name](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html#InstanceStoreDeviceNames) (e.g., `ephemeral0`). - // - // Each AWS Instance type has a different set of Instance Store block devices available for attachment. AWS [publishes a list](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html#StorageOnInstanceTypes) of which ephemeral devices are available on each type. The devices are always identified by the `virtualName` in the format `ephemeral{0..N}`. - VirtualName *string `pulumi:"virtualName"` +// Ending port of the range +func (o TrafficMirrorFilterRuleDestinationPortRangePtrOutput) ToPort() pulumi.IntPtrOutput { + return o.ApplyT(func(v *TrafficMirrorFilterRuleDestinationPortRange) *int { + if v == nil { + return nil + } + return v.ToPort + }).(pulumi.IntPtrOutput) } -// SpotInstanceRequestEphemeralBlockDeviceInput is an input type that accepts SpotInstanceRequestEphemeralBlockDeviceArgs and SpotInstanceRequestEphemeralBlockDeviceOutput values. -// You can construct a concrete instance of `SpotInstanceRequestEphemeralBlockDeviceInput` via: +type TrafficMirrorFilterRuleSourcePortRange struct { + // Starting port of the range + FromPort *int `pulumi:"fromPort"` + // Ending port of the range + ToPort *int `pulumi:"toPort"` +} + +// TrafficMirrorFilterRuleSourcePortRangeInput is an input type that accepts TrafficMirrorFilterRuleSourcePortRangeArgs and TrafficMirrorFilterRuleSourcePortRangeOutput values. +// You can construct a concrete instance of `TrafficMirrorFilterRuleSourcePortRangeInput` via: // -// SpotInstanceRequestEphemeralBlockDeviceArgs{...} -type SpotInstanceRequestEphemeralBlockDeviceInput interface { +// TrafficMirrorFilterRuleSourcePortRangeArgs{...} +type TrafficMirrorFilterRuleSourcePortRangeInput interface { pulumi.Input - ToSpotInstanceRequestEphemeralBlockDeviceOutput() SpotInstanceRequestEphemeralBlockDeviceOutput - ToSpotInstanceRequestEphemeralBlockDeviceOutputWithContext(context.Context) SpotInstanceRequestEphemeralBlockDeviceOutput + ToTrafficMirrorFilterRuleSourcePortRangeOutput() TrafficMirrorFilterRuleSourcePortRangeOutput + ToTrafficMirrorFilterRuleSourcePortRangeOutputWithContext(context.Context) TrafficMirrorFilterRuleSourcePortRangeOutput } -type SpotInstanceRequestEphemeralBlockDeviceArgs struct { - // Name of the block device to mount on the instance. - DeviceName pulumi.StringInput `pulumi:"deviceName"` - // Suppresses the specified device included in the AMI's block device mapping. - NoDevice pulumi.BoolPtrInput `pulumi:"noDevice"` - // [Instance Store Device Name](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html#InstanceStoreDeviceNames) (e.g., `ephemeral0`). - // - // Each AWS Instance type has a different set of Instance Store block devices available for attachment. AWS [publishes a list](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html#StorageOnInstanceTypes) of which ephemeral devices are available on each type. The devices are always identified by the `virtualName` in the format `ephemeral{0..N}`. - VirtualName pulumi.StringPtrInput `pulumi:"virtualName"` +type TrafficMirrorFilterRuleSourcePortRangeArgs struct { + // Starting port of the range + FromPort pulumi.IntPtrInput `pulumi:"fromPort"` + // Ending port of the range + ToPort pulumi.IntPtrInput `pulumi:"toPort"` } -func (SpotInstanceRequestEphemeralBlockDeviceArgs) ElementType() reflect.Type { - return reflect.TypeOf((*SpotInstanceRequestEphemeralBlockDevice)(nil)).Elem() +func (TrafficMirrorFilterRuleSourcePortRangeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*TrafficMirrorFilterRuleSourcePortRange)(nil)).Elem() } -func (i SpotInstanceRequestEphemeralBlockDeviceArgs) ToSpotInstanceRequestEphemeralBlockDeviceOutput() SpotInstanceRequestEphemeralBlockDeviceOutput { - return i.ToSpotInstanceRequestEphemeralBlockDeviceOutputWithContext(context.Background()) +func (i TrafficMirrorFilterRuleSourcePortRangeArgs) ToTrafficMirrorFilterRuleSourcePortRangeOutput() TrafficMirrorFilterRuleSourcePortRangeOutput { + return i.ToTrafficMirrorFilterRuleSourcePortRangeOutputWithContext(context.Background()) } -func (i SpotInstanceRequestEphemeralBlockDeviceArgs) ToSpotInstanceRequestEphemeralBlockDeviceOutputWithContext(ctx context.Context) SpotInstanceRequestEphemeralBlockDeviceOutput { - return pulumi.ToOutputWithContext(ctx, i).(SpotInstanceRequestEphemeralBlockDeviceOutput) +func (i TrafficMirrorFilterRuleSourcePortRangeArgs) ToTrafficMirrorFilterRuleSourcePortRangeOutputWithContext(ctx context.Context) TrafficMirrorFilterRuleSourcePortRangeOutput { + return pulumi.ToOutputWithContext(ctx, i).(TrafficMirrorFilterRuleSourcePortRangeOutput) } -// SpotInstanceRequestEphemeralBlockDeviceArrayInput is an input type that accepts SpotInstanceRequestEphemeralBlockDeviceArray and SpotInstanceRequestEphemeralBlockDeviceArrayOutput values. -// You can construct a concrete instance of `SpotInstanceRequestEphemeralBlockDeviceArrayInput` via: +func (i TrafficMirrorFilterRuleSourcePortRangeArgs) ToTrafficMirrorFilterRuleSourcePortRangePtrOutput() TrafficMirrorFilterRuleSourcePortRangePtrOutput { + return i.ToTrafficMirrorFilterRuleSourcePortRangePtrOutputWithContext(context.Background()) +} + +func (i TrafficMirrorFilterRuleSourcePortRangeArgs) ToTrafficMirrorFilterRuleSourcePortRangePtrOutputWithContext(ctx context.Context) TrafficMirrorFilterRuleSourcePortRangePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(TrafficMirrorFilterRuleSourcePortRangeOutput).ToTrafficMirrorFilterRuleSourcePortRangePtrOutputWithContext(ctx) +} + +// TrafficMirrorFilterRuleSourcePortRangePtrInput is an input type that accepts TrafficMirrorFilterRuleSourcePortRangeArgs, TrafficMirrorFilterRuleSourcePortRangePtr and TrafficMirrorFilterRuleSourcePortRangePtrOutput values. +// You can construct a concrete instance of `TrafficMirrorFilterRuleSourcePortRangePtrInput` via: // -// SpotInstanceRequestEphemeralBlockDeviceArray{ SpotInstanceRequestEphemeralBlockDeviceArgs{...} } -type SpotInstanceRequestEphemeralBlockDeviceArrayInput interface { +// TrafficMirrorFilterRuleSourcePortRangeArgs{...} +// +// or: +// +// nil +type TrafficMirrorFilterRuleSourcePortRangePtrInput interface { pulumi.Input - ToSpotInstanceRequestEphemeralBlockDeviceArrayOutput() SpotInstanceRequestEphemeralBlockDeviceArrayOutput - ToSpotInstanceRequestEphemeralBlockDeviceArrayOutputWithContext(context.Context) SpotInstanceRequestEphemeralBlockDeviceArrayOutput + ToTrafficMirrorFilterRuleSourcePortRangePtrOutput() TrafficMirrorFilterRuleSourcePortRangePtrOutput + ToTrafficMirrorFilterRuleSourcePortRangePtrOutputWithContext(context.Context) TrafficMirrorFilterRuleSourcePortRangePtrOutput } -type SpotInstanceRequestEphemeralBlockDeviceArray []SpotInstanceRequestEphemeralBlockDeviceInput +type trafficMirrorFilterRuleSourcePortRangePtrType TrafficMirrorFilterRuleSourcePortRangeArgs -func (SpotInstanceRequestEphemeralBlockDeviceArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]SpotInstanceRequestEphemeralBlockDevice)(nil)).Elem() +func TrafficMirrorFilterRuleSourcePortRangePtr(v *TrafficMirrorFilterRuleSourcePortRangeArgs) TrafficMirrorFilterRuleSourcePortRangePtrInput { + return (*trafficMirrorFilterRuleSourcePortRangePtrType)(v) } -func (i SpotInstanceRequestEphemeralBlockDeviceArray) ToSpotInstanceRequestEphemeralBlockDeviceArrayOutput() SpotInstanceRequestEphemeralBlockDeviceArrayOutput { - return i.ToSpotInstanceRequestEphemeralBlockDeviceArrayOutputWithContext(context.Background()) +func (*trafficMirrorFilterRuleSourcePortRangePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**TrafficMirrorFilterRuleSourcePortRange)(nil)).Elem() } -func (i SpotInstanceRequestEphemeralBlockDeviceArray) ToSpotInstanceRequestEphemeralBlockDeviceArrayOutputWithContext(ctx context.Context) SpotInstanceRequestEphemeralBlockDeviceArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(SpotInstanceRequestEphemeralBlockDeviceArrayOutput) +func (i *trafficMirrorFilterRuleSourcePortRangePtrType) ToTrafficMirrorFilterRuleSourcePortRangePtrOutput() TrafficMirrorFilterRuleSourcePortRangePtrOutput { + return i.ToTrafficMirrorFilterRuleSourcePortRangePtrOutputWithContext(context.Background()) } -type SpotInstanceRequestEphemeralBlockDeviceOutput struct{ *pulumi.OutputState } +func (i *trafficMirrorFilterRuleSourcePortRangePtrType) ToTrafficMirrorFilterRuleSourcePortRangePtrOutputWithContext(ctx context.Context) TrafficMirrorFilterRuleSourcePortRangePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(TrafficMirrorFilterRuleSourcePortRangePtrOutput) +} -func (SpotInstanceRequestEphemeralBlockDeviceOutput) ElementType() reflect.Type { - return reflect.TypeOf((*SpotInstanceRequestEphemeralBlockDevice)(nil)).Elem() +type TrafficMirrorFilterRuleSourcePortRangeOutput struct{ *pulumi.OutputState } + +func (TrafficMirrorFilterRuleSourcePortRangeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*TrafficMirrorFilterRuleSourcePortRange)(nil)).Elem() } -func (o SpotInstanceRequestEphemeralBlockDeviceOutput) ToSpotInstanceRequestEphemeralBlockDeviceOutput() SpotInstanceRequestEphemeralBlockDeviceOutput { +func (o TrafficMirrorFilterRuleSourcePortRangeOutput) ToTrafficMirrorFilterRuleSourcePortRangeOutput() TrafficMirrorFilterRuleSourcePortRangeOutput { return o } -func (o SpotInstanceRequestEphemeralBlockDeviceOutput) ToSpotInstanceRequestEphemeralBlockDeviceOutputWithContext(ctx context.Context) SpotInstanceRequestEphemeralBlockDeviceOutput { +func (o TrafficMirrorFilterRuleSourcePortRangeOutput) ToTrafficMirrorFilterRuleSourcePortRangeOutputWithContext(ctx context.Context) TrafficMirrorFilterRuleSourcePortRangeOutput { return o } -// Name of the block device to mount on the instance. -func (o SpotInstanceRequestEphemeralBlockDeviceOutput) DeviceName() pulumi.StringOutput { - return o.ApplyT(func(v SpotInstanceRequestEphemeralBlockDevice) string { return v.DeviceName }).(pulumi.StringOutput) +func (o TrafficMirrorFilterRuleSourcePortRangeOutput) ToTrafficMirrorFilterRuleSourcePortRangePtrOutput() TrafficMirrorFilterRuleSourcePortRangePtrOutput { + return o.ToTrafficMirrorFilterRuleSourcePortRangePtrOutputWithContext(context.Background()) } -// Suppresses the specified device included in the AMI's block device mapping. -func (o SpotInstanceRequestEphemeralBlockDeviceOutput) NoDevice() pulumi.BoolPtrOutput { - return o.ApplyT(func(v SpotInstanceRequestEphemeralBlockDevice) *bool { return v.NoDevice }).(pulumi.BoolPtrOutput) +func (o TrafficMirrorFilterRuleSourcePortRangeOutput) ToTrafficMirrorFilterRuleSourcePortRangePtrOutputWithContext(ctx context.Context) TrafficMirrorFilterRuleSourcePortRangePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v TrafficMirrorFilterRuleSourcePortRange) *TrafficMirrorFilterRuleSourcePortRange { + return &v + }).(TrafficMirrorFilterRuleSourcePortRangePtrOutput) } -// [Instance Store Device Name](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html#InstanceStoreDeviceNames) (e.g., `ephemeral0`). -// -// Each AWS Instance type has a different set of Instance Store block devices available for attachment. AWS [publishes a list](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html#StorageOnInstanceTypes) of which ephemeral devices are available on each type. The devices are always identified by the `virtualName` in the format `ephemeral{0..N}`. -func (o SpotInstanceRequestEphemeralBlockDeviceOutput) VirtualName() pulumi.StringPtrOutput { - return o.ApplyT(func(v SpotInstanceRequestEphemeralBlockDevice) *string { return v.VirtualName }).(pulumi.StringPtrOutput) +// Starting port of the range +func (o TrafficMirrorFilterRuleSourcePortRangeOutput) FromPort() pulumi.IntPtrOutput { + return o.ApplyT(func(v TrafficMirrorFilterRuleSourcePortRange) *int { return v.FromPort }).(pulumi.IntPtrOutput) } -type SpotInstanceRequestEphemeralBlockDeviceArrayOutput struct{ *pulumi.OutputState } +// Ending port of the range +func (o TrafficMirrorFilterRuleSourcePortRangeOutput) ToPort() pulumi.IntPtrOutput { + return o.ApplyT(func(v TrafficMirrorFilterRuleSourcePortRange) *int { return v.ToPort }).(pulumi.IntPtrOutput) +} -func (SpotInstanceRequestEphemeralBlockDeviceArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]SpotInstanceRequestEphemeralBlockDevice)(nil)).Elem() +type TrafficMirrorFilterRuleSourcePortRangePtrOutput struct{ *pulumi.OutputState } + +func (TrafficMirrorFilterRuleSourcePortRangePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**TrafficMirrorFilterRuleSourcePortRange)(nil)).Elem() } -func (o SpotInstanceRequestEphemeralBlockDeviceArrayOutput) ToSpotInstanceRequestEphemeralBlockDeviceArrayOutput() SpotInstanceRequestEphemeralBlockDeviceArrayOutput { +func (o TrafficMirrorFilterRuleSourcePortRangePtrOutput) ToTrafficMirrorFilterRuleSourcePortRangePtrOutput() TrafficMirrorFilterRuleSourcePortRangePtrOutput { return o } -func (o SpotInstanceRequestEphemeralBlockDeviceArrayOutput) ToSpotInstanceRequestEphemeralBlockDeviceArrayOutputWithContext(ctx context.Context) SpotInstanceRequestEphemeralBlockDeviceArrayOutput { +func (o TrafficMirrorFilterRuleSourcePortRangePtrOutput) ToTrafficMirrorFilterRuleSourcePortRangePtrOutputWithContext(ctx context.Context) TrafficMirrorFilterRuleSourcePortRangePtrOutput { return o } -func (o SpotInstanceRequestEphemeralBlockDeviceArrayOutput) Index(i pulumi.IntInput) SpotInstanceRequestEphemeralBlockDeviceOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) SpotInstanceRequestEphemeralBlockDevice { - return vs[0].([]SpotInstanceRequestEphemeralBlockDevice)[vs[1].(int)] - }).(SpotInstanceRequestEphemeralBlockDeviceOutput) +func (o TrafficMirrorFilterRuleSourcePortRangePtrOutput) Elem() TrafficMirrorFilterRuleSourcePortRangeOutput { + return o.ApplyT(func(v *TrafficMirrorFilterRuleSourcePortRange) TrafficMirrorFilterRuleSourcePortRange { + if v != nil { + return *v + } + var ret TrafficMirrorFilterRuleSourcePortRange + return ret + }).(TrafficMirrorFilterRuleSourcePortRangeOutput) } -type SpotInstanceRequestLaunchTemplate struct { - // ID of the launch template. Conflicts with `name`. - Id *string `pulumi:"id"` - // Name of the launch template. Conflicts with `id`. - Name *string `pulumi:"name"` - // Template version. Can be a specific version number, `$Latest` or `$Default`. The default value is `$Default`. - Version *string `pulumi:"version"` +// Starting port of the range +func (o TrafficMirrorFilterRuleSourcePortRangePtrOutput) FromPort() pulumi.IntPtrOutput { + return o.ApplyT(func(v *TrafficMirrorFilterRuleSourcePortRange) *int { + if v == nil { + return nil + } + return v.FromPort + }).(pulumi.IntPtrOutput) +} + +// Ending port of the range +func (o TrafficMirrorFilterRuleSourcePortRangePtrOutput) ToPort() pulumi.IntPtrOutput { + return o.ApplyT(func(v *TrafficMirrorFilterRuleSourcePortRange) *int { + if v == nil { + return nil + } + return v.ToPort + }).(pulumi.IntPtrOutput) } -// SpotInstanceRequestLaunchTemplateInput is an input type that accepts SpotInstanceRequestLaunchTemplateArgs and SpotInstanceRequestLaunchTemplateOutput values. -// You can construct a concrete instance of `SpotInstanceRequestLaunchTemplateInput` via: +type VpcBlockPublicAccessExclusionTimeouts struct { + // A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + Create *string `pulumi:"create"` + // A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs. + Delete *string `pulumi:"delete"` + // A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + Update *string `pulumi:"update"` +} + +// VpcBlockPublicAccessExclusionTimeoutsInput is an input type that accepts VpcBlockPublicAccessExclusionTimeoutsArgs and VpcBlockPublicAccessExclusionTimeoutsOutput values. +// You can construct a concrete instance of `VpcBlockPublicAccessExclusionTimeoutsInput` via: // -// SpotInstanceRequestLaunchTemplateArgs{...} -type SpotInstanceRequestLaunchTemplateInput interface { +// VpcBlockPublicAccessExclusionTimeoutsArgs{...} +type VpcBlockPublicAccessExclusionTimeoutsInput interface { pulumi.Input - ToSpotInstanceRequestLaunchTemplateOutput() SpotInstanceRequestLaunchTemplateOutput - ToSpotInstanceRequestLaunchTemplateOutputWithContext(context.Context) SpotInstanceRequestLaunchTemplateOutput + ToVpcBlockPublicAccessExclusionTimeoutsOutput() VpcBlockPublicAccessExclusionTimeoutsOutput + ToVpcBlockPublicAccessExclusionTimeoutsOutputWithContext(context.Context) VpcBlockPublicAccessExclusionTimeoutsOutput } -type SpotInstanceRequestLaunchTemplateArgs struct { - // ID of the launch template. Conflicts with `name`. - Id pulumi.StringPtrInput `pulumi:"id"` - // Name of the launch template. Conflicts with `id`. - Name pulumi.StringPtrInput `pulumi:"name"` - // Template version. Can be a specific version number, `$Latest` or `$Default`. The default value is `$Default`. - Version pulumi.StringPtrInput `pulumi:"version"` +type VpcBlockPublicAccessExclusionTimeoutsArgs struct { + // A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + Create pulumi.StringPtrInput `pulumi:"create"` + // A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs. + Delete pulumi.StringPtrInput `pulumi:"delete"` + // A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + Update pulumi.StringPtrInput `pulumi:"update"` } -func (SpotInstanceRequestLaunchTemplateArgs) ElementType() reflect.Type { - return reflect.TypeOf((*SpotInstanceRequestLaunchTemplate)(nil)).Elem() +func (VpcBlockPublicAccessExclusionTimeoutsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VpcBlockPublicAccessExclusionTimeouts)(nil)).Elem() } -func (i SpotInstanceRequestLaunchTemplateArgs) ToSpotInstanceRequestLaunchTemplateOutput() SpotInstanceRequestLaunchTemplateOutput { - return i.ToSpotInstanceRequestLaunchTemplateOutputWithContext(context.Background()) +func (i VpcBlockPublicAccessExclusionTimeoutsArgs) ToVpcBlockPublicAccessExclusionTimeoutsOutput() VpcBlockPublicAccessExclusionTimeoutsOutput { + return i.ToVpcBlockPublicAccessExclusionTimeoutsOutputWithContext(context.Background()) } -func (i SpotInstanceRequestLaunchTemplateArgs) ToSpotInstanceRequestLaunchTemplateOutputWithContext(ctx context.Context) SpotInstanceRequestLaunchTemplateOutput { - return pulumi.ToOutputWithContext(ctx, i).(SpotInstanceRequestLaunchTemplateOutput) +func (i VpcBlockPublicAccessExclusionTimeoutsArgs) ToVpcBlockPublicAccessExclusionTimeoutsOutputWithContext(ctx context.Context) VpcBlockPublicAccessExclusionTimeoutsOutput { + return pulumi.ToOutputWithContext(ctx, i).(VpcBlockPublicAccessExclusionTimeoutsOutput) } -func (i SpotInstanceRequestLaunchTemplateArgs) ToSpotInstanceRequestLaunchTemplatePtrOutput() SpotInstanceRequestLaunchTemplatePtrOutput { - return i.ToSpotInstanceRequestLaunchTemplatePtrOutputWithContext(context.Background()) +func (i VpcBlockPublicAccessExclusionTimeoutsArgs) ToVpcBlockPublicAccessExclusionTimeoutsPtrOutput() VpcBlockPublicAccessExclusionTimeoutsPtrOutput { + return i.ToVpcBlockPublicAccessExclusionTimeoutsPtrOutputWithContext(context.Background()) } -func (i SpotInstanceRequestLaunchTemplateArgs) ToSpotInstanceRequestLaunchTemplatePtrOutputWithContext(ctx context.Context) SpotInstanceRequestLaunchTemplatePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(SpotInstanceRequestLaunchTemplateOutput).ToSpotInstanceRequestLaunchTemplatePtrOutputWithContext(ctx) +func (i VpcBlockPublicAccessExclusionTimeoutsArgs) ToVpcBlockPublicAccessExclusionTimeoutsPtrOutputWithContext(ctx context.Context) VpcBlockPublicAccessExclusionTimeoutsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VpcBlockPublicAccessExclusionTimeoutsOutput).ToVpcBlockPublicAccessExclusionTimeoutsPtrOutputWithContext(ctx) } -// SpotInstanceRequestLaunchTemplatePtrInput is an input type that accepts SpotInstanceRequestLaunchTemplateArgs, SpotInstanceRequestLaunchTemplatePtr and SpotInstanceRequestLaunchTemplatePtrOutput values. -// You can construct a concrete instance of `SpotInstanceRequestLaunchTemplatePtrInput` via: +// VpcBlockPublicAccessExclusionTimeoutsPtrInput is an input type that accepts VpcBlockPublicAccessExclusionTimeoutsArgs, VpcBlockPublicAccessExclusionTimeoutsPtr and VpcBlockPublicAccessExclusionTimeoutsPtrOutput values. +// You can construct a concrete instance of `VpcBlockPublicAccessExclusionTimeoutsPtrInput` via: // -// SpotInstanceRequestLaunchTemplateArgs{...} +// VpcBlockPublicAccessExclusionTimeoutsArgs{...} // // or: // // nil -type SpotInstanceRequestLaunchTemplatePtrInput interface { +type VpcBlockPublicAccessExclusionTimeoutsPtrInput interface { pulumi.Input - ToSpotInstanceRequestLaunchTemplatePtrOutput() SpotInstanceRequestLaunchTemplatePtrOutput - ToSpotInstanceRequestLaunchTemplatePtrOutputWithContext(context.Context) SpotInstanceRequestLaunchTemplatePtrOutput + ToVpcBlockPublicAccessExclusionTimeoutsPtrOutput() VpcBlockPublicAccessExclusionTimeoutsPtrOutput + ToVpcBlockPublicAccessExclusionTimeoutsPtrOutputWithContext(context.Context) VpcBlockPublicAccessExclusionTimeoutsPtrOutput } -type spotInstanceRequestLaunchTemplatePtrType SpotInstanceRequestLaunchTemplateArgs +type vpcBlockPublicAccessExclusionTimeoutsPtrType VpcBlockPublicAccessExclusionTimeoutsArgs -func SpotInstanceRequestLaunchTemplatePtr(v *SpotInstanceRequestLaunchTemplateArgs) SpotInstanceRequestLaunchTemplatePtrInput { - return (*spotInstanceRequestLaunchTemplatePtrType)(v) +func VpcBlockPublicAccessExclusionTimeoutsPtr(v *VpcBlockPublicAccessExclusionTimeoutsArgs) VpcBlockPublicAccessExclusionTimeoutsPtrInput { + return (*vpcBlockPublicAccessExclusionTimeoutsPtrType)(v) } -func (*spotInstanceRequestLaunchTemplatePtrType) ElementType() reflect.Type { - return reflect.TypeOf((**SpotInstanceRequestLaunchTemplate)(nil)).Elem() +func (*vpcBlockPublicAccessExclusionTimeoutsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VpcBlockPublicAccessExclusionTimeouts)(nil)).Elem() } -func (i *spotInstanceRequestLaunchTemplatePtrType) ToSpotInstanceRequestLaunchTemplatePtrOutput() SpotInstanceRequestLaunchTemplatePtrOutput { - return i.ToSpotInstanceRequestLaunchTemplatePtrOutputWithContext(context.Background()) +func (i *vpcBlockPublicAccessExclusionTimeoutsPtrType) ToVpcBlockPublicAccessExclusionTimeoutsPtrOutput() VpcBlockPublicAccessExclusionTimeoutsPtrOutput { + return i.ToVpcBlockPublicAccessExclusionTimeoutsPtrOutputWithContext(context.Background()) } -func (i *spotInstanceRequestLaunchTemplatePtrType) ToSpotInstanceRequestLaunchTemplatePtrOutputWithContext(ctx context.Context) SpotInstanceRequestLaunchTemplatePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(SpotInstanceRequestLaunchTemplatePtrOutput) +func (i *vpcBlockPublicAccessExclusionTimeoutsPtrType) ToVpcBlockPublicAccessExclusionTimeoutsPtrOutputWithContext(ctx context.Context) VpcBlockPublicAccessExclusionTimeoutsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VpcBlockPublicAccessExclusionTimeoutsPtrOutput) } -type SpotInstanceRequestLaunchTemplateOutput struct{ *pulumi.OutputState } +type VpcBlockPublicAccessExclusionTimeoutsOutput struct{ *pulumi.OutputState } -func (SpotInstanceRequestLaunchTemplateOutput) ElementType() reflect.Type { - return reflect.TypeOf((*SpotInstanceRequestLaunchTemplate)(nil)).Elem() +func (VpcBlockPublicAccessExclusionTimeoutsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VpcBlockPublicAccessExclusionTimeouts)(nil)).Elem() } -func (o SpotInstanceRequestLaunchTemplateOutput) ToSpotInstanceRequestLaunchTemplateOutput() SpotInstanceRequestLaunchTemplateOutput { +func (o VpcBlockPublicAccessExclusionTimeoutsOutput) ToVpcBlockPublicAccessExclusionTimeoutsOutput() VpcBlockPublicAccessExclusionTimeoutsOutput { return o } -func (o SpotInstanceRequestLaunchTemplateOutput) ToSpotInstanceRequestLaunchTemplateOutputWithContext(ctx context.Context) SpotInstanceRequestLaunchTemplateOutput { +func (o VpcBlockPublicAccessExclusionTimeoutsOutput) ToVpcBlockPublicAccessExclusionTimeoutsOutputWithContext(ctx context.Context) VpcBlockPublicAccessExclusionTimeoutsOutput { return o } -func (o SpotInstanceRequestLaunchTemplateOutput) ToSpotInstanceRequestLaunchTemplatePtrOutput() SpotInstanceRequestLaunchTemplatePtrOutput { - return o.ToSpotInstanceRequestLaunchTemplatePtrOutputWithContext(context.Background()) +func (o VpcBlockPublicAccessExclusionTimeoutsOutput) ToVpcBlockPublicAccessExclusionTimeoutsPtrOutput() VpcBlockPublicAccessExclusionTimeoutsPtrOutput { + return o.ToVpcBlockPublicAccessExclusionTimeoutsPtrOutputWithContext(context.Background()) } -func (o SpotInstanceRequestLaunchTemplateOutput) ToSpotInstanceRequestLaunchTemplatePtrOutputWithContext(ctx context.Context) SpotInstanceRequestLaunchTemplatePtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v SpotInstanceRequestLaunchTemplate) *SpotInstanceRequestLaunchTemplate { +func (o VpcBlockPublicAccessExclusionTimeoutsOutput) ToVpcBlockPublicAccessExclusionTimeoutsPtrOutputWithContext(ctx context.Context) VpcBlockPublicAccessExclusionTimeoutsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VpcBlockPublicAccessExclusionTimeouts) *VpcBlockPublicAccessExclusionTimeouts { return &v - }).(SpotInstanceRequestLaunchTemplatePtrOutput) + }).(VpcBlockPublicAccessExclusionTimeoutsPtrOutput) } -// ID of the launch template. Conflicts with `name`. -func (o SpotInstanceRequestLaunchTemplateOutput) Id() pulumi.StringPtrOutput { - return o.ApplyT(func(v SpotInstanceRequestLaunchTemplate) *string { return v.Id }).(pulumi.StringPtrOutput) +// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). +func (o VpcBlockPublicAccessExclusionTimeoutsOutput) Create() pulumi.StringPtrOutput { + return o.ApplyT(func(v VpcBlockPublicAccessExclusionTimeouts) *string { return v.Create }).(pulumi.StringPtrOutput) } -// Name of the launch template. Conflicts with `id`. -func (o SpotInstanceRequestLaunchTemplateOutput) Name() pulumi.StringPtrOutput { - return o.ApplyT(func(v SpotInstanceRequestLaunchTemplate) *string { return v.Name }).(pulumi.StringPtrOutput) +// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs. +func (o VpcBlockPublicAccessExclusionTimeoutsOutput) Delete() pulumi.StringPtrOutput { + return o.ApplyT(func(v VpcBlockPublicAccessExclusionTimeouts) *string { return v.Delete }).(pulumi.StringPtrOutput) } -// Template version. Can be a specific version number, `$Latest` or `$Default`. The default value is `$Default`. -func (o SpotInstanceRequestLaunchTemplateOutput) Version() pulumi.StringPtrOutput { - return o.ApplyT(func(v SpotInstanceRequestLaunchTemplate) *string { return v.Version }).(pulumi.StringPtrOutput) +// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). +func (o VpcBlockPublicAccessExclusionTimeoutsOutput) Update() pulumi.StringPtrOutput { + return o.ApplyT(func(v VpcBlockPublicAccessExclusionTimeouts) *string { return v.Update }).(pulumi.StringPtrOutput) } -type SpotInstanceRequestLaunchTemplatePtrOutput struct{ *pulumi.OutputState } +type VpcBlockPublicAccessExclusionTimeoutsPtrOutput struct{ *pulumi.OutputState } -func (SpotInstanceRequestLaunchTemplatePtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**SpotInstanceRequestLaunchTemplate)(nil)).Elem() +func (VpcBlockPublicAccessExclusionTimeoutsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VpcBlockPublicAccessExclusionTimeouts)(nil)).Elem() } -func (o SpotInstanceRequestLaunchTemplatePtrOutput) ToSpotInstanceRequestLaunchTemplatePtrOutput() SpotInstanceRequestLaunchTemplatePtrOutput { +func (o VpcBlockPublicAccessExclusionTimeoutsPtrOutput) ToVpcBlockPublicAccessExclusionTimeoutsPtrOutput() VpcBlockPublicAccessExclusionTimeoutsPtrOutput { return o } -func (o SpotInstanceRequestLaunchTemplatePtrOutput) ToSpotInstanceRequestLaunchTemplatePtrOutputWithContext(ctx context.Context) SpotInstanceRequestLaunchTemplatePtrOutput { +func (o VpcBlockPublicAccessExclusionTimeoutsPtrOutput) ToVpcBlockPublicAccessExclusionTimeoutsPtrOutputWithContext(ctx context.Context) VpcBlockPublicAccessExclusionTimeoutsPtrOutput { return o } -func (o SpotInstanceRequestLaunchTemplatePtrOutput) Elem() SpotInstanceRequestLaunchTemplateOutput { - return o.ApplyT(func(v *SpotInstanceRequestLaunchTemplate) SpotInstanceRequestLaunchTemplate { +func (o VpcBlockPublicAccessExclusionTimeoutsPtrOutput) Elem() VpcBlockPublicAccessExclusionTimeoutsOutput { + return o.ApplyT(func(v *VpcBlockPublicAccessExclusionTimeouts) VpcBlockPublicAccessExclusionTimeouts { if v != nil { return *v } - var ret SpotInstanceRequestLaunchTemplate + var ret VpcBlockPublicAccessExclusionTimeouts return ret - }).(SpotInstanceRequestLaunchTemplateOutput) + }).(VpcBlockPublicAccessExclusionTimeoutsOutput) } -// ID of the launch template. Conflicts with `name`. -func (o SpotInstanceRequestLaunchTemplatePtrOutput) Id() pulumi.StringPtrOutput { - return o.ApplyT(func(v *SpotInstanceRequestLaunchTemplate) *string { +// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). +func (o VpcBlockPublicAccessExclusionTimeoutsPtrOutput) Create() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VpcBlockPublicAccessExclusionTimeouts) *string { if v == nil { return nil } - return v.Id + return v.Create }).(pulumi.StringPtrOutput) } -// Name of the launch template. Conflicts with `id`. -func (o SpotInstanceRequestLaunchTemplatePtrOutput) Name() pulumi.StringPtrOutput { - return o.ApplyT(func(v *SpotInstanceRequestLaunchTemplate) *string { +// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs. +func (o VpcBlockPublicAccessExclusionTimeoutsPtrOutput) Delete() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VpcBlockPublicAccessExclusionTimeouts) *string { if v == nil { return nil } - return v.Name + return v.Delete }).(pulumi.StringPtrOutput) } -// Template version. Can be a specific version number, `$Latest` or `$Default`. The default value is `$Default`. -func (o SpotInstanceRequestLaunchTemplatePtrOutput) Version() pulumi.StringPtrOutput { - return o.ApplyT(func(v *SpotInstanceRequestLaunchTemplate) *string { +// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). +func (o VpcBlockPublicAccessExclusionTimeoutsPtrOutput) Update() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VpcBlockPublicAccessExclusionTimeouts) *string { if v == nil { return nil } - return v.Version + return v.Update }).(pulumi.StringPtrOutput) } -type SpotInstanceRequestMaintenanceOptions struct { - // Automatic recovery behavior of the Instance. Can be `"default"` or `"disabled"`. See [Recover your instance](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-recover.html) for more details. - AutoRecovery *string `pulumi:"autoRecovery"` +type VpcBlockPublicAccessOptionsTimeouts struct { + // A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + Create *string `pulumi:"create"` + // A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs. + Delete *string `pulumi:"delete"` + // A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + Update *string `pulumi:"update"` } -// SpotInstanceRequestMaintenanceOptionsInput is an input type that accepts SpotInstanceRequestMaintenanceOptionsArgs and SpotInstanceRequestMaintenanceOptionsOutput values. -// You can construct a concrete instance of `SpotInstanceRequestMaintenanceOptionsInput` via: +// VpcBlockPublicAccessOptionsTimeoutsInput is an input type that accepts VpcBlockPublicAccessOptionsTimeoutsArgs and VpcBlockPublicAccessOptionsTimeoutsOutput values. +// You can construct a concrete instance of `VpcBlockPublicAccessOptionsTimeoutsInput` via: // -// SpotInstanceRequestMaintenanceOptionsArgs{...} -type SpotInstanceRequestMaintenanceOptionsInput interface { +// VpcBlockPublicAccessOptionsTimeoutsArgs{...} +type VpcBlockPublicAccessOptionsTimeoutsInput interface { pulumi.Input - ToSpotInstanceRequestMaintenanceOptionsOutput() SpotInstanceRequestMaintenanceOptionsOutput - ToSpotInstanceRequestMaintenanceOptionsOutputWithContext(context.Context) SpotInstanceRequestMaintenanceOptionsOutput + ToVpcBlockPublicAccessOptionsTimeoutsOutput() VpcBlockPublicAccessOptionsTimeoutsOutput + ToVpcBlockPublicAccessOptionsTimeoutsOutputWithContext(context.Context) VpcBlockPublicAccessOptionsTimeoutsOutput } -type SpotInstanceRequestMaintenanceOptionsArgs struct { - // Automatic recovery behavior of the Instance. Can be `"default"` or `"disabled"`. See [Recover your instance](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-recover.html) for more details. - AutoRecovery pulumi.StringPtrInput `pulumi:"autoRecovery"` +type VpcBlockPublicAccessOptionsTimeoutsArgs struct { + // A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + Create pulumi.StringPtrInput `pulumi:"create"` + // A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs. + Delete pulumi.StringPtrInput `pulumi:"delete"` + // A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + Update pulumi.StringPtrInput `pulumi:"update"` } -func (SpotInstanceRequestMaintenanceOptionsArgs) ElementType() reflect.Type { - return reflect.TypeOf((*SpotInstanceRequestMaintenanceOptions)(nil)).Elem() +func (VpcBlockPublicAccessOptionsTimeoutsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VpcBlockPublicAccessOptionsTimeouts)(nil)).Elem() } -func (i SpotInstanceRequestMaintenanceOptionsArgs) ToSpotInstanceRequestMaintenanceOptionsOutput() SpotInstanceRequestMaintenanceOptionsOutput { - return i.ToSpotInstanceRequestMaintenanceOptionsOutputWithContext(context.Background()) +func (i VpcBlockPublicAccessOptionsTimeoutsArgs) ToVpcBlockPublicAccessOptionsTimeoutsOutput() VpcBlockPublicAccessOptionsTimeoutsOutput { + return i.ToVpcBlockPublicAccessOptionsTimeoutsOutputWithContext(context.Background()) } -func (i SpotInstanceRequestMaintenanceOptionsArgs) ToSpotInstanceRequestMaintenanceOptionsOutputWithContext(ctx context.Context) SpotInstanceRequestMaintenanceOptionsOutput { - return pulumi.ToOutputWithContext(ctx, i).(SpotInstanceRequestMaintenanceOptionsOutput) +func (i VpcBlockPublicAccessOptionsTimeoutsArgs) ToVpcBlockPublicAccessOptionsTimeoutsOutputWithContext(ctx context.Context) VpcBlockPublicAccessOptionsTimeoutsOutput { + return pulumi.ToOutputWithContext(ctx, i).(VpcBlockPublicAccessOptionsTimeoutsOutput) } -func (i SpotInstanceRequestMaintenanceOptionsArgs) ToSpotInstanceRequestMaintenanceOptionsPtrOutput() SpotInstanceRequestMaintenanceOptionsPtrOutput { - return i.ToSpotInstanceRequestMaintenanceOptionsPtrOutputWithContext(context.Background()) +func (i VpcBlockPublicAccessOptionsTimeoutsArgs) ToVpcBlockPublicAccessOptionsTimeoutsPtrOutput() VpcBlockPublicAccessOptionsTimeoutsPtrOutput { + return i.ToVpcBlockPublicAccessOptionsTimeoutsPtrOutputWithContext(context.Background()) } -func (i SpotInstanceRequestMaintenanceOptionsArgs) ToSpotInstanceRequestMaintenanceOptionsPtrOutputWithContext(ctx context.Context) SpotInstanceRequestMaintenanceOptionsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(SpotInstanceRequestMaintenanceOptionsOutput).ToSpotInstanceRequestMaintenanceOptionsPtrOutputWithContext(ctx) +func (i VpcBlockPublicAccessOptionsTimeoutsArgs) ToVpcBlockPublicAccessOptionsTimeoutsPtrOutputWithContext(ctx context.Context) VpcBlockPublicAccessOptionsTimeoutsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VpcBlockPublicAccessOptionsTimeoutsOutput).ToVpcBlockPublicAccessOptionsTimeoutsPtrOutputWithContext(ctx) } -// SpotInstanceRequestMaintenanceOptionsPtrInput is an input type that accepts SpotInstanceRequestMaintenanceOptionsArgs, SpotInstanceRequestMaintenanceOptionsPtr and SpotInstanceRequestMaintenanceOptionsPtrOutput values. -// You can construct a concrete instance of `SpotInstanceRequestMaintenanceOptionsPtrInput` via: +// VpcBlockPublicAccessOptionsTimeoutsPtrInput is an input type that accepts VpcBlockPublicAccessOptionsTimeoutsArgs, VpcBlockPublicAccessOptionsTimeoutsPtr and VpcBlockPublicAccessOptionsTimeoutsPtrOutput values. +// You can construct a concrete instance of `VpcBlockPublicAccessOptionsTimeoutsPtrInput` via: // -// SpotInstanceRequestMaintenanceOptionsArgs{...} +// VpcBlockPublicAccessOptionsTimeoutsArgs{...} // // or: // // nil -type SpotInstanceRequestMaintenanceOptionsPtrInput interface { +type VpcBlockPublicAccessOptionsTimeoutsPtrInput interface { pulumi.Input - ToSpotInstanceRequestMaintenanceOptionsPtrOutput() SpotInstanceRequestMaintenanceOptionsPtrOutput - ToSpotInstanceRequestMaintenanceOptionsPtrOutputWithContext(context.Context) SpotInstanceRequestMaintenanceOptionsPtrOutput + ToVpcBlockPublicAccessOptionsTimeoutsPtrOutput() VpcBlockPublicAccessOptionsTimeoutsPtrOutput + ToVpcBlockPublicAccessOptionsTimeoutsPtrOutputWithContext(context.Context) VpcBlockPublicAccessOptionsTimeoutsPtrOutput } -type spotInstanceRequestMaintenanceOptionsPtrType SpotInstanceRequestMaintenanceOptionsArgs +type vpcBlockPublicAccessOptionsTimeoutsPtrType VpcBlockPublicAccessOptionsTimeoutsArgs -func SpotInstanceRequestMaintenanceOptionsPtr(v *SpotInstanceRequestMaintenanceOptionsArgs) SpotInstanceRequestMaintenanceOptionsPtrInput { - return (*spotInstanceRequestMaintenanceOptionsPtrType)(v) +func VpcBlockPublicAccessOptionsTimeoutsPtr(v *VpcBlockPublicAccessOptionsTimeoutsArgs) VpcBlockPublicAccessOptionsTimeoutsPtrInput { + return (*vpcBlockPublicAccessOptionsTimeoutsPtrType)(v) } -func (*spotInstanceRequestMaintenanceOptionsPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**SpotInstanceRequestMaintenanceOptions)(nil)).Elem() +func (*vpcBlockPublicAccessOptionsTimeoutsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VpcBlockPublicAccessOptionsTimeouts)(nil)).Elem() } -func (i *spotInstanceRequestMaintenanceOptionsPtrType) ToSpotInstanceRequestMaintenanceOptionsPtrOutput() SpotInstanceRequestMaintenanceOptionsPtrOutput { - return i.ToSpotInstanceRequestMaintenanceOptionsPtrOutputWithContext(context.Background()) +func (i *vpcBlockPublicAccessOptionsTimeoutsPtrType) ToVpcBlockPublicAccessOptionsTimeoutsPtrOutput() VpcBlockPublicAccessOptionsTimeoutsPtrOutput { + return i.ToVpcBlockPublicAccessOptionsTimeoutsPtrOutputWithContext(context.Background()) } -func (i *spotInstanceRequestMaintenanceOptionsPtrType) ToSpotInstanceRequestMaintenanceOptionsPtrOutputWithContext(ctx context.Context) SpotInstanceRequestMaintenanceOptionsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(SpotInstanceRequestMaintenanceOptionsPtrOutput) +func (i *vpcBlockPublicAccessOptionsTimeoutsPtrType) ToVpcBlockPublicAccessOptionsTimeoutsPtrOutputWithContext(ctx context.Context) VpcBlockPublicAccessOptionsTimeoutsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VpcBlockPublicAccessOptionsTimeoutsPtrOutput) } -type SpotInstanceRequestMaintenanceOptionsOutput struct{ *pulumi.OutputState } +type VpcBlockPublicAccessOptionsTimeoutsOutput struct{ *pulumi.OutputState } -func (SpotInstanceRequestMaintenanceOptionsOutput) ElementType() reflect.Type { - return reflect.TypeOf((*SpotInstanceRequestMaintenanceOptions)(nil)).Elem() +func (VpcBlockPublicAccessOptionsTimeoutsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VpcBlockPublicAccessOptionsTimeouts)(nil)).Elem() } -func (o SpotInstanceRequestMaintenanceOptionsOutput) ToSpotInstanceRequestMaintenanceOptionsOutput() SpotInstanceRequestMaintenanceOptionsOutput { +func (o VpcBlockPublicAccessOptionsTimeoutsOutput) ToVpcBlockPublicAccessOptionsTimeoutsOutput() VpcBlockPublicAccessOptionsTimeoutsOutput { return o } -func (o SpotInstanceRequestMaintenanceOptionsOutput) ToSpotInstanceRequestMaintenanceOptionsOutputWithContext(ctx context.Context) SpotInstanceRequestMaintenanceOptionsOutput { +func (o VpcBlockPublicAccessOptionsTimeoutsOutput) ToVpcBlockPublicAccessOptionsTimeoutsOutputWithContext(ctx context.Context) VpcBlockPublicAccessOptionsTimeoutsOutput { return o } -func (o SpotInstanceRequestMaintenanceOptionsOutput) ToSpotInstanceRequestMaintenanceOptionsPtrOutput() SpotInstanceRequestMaintenanceOptionsPtrOutput { - return o.ToSpotInstanceRequestMaintenanceOptionsPtrOutputWithContext(context.Background()) +func (o VpcBlockPublicAccessOptionsTimeoutsOutput) ToVpcBlockPublicAccessOptionsTimeoutsPtrOutput() VpcBlockPublicAccessOptionsTimeoutsPtrOutput { + return o.ToVpcBlockPublicAccessOptionsTimeoutsPtrOutputWithContext(context.Background()) } -func (o SpotInstanceRequestMaintenanceOptionsOutput) ToSpotInstanceRequestMaintenanceOptionsPtrOutputWithContext(ctx context.Context) SpotInstanceRequestMaintenanceOptionsPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v SpotInstanceRequestMaintenanceOptions) *SpotInstanceRequestMaintenanceOptions { +func (o VpcBlockPublicAccessOptionsTimeoutsOutput) ToVpcBlockPublicAccessOptionsTimeoutsPtrOutputWithContext(ctx context.Context) VpcBlockPublicAccessOptionsTimeoutsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VpcBlockPublicAccessOptionsTimeouts) *VpcBlockPublicAccessOptionsTimeouts { return &v - }).(SpotInstanceRequestMaintenanceOptionsPtrOutput) + }).(VpcBlockPublicAccessOptionsTimeoutsPtrOutput) } -// Automatic recovery behavior of the Instance. Can be `"default"` or `"disabled"`. See [Recover your instance](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-recover.html) for more details. -func (o SpotInstanceRequestMaintenanceOptionsOutput) AutoRecovery() pulumi.StringPtrOutput { - return o.ApplyT(func(v SpotInstanceRequestMaintenanceOptions) *string { return v.AutoRecovery }).(pulumi.StringPtrOutput) +// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). +func (o VpcBlockPublicAccessOptionsTimeoutsOutput) Create() pulumi.StringPtrOutput { + return o.ApplyT(func(v VpcBlockPublicAccessOptionsTimeouts) *string { return v.Create }).(pulumi.StringPtrOutput) } -type SpotInstanceRequestMaintenanceOptionsPtrOutput struct{ *pulumi.OutputState } +// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs. +func (o VpcBlockPublicAccessOptionsTimeoutsOutput) Delete() pulumi.StringPtrOutput { + return o.ApplyT(func(v VpcBlockPublicAccessOptionsTimeouts) *string { return v.Delete }).(pulumi.StringPtrOutput) +} -func (SpotInstanceRequestMaintenanceOptionsPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**SpotInstanceRequestMaintenanceOptions)(nil)).Elem() +// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). +func (o VpcBlockPublicAccessOptionsTimeoutsOutput) Update() pulumi.StringPtrOutput { + return o.ApplyT(func(v VpcBlockPublicAccessOptionsTimeouts) *string { return v.Update }).(pulumi.StringPtrOutput) } -func (o SpotInstanceRequestMaintenanceOptionsPtrOutput) ToSpotInstanceRequestMaintenanceOptionsPtrOutput() SpotInstanceRequestMaintenanceOptionsPtrOutput { +type VpcBlockPublicAccessOptionsTimeoutsPtrOutput struct{ *pulumi.OutputState } + +func (VpcBlockPublicAccessOptionsTimeoutsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VpcBlockPublicAccessOptionsTimeouts)(nil)).Elem() +} + +func (o VpcBlockPublicAccessOptionsTimeoutsPtrOutput) ToVpcBlockPublicAccessOptionsTimeoutsPtrOutput() VpcBlockPublicAccessOptionsTimeoutsPtrOutput { return o } -func (o SpotInstanceRequestMaintenanceOptionsPtrOutput) ToSpotInstanceRequestMaintenanceOptionsPtrOutputWithContext(ctx context.Context) SpotInstanceRequestMaintenanceOptionsPtrOutput { +func (o VpcBlockPublicAccessOptionsTimeoutsPtrOutput) ToVpcBlockPublicAccessOptionsTimeoutsPtrOutputWithContext(ctx context.Context) VpcBlockPublicAccessOptionsTimeoutsPtrOutput { return o } -func (o SpotInstanceRequestMaintenanceOptionsPtrOutput) Elem() SpotInstanceRequestMaintenanceOptionsOutput { - return o.ApplyT(func(v *SpotInstanceRequestMaintenanceOptions) SpotInstanceRequestMaintenanceOptions { +func (o VpcBlockPublicAccessOptionsTimeoutsPtrOutput) Elem() VpcBlockPublicAccessOptionsTimeoutsOutput { + return o.ApplyT(func(v *VpcBlockPublicAccessOptionsTimeouts) VpcBlockPublicAccessOptionsTimeouts { if v != nil { return *v } - var ret SpotInstanceRequestMaintenanceOptions + var ret VpcBlockPublicAccessOptionsTimeouts return ret - }).(SpotInstanceRequestMaintenanceOptionsOutput) + }).(VpcBlockPublicAccessOptionsTimeoutsOutput) } -// Automatic recovery behavior of the Instance. Can be `"default"` or `"disabled"`. See [Recover your instance](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-recover.html) for more details. -func (o SpotInstanceRequestMaintenanceOptionsPtrOutput) AutoRecovery() pulumi.StringPtrOutput { - return o.ApplyT(func(v *SpotInstanceRequestMaintenanceOptions) *string { +// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). +func (o VpcBlockPublicAccessOptionsTimeoutsPtrOutput) Create() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VpcBlockPublicAccessOptionsTimeouts) *string { if v == nil { return nil } - return v.AutoRecovery + return v.Create }).(pulumi.StringPtrOutput) } -type SpotInstanceRequestMetadataOptions struct { - // Whether the metadata service is available. Valid values include `enabled` or `disabled`. Defaults to `enabled`. - HttpEndpoint *string `pulumi:"httpEndpoint"` - // Whether the IPv6 endpoint for the instance metadata service is enabled. Defaults to `disabled`. - HttpProtocolIpv6 *string `pulumi:"httpProtocolIpv6"` - // Desired HTTP PUT response hop limit for instance metadata requests. The larger the number, the further instance metadata requests can travel. Valid values are integer from `1` to `64`. Defaults to `1`. - HttpPutResponseHopLimit *int `pulumi:"httpPutResponseHopLimit"` - // Whether or not the metadata service requires session tokens, also referred to as _Instance Metadata Service Version 2 (IMDSv2)_. Valid values include `optional` or `required`. - HttpTokens *string `pulumi:"httpTokens"` - // Enables or disables access to instance tags from the instance metadata service. Valid values include `enabled` or `disabled`. Defaults to `disabled`. - // - // For more information, see the documentation on the [Instance Metadata Service](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html). - InstanceMetadataTags *string `pulumi:"instanceMetadataTags"` +// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs. +func (o VpcBlockPublicAccessOptionsTimeoutsPtrOutput) Delete() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VpcBlockPublicAccessOptionsTimeouts) *string { + if v == nil { + return nil + } + return v.Delete + }).(pulumi.StringPtrOutput) } -// SpotInstanceRequestMetadataOptionsInput is an input type that accepts SpotInstanceRequestMetadataOptionsArgs and SpotInstanceRequestMetadataOptionsOutput values. -// You can construct a concrete instance of `SpotInstanceRequestMetadataOptionsInput` via: +// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). +func (o VpcBlockPublicAccessOptionsTimeoutsPtrOutput) Update() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VpcBlockPublicAccessOptionsTimeouts) *string { + if v == nil { + return nil + } + return v.Update + }).(pulumi.StringPtrOutput) +} + +type VpcEncryptionControlResourceExclusions struct { + // `state` and `stateMessage` describing encryption enforcement state for Egress-Only Internet Gateways. + EgressOnlyInternetGateway VpcEncryptionControlResourceExclusionsEgressOnlyInternetGateway `pulumi:"egressOnlyInternetGateway"` + // `state` and `stateMessage` describing encryption enforcement state for Elastic File System (EFS). + ElasticFileSystem VpcEncryptionControlResourceExclusionsElasticFileSystem `pulumi:"elasticFileSystem"` + // `state` and `stateMessage` describing encryption enforcement state for Internet Gateways. + InternetGateway VpcEncryptionControlResourceExclusionsInternetGateway `pulumi:"internetGateway"` + // `state` and `stateMessage` describing encryption enforcement state for Lambda Functions. + Lambda VpcEncryptionControlResourceExclusionsLambda `pulumi:"lambda"` + // `state` and `stateMessage` describing encryption enforcement state for NAT Gateways. + NatGateway VpcEncryptionControlResourceExclusionsNatGateway `pulumi:"natGateway"` + // `state` and `stateMessage` describing encryption enforcement state for Virtual Private Gateways. + VirtualPrivateGateway VpcEncryptionControlResourceExclusionsVirtualPrivateGateway `pulumi:"virtualPrivateGateway"` + // `state` and `stateMessage` describing encryption enforcement state for VPC Lattice. + VpcLattice VpcEncryptionControlResourceExclusionsVpcLattice `pulumi:"vpcLattice"` + // `state` and `stateMessage` describing encryption enforcement state for peered VPCs. + VpcPeering VpcEncryptionControlResourceExclusionsVpcPeering `pulumi:"vpcPeering"` +} + +// VpcEncryptionControlResourceExclusionsInput is an input type that accepts VpcEncryptionControlResourceExclusionsArgs and VpcEncryptionControlResourceExclusionsOutput values. +// You can construct a concrete instance of `VpcEncryptionControlResourceExclusionsInput` via: // -// SpotInstanceRequestMetadataOptionsArgs{...} -type SpotInstanceRequestMetadataOptionsInput interface { +// VpcEncryptionControlResourceExclusionsArgs{...} +type VpcEncryptionControlResourceExclusionsInput interface { pulumi.Input - ToSpotInstanceRequestMetadataOptionsOutput() SpotInstanceRequestMetadataOptionsOutput - ToSpotInstanceRequestMetadataOptionsOutputWithContext(context.Context) SpotInstanceRequestMetadataOptionsOutput + ToVpcEncryptionControlResourceExclusionsOutput() VpcEncryptionControlResourceExclusionsOutput + ToVpcEncryptionControlResourceExclusionsOutputWithContext(context.Context) VpcEncryptionControlResourceExclusionsOutput } -type SpotInstanceRequestMetadataOptionsArgs struct { - // Whether the metadata service is available. Valid values include `enabled` or `disabled`. Defaults to `enabled`. - HttpEndpoint pulumi.StringPtrInput `pulumi:"httpEndpoint"` - // Whether the IPv6 endpoint for the instance metadata service is enabled. Defaults to `disabled`. - HttpProtocolIpv6 pulumi.StringPtrInput `pulumi:"httpProtocolIpv6"` - // Desired HTTP PUT response hop limit for instance metadata requests. The larger the number, the further instance metadata requests can travel. Valid values are integer from `1` to `64`. Defaults to `1`. - HttpPutResponseHopLimit pulumi.IntPtrInput `pulumi:"httpPutResponseHopLimit"` - // Whether or not the metadata service requires session tokens, also referred to as _Instance Metadata Service Version 2 (IMDSv2)_. Valid values include `optional` or `required`. - HttpTokens pulumi.StringPtrInput `pulumi:"httpTokens"` - // Enables or disables access to instance tags from the instance metadata service. Valid values include `enabled` or `disabled`. Defaults to `disabled`. - // - // For more information, see the documentation on the [Instance Metadata Service](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html). - InstanceMetadataTags pulumi.StringPtrInput `pulumi:"instanceMetadataTags"` +type VpcEncryptionControlResourceExclusionsArgs struct { + // `state` and `stateMessage` describing encryption enforcement state for Egress-Only Internet Gateways. + EgressOnlyInternetGateway VpcEncryptionControlResourceExclusionsEgressOnlyInternetGatewayInput `pulumi:"egressOnlyInternetGateway"` + // `state` and `stateMessage` describing encryption enforcement state for Elastic File System (EFS). + ElasticFileSystem VpcEncryptionControlResourceExclusionsElasticFileSystemInput `pulumi:"elasticFileSystem"` + // `state` and `stateMessage` describing encryption enforcement state for Internet Gateways. + InternetGateway VpcEncryptionControlResourceExclusionsInternetGatewayInput `pulumi:"internetGateway"` + // `state` and `stateMessage` describing encryption enforcement state for Lambda Functions. + Lambda VpcEncryptionControlResourceExclusionsLambdaInput `pulumi:"lambda"` + // `state` and `stateMessage` describing encryption enforcement state for NAT Gateways. + NatGateway VpcEncryptionControlResourceExclusionsNatGatewayInput `pulumi:"natGateway"` + // `state` and `stateMessage` describing encryption enforcement state for Virtual Private Gateways. + VirtualPrivateGateway VpcEncryptionControlResourceExclusionsVirtualPrivateGatewayInput `pulumi:"virtualPrivateGateway"` + // `state` and `stateMessage` describing encryption enforcement state for VPC Lattice. + VpcLattice VpcEncryptionControlResourceExclusionsVpcLatticeInput `pulumi:"vpcLattice"` + // `state` and `stateMessage` describing encryption enforcement state for peered VPCs. + VpcPeering VpcEncryptionControlResourceExclusionsVpcPeeringInput `pulumi:"vpcPeering"` } -func (SpotInstanceRequestMetadataOptionsArgs) ElementType() reflect.Type { - return reflect.TypeOf((*SpotInstanceRequestMetadataOptions)(nil)).Elem() +func (VpcEncryptionControlResourceExclusionsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VpcEncryptionControlResourceExclusions)(nil)).Elem() } -func (i SpotInstanceRequestMetadataOptionsArgs) ToSpotInstanceRequestMetadataOptionsOutput() SpotInstanceRequestMetadataOptionsOutput { - return i.ToSpotInstanceRequestMetadataOptionsOutputWithContext(context.Background()) +func (i VpcEncryptionControlResourceExclusionsArgs) ToVpcEncryptionControlResourceExclusionsOutput() VpcEncryptionControlResourceExclusionsOutput { + return i.ToVpcEncryptionControlResourceExclusionsOutputWithContext(context.Background()) } -func (i SpotInstanceRequestMetadataOptionsArgs) ToSpotInstanceRequestMetadataOptionsOutputWithContext(ctx context.Context) SpotInstanceRequestMetadataOptionsOutput { - return pulumi.ToOutputWithContext(ctx, i).(SpotInstanceRequestMetadataOptionsOutput) +func (i VpcEncryptionControlResourceExclusionsArgs) ToVpcEncryptionControlResourceExclusionsOutputWithContext(ctx context.Context) VpcEncryptionControlResourceExclusionsOutput { + return pulumi.ToOutputWithContext(ctx, i).(VpcEncryptionControlResourceExclusionsOutput) } -func (i SpotInstanceRequestMetadataOptionsArgs) ToSpotInstanceRequestMetadataOptionsPtrOutput() SpotInstanceRequestMetadataOptionsPtrOutput { - return i.ToSpotInstanceRequestMetadataOptionsPtrOutputWithContext(context.Background()) +func (i VpcEncryptionControlResourceExclusionsArgs) ToVpcEncryptionControlResourceExclusionsPtrOutput() VpcEncryptionControlResourceExclusionsPtrOutput { + return i.ToVpcEncryptionControlResourceExclusionsPtrOutputWithContext(context.Background()) } -func (i SpotInstanceRequestMetadataOptionsArgs) ToSpotInstanceRequestMetadataOptionsPtrOutputWithContext(ctx context.Context) SpotInstanceRequestMetadataOptionsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(SpotInstanceRequestMetadataOptionsOutput).ToSpotInstanceRequestMetadataOptionsPtrOutputWithContext(ctx) +func (i VpcEncryptionControlResourceExclusionsArgs) ToVpcEncryptionControlResourceExclusionsPtrOutputWithContext(ctx context.Context) VpcEncryptionControlResourceExclusionsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VpcEncryptionControlResourceExclusionsOutput).ToVpcEncryptionControlResourceExclusionsPtrOutputWithContext(ctx) } -// SpotInstanceRequestMetadataOptionsPtrInput is an input type that accepts SpotInstanceRequestMetadataOptionsArgs, SpotInstanceRequestMetadataOptionsPtr and SpotInstanceRequestMetadataOptionsPtrOutput values. -// You can construct a concrete instance of `SpotInstanceRequestMetadataOptionsPtrInput` via: +// VpcEncryptionControlResourceExclusionsPtrInput is an input type that accepts VpcEncryptionControlResourceExclusionsArgs, VpcEncryptionControlResourceExclusionsPtr and VpcEncryptionControlResourceExclusionsPtrOutput values. +// You can construct a concrete instance of `VpcEncryptionControlResourceExclusionsPtrInput` via: // -// SpotInstanceRequestMetadataOptionsArgs{...} +// VpcEncryptionControlResourceExclusionsArgs{...} // // or: // // nil -type SpotInstanceRequestMetadataOptionsPtrInput interface { +type VpcEncryptionControlResourceExclusionsPtrInput interface { pulumi.Input - ToSpotInstanceRequestMetadataOptionsPtrOutput() SpotInstanceRequestMetadataOptionsPtrOutput - ToSpotInstanceRequestMetadataOptionsPtrOutputWithContext(context.Context) SpotInstanceRequestMetadataOptionsPtrOutput + ToVpcEncryptionControlResourceExclusionsPtrOutput() VpcEncryptionControlResourceExclusionsPtrOutput + ToVpcEncryptionControlResourceExclusionsPtrOutputWithContext(context.Context) VpcEncryptionControlResourceExclusionsPtrOutput } -type spotInstanceRequestMetadataOptionsPtrType SpotInstanceRequestMetadataOptionsArgs +type vpcEncryptionControlResourceExclusionsPtrType VpcEncryptionControlResourceExclusionsArgs -func SpotInstanceRequestMetadataOptionsPtr(v *SpotInstanceRequestMetadataOptionsArgs) SpotInstanceRequestMetadataOptionsPtrInput { - return (*spotInstanceRequestMetadataOptionsPtrType)(v) +func VpcEncryptionControlResourceExclusionsPtr(v *VpcEncryptionControlResourceExclusionsArgs) VpcEncryptionControlResourceExclusionsPtrInput { + return (*vpcEncryptionControlResourceExclusionsPtrType)(v) } -func (*spotInstanceRequestMetadataOptionsPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**SpotInstanceRequestMetadataOptions)(nil)).Elem() +func (*vpcEncryptionControlResourceExclusionsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VpcEncryptionControlResourceExclusions)(nil)).Elem() } -func (i *spotInstanceRequestMetadataOptionsPtrType) ToSpotInstanceRequestMetadataOptionsPtrOutput() SpotInstanceRequestMetadataOptionsPtrOutput { - return i.ToSpotInstanceRequestMetadataOptionsPtrOutputWithContext(context.Background()) +func (i *vpcEncryptionControlResourceExclusionsPtrType) ToVpcEncryptionControlResourceExclusionsPtrOutput() VpcEncryptionControlResourceExclusionsPtrOutput { + return i.ToVpcEncryptionControlResourceExclusionsPtrOutputWithContext(context.Background()) } -func (i *spotInstanceRequestMetadataOptionsPtrType) ToSpotInstanceRequestMetadataOptionsPtrOutputWithContext(ctx context.Context) SpotInstanceRequestMetadataOptionsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(SpotInstanceRequestMetadataOptionsPtrOutput) +func (i *vpcEncryptionControlResourceExclusionsPtrType) ToVpcEncryptionControlResourceExclusionsPtrOutputWithContext(ctx context.Context) VpcEncryptionControlResourceExclusionsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VpcEncryptionControlResourceExclusionsPtrOutput) } -type SpotInstanceRequestMetadataOptionsOutput struct{ *pulumi.OutputState } +type VpcEncryptionControlResourceExclusionsOutput struct{ *pulumi.OutputState } -func (SpotInstanceRequestMetadataOptionsOutput) ElementType() reflect.Type { - return reflect.TypeOf((*SpotInstanceRequestMetadataOptions)(nil)).Elem() +func (VpcEncryptionControlResourceExclusionsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VpcEncryptionControlResourceExclusions)(nil)).Elem() } -func (o SpotInstanceRequestMetadataOptionsOutput) ToSpotInstanceRequestMetadataOptionsOutput() SpotInstanceRequestMetadataOptionsOutput { +func (o VpcEncryptionControlResourceExclusionsOutput) ToVpcEncryptionControlResourceExclusionsOutput() VpcEncryptionControlResourceExclusionsOutput { return o } -func (o SpotInstanceRequestMetadataOptionsOutput) ToSpotInstanceRequestMetadataOptionsOutputWithContext(ctx context.Context) SpotInstanceRequestMetadataOptionsOutput { +func (o VpcEncryptionControlResourceExclusionsOutput) ToVpcEncryptionControlResourceExclusionsOutputWithContext(ctx context.Context) VpcEncryptionControlResourceExclusionsOutput { return o } -func (o SpotInstanceRequestMetadataOptionsOutput) ToSpotInstanceRequestMetadataOptionsPtrOutput() SpotInstanceRequestMetadataOptionsPtrOutput { - return o.ToSpotInstanceRequestMetadataOptionsPtrOutputWithContext(context.Background()) +func (o VpcEncryptionControlResourceExclusionsOutput) ToVpcEncryptionControlResourceExclusionsPtrOutput() VpcEncryptionControlResourceExclusionsPtrOutput { + return o.ToVpcEncryptionControlResourceExclusionsPtrOutputWithContext(context.Background()) } -func (o SpotInstanceRequestMetadataOptionsOutput) ToSpotInstanceRequestMetadataOptionsPtrOutputWithContext(ctx context.Context) SpotInstanceRequestMetadataOptionsPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v SpotInstanceRequestMetadataOptions) *SpotInstanceRequestMetadataOptions { +func (o VpcEncryptionControlResourceExclusionsOutput) ToVpcEncryptionControlResourceExclusionsPtrOutputWithContext(ctx context.Context) VpcEncryptionControlResourceExclusionsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VpcEncryptionControlResourceExclusions) *VpcEncryptionControlResourceExclusions { return &v - }).(SpotInstanceRequestMetadataOptionsPtrOutput) + }).(VpcEncryptionControlResourceExclusionsPtrOutput) } -// Whether the metadata service is available. Valid values include `enabled` or `disabled`. Defaults to `enabled`. -func (o SpotInstanceRequestMetadataOptionsOutput) HttpEndpoint() pulumi.StringPtrOutput { - return o.ApplyT(func(v SpotInstanceRequestMetadataOptions) *string { return v.HttpEndpoint }).(pulumi.StringPtrOutput) +// `state` and `stateMessage` describing encryption enforcement state for Egress-Only Internet Gateways. +func (o VpcEncryptionControlResourceExclusionsOutput) EgressOnlyInternetGateway() VpcEncryptionControlResourceExclusionsEgressOnlyInternetGatewayOutput { + return o.ApplyT(func(v VpcEncryptionControlResourceExclusions) VpcEncryptionControlResourceExclusionsEgressOnlyInternetGateway { + return v.EgressOnlyInternetGateway + }).(VpcEncryptionControlResourceExclusionsEgressOnlyInternetGatewayOutput) } -// Whether the IPv6 endpoint for the instance metadata service is enabled. Defaults to `disabled`. -func (o SpotInstanceRequestMetadataOptionsOutput) HttpProtocolIpv6() pulumi.StringPtrOutput { - return o.ApplyT(func(v SpotInstanceRequestMetadataOptions) *string { return v.HttpProtocolIpv6 }).(pulumi.StringPtrOutput) +// `state` and `stateMessage` describing encryption enforcement state for Elastic File System (EFS). +func (o VpcEncryptionControlResourceExclusionsOutput) ElasticFileSystem() VpcEncryptionControlResourceExclusionsElasticFileSystemOutput { + return o.ApplyT(func(v VpcEncryptionControlResourceExclusions) VpcEncryptionControlResourceExclusionsElasticFileSystem { + return v.ElasticFileSystem + }).(VpcEncryptionControlResourceExclusionsElasticFileSystemOutput) } -// Desired HTTP PUT response hop limit for instance metadata requests. The larger the number, the further instance metadata requests can travel. Valid values are integer from `1` to `64`. Defaults to `1`. -func (o SpotInstanceRequestMetadataOptionsOutput) HttpPutResponseHopLimit() pulumi.IntPtrOutput { - return o.ApplyT(func(v SpotInstanceRequestMetadataOptions) *int { return v.HttpPutResponseHopLimit }).(pulumi.IntPtrOutput) +// `state` and `stateMessage` describing encryption enforcement state for Internet Gateways. +func (o VpcEncryptionControlResourceExclusionsOutput) InternetGateway() VpcEncryptionControlResourceExclusionsInternetGatewayOutput { + return o.ApplyT(func(v VpcEncryptionControlResourceExclusions) VpcEncryptionControlResourceExclusionsInternetGateway { + return v.InternetGateway + }).(VpcEncryptionControlResourceExclusionsInternetGatewayOutput) } -// Whether or not the metadata service requires session tokens, also referred to as _Instance Metadata Service Version 2 (IMDSv2)_. Valid values include `optional` or `required`. -func (o SpotInstanceRequestMetadataOptionsOutput) HttpTokens() pulumi.StringPtrOutput { - return o.ApplyT(func(v SpotInstanceRequestMetadataOptions) *string { return v.HttpTokens }).(pulumi.StringPtrOutput) +// `state` and `stateMessage` describing encryption enforcement state for Lambda Functions. +func (o VpcEncryptionControlResourceExclusionsOutput) Lambda() VpcEncryptionControlResourceExclusionsLambdaOutput { + return o.ApplyT(func(v VpcEncryptionControlResourceExclusions) VpcEncryptionControlResourceExclusionsLambda { + return v.Lambda + }).(VpcEncryptionControlResourceExclusionsLambdaOutput) } -// Enables or disables access to instance tags from the instance metadata service. Valid values include `enabled` or `disabled`. Defaults to `disabled`. -// -// For more information, see the documentation on the [Instance Metadata Service](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html). -func (o SpotInstanceRequestMetadataOptionsOutput) InstanceMetadataTags() pulumi.StringPtrOutput { - return o.ApplyT(func(v SpotInstanceRequestMetadataOptions) *string { return v.InstanceMetadataTags }).(pulumi.StringPtrOutput) +// `state` and `stateMessage` describing encryption enforcement state for NAT Gateways. +func (o VpcEncryptionControlResourceExclusionsOutput) NatGateway() VpcEncryptionControlResourceExclusionsNatGatewayOutput { + return o.ApplyT(func(v VpcEncryptionControlResourceExclusions) VpcEncryptionControlResourceExclusionsNatGateway { + return v.NatGateway + }).(VpcEncryptionControlResourceExclusionsNatGatewayOutput) } -type SpotInstanceRequestMetadataOptionsPtrOutput struct{ *pulumi.OutputState } +// `state` and `stateMessage` describing encryption enforcement state for Virtual Private Gateways. +func (o VpcEncryptionControlResourceExclusionsOutput) VirtualPrivateGateway() VpcEncryptionControlResourceExclusionsVirtualPrivateGatewayOutput { + return o.ApplyT(func(v VpcEncryptionControlResourceExclusions) VpcEncryptionControlResourceExclusionsVirtualPrivateGateway { + return v.VirtualPrivateGateway + }).(VpcEncryptionControlResourceExclusionsVirtualPrivateGatewayOutput) +} -func (SpotInstanceRequestMetadataOptionsPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**SpotInstanceRequestMetadataOptions)(nil)).Elem() +// `state` and `stateMessage` describing encryption enforcement state for VPC Lattice. +func (o VpcEncryptionControlResourceExclusionsOutput) VpcLattice() VpcEncryptionControlResourceExclusionsVpcLatticeOutput { + return o.ApplyT(func(v VpcEncryptionControlResourceExclusions) VpcEncryptionControlResourceExclusionsVpcLattice { + return v.VpcLattice + }).(VpcEncryptionControlResourceExclusionsVpcLatticeOutput) } -func (o SpotInstanceRequestMetadataOptionsPtrOutput) ToSpotInstanceRequestMetadataOptionsPtrOutput() SpotInstanceRequestMetadataOptionsPtrOutput { +// `state` and `stateMessage` describing encryption enforcement state for peered VPCs. +func (o VpcEncryptionControlResourceExclusionsOutput) VpcPeering() VpcEncryptionControlResourceExclusionsVpcPeeringOutput { + return o.ApplyT(func(v VpcEncryptionControlResourceExclusions) VpcEncryptionControlResourceExclusionsVpcPeering { + return v.VpcPeering + }).(VpcEncryptionControlResourceExclusionsVpcPeeringOutput) +} + +type VpcEncryptionControlResourceExclusionsPtrOutput struct{ *pulumi.OutputState } + +func (VpcEncryptionControlResourceExclusionsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VpcEncryptionControlResourceExclusions)(nil)).Elem() +} + +func (o VpcEncryptionControlResourceExclusionsPtrOutput) ToVpcEncryptionControlResourceExclusionsPtrOutput() VpcEncryptionControlResourceExclusionsPtrOutput { return o } -func (o SpotInstanceRequestMetadataOptionsPtrOutput) ToSpotInstanceRequestMetadataOptionsPtrOutputWithContext(ctx context.Context) SpotInstanceRequestMetadataOptionsPtrOutput { +func (o VpcEncryptionControlResourceExclusionsPtrOutput) ToVpcEncryptionControlResourceExclusionsPtrOutputWithContext(ctx context.Context) VpcEncryptionControlResourceExclusionsPtrOutput { return o } -func (o SpotInstanceRequestMetadataOptionsPtrOutput) Elem() SpotInstanceRequestMetadataOptionsOutput { - return o.ApplyT(func(v *SpotInstanceRequestMetadataOptions) SpotInstanceRequestMetadataOptions { +func (o VpcEncryptionControlResourceExclusionsPtrOutput) Elem() VpcEncryptionControlResourceExclusionsOutput { + return o.ApplyT(func(v *VpcEncryptionControlResourceExclusions) VpcEncryptionControlResourceExclusions { if v != nil { return *v } - var ret SpotInstanceRequestMetadataOptions + var ret VpcEncryptionControlResourceExclusions return ret - }).(SpotInstanceRequestMetadataOptionsOutput) + }).(VpcEncryptionControlResourceExclusionsOutput) } -// Whether the metadata service is available. Valid values include `enabled` or `disabled`. Defaults to `enabled`. -func (o SpotInstanceRequestMetadataOptionsPtrOutput) HttpEndpoint() pulumi.StringPtrOutput { - return o.ApplyT(func(v *SpotInstanceRequestMetadataOptions) *string { +// `state` and `stateMessage` describing encryption enforcement state for Egress-Only Internet Gateways. +func (o VpcEncryptionControlResourceExclusionsPtrOutput) EgressOnlyInternetGateway() VpcEncryptionControlResourceExclusionsEgressOnlyInternetGatewayPtrOutput { + return o.ApplyT(func(v *VpcEncryptionControlResourceExclusions) *VpcEncryptionControlResourceExclusionsEgressOnlyInternetGateway { if v == nil { return nil } - return v.HttpEndpoint - }).(pulumi.StringPtrOutput) + return &v.EgressOnlyInternetGateway + }).(VpcEncryptionControlResourceExclusionsEgressOnlyInternetGatewayPtrOutput) } -// Whether the IPv6 endpoint for the instance metadata service is enabled. Defaults to `disabled`. -func (o SpotInstanceRequestMetadataOptionsPtrOutput) HttpProtocolIpv6() pulumi.StringPtrOutput { - return o.ApplyT(func(v *SpotInstanceRequestMetadataOptions) *string { +// `state` and `stateMessage` describing encryption enforcement state for Elastic File System (EFS). +func (o VpcEncryptionControlResourceExclusionsPtrOutput) ElasticFileSystem() VpcEncryptionControlResourceExclusionsElasticFileSystemPtrOutput { + return o.ApplyT(func(v *VpcEncryptionControlResourceExclusions) *VpcEncryptionControlResourceExclusionsElasticFileSystem { if v == nil { return nil } - return v.HttpProtocolIpv6 - }).(pulumi.StringPtrOutput) + return &v.ElasticFileSystem + }).(VpcEncryptionControlResourceExclusionsElasticFileSystemPtrOutput) } -// Desired HTTP PUT response hop limit for instance metadata requests. The larger the number, the further instance metadata requests can travel. Valid values are integer from `1` to `64`. Defaults to `1`. -func (o SpotInstanceRequestMetadataOptionsPtrOutput) HttpPutResponseHopLimit() pulumi.IntPtrOutput { - return o.ApplyT(func(v *SpotInstanceRequestMetadataOptions) *int { +// `state` and `stateMessage` describing encryption enforcement state for Internet Gateways. +func (o VpcEncryptionControlResourceExclusionsPtrOutput) InternetGateway() VpcEncryptionControlResourceExclusionsInternetGatewayPtrOutput { + return o.ApplyT(func(v *VpcEncryptionControlResourceExclusions) *VpcEncryptionControlResourceExclusionsInternetGateway { if v == nil { return nil } - return v.HttpPutResponseHopLimit - }).(pulumi.IntPtrOutput) + return &v.InternetGateway + }).(VpcEncryptionControlResourceExclusionsInternetGatewayPtrOutput) } -// Whether or not the metadata service requires session tokens, also referred to as _Instance Metadata Service Version 2 (IMDSv2)_. Valid values include `optional` or `required`. -func (o SpotInstanceRequestMetadataOptionsPtrOutput) HttpTokens() pulumi.StringPtrOutput { - return o.ApplyT(func(v *SpotInstanceRequestMetadataOptions) *string { +// `state` and `stateMessage` describing encryption enforcement state for Lambda Functions. +func (o VpcEncryptionControlResourceExclusionsPtrOutput) Lambda() VpcEncryptionControlResourceExclusionsLambdaPtrOutput { + return o.ApplyT(func(v *VpcEncryptionControlResourceExclusions) *VpcEncryptionControlResourceExclusionsLambda { if v == nil { return nil } - return v.HttpTokens - }).(pulumi.StringPtrOutput) + return &v.Lambda + }).(VpcEncryptionControlResourceExclusionsLambdaPtrOutput) } -// Enables or disables access to instance tags from the instance metadata service. Valid values include `enabled` or `disabled`. Defaults to `disabled`. -// -// For more information, see the documentation on the [Instance Metadata Service](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html). -func (o SpotInstanceRequestMetadataOptionsPtrOutput) InstanceMetadataTags() pulumi.StringPtrOutput { - return o.ApplyT(func(v *SpotInstanceRequestMetadataOptions) *string { +// `state` and `stateMessage` describing encryption enforcement state for NAT Gateways. +func (o VpcEncryptionControlResourceExclusionsPtrOutput) NatGateway() VpcEncryptionControlResourceExclusionsNatGatewayPtrOutput { + return o.ApplyT(func(v *VpcEncryptionControlResourceExclusions) *VpcEncryptionControlResourceExclusionsNatGateway { if v == nil { return nil } - return v.InstanceMetadataTags - }).(pulumi.StringPtrOutput) + return &v.NatGateway + }).(VpcEncryptionControlResourceExclusionsNatGatewayPtrOutput) } -type SpotInstanceRequestNetworkInterface struct { - // Whether or not to delete the network interface on instance termination. Defaults to `false`. Currently, the only valid value is `false`, as this is only supported when creating new network interfaces when launching an instance. - DeleteOnTermination *bool `pulumi:"deleteOnTermination"` - // Integer index of the network interface attachment. Limited by instance type. - DeviceIndex int `pulumi:"deviceIndex"` - // Integer index of the network card. Limited by instance type. The default index is `0`. - NetworkCardIndex *int `pulumi:"networkCardIndex"` - // ID of the network interface to attach. - NetworkInterfaceId string `pulumi:"networkInterfaceId"` +// `state` and `stateMessage` describing encryption enforcement state for Virtual Private Gateways. +func (o VpcEncryptionControlResourceExclusionsPtrOutput) VirtualPrivateGateway() VpcEncryptionControlResourceExclusionsVirtualPrivateGatewayPtrOutput { + return o.ApplyT(func(v *VpcEncryptionControlResourceExclusions) *VpcEncryptionControlResourceExclusionsVirtualPrivateGateway { + if v == nil { + return nil + } + return &v.VirtualPrivateGateway + }).(VpcEncryptionControlResourceExclusionsVirtualPrivateGatewayPtrOutput) } -// SpotInstanceRequestNetworkInterfaceInput is an input type that accepts SpotInstanceRequestNetworkInterfaceArgs and SpotInstanceRequestNetworkInterfaceOutput values. -// You can construct a concrete instance of `SpotInstanceRequestNetworkInterfaceInput` via: +// `state` and `stateMessage` describing encryption enforcement state for VPC Lattice. +func (o VpcEncryptionControlResourceExclusionsPtrOutput) VpcLattice() VpcEncryptionControlResourceExclusionsVpcLatticePtrOutput { + return o.ApplyT(func(v *VpcEncryptionControlResourceExclusions) *VpcEncryptionControlResourceExclusionsVpcLattice { + if v == nil { + return nil + } + return &v.VpcLattice + }).(VpcEncryptionControlResourceExclusionsVpcLatticePtrOutput) +} + +// `state` and `stateMessage` describing encryption enforcement state for peered VPCs. +func (o VpcEncryptionControlResourceExclusionsPtrOutput) VpcPeering() VpcEncryptionControlResourceExclusionsVpcPeeringPtrOutput { + return o.ApplyT(func(v *VpcEncryptionControlResourceExclusions) *VpcEncryptionControlResourceExclusionsVpcPeering { + if v == nil { + return nil + } + return &v.VpcPeering + }).(VpcEncryptionControlResourceExclusionsVpcPeeringPtrOutput) +} + +type VpcEncryptionControlResourceExclusionsEgressOnlyInternetGateway struct { + // The current state of the VPC Encryption Control. + State string `pulumi:"state"` + // A message providing additional information about the state of the VPC Encryption Control. + StateMessage string `pulumi:"stateMessage"` +} + +// VpcEncryptionControlResourceExclusionsEgressOnlyInternetGatewayInput is an input type that accepts VpcEncryptionControlResourceExclusionsEgressOnlyInternetGatewayArgs and VpcEncryptionControlResourceExclusionsEgressOnlyInternetGatewayOutput values. +// You can construct a concrete instance of `VpcEncryptionControlResourceExclusionsEgressOnlyInternetGatewayInput` via: // -// SpotInstanceRequestNetworkInterfaceArgs{...} -type SpotInstanceRequestNetworkInterfaceInput interface { +// VpcEncryptionControlResourceExclusionsEgressOnlyInternetGatewayArgs{...} +type VpcEncryptionControlResourceExclusionsEgressOnlyInternetGatewayInput interface { pulumi.Input - ToSpotInstanceRequestNetworkInterfaceOutput() SpotInstanceRequestNetworkInterfaceOutput - ToSpotInstanceRequestNetworkInterfaceOutputWithContext(context.Context) SpotInstanceRequestNetworkInterfaceOutput + ToVpcEncryptionControlResourceExclusionsEgressOnlyInternetGatewayOutput() VpcEncryptionControlResourceExclusionsEgressOnlyInternetGatewayOutput + ToVpcEncryptionControlResourceExclusionsEgressOnlyInternetGatewayOutputWithContext(context.Context) VpcEncryptionControlResourceExclusionsEgressOnlyInternetGatewayOutput } -type SpotInstanceRequestNetworkInterfaceArgs struct { - // Whether or not to delete the network interface on instance termination. Defaults to `false`. Currently, the only valid value is `false`, as this is only supported when creating new network interfaces when launching an instance. - DeleteOnTermination pulumi.BoolPtrInput `pulumi:"deleteOnTermination"` - // Integer index of the network interface attachment. Limited by instance type. - DeviceIndex pulumi.IntInput `pulumi:"deviceIndex"` - // Integer index of the network card. Limited by instance type. The default index is `0`. - NetworkCardIndex pulumi.IntPtrInput `pulumi:"networkCardIndex"` - // ID of the network interface to attach. - NetworkInterfaceId pulumi.StringInput `pulumi:"networkInterfaceId"` +type VpcEncryptionControlResourceExclusionsEgressOnlyInternetGatewayArgs struct { + // The current state of the VPC Encryption Control. + State pulumi.StringInput `pulumi:"state"` + // A message providing additional information about the state of the VPC Encryption Control. + StateMessage pulumi.StringInput `pulumi:"stateMessage"` } -func (SpotInstanceRequestNetworkInterfaceArgs) ElementType() reflect.Type { - return reflect.TypeOf((*SpotInstanceRequestNetworkInterface)(nil)).Elem() +func (VpcEncryptionControlResourceExclusionsEgressOnlyInternetGatewayArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VpcEncryptionControlResourceExclusionsEgressOnlyInternetGateway)(nil)).Elem() } -func (i SpotInstanceRequestNetworkInterfaceArgs) ToSpotInstanceRequestNetworkInterfaceOutput() SpotInstanceRequestNetworkInterfaceOutput { - return i.ToSpotInstanceRequestNetworkInterfaceOutputWithContext(context.Background()) +func (i VpcEncryptionControlResourceExclusionsEgressOnlyInternetGatewayArgs) ToVpcEncryptionControlResourceExclusionsEgressOnlyInternetGatewayOutput() VpcEncryptionControlResourceExclusionsEgressOnlyInternetGatewayOutput { + return i.ToVpcEncryptionControlResourceExclusionsEgressOnlyInternetGatewayOutputWithContext(context.Background()) } -func (i SpotInstanceRequestNetworkInterfaceArgs) ToSpotInstanceRequestNetworkInterfaceOutputWithContext(ctx context.Context) SpotInstanceRequestNetworkInterfaceOutput { - return pulumi.ToOutputWithContext(ctx, i).(SpotInstanceRequestNetworkInterfaceOutput) +func (i VpcEncryptionControlResourceExclusionsEgressOnlyInternetGatewayArgs) ToVpcEncryptionControlResourceExclusionsEgressOnlyInternetGatewayOutputWithContext(ctx context.Context) VpcEncryptionControlResourceExclusionsEgressOnlyInternetGatewayOutput { + return pulumi.ToOutputWithContext(ctx, i).(VpcEncryptionControlResourceExclusionsEgressOnlyInternetGatewayOutput) } -// SpotInstanceRequestNetworkInterfaceArrayInput is an input type that accepts SpotInstanceRequestNetworkInterfaceArray and SpotInstanceRequestNetworkInterfaceArrayOutput values. -// You can construct a concrete instance of `SpotInstanceRequestNetworkInterfaceArrayInput` via: +func (i VpcEncryptionControlResourceExclusionsEgressOnlyInternetGatewayArgs) ToVpcEncryptionControlResourceExclusionsEgressOnlyInternetGatewayPtrOutput() VpcEncryptionControlResourceExclusionsEgressOnlyInternetGatewayPtrOutput { + return i.ToVpcEncryptionControlResourceExclusionsEgressOnlyInternetGatewayPtrOutputWithContext(context.Background()) +} + +func (i VpcEncryptionControlResourceExclusionsEgressOnlyInternetGatewayArgs) ToVpcEncryptionControlResourceExclusionsEgressOnlyInternetGatewayPtrOutputWithContext(ctx context.Context) VpcEncryptionControlResourceExclusionsEgressOnlyInternetGatewayPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VpcEncryptionControlResourceExclusionsEgressOnlyInternetGatewayOutput).ToVpcEncryptionControlResourceExclusionsEgressOnlyInternetGatewayPtrOutputWithContext(ctx) +} + +// VpcEncryptionControlResourceExclusionsEgressOnlyInternetGatewayPtrInput is an input type that accepts VpcEncryptionControlResourceExclusionsEgressOnlyInternetGatewayArgs, VpcEncryptionControlResourceExclusionsEgressOnlyInternetGatewayPtr and VpcEncryptionControlResourceExclusionsEgressOnlyInternetGatewayPtrOutput values. +// You can construct a concrete instance of `VpcEncryptionControlResourceExclusionsEgressOnlyInternetGatewayPtrInput` via: +// +// VpcEncryptionControlResourceExclusionsEgressOnlyInternetGatewayArgs{...} // -// SpotInstanceRequestNetworkInterfaceArray{ SpotInstanceRequestNetworkInterfaceArgs{...} } -type SpotInstanceRequestNetworkInterfaceArrayInput interface { +// or: +// +// nil +type VpcEncryptionControlResourceExclusionsEgressOnlyInternetGatewayPtrInput interface { pulumi.Input - ToSpotInstanceRequestNetworkInterfaceArrayOutput() SpotInstanceRequestNetworkInterfaceArrayOutput - ToSpotInstanceRequestNetworkInterfaceArrayOutputWithContext(context.Context) SpotInstanceRequestNetworkInterfaceArrayOutput + ToVpcEncryptionControlResourceExclusionsEgressOnlyInternetGatewayPtrOutput() VpcEncryptionControlResourceExclusionsEgressOnlyInternetGatewayPtrOutput + ToVpcEncryptionControlResourceExclusionsEgressOnlyInternetGatewayPtrOutputWithContext(context.Context) VpcEncryptionControlResourceExclusionsEgressOnlyInternetGatewayPtrOutput } -type SpotInstanceRequestNetworkInterfaceArray []SpotInstanceRequestNetworkInterfaceInput +type vpcEncryptionControlResourceExclusionsEgressOnlyInternetGatewayPtrType VpcEncryptionControlResourceExclusionsEgressOnlyInternetGatewayArgs -func (SpotInstanceRequestNetworkInterfaceArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]SpotInstanceRequestNetworkInterface)(nil)).Elem() +func VpcEncryptionControlResourceExclusionsEgressOnlyInternetGatewayPtr(v *VpcEncryptionControlResourceExclusionsEgressOnlyInternetGatewayArgs) VpcEncryptionControlResourceExclusionsEgressOnlyInternetGatewayPtrInput { + return (*vpcEncryptionControlResourceExclusionsEgressOnlyInternetGatewayPtrType)(v) } -func (i SpotInstanceRequestNetworkInterfaceArray) ToSpotInstanceRequestNetworkInterfaceArrayOutput() SpotInstanceRequestNetworkInterfaceArrayOutput { - return i.ToSpotInstanceRequestNetworkInterfaceArrayOutputWithContext(context.Background()) +func (*vpcEncryptionControlResourceExclusionsEgressOnlyInternetGatewayPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VpcEncryptionControlResourceExclusionsEgressOnlyInternetGateway)(nil)).Elem() } -func (i SpotInstanceRequestNetworkInterfaceArray) ToSpotInstanceRequestNetworkInterfaceArrayOutputWithContext(ctx context.Context) SpotInstanceRequestNetworkInterfaceArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(SpotInstanceRequestNetworkInterfaceArrayOutput) +func (i *vpcEncryptionControlResourceExclusionsEgressOnlyInternetGatewayPtrType) ToVpcEncryptionControlResourceExclusionsEgressOnlyInternetGatewayPtrOutput() VpcEncryptionControlResourceExclusionsEgressOnlyInternetGatewayPtrOutput { + return i.ToVpcEncryptionControlResourceExclusionsEgressOnlyInternetGatewayPtrOutputWithContext(context.Background()) } -type SpotInstanceRequestNetworkInterfaceOutput struct{ *pulumi.OutputState } +func (i *vpcEncryptionControlResourceExclusionsEgressOnlyInternetGatewayPtrType) ToVpcEncryptionControlResourceExclusionsEgressOnlyInternetGatewayPtrOutputWithContext(ctx context.Context) VpcEncryptionControlResourceExclusionsEgressOnlyInternetGatewayPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VpcEncryptionControlResourceExclusionsEgressOnlyInternetGatewayPtrOutput) +} -func (SpotInstanceRequestNetworkInterfaceOutput) ElementType() reflect.Type { - return reflect.TypeOf((*SpotInstanceRequestNetworkInterface)(nil)).Elem() +type VpcEncryptionControlResourceExclusionsEgressOnlyInternetGatewayOutput struct{ *pulumi.OutputState } + +func (VpcEncryptionControlResourceExclusionsEgressOnlyInternetGatewayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VpcEncryptionControlResourceExclusionsEgressOnlyInternetGateway)(nil)).Elem() } -func (o SpotInstanceRequestNetworkInterfaceOutput) ToSpotInstanceRequestNetworkInterfaceOutput() SpotInstanceRequestNetworkInterfaceOutput { +func (o VpcEncryptionControlResourceExclusionsEgressOnlyInternetGatewayOutput) ToVpcEncryptionControlResourceExclusionsEgressOnlyInternetGatewayOutput() VpcEncryptionControlResourceExclusionsEgressOnlyInternetGatewayOutput { return o } -func (o SpotInstanceRequestNetworkInterfaceOutput) ToSpotInstanceRequestNetworkInterfaceOutputWithContext(ctx context.Context) SpotInstanceRequestNetworkInterfaceOutput { +func (o VpcEncryptionControlResourceExclusionsEgressOnlyInternetGatewayOutput) ToVpcEncryptionControlResourceExclusionsEgressOnlyInternetGatewayOutputWithContext(ctx context.Context) VpcEncryptionControlResourceExclusionsEgressOnlyInternetGatewayOutput { return o } -// Whether or not to delete the network interface on instance termination. Defaults to `false`. Currently, the only valid value is `false`, as this is only supported when creating new network interfaces when launching an instance. -func (o SpotInstanceRequestNetworkInterfaceOutput) DeleteOnTermination() pulumi.BoolPtrOutput { - return o.ApplyT(func(v SpotInstanceRequestNetworkInterface) *bool { return v.DeleteOnTermination }).(pulumi.BoolPtrOutput) +func (o VpcEncryptionControlResourceExclusionsEgressOnlyInternetGatewayOutput) ToVpcEncryptionControlResourceExclusionsEgressOnlyInternetGatewayPtrOutput() VpcEncryptionControlResourceExclusionsEgressOnlyInternetGatewayPtrOutput { + return o.ToVpcEncryptionControlResourceExclusionsEgressOnlyInternetGatewayPtrOutputWithContext(context.Background()) } -// Integer index of the network interface attachment. Limited by instance type. -func (o SpotInstanceRequestNetworkInterfaceOutput) DeviceIndex() pulumi.IntOutput { - return o.ApplyT(func(v SpotInstanceRequestNetworkInterface) int { return v.DeviceIndex }).(pulumi.IntOutput) +func (o VpcEncryptionControlResourceExclusionsEgressOnlyInternetGatewayOutput) ToVpcEncryptionControlResourceExclusionsEgressOnlyInternetGatewayPtrOutputWithContext(ctx context.Context) VpcEncryptionControlResourceExclusionsEgressOnlyInternetGatewayPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VpcEncryptionControlResourceExclusionsEgressOnlyInternetGateway) *VpcEncryptionControlResourceExclusionsEgressOnlyInternetGateway { + return &v + }).(VpcEncryptionControlResourceExclusionsEgressOnlyInternetGatewayPtrOutput) } -// Integer index of the network card. Limited by instance type. The default index is `0`. -func (o SpotInstanceRequestNetworkInterfaceOutput) NetworkCardIndex() pulumi.IntPtrOutput { - return o.ApplyT(func(v SpotInstanceRequestNetworkInterface) *int { return v.NetworkCardIndex }).(pulumi.IntPtrOutput) +// The current state of the VPC Encryption Control. +func (o VpcEncryptionControlResourceExclusionsEgressOnlyInternetGatewayOutput) State() pulumi.StringOutput { + return o.ApplyT(func(v VpcEncryptionControlResourceExclusionsEgressOnlyInternetGateway) string { return v.State }).(pulumi.StringOutput) } -// ID of the network interface to attach. -func (o SpotInstanceRequestNetworkInterfaceOutput) NetworkInterfaceId() pulumi.StringOutput { - return o.ApplyT(func(v SpotInstanceRequestNetworkInterface) string { return v.NetworkInterfaceId }).(pulumi.StringOutput) +// A message providing additional information about the state of the VPC Encryption Control. +func (o VpcEncryptionControlResourceExclusionsEgressOnlyInternetGatewayOutput) StateMessage() pulumi.StringOutput { + return o.ApplyT(func(v VpcEncryptionControlResourceExclusionsEgressOnlyInternetGateway) string { return v.StateMessage }).(pulumi.StringOutput) } -type SpotInstanceRequestNetworkInterfaceArrayOutput struct{ *pulumi.OutputState } +type VpcEncryptionControlResourceExclusionsEgressOnlyInternetGatewayPtrOutput struct{ *pulumi.OutputState } -func (SpotInstanceRequestNetworkInterfaceArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]SpotInstanceRequestNetworkInterface)(nil)).Elem() +func (VpcEncryptionControlResourceExclusionsEgressOnlyInternetGatewayPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VpcEncryptionControlResourceExclusionsEgressOnlyInternetGateway)(nil)).Elem() } -func (o SpotInstanceRequestNetworkInterfaceArrayOutput) ToSpotInstanceRequestNetworkInterfaceArrayOutput() SpotInstanceRequestNetworkInterfaceArrayOutput { +func (o VpcEncryptionControlResourceExclusionsEgressOnlyInternetGatewayPtrOutput) ToVpcEncryptionControlResourceExclusionsEgressOnlyInternetGatewayPtrOutput() VpcEncryptionControlResourceExclusionsEgressOnlyInternetGatewayPtrOutput { return o } -func (o SpotInstanceRequestNetworkInterfaceArrayOutput) ToSpotInstanceRequestNetworkInterfaceArrayOutputWithContext(ctx context.Context) SpotInstanceRequestNetworkInterfaceArrayOutput { +func (o VpcEncryptionControlResourceExclusionsEgressOnlyInternetGatewayPtrOutput) ToVpcEncryptionControlResourceExclusionsEgressOnlyInternetGatewayPtrOutputWithContext(ctx context.Context) VpcEncryptionControlResourceExclusionsEgressOnlyInternetGatewayPtrOutput { return o } -func (o SpotInstanceRequestNetworkInterfaceArrayOutput) Index(i pulumi.IntInput) SpotInstanceRequestNetworkInterfaceOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) SpotInstanceRequestNetworkInterface { - return vs[0].([]SpotInstanceRequestNetworkInterface)[vs[1].(int)] - }).(SpotInstanceRequestNetworkInterfaceOutput) +func (o VpcEncryptionControlResourceExclusionsEgressOnlyInternetGatewayPtrOutput) Elem() VpcEncryptionControlResourceExclusionsEgressOnlyInternetGatewayOutput { + return o.ApplyT(func(v *VpcEncryptionControlResourceExclusionsEgressOnlyInternetGateway) VpcEncryptionControlResourceExclusionsEgressOnlyInternetGateway { + if v != nil { + return *v + } + var ret VpcEncryptionControlResourceExclusionsEgressOnlyInternetGateway + return ret + }).(VpcEncryptionControlResourceExclusionsEgressOnlyInternetGatewayOutput) } -type SpotInstanceRequestPrimaryNetworkInterface struct { - // Whether the network interface will be deleted when the instance terminates. - DeleteOnTermination *bool `pulumi:"deleteOnTermination"` - // ID of the network interface to attach. - NetworkInterfaceId *string `pulumi:"networkInterfaceId"` +// The current state of the VPC Encryption Control. +func (o VpcEncryptionControlResourceExclusionsEgressOnlyInternetGatewayPtrOutput) State() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VpcEncryptionControlResourceExclusionsEgressOnlyInternetGateway) *string { + if v == nil { + return nil + } + return &v.State + }).(pulumi.StringPtrOutput) } -// SpotInstanceRequestPrimaryNetworkInterfaceInput is an input type that accepts SpotInstanceRequestPrimaryNetworkInterfaceArgs and SpotInstanceRequestPrimaryNetworkInterfaceOutput values. -// You can construct a concrete instance of `SpotInstanceRequestPrimaryNetworkInterfaceInput` via: +// A message providing additional information about the state of the VPC Encryption Control. +func (o VpcEncryptionControlResourceExclusionsEgressOnlyInternetGatewayPtrOutput) StateMessage() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VpcEncryptionControlResourceExclusionsEgressOnlyInternetGateway) *string { + if v == nil { + return nil + } + return &v.StateMessage + }).(pulumi.StringPtrOutput) +} + +type VpcEncryptionControlResourceExclusionsElasticFileSystem struct { + // The current state of the VPC Encryption Control. + State string `pulumi:"state"` + // A message providing additional information about the state of the VPC Encryption Control. + StateMessage string `pulumi:"stateMessage"` +} + +// VpcEncryptionControlResourceExclusionsElasticFileSystemInput is an input type that accepts VpcEncryptionControlResourceExclusionsElasticFileSystemArgs and VpcEncryptionControlResourceExclusionsElasticFileSystemOutput values. +// You can construct a concrete instance of `VpcEncryptionControlResourceExclusionsElasticFileSystemInput` via: // -// SpotInstanceRequestPrimaryNetworkInterfaceArgs{...} -type SpotInstanceRequestPrimaryNetworkInterfaceInput interface { +// VpcEncryptionControlResourceExclusionsElasticFileSystemArgs{...} +type VpcEncryptionControlResourceExclusionsElasticFileSystemInput interface { pulumi.Input - ToSpotInstanceRequestPrimaryNetworkInterfaceOutput() SpotInstanceRequestPrimaryNetworkInterfaceOutput - ToSpotInstanceRequestPrimaryNetworkInterfaceOutputWithContext(context.Context) SpotInstanceRequestPrimaryNetworkInterfaceOutput + ToVpcEncryptionControlResourceExclusionsElasticFileSystemOutput() VpcEncryptionControlResourceExclusionsElasticFileSystemOutput + ToVpcEncryptionControlResourceExclusionsElasticFileSystemOutputWithContext(context.Context) VpcEncryptionControlResourceExclusionsElasticFileSystemOutput } -type SpotInstanceRequestPrimaryNetworkInterfaceArgs struct { - // Whether the network interface will be deleted when the instance terminates. - DeleteOnTermination pulumi.BoolPtrInput `pulumi:"deleteOnTermination"` - // ID of the network interface to attach. - NetworkInterfaceId pulumi.StringPtrInput `pulumi:"networkInterfaceId"` +type VpcEncryptionControlResourceExclusionsElasticFileSystemArgs struct { + // The current state of the VPC Encryption Control. + State pulumi.StringInput `pulumi:"state"` + // A message providing additional information about the state of the VPC Encryption Control. + StateMessage pulumi.StringInput `pulumi:"stateMessage"` } -func (SpotInstanceRequestPrimaryNetworkInterfaceArgs) ElementType() reflect.Type { - return reflect.TypeOf((*SpotInstanceRequestPrimaryNetworkInterface)(nil)).Elem() +func (VpcEncryptionControlResourceExclusionsElasticFileSystemArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VpcEncryptionControlResourceExclusionsElasticFileSystem)(nil)).Elem() } -func (i SpotInstanceRequestPrimaryNetworkInterfaceArgs) ToSpotInstanceRequestPrimaryNetworkInterfaceOutput() SpotInstanceRequestPrimaryNetworkInterfaceOutput { - return i.ToSpotInstanceRequestPrimaryNetworkInterfaceOutputWithContext(context.Background()) +func (i VpcEncryptionControlResourceExclusionsElasticFileSystemArgs) ToVpcEncryptionControlResourceExclusionsElasticFileSystemOutput() VpcEncryptionControlResourceExclusionsElasticFileSystemOutput { + return i.ToVpcEncryptionControlResourceExclusionsElasticFileSystemOutputWithContext(context.Background()) } -func (i SpotInstanceRequestPrimaryNetworkInterfaceArgs) ToSpotInstanceRequestPrimaryNetworkInterfaceOutputWithContext(ctx context.Context) SpotInstanceRequestPrimaryNetworkInterfaceOutput { - return pulumi.ToOutputWithContext(ctx, i).(SpotInstanceRequestPrimaryNetworkInterfaceOutput) +func (i VpcEncryptionControlResourceExclusionsElasticFileSystemArgs) ToVpcEncryptionControlResourceExclusionsElasticFileSystemOutputWithContext(ctx context.Context) VpcEncryptionControlResourceExclusionsElasticFileSystemOutput { + return pulumi.ToOutputWithContext(ctx, i).(VpcEncryptionControlResourceExclusionsElasticFileSystemOutput) } -// SpotInstanceRequestPrimaryNetworkInterfaceArrayInput is an input type that accepts SpotInstanceRequestPrimaryNetworkInterfaceArray and SpotInstanceRequestPrimaryNetworkInterfaceArrayOutput values. -// You can construct a concrete instance of `SpotInstanceRequestPrimaryNetworkInterfaceArrayInput` via: +func (i VpcEncryptionControlResourceExclusionsElasticFileSystemArgs) ToVpcEncryptionControlResourceExclusionsElasticFileSystemPtrOutput() VpcEncryptionControlResourceExclusionsElasticFileSystemPtrOutput { + return i.ToVpcEncryptionControlResourceExclusionsElasticFileSystemPtrOutputWithContext(context.Background()) +} + +func (i VpcEncryptionControlResourceExclusionsElasticFileSystemArgs) ToVpcEncryptionControlResourceExclusionsElasticFileSystemPtrOutputWithContext(ctx context.Context) VpcEncryptionControlResourceExclusionsElasticFileSystemPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VpcEncryptionControlResourceExclusionsElasticFileSystemOutput).ToVpcEncryptionControlResourceExclusionsElasticFileSystemPtrOutputWithContext(ctx) +} + +// VpcEncryptionControlResourceExclusionsElasticFileSystemPtrInput is an input type that accepts VpcEncryptionControlResourceExclusionsElasticFileSystemArgs, VpcEncryptionControlResourceExclusionsElasticFileSystemPtr and VpcEncryptionControlResourceExclusionsElasticFileSystemPtrOutput values. +// You can construct a concrete instance of `VpcEncryptionControlResourceExclusionsElasticFileSystemPtrInput` via: // -// SpotInstanceRequestPrimaryNetworkInterfaceArray{ SpotInstanceRequestPrimaryNetworkInterfaceArgs{...} } -type SpotInstanceRequestPrimaryNetworkInterfaceArrayInput interface { +// VpcEncryptionControlResourceExclusionsElasticFileSystemArgs{...} +// +// or: +// +// nil +type VpcEncryptionControlResourceExclusionsElasticFileSystemPtrInput interface { pulumi.Input - ToSpotInstanceRequestPrimaryNetworkInterfaceArrayOutput() SpotInstanceRequestPrimaryNetworkInterfaceArrayOutput - ToSpotInstanceRequestPrimaryNetworkInterfaceArrayOutputWithContext(context.Context) SpotInstanceRequestPrimaryNetworkInterfaceArrayOutput + ToVpcEncryptionControlResourceExclusionsElasticFileSystemPtrOutput() VpcEncryptionControlResourceExclusionsElasticFileSystemPtrOutput + ToVpcEncryptionControlResourceExclusionsElasticFileSystemPtrOutputWithContext(context.Context) VpcEncryptionControlResourceExclusionsElasticFileSystemPtrOutput } -type SpotInstanceRequestPrimaryNetworkInterfaceArray []SpotInstanceRequestPrimaryNetworkInterfaceInput +type vpcEncryptionControlResourceExclusionsElasticFileSystemPtrType VpcEncryptionControlResourceExclusionsElasticFileSystemArgs -func (SpotInstanceRequestPrimaryNetworkInterfaceArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]SpotInstanceRequestPrimaryNetworkInterface)(nil)).Elem() +func VpcEncryptionControlResourceExclusionsElasticFileSystemPtr(v *VpcEncryptionControlResourceExclusionsElasticFileSystemArgs) VpcEncryptionControlResourceExclusionsElasticFileSystemPtrInput { + return (*vpcEncryptionControlResourceExclusionsElasticFileSystemPtrType)(v) } -func (i SpotInstanceRequestPrimaryNetworkInterfaceArray) ToSpotInstanceRequestPrimaryNetworkInterfaceArrayOutput() SpotInstanceRequestPrimaryNetworkInterfaceArrayOutput { - return i.ToSpotInstanceRequestPrimaryNetworkInterfaceArrayOutputWithContext(context.Background()) +func (*vpcEncryptionControlResourceExclusionsElasticFileSystemPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VpcEncryptionControlResourceExclusionsElasticFileSystem)(nil)).Elem() } -func (i SpotInstanceRequestPrimaryNetworkInterfaceArray) ToSpotInstanceRequestPrimaryNetworkInterfaceArrayOutputWithContext(ctx context.Context) SpotInstanceRequestPrimaryNetworkInterfaceArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(SpotInstanceRequestPrimaryNetworkInterfaceArrayOutput) +func (i *vpcEncryptionControlResourceExclusionsElasticFileSystemPtrType) ToVpcEncryptionControlResourceExclusionsElasticFileSystemPtrOutput() VpcEncryptionControlResourceExclusionsElasticFileSystemPtrOutput { + return i.ToVpcEncryptionControlResourceExclusionsElasticFileSystemPtrOutputWithContext(context.Background()) } -type SpotInstanceRequestPrimaryNetworkInterfaceOutput struct{ *pulumi.OutputState } +func (i *vpcEncryptionControlResourceExclusionsElasticFileSystemPtrType) ToVpcEncryptionControlResourceExclusionsElasticFileSystemPtrOutputWithContext(ctx context.Context) VpcEncryptionControlResourceExclusionsElasticFileSystemPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VpcEncryptionControlResourceExclusionsElasticFileSystemPtrOutput) +} -func (SpotInstanceRequestPrimaryNetworkInterfaceOutput) ElementType() reflect.Type { - return reflect.TypeOf((*SpotInstanceRequestPrimaryNetworkInterface)(nil)).Elem() +type VpcEncryptionControlResourceExclusionsElasticFileSystemOutput struct{ *pulumi.OutputState } + +func (VpcEncryptionControlResourceExclusionsElasticFileSystemOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VpcEncryptionControlResourceExclusionsElasticFileSystem)(nil)).Elem() } -func (o SpotInstanceRequestPrimaryNetworkInterfaceOutput) ToSpotInstanceRequestPrimaryNetworkInterfaceOutput() SpotInstanceRequestPrimaryNetworkInterfaceOutput { +func (o VpcEncryptionControlResourceExclusionsElasticFileSystemOutput) ToVpcEncryptionControlResourceExclusionsElasticFileSystemOutput() VpcEncryptionControlResourceExclusionsElasticFileSystemOutput { return o } -func (o SpotInstanceRequestPrimaryNetworkInterfaceOutput) ToSpotInstanceRequestPrimaryNetworkInterfaceOutputWithContext(ctx context.Context) SpotInstanceRequestPrimaryNetworkInterfaceOutput { +func (o VpcEncryptionControlResourceExclusionsElasticFileSystemOutput) ToVpcEncryptionControlResourceExclusionsElasticFileSystemOutputWithContext(ctx context.Context) VpcEncryptionControlResourceExclusionsElasticFileSystemOutput { return o } -// Whether the network interface will be deleted when the instance terminates. -func (o SpotInstanceRequestPrimaryNetworkInterfaceOutput) DeleteOnTermination() pulumi.BoolPtrOutput { - return o.ApplyT(func(v SpotInstanceRequestPrimaryNetworkInterface) *bool { return v.DeleteOnTermination }).(pulumi.BoolPtrOutput) +func (o VpcEncryptionControlResourceExclusionsElasticFileSystemOutput) ToVpcEncryptionControlResourceExclusionsElasticFileSystemPtrOutput() VpcEncryptionControlResourceExclusionsElasticFileSystemPtrOutput { + return o.ToVpcEncryptionControlResourceExclusionsElasticFileSystemPtrOutputWithContext(context.Background()) } -// ID of the network interface to attach. -func (o SpotInstanceRequestPrimaryNetworkInterfaceOutput) NetworkInterfaceId() pulumi.StringPtrOutput { - return o.ApplyT(func(v SpotInstanceRequestPrimaryNetworkInterface) *string { return v.NetworkInterfaceId }).(pulumi.StringPtrOutput) +func (o VpcEncryptionControlResourceExclusionsElasticFileSystemOutput) ToVpcEncryptionControlResourceExclusionsElasticFileSystemPtrOutputWithContext(ctx context.Context) VpcEncryptionControlResourceExclusionsElasticFileSystemPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VpcEncryptionControlResourceExclusionsElasticFileSystem) *VpcEncryptionControlResourceExclusionsElasticFileSystem { + return &v + }).(VpcEncryptionControlResourceExclusionsElasticFileSystemPtrOutput) } -type SpotInstanceRequestPrimaryNetworkInterfaceArrayOutput struct{ *pulumi.OutputState } +// The current state of the VPC Encryption Control. +func (o VpcEncryptionControlResourceExclusionsElasticFileSystemOutput) State() pulumi.StringOutput { + return o.ApplyT(func(v VpcEncryptionControlResourceExclusionsElasticFileSystem) string { return v.State }).(pulumi.StringOutput) +} -func (SpotInstanceRequestPrimaryNetworkInterfaceArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]SpotInstanceRequestPrimaryNetworkInterface)(nil)).Elem() +// A message providing additional information about the state of the VPC Encryption Control. +func (o VpcEncryptionControlResourceExclusionsElasticFileSystemOutput) StateMessage() pulumi.StringOutput { + return o.ApplyT(func(v VpcEncryptionControlResourceExclusionsElasticFileSystem) string { return v.StateMessage }).(pulumi.StringOutput) } -func (o SpotInstanceRequestPrimaryNetworkInterfaceArrayOutput) ToSpotInstanceRequestPrimaryNetworkInterfaceArrayOutput() SpotInstanceRequestPrimaryNetworkInterfaceArrayOutput { +type VpcEncryptionControlResourceExclusionsElasticFileSystemPtrOutput struct{ *pulumi.OutputState } + +func (VpcEncryptionControlResourceExclusionsElasticFileSystemPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VpcEncryptionControlResourceExclusionsElasticFileSystem)(nil)).Elem() +} + +func (o VpcEncryptionControlResourceExclusionsElasticFileSystemPtrOutput) ToVpcEncryptionControlResourceExclusionsElasticFileSystemPtrOutput() VpcEncryptionControlResourceExclusionsElasticFileSystemPtrOutput { return o } -func (o SpotInstanceRequestPrimaryNetworkInterfaceArrayOutput) ToSpotInstanceRequestPrimaryNetworkInterfaceArrayOutputWithContext(ctx context.Context) SpotInstanceRequestPrimaryNetworkInterfaceArrayOutput { +func (o VpcEncryptionControlResourceExclusionsElasticFileSystemPtrOutput) ToVpcEncryptionControlResourceExclusionsElasticFileSystemPtrOutputWithContext(ctx context.Context) VpcEncryptionControlResourceExclusionsElasticFileSystemPtrOutput { return o } -func (o SpotInstanceRequestPrimaryNetworkInterfaceArrayOutput) Index(i pulumi.IntInput) SpotInstanceRequestPrimaryNetworkInterfaceOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) SpotInstanceRequestPrimaryNetworkInterface { - return vs[0].([]SpotInstanceRequestPrimaryNetworkInterface)[vs[1].(int)] - }).(SpotInstanceRequestPrimaryNetworkInterfaceOutput) +func (o VpcEncryptionControlResourceExclusionsElasticFileSystemPtrOutput) Elem() VpcEncryptionControlResourceExclusionsElasticFileSystemOutput { + return o.ApplyT(func(v *VpcEncryptionControlResourceExclusionsElasticFileSystem) VpcEncryptionControlResourceExclusionsElasticFileSystem { + if v != nil { + return *v + } + var ret VpcEncryptionControlResourceExclusionsElasticFileSystem + return ret + }).(VpcEncryptionControlResourceExclusionsElasticFileSystemOutput) } -type SpotInstanceRequestPrivateDnsNameOptions struct { - // Indicates whether to respond to DNS queries for instance hostnames with DNS A records. - EnableResourceNameDnsARecord *bool `pulumi:"enableResourceNameDnsARecord"` - // Indicates whether to respond to DNS queries for instance hostnames with DNS AAAA records. - EnableResourceNameDnsAaaaRecord *bool `pulumi:"enableResourceNameDnsAaaaRecord"` - // Type of hostname for Amazon EC2 instances. For IPv4 only subnets, an instance DNS name must be based on the instance IPv4 address. For IPv6 native subnets, an instance DNS name must be based on the instance ID. For dual-stack subnets, you can specify whether DNS names use the instance IPv4 address or the instance ID. Valid values: `ip-name` and `resource-name`. - HostnameType *string `pulumi:"hostnameType"` +// The current state of the VPC Encryption Control. +func (o VpcEncryptionControlResourceExclusionsElasticFileSystemPtrOutput) State() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VpcEncryptionControlResourceExclusionsElasticFileSystem) *string { + if v == nil { + return nil + } + return &v.State + }).(pulumi.StringPtrOutput) } -// SpotInstanceRequestPrivateDnsNameOptionsInput is an input type that accepts SpotInstanceRequestPrivateDnsNameOptionsArgs and SpotInstanceRequestPrivateDnsNameOptionsOutput values. -// You can construct a concrete instance of `SpotInstanceRequestPrivateDnsNameOptionsInput` via: +// A message providing additional information about the state of the VPC Encryption Control. +func (o VpcEncryptionControlResourceExclusionsElasticFileSystemPtrOutput) StateMessage() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VpcEncryptionControlResourceExclusionsElasticFileSystem) *string { + if v == nil { + return nil + } + return &v.StateMessage + }).(pulumi.StringPtrOutput) +} + +type VpcEncryptionControlResourceExclusionsInternetGateway struct { + // The current state of the VPC Encryption Control. + State string `pulumi:"state"` + // A message providing additional information about the state of the VPC Encryption Control. + StateMessage string `pulumi:"stateMessage"` +} + +// VpcEncryptionControlResourceExclusionsInternetGatewayInput is an input type that accepts VpcEncryptionControlResourceExclusionsInternetGatewayArgs and VpcEncryptionControlResourceExclusionsInternetGatewayOutput values. +// You can construct a concrete instance of `VpcEncryptionControlResourceExclusionsInternetGatewayInput` via: // -// SpotInstanceRequestPrivateDnsNameOptionsArgs{...} -type SpotInstanceRequestPrivateDnsNameOptionsInput interface { +// VpcEncryptionControlResourceExclusionsInternetGatewayArgs{...} +type VpcEncryptionControlResourceExclusionsInternetGatewayInput interface { pulumi.Input - ToSpotInstanceRequestPrivateDnsNameOptionsOutput() SpotInstanceRequestPrivateDnsNameOptionsOutput - ToSpotInstanceRequestPrivateDnsNameOptionsOutputWithContext(context.Context) SpotInstanceRequestPrivateDnsNameOptionsOutput + ToVpcEncryptionControlResourceExclusionsInternetGatewayOutput() VpcEncryptionControlResourceExclusionsInternetGatewayOutput + ToVpcEncryptionControlResourceExclusionsInternetGatewayOutputWithContext(context.Context) VpcEncryptionControlResourceExclusionsInternetGatewayOutput } -type SpotInstanceRequestPrivateDnsNameOptionsArgs struct { - // Indicates whether to respond to DNS queries for instance hostnames with DNS A records. - EnableResourceNameDnsARecord pulumi.BoolPtrInput `pulumi:"enableResourceNameDnsARecord"` - // Indicates whether to respond to DNS queries for instance hostnames with DNS AAAA records. - EnableResourceNameDnsAaaaRecord pulumi.BoolPtrInput `pulumi:"enableResourceNameDnsAaaaRecord"` - // Type of hostname for Amazon EC2 instances. For IPv4 only subnets, an instance DNS name must be based on the instance IPv4 address. For IPv6 native subnets, an instance DNS name must be based on the instance ID. For dual-stack subnets, you can specify whether DNS names use the instance IPv4 address or the instance ID. Valid values: `ip-name` and `resource-name`. - HostnameType pulumi.StringPtrInput `pulumi:"hostnameType"` +type VpcEncryptionControlResourceExclusionsInternetGatewayArgs struct { + // The current state of the VPC Encryption Control. + State pulumi.StringInput `pulumi:"state"` + // A message providing additional information about the state of the VPC Encryption Control. + StateMessage pulumi.StringInput `pulumi:"stateMessage"` } -func (SpotInstanceRequestPrivateDnsNameOptionsArgs) ElementType() reflect.Type { - return reflect.TypeOf((*SpotInstanceRequestPrivateDnsNameOptions)(nil)).Elem() +func (VpcEncryptionControlResourceExclusionsInternetGatewayArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VpcEncryptionControlResourceExclusionsInternetGateway)(nil)).Elem() } -func (i SpotInstanceRequestPrivateDnsNameOptionsArgs) ToSpotInstanceRequestPrivateDnsNameOptionsOutput() SpotInstanceRequestPrivateDnsNameOptionsOutput { - return i.ToSpotInstanceRequestPrivateDnsNameOptionsOutputWithContext(context.Background()) +func (i VpcEncryptionControlResourceExclusionsInternetGatewayArgs) ToVpcEncryptionControlResourceExclusionsInternetGatewayOutput() VpcEncryptionControlResourceExclusionsInternetGatewayOutput { + return i.ToVpcEncryptionControlResourceExclusionsInternetGatewayOutputWithContext(context.Background()) } -func (i SpotInstanceRequestPrivateDnsNameOptionsArgs) ToSpotInstanceRequestPrivateDnsNameOptionsOutputWithContext(ctx context.Context) SpotInstanceRequestPrivateDnsNameOptionsOutput { - return pulumi.ToOutputWithContext(ctx, i).(SpotInstanceRequestPrivateDnsNameOptionsOutput) +func (i VpcEncryptionControlResourceExclusionsInternetGatewayArgs) ToVpcEncryptionControlResourceExclusionsInternetGatewayOutputWithContext(ctx context.Context) VpcEncryptionControlResourceExclusionsInternetGatewayOutput { + return pulumi.ToOutputWithContext(ctx, i).(VpcEncryptionControlResourceExclusionsInternetGatewayOutput) } -func (i SpotInstanceRequestPrivateDnsNameOptionsArgs) ToSpotInstanceRequestPrivateDnsNameOptionsPtrOutput() SpotInstanceRequestPrivateDnsNameOptionsPtrOutput { - return i.ToSpotInstanceRequestPrivateDnsNameOptionsPtrOutputWithContext(context.Background()) +func (i VpcEncryptionControlResourceExclusionsInternetGatewayArgs) ToVpcEncryptionControlResourceExclusionsInternetGatewayPtrOutput() VpcEncryptionControlResourceExclusionsInternetGatewayPtrOutput { + return i.ToVpcEncryptionControlResourceExclusionsInternetGatewayPtrOutputWithContext(context.Background()) } -func (i SpotInstanceRequestPrivateDnsNameOptionsArgs) ToSpotInstanceRequestPrivateDnsNameOptionsPtrOutputWithContext(ctx context.Context) SpotInstanceRequestPrivateDnsNameOptionsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(SpotInstanceRequestPrivateDnsNameOptionsOutput).ToSpotInstanceRequestPrivateDnsNameOptionsPtrOutputWithContext(ctx) +func (i VpcEncryptionControlResourceExclusionsInternetGatewayArgs) ToVpcEncryptionControlResourceExclusionsInternetGatewayPtrOutputWithContext(ctx context.Context) VpcEncryptionControlResourceExclusionsInternetGatewayPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VpcEncryptionControlResourceExclusionsInternetGatewayOutput).ToVpcEncryptionControlResourceExclusionsInternetGatewayPtrOutputWithContext(ctx) } -// SpotInstanceRequestPrivateDnsNameOptionsPtrInput is an input type that accepts SpotInstanceRequestPrivateDnsNameOptionsArgs, SpotInstanceRequestPrivateDnsNameOptionsPtr and SpotInstanceRequestPrivateDnsNameOptionsPtrOutput values. -// You can construct a concrete instance of `SpotInstanceRequestPrivateDnsNameOptionsPtrInput` via: +// VpcEncryptionControlResourceExclusionsInternetGatewayPtrInput is an input type that accepts VpcEncryptionControlResourceExclusionsInternetGatewayArgs, VpcEncryptionControlResourceExclusionsInternetGatewayPtr and VpcEncryptionControlResourceExclusionsInternetGatewayPtrOutput values. +// You can construct a concrete instance of `VpcEncryptionControlResourceExclusionsInternetGatewayPtrInput` via: // -// SpotInstanceRequestPrivateDnsNameOptionsArgs{...} +// VpcEncryptionControlResourceExclusionsInternetGatewayArgs{...} // // or: // // nil -type SpotInstanceRequestPrivateDnsNameOptionsPtrInput interface { +type VpcEncryptionControlResourceExclusionsInternetGatewayPtrInput interface { pulumi.Input - ToSpotInstanceRequestPrivateDnsNameOptionsPtrOutput() SpotInstanceRequestPrivateDnsNameOptionsPtrOutput - ToSpotInstanceRequestPrivateDnsNameOptionsPtrOutputWithContext(context.Context) SpotInstanceRequestPrivateDnsNameOptionsPtrOutput + ToVpcEncryptionControlResourceExclusionsInternetGatewayPtrOutput() VpcEncryptionControlResourceExclusionsInternetGatewayPtrOutput + ToVpcEncryptionControlResourceExclusionsInternetGatewayPtrOutputWithContext(context.Context) VpcEncryptionControlResourceExclusionsInternetGatewayPtrOutput } -type spotInstanceRequestPrivateDnsNameOptionsPtrType SpotInstanceRequestPrivateDnsNameOptionsArgs +type vpcEncryptionControlResourceExclusionsInternetGatewayPtrType VpcEncryptionControlResourceExclusionsInternetGatewayArgs -func SpotInstanceRequestPrivateDnsNameOptionsPtr(v *SpotInstanceRequestPrivateDnsNameOptionsArgs) SpotInstanceRequestPrivateDnsNameOptionsPtrInput { - return (*spotInstanceRequestPrivateDnsNameOptionsPtrType)(v) +func VpcEncryptionControlResourceExclusionsInternetGatewayPtr(v *VpcEncryptionControlResourceExclusionsInternetGatewayArgs) VpcEncryptionControlResourceExclusionsInternetGatewayPtrInput { + return (*vpcEncryptionControlResourceExclusionsInternetGatewayPtrType)(v) } -func (*spotInstanceRequestPrivateDnsNameOptionsPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**SpotInstanceRequestPrivateDnsNameOptions)(nil)).Elem() +func (*vpcEncryptionControlResourceExclusionsInternetGatewayPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VpcEncryptionControlResourceExclusionsInternetGateway)(nil)).Elem() } -func (i *spotInstanceRequestPrivateDnsNameOptionsPtrType) ToSpotInstanceRequestPrivateDnsNameOptionsPtrOutput() SpotInstanceRequestPrivateDnsNameOptionsPtrOutput { - return i.ToSpotInstanceRequestPrivateDnsNameOptionsPtrOutputWithContext(context.Background()) +func (i *vpcEncryptionControlResourceExclusionsInternetGatewayPtrType) ToVpcEncryptionControlResourceExclusionsInternetGatewayPtrOutput() VpcEncryptionControlResourceExclusionsInternetGatewayPtrOutput { + return i.ToVpcEncryptionControlResourceExclusionsInternetGatewayPtrOutputWithContext(context.Background()) } -func (i *spotInstanceRequestPrivateDnsNameOptionsPtrType) ToSpotInstanceRequestPrivateDnsNameOptionsPtrOutputWithContext(ctx context.Context) SpotInstanceRequestPrivateDnsNameOptionsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(SpotInstanceRequestPrivateDnsNameOptionsPtrOutput) +func (i *vpcEncryptionControlResourceExclusionsInternetGatewayPtrType) ToVpcEncryptionControlResourceExclusionsInternetGatewayPtrOutputWithContext(ctx context.Context) VpcEncryptionControlResourceExclusionsInternetGatewayPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VpcEncryptionControlResourceExclusionsInternetGatewayPtrOutput) } -type SpotInstanceRequestPrivateDnsNameOptionsOutput struct{ *pulumi.OutputState } +type VpcEncryptionControlResourceExclusionsInternetGatewayOutput struct{ *pulumi.OutputState } -func (SpotInstanceRequestPrivateDnsNameOptionsOutput) ElementType() reflect.Type { - return reflect.TypeOf((*SpotInstanceRequestPrivateDnsNameOptions)(nil)).Elem() +func (VpcEncryptionControlResourceExclusionsInternetGatewayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VpcEncryptionControlResourceExclusionsInternetGateway)(nil)).Elem() } -func (o SpotInstanceRequestPrivateDnsNameOptionsOutput) ToSpotInstanceRequestPrivateDnsNameOptionsOutput() SpotInstanceRequestPrivateDnsNameOptionsOutput { +func (o VpcEncryptionControlResourceExclusionsInternetGatewayOutput) ToVpcEncryptionControlResourceExclusionsInternetGatewayOutput() VpcEncryptionControlResourceExclusionsInternetGatewayOutput { return o } -func (o SpotInstanceRequestPrivateDnsNameOptionsOutput) ToSpotInstanceRequestPrivateDnsNameOptionsOutputWithContext(ctx context.Context) SpotInstanceRequestPrivateDnsNameOptionsOutput { +func (o VpcEncryptionControlResourceExclusionsInternetGatewayOutput) ToVpcEncryptionControlResourceExclusionsInternetGatewayOutputWithContext(ctx context.Context) VpcEncryptionControlResourceExclusionsInternetGatewayOutput { return o } -func (o SpotInstanceRequestPrivateDnsNameOptionsOutput) ToSpotInstanceRequestPrivateDnsNameOptionsPtrOutput() SpotInstanceRequestPrivateDnsNameOptionsPtrOutput { - return o.ToSpotInstanceRequestPrivateDnsNameOptionsPtrOutputWithContext(context.Background()) +func (o VpcEncryptionControlResourceExclusionsInternetGatewayOutput) ToVpcEncryptionControlResourceExclusionsInternetGatewayPtrOutput() VpcEncryptionControlResourceExclusionsInternetGatewayPtrOutput { + return o.ToVpcEncryptionControlResourceExclusionsInternetGatewayPtrOutputWithContext(context.Background()) } -func (o SpotInstanceRequestPrivateDnsNameOptionsOutput) ToSpotInstanceRequestPrivateDnsNameOptionsPtrOutputWithContext(ctx context.Context) SpotInstanceRequestPrivateDnsNameOptionsPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v SpotInstanceRequestPrivateDnsNameOptions) *SpotInstanceRequestPrivateDnsNameOptions { +func (o VpcEncryptionControlResourceExclusionsInternetGatewayOutput) ToVpcEncryptionControlResourceExclusionsInternetGatewayPtrOutputWithContext(ctx context.Context) VpcEncryptionControlResourceExclusionsInternetGatewayPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VpcEncryptionControlResourceExclusionsInternetGateway) *VpcEncryptionControlResourceExclusionsInternetGateway { return &v - }).(SpotInstanceRequestPrivateDnsNameOptionsPtrOutput) + }).(VpcEncryptionControlResourceExclusionsInternetGatewayPtrOutput) } -// Indicates whether to respond to DNS queries for instance hostnames with DNS A records. -func (o SpotInstanceRequestPrivateDnsNameOptionsOutput) EnableResourceNameDnsARecord() pulumi.BoolPtrOutput { - return o.ApplyT(func(v SpotInstanceRequestPrivateDnsNameOptions) *bool { return v.EnableResourceNameDnsARecord }).(pulumi.BoolPtrOutput) -} - -// Indicates whether to respond to DNS queries for instance hostnames with DNS AAAA records. -func (o SpotInstanceRequestPrivateDnsNameOptionsOutput) EnableResourceNameDnsAaaaRecord() pulumi.BoolPtrOutput { - return o.ApplyT(func(v SpotInstanceRequestPrivateDnsNameOptions) *bool { return v.EnableResourceNameDnsAaaaRecord }).(pulumi.BoolPtrOutput) +// The current state of the VPC Encryption Control. +func (o VpcEncryptionControlResourceExclusionsInternetGatewayOutput) State() pulumi.StringOutput { + return o.ApplyT(func(v VpcEncryptionControlResourceExclusionsInternetGateway) string { return v.State }).(pulumi.StringOutput) } -// Type of hostname for Amazon EC2 instances. For IPv4 only subnets, an instance DNS name must be based on the instance IPv4 address. For IPv6 native subnets, an instance DNS name must be based on the instance ID. For dual-stack subnets, you can specify whether DNS names use the instance IPv4 address or the instance ID. Valid values: `ip-name` and `resource-name`. -func (o SpotInstanceRequestPrivateDnsNameOptionsOutput) HostnameType() pulumi.StringPtrOutput { - return o.ApplyT(func(v SpotInstanceRequestPrivateDnsNameOptions) *string { return v.HostnameType }).(pulumi.StringPtrOutput) +// A message providing additional information about the state of the VPC Encryption Control. +func (o VpcEncryptionControlResourceExclusionsInternetGatewayOutput) StateMessage() pulumi.StringOutput { + return o.ApplyT(func(v VpcEncryptionControlResourceExclusionsInternetGateway) string { return v.StateMessage }).(pulumi.StringOutput) } -type SpotInstanceRequestPrivateDnsNameOptionsPtrOutput struct{ *pulumi.OutputState } +type VpcEncryptionControlResourceExclusionsInternetGatewayPtrOutput struct{ *pulumi.OutputState } -func (SpotInstanceRequestPrivateDnsNameOptionsPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**SpotInstanceRequestPrivateDnsNameOptions)(nil)).Elem() +func (VpcEncryptionControlResourceExclusionsInternetGatewayPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VpcEncryptionControlResourceExclusionsInternetGateway)(nil)).Elem() } -func (o SpotInstanceRequestPrivateDnsNameOptionsPtrOutput) ToSpotInstanceRequestPrivateDnsNameOptionsPtrOutput() SpotInstanceRequestPrivateDnsNameOptionsPtrOutput { +func (o VpcEncryptionControlResourceExclusionsInternetGatewayPtrOutput) ToVpcEncryptionControlResourceExclusionsInternetGatewayPtrOutput() VpcEncryptionControlResourceExclusionsInternetGatewayPtrOutput { return o } -func (o SpotInstanceRequestPrivateDnsNameOptionsPtrOutput) ToSpotInstanceRequestPrivateDnsNameOptionsPtrOutputWithContext(ctx context.Context) SpotInstanceRequestPrivateDnsNameOptionsPtrOutput { +func (o VpcEncryptionControlResourceExclusionsInternetGatewayPtrOutput) ToVpcEncryptionControlResourceExclusionsInternetGatewayPtrOutputWithContext(ctx context.Context) VpcEncryptionControlResourceExclusionsInternetGatewayPtrOutput { return o } -func (o SpotInstanceRequestPrivateDnsNameOptionsPtrOutput) Elem() SpotInstanceRequestPrivateDnsNameOptionsOutput { - return o.ApplyT(func(v *SpotInstanceRequestPrivateDnsNameOptions) SpotInstanceRequestPrivateDnsNameOptions { +func (o VpcEncryptionControlResourceExclusionsInternetGatewayPtrOutput) Elem() VpcEncryptionControlResourceExclusionsInternetGatewayOutput { + return o.ApplyT(func(v *VpcEncryptionControlResourceExclusionsInternetGateway) VpcEncryptionControlResourceExclusionsInternetGateway { if v != nil { return *v } - var ret SpotInstanceRequestPrivateDnsNameOptions + var ret VpcEncryptionControlResourceExclusionsInternetGateway return ret - }).(SpotInstanceRequestPrivateDnsNameOptionsOutput) -} - -// Indicates whether to respond to DNS queries for instance hostnames with DNS A records. -func (o SpotInstanceRequestPrivateDnsNameOptionsPtrOutput) EnableResourceNameDnsARecord() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *SpotInstanceRequestPrivateDnsNameOptions) *bool { - if v == nil { - return nil - } - return v.EnableResourceNameDnsARecord - }).(pulumi.BoolPtrOutput) + }).(VpcEncryptionControlResourceExclusionsInternetGatewayOutput) } -// Indicates whether to respond to DNS queries for instance hostnames with DNS AAAA records. -func (o SpotInstanceRequestPrivateDnsNameOptionsPtrOutput) EnableResourceNameDnsAaaaRecord() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *SpotInstanceRequestPrivateDnsNameOptions) *bool { +// The current state of the VPC Encryption Control. +func (o VpcEncryptionControlResourceExclusionsInternetGatewayPtrOutput) State() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VpcEncryptionControlResourceExclusionsInternetGateway) *string { if v == nil { return nil } - return v.EnableResourceNameDnsAaaaRecord - }).(pulumi.BoolPtrOutput) + return &v.State + }).(pulumi.StringPtrOutput) } -// Type of hostname for Amazon EC2 instances. For IPv4 only subnets, an instance DNS name must be based on the instance IPv4 address. For IPv6 native subnets, an instance DNS name must be based on the instance ID. For dual-stack subnets, you can specify whether DNS names use the instance IPv4 address or the instance ID. Valid values: `ip-name` and `resource-name`. -func (o SpotInstanceRequestPrivateDnsNameOptionsPtrOutput) HostnameType() pulumi.StringPtrOutput { - return o.ApplyT(func(v *SpotInstanceRequestPrivateDnsNameOptions) *string { +// A message providing additional information about the state of the VPC Encryption Control. +func (o VpcEncryptionControlResourceExclusionsInternetGatewayPtrOutput) StateMessage() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VpcEncryptionControlResourceExclusionsInternetGateway) *string { if v == nil { return nil } - return v.HostnameType + return &v.StateMessage }).(pulumi.StringPtrOutput) } -type SpotInstanceRequestRootBlockDevice struct { - // Whether the volume should be destroyed on instance termination. Defaults to `true`. - DeleteOnTermination *bool `pulumi:"deleteOnTermination"` - DeviceName *string `pulumi:"deviceName"` - // Whether to enable volume encryption. Defaults to `false`. Must be configured to perform drift detection. - Encrypted *bool `pulumi:"encrypted"` - // Amount of provisioned [IOPS](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-io-characteristics.html). Only valid for volumeType of `io1`, `io2` or `gp3`. - Iops *int `pulumi:"iops"` - // Amazon Resource Name (ARN) of the KMS Key to use when encrypting the volume. Must be configured to perform drift detection. - KmsKeyId *string `pulumi:"kmsKeyId"` - // Map of tags to assign to the device. - Tags map[string]string `pulumi:"tags"` - // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. - TagsAll map[string]string `pulumi:"tagsAll"` - // Throughput to provision for a volume in mebibytes per second (MiB/s). This is only valid for `volumeType` of `gp3`. - Throughput *int `pulumi:"throughput"` - 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 the volume type that the AMI uses. - // - // Modifying the `encrypted` or `kmsKeyId` settings of the `rootBlockDevice` requires resource replacement. - VolumeType *string `pulumi:"volumeType"` +type VpcEncryptionControlResourceExclusionsLambda struct { + // The current state of the VPC Encryption Control. + State string `pulumi:"state"` + // A message providing additional information about the state of the VPC Encryption Control. + StateMessage string `pulumi:"stateMessage"` } -// SpotInstanceRequestRootBlockDeviceInput is an input type that accepts SpotInstanceRequestRootBlockDeviceArgs and SpotInstanceRequestRootBlockDeviceOutput values. -// You can construct a concrete instance of `SpotInstanceRequestRootBlockDeviceInput` via: +// VpcEncryptionControlResourceExclusionsLambdaInput is an input type that accepts VpcEncryptionControlResourceExclusionsLambdaArgs and VpcEncryptionControlResourceExclusionsLambdaOutput values. +// You can construct a concrete instance of `VpcEncryptionControlResourceExclusionsLambdaInput` via: // -// SpotInstanceRequestRootBlockDeviceArgs{...} -type SpotInstanceRequestRootBlockDeviceInput interface { +// VpcEncryptionControlResourceExclusionsLambdaArgs{...} +type VpcEncryptionControlResourceExclusionsLambdaInput interface { pulumi.Input - ToSpotInstanceRequestRootBlockDeviceOutput() SpotInstanceRequestRootBlockDeviceOutput - ToSpotInstanceRequestRootBlockDeviceOutputWithContext(context.Context) SpotInstanceRequestRootBlockDeviceOutput + ToVpcEncryptionControlResourceExclusionsLambdaOutput() VpcEncryptionControlResourceExclusionsLambdaOutput + ToVpcEncryptionControlResourceExclusionsLambdaOutputWithContext(context.Context) VpcEncryptionControlResourceExclusionsLambdaOutput } -type SpotInstanceRequestRootBlockDeviceArgs struct { - // Whether the volume should be destroyed on instance termination. Defaults to `true`. - DeleteOnTermination pulumi.BoolPtrInput `pulumi:"deleteOnTermination"` - DeviceName pulumi.StringPtrInput `pulumi:"deviceName"` - // Whether to enable volume encryption. Defaults to `false`. Must be configured to perform drift detection. - Encrypted pulumi.BoolPtrInput `pulumi:"encrypted"` - // Amount of provisioned [IOPS](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-io-characteristics.html). Only valid for volumeType of `io1`, `io2` or `gp3`. - Iops pulumi.IntPtrInput `pulumi:"iops"` - // Amazon Resource Name (ARN) of the KMS Key to use when encrypting the volume. Must be configured to perform drift detection. - KmsKeyId pulumi.StringPtrInput `pulumi:"kmsKeyId"` - // Map of tags to assign to the device. - Tags pulumi.StringMapInput `pulumi:"tags"` - // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. - TagsAll pulumi.StringMapInput `pulumi:"tagsAll"` - // Throughput to provision for a volume in mebibytes per second (MiB/s). This is only valid for `volumeType` of `gp3`. - Throughput pulumi.IntPtrInput `pulumi:"throughput"` - 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 the volume type that the AMI uses. - // - // Modifying the `encrypted` or `kmsKeyId` settings of the `rootBlockDevice` requires resource replacement. - VolumeType pulumi.StringPtrInput `pulumi:"volumeType"` +type VpcEncryptionControlResourceExclusionsLambdaArgs struct { + // The current state of the VPC Encryption Control. + State pulumi.StringInput `pulumi:"state"` + // A message providing additional information about the state of the VPC Encryption Control. + StateMessage pulumi.StringInput `pulumi:"stateMessage"` } -func (SpotInstanceRequestRootBlockDeviceArgs) ElementType() reflect.Type { - return reflect.TypeOf((*SpotInstanceRequestRootBlockDevice)(nil)).Elem() +func (VpcEncryptionControlResourceExclusionsLambdaArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VpcEncryptionControlResourceExclusionsLambda)(nil)).Elem() } -func (i SpotInstanceRequestRootBlockDeviceArgs) ToSpotInstanceRequestRootBlockDeviceOutput() SpotInstanceRequestRootBlockDeviceOutput { - return i.ToSpotInstanceRequestRootBlockDeviceOutputWithContext(context.Background()) +func (i VpcEncryptionControlResourceExclusionsLambdaArgs) ToVpcEncryptionControlResourceExclusionsLambdaOutput() VpcEncryptionControlResourceExclusionsLambdaOutput { + return i.ToVpcEncryptionControlResourceExclusionsLambdaOutputWithContext(context.Background()) } -func (i SpotInstanceRequestRootBlockDeviceArgs) ToSpotInstanceRequestRootBlockDeviceOutputWithContext(ctx context.Context) SpotInstanceRequestRootBlockDeviceOutput { - return pulumi.ToOutputWithContext(ctx, i).(SpotInstanceRequestRootBlockDeviceOutput) +func (i VpcEncryptionControlResourceExclusionsLambdaArgs) ToVpcEncryptionControlResourceExclusionsLambdaOutputWithContext(ctx context.Context) VpcEncryptionControlResourceExclusionsLambdaOutput { + return pulumi.ToOutputWithContext(ctx, i).(VpcEncryptionControlResourceExclusionsLambdaOutput) } -func (i SpotInstanceRequestRootBlockDeviceArgs) ToSpotInstanceRequestRootBlockDevicePtrOutput() SpotInstanceRequestRootBlockDevicePtrOutput { - return i.ToSpotInstanceRequestRootBlockDevicePtrOutputWithContext(context.Background()) +func (i VpcEncryptionControlResourceExclusionsLambdaArgs) ToVpcEncryptionControlResourceExclusionsLambdaPtrOutput() VpcEncryptionControlResourceExclusionsLambdaPtrOutput { + return i.ToVpcEncryptionControlResourceExclusionsLambdaPtrOutputWithContext(context.Background()) } -func (i SpotInstanceRequestRootBlockDeviceArgs) ToSpotInstanceRequestRootBlockDevicePtrOutputWithContext(ctx context.Context) SpotInstanceRequestRootBlockDevicePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(SpotInstanceRequestRootBlockDeviceOutput).ToSpotInstanceRequestRootBlockDevicePtrOutputWithContext(ctx) +func (i VpcEncryptionControlResourceExclusionsLambdaArgs) ToVpcEncryptionControlResourceExclusionsLambdaPtrOutputWithContext(ctx context.Context) VpcEncryptionControlResourceExclusionsLambdaPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VpcEncryptionControlResourceExclusionsLambdaOutput).ToVpcEncryptionControlResourceExclusionsLambdaPtrOutputWithContext(ctx) } -// SpotInstanceRequestRootBlockDevicePtrInput is an input type that accepts SpotInstanceRequestRootBlockDeviceArgs, SpotInstanceRequestRootBlockDevicePtr and SpotInstanceRequestRootBlockDevicePtrOutput values. -// You can construct a concrete instance of `SpotInstanceRequestRootBlockDevicePtrInput` via: +// VpcEncryptionControlResourceExclusionsLambdaPtrInput is an input type that accepts VpcEncryptionControlResourceExclusionsLambdaArgs, VpcEncryptionControlResourceExclusionsLambdaPtr and VpcEncryptionControlResourceExclusionsLambdaPtrOutput values. +// You can construct a concrete instance of `VpcEncryptionControlResourceExclusionsLambdaPtrInput` via: // -// SpotInstanceRequestRootBlockDeviceArgs{...} +// VpcEncryptionControlResourceExclusionsLambdaArgs{...} // // or: // // nil -type SpotInstanceRequestRootBlockDevicePtrInput interface { +type VpcEncryptionControlResourceExclusionsLambdaPtrInput interface { pulumi.Input - ToSpotInstanceRequestRootBlockDevicePtrOutput() SpotInstanceRequestRootBlockDevicePtrOutput - ToSpotInstanceRequestRootBlockDevicePtrOutputWithContext(context.Context) SpotInstanceRequestRootBlockDevicePtrOutput + ToVpcEncryptionControlResourceExclusionsLambdaPtrOutput() VpcEncryptionControlResourceExclusionsLambdaPtrOutput + ToVpcEncryptionControlResourceExclusionsLambdaPtrOutputWithContext(context.Context) VpcEncryptionControlResourceExclusionsLambdaPtrOutput } -type spotInstanceRequestRootBlockDevicePtrType SpotInstanceRequestRootBlockDeviceArgs +type vpcEncryptionControlResourceExclusionsLambdaPtrType VpcEncryptionControlResourceExclusionsLambdaArgs -func SpotInstanceRequestRootBlockDevicePtr(v *SpotInstanceRequestRootBlockDeviceArgs) SpotInstanceRequestRootBlockDevicePtrInput { - return (*spotInstanceRequestRootBlockDevicePtrType)(v) +func VpcEncryptionControlResourceExclusionsLambdaPtr(v *VpcEncryptionControlResourceExclusionsLambdaArgs) VpcEncryptionControlResourceExclusionsLambdaPtrInput { + return (*vpcEncryptionControlResourceExclusionsLambdaPtrType)(v) } -func (*spotInstanceRequestRootBlockDevicePtrType) ElementType() reflect.Type { - return reflect.TypeOf((**SpotInstanceRequestRootBlockDevice)(nil)).Elem() +func (*vpcEncryptionControlResourceExclusionsLambdaPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VpcEncryptionControlResourceExclusionsLambda)(nil)).Elem() } -func (i *spotInstanceRequestRootBlockDevicePtrType) ToSpotInstanceRequestRootBlockDevicePtrOutput() SpotInstanceRequestRootBlockDevicePtrOutput { - return i.ToSpotInstanceRequestRootBlockDevicePtrOutputWithContext(context.Background()) +func (i *vpcEncryptionControlResourceExclusionsLambdaPtrType) ToVpcEncryptionControlResourceExclusionsLambdaPtrOutput() VpcEncryptionControlResourceExclusionsLambdaPtrOutput { + return i.ToVpcEncryptionControlResourceExclusionsLambdaPtrOutputWithContext(context.Background()) } -func (i *spotInstanceRequestRootBlockDevicePtrType) ToSpotInstanceRequestRootBlockDevicePtrOutputWithContext(ctx context.Context) SpotInstanceRequestRootBlockDevicePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(SpotInstanceRequestRootBlockDevicePtrOutput) +func (i *vpcEncryptionControlResourceExclusionsLambdaPtrType) ToVpcEncryptionControlResourceExclusionsLambdaPtrOutputWithContext(ctx context.Context) VpcEncryptionControlResourceExclusionsLambdaPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VpcEncryptionControlResourceExclusionsLambdaPtrOutput) } -type SpotInstanceRequestRootBlockDeviceOutput struct{ *pulumi.OutputState } +type VpcEncryptionControlResourceExclusionsLambdaOutput struct{ *pulumi.OutputState } -func (SpotInstanceRequestRootBlockDeviceOutput) ElementType() reflect.Type { - return reflect.TypeOf((*SpotInstanceRequestRootBlockDevice)(nil)).Elem() +func (VpcEncryptionControlResourceExclusionsLambdaOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VpcEncryptionControlResourceExclusionsLambda)(nil)).Elem() } -func (o SpotInstanceRequestRootBlockDeviceOutput) ToSpotInstanceRequestRootBlockDeviceOutput() SpotInstanceRequestRootBlockDeviceOutput { +func (o VpcEncryptionControlResourceExclusionsLambdaOutput) ToVpcEncryptionControlResourceExclusionsLambdaOutput() VpcEncryptionControlResourceExclusionsLambdaOutput { return o } -func (o SpotInstanceRequestRootBlockDeviceOutput) ToSpotInstanceRequestRootBlockDeviceOutputWithContext(ctx context.Context) SpotInstanceRequestRootBlockDeviceOutput { +func (o VpcEncryptionControlResourceExclusionsLambdaOutput) ToVpcEncryptionControlResourceExclusionsLambdaOutputWithContext(ctx context.Context) VpcEncryptionControlResourceExclusionsLambdaOutput { return o } -func (o SpotInstanceRequestRootBlockDeviceOutput) ToSpotInstanceRequestRootBlockDevicePtrOutput() SpotInstanceRequestRootBlockDevicePtrOutput { - return o.ToSpotInstanceRequestRootBlockDevicePtrOutputWithContext(context.Background()) +func (o VpcEncryptionControlResourceExclusionsLambdaOutput) ToVpcEncryptionControlResourceExclusionsLambdaPtrOutput() VpcEncryptionControlResourceExclusionsLambdaPtrOutput { + return o.ToVpcEncryptionControlResourceExclusionsLambdaPtrOutputWithContext(context.Background()) } -func (o SpotInstanceRequestRootBlockDeviceOutput) ToSpotInstanceRequestRootBlockDevicePtrOutputWithContext(ctx context.Context) SpotInstanceRequestRootBlockDevicePtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v SpotInstanceRequestRootBlockDevice) *SpotInstanceRequestRootBlockDevice { +func (o VpcEncryptionControlResourceExclusionsLambdaOutput) ToVpcEncryptionControlResourceExclusionsLambdaPtrOutputWithContext(ctx context.Context) VpcEncryptionControlResourceExclusionsLambdaPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VpcEncryptionControlResourceExclusionsLambda) *VpcEncryptionControlResourceExclusionsLambda { return &v - }).(SpotInstanceRequestRootBlockDevicePtrOutput) + }).(VpcEncryptionControlResourceExclusionsLambdaPtrOutput) } -// Whether the volume should be destroyed on instance termination. Defaults to `true`. -func (o SpotInstanceRequestRootBlockDeviceOutput) DeleteOnTermination() pulumi.BoolPtrOutput { - return o.ApplyT(func(v SpotInstanceRequestRootBlockDevice) *bool { return v.DeleteOnTermination }).(pulumi.BoolPtrOutput) +// The current state of the VPC Encryption Control. +func (o VpcEncryptionControlResourceExclusionsLambdaOutput) State() pulumi.StringOutput { + return o.ApplyT(func(v VpcEncryptionControlResourceExclusionsLambda) string { return v.State }).(pulumi.StringOutput) } -func (o SpotInstanceRequestRootBlockDeviceOutput) DeviceName() pulumi.StringPtrOutput { - return o.ApplyT(func(v SpotInstanceRequestRootBlockDevice) *string { return v.DeviceName }).(pulumi.StringPtrOutput) +// A message providing additional information about the state of the VPC Encryption Control. +func (o VpcEncryptionControlResourceExclusionsLambdaOutput) StateMessage() pulumi.StringOutput { + return o.ApplyT(func(v VpcEncryptionControlResourceExclusionsLambda) string { return v.StateMessage }).(pulumi.StringOutput) } -// Whether to enable volume encryption. Defaults to `false`. Must be configured to perform drift detection. -func (o SpotInstanceRequestRootBlockDeviceOutput) Encrypted() pulumi.BoolPtrOutput { - return o.ApplyT(func(v SpotInstanceRequestRootBlockDevice) *bool { return v.Encrypted }).(pulumi.BoolPtrOutput) +type VpcEncryptionControlResourceExclusionsLambdaPtrOutput struct{ *pulumi.OutputState } + +func (VpcEncryptionControlResourceExclusionsLambdaPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VpcEncryptionControlResourceExclusionsLambda)(nil)).Elem() } -// Amount of provisioned [IOPS](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-io-characteristics.html). Only valid for volumeType of `io1`, `io2` or `gp3`. -func (o SpotInstanceRequestRootBlockDeviceOutput) Iops() pulumi.IntPtrOutput { - return o.ApplyT(func(v SpotInstanceRequestRootBlockDevice) *int { return v.Iops }).(pulumi.IntPtrOutput) +func (o VpcEncryptionControlResourceExclusionsLambdaPtrOutput) ToVpcEncryptionControlResourceExclusionsLambdaPtrOutput() VpcEncryptionControlResourceExclusionsLambdaPtrOutput { + return o } -// Amazon Resource Name (ARN) of the KMS Key to use when encrypting the volume. Must be configured to perform drift detection. -func (o SpotInstanceRequestRootBlockDeviceOutput) KmsKeyId() pulumi.StringPtrOutput { - return o.ApplyT(func(v SpotInstanceRequestRootBlockDevice) *string { return v.KmsKeyId }).(pulumi.StringPtrOutput) +func (o VpcEncryptionControlResourceExclusionsLambdaPtrOutput) ToVpcEncryptionControlResourceExclusionsLambdaPtrOutputWithContext(ctx context.Context) VpcEncryptionControlResourceExclusionsLambdaPtrOutput { + return o } -// Map of tags to assign to the device. -func (o SpotInstanceRequestRootBlockDeviceOutput) Tags() pulumi.StringMapOutput { - return o.ApplyT(func(v SpotInstanceRequestRootBlockDevice) map[string]string { return v.Tags }).(pulumi.StringMapOutput) +func (o VpcEncryptionControlResourceExclusionsLambdaPtrOutput) Elem() VpcEncryptionControlResourceExclusionsLambdaOutput { + return o.ApplyT(func(v *VpcEncryptionControlResourceExclusionsLambda) VpcEncryptionControlResourceExclusionsLambda { + if v != nil { + return *v + } + var ret VpcEncryptionControlResourceExclusionsLambda + return ret + }).(VpcEncryptionControlResourceExclusionsLambdaOutput) } -// A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. -func (o SpotInstanceRequestRootBlockDeviceOutput) TagsAll() pulumi.StringMapOutput { - return o.ApplyT(func(v SpotInstanceRequestRootBlockDevice) map[string]string { return v.TagsAll }).(pulumi.StringMapOutput) +// The current state of the VPC Encryption Control. +func (o VpcEncryptionControlResourceExclusionsLambdaPtrOutput) State() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VpcEncryptionControlResourceExclusionsLambda) *string { + if v == nil { + return nil + } + return &v.State + }).(pulumi.StringPtrOutput) } -// Throughput to provision for a volume in mebibytes per second (MiB/s). This is only valid for `volumeType` of `gp3`. -func (o SpotInstanceRequestRootBlockDeviceOutput) Throughput() pulumi.IntPtrOutput { - return o.ApplyT(func(v SpotInstanceRequestRootBlockDevice) *int { return v.Throughput }).(pulumi.IntPtrOutput) +// A message providing additional information about the state of the VPC Encryption Control. +func (o VpcEncryptionControlResourceExclusionsLambdaPtrOutput) StateMessage() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VpcEncryptionControlResourceExclusionsLambda) *string { + if v == nil { + return nil + } + return &v.StateMessage + }).(pulumi.StringPtrOutput) } -func (o SpotInstanceRequestRootBlockDeviceOutput) VolumeId() pulumi.StringPtrOutput { - return o.ApplyT(func(v SpotInstanceRequestRootBlockDevice) *string { return v.VolumeId }).(pulumi.StringPtrOutput) +type VpcEncryptionControlResourceExclusionsNatGateway struct { + // The current state of the VPC Encryption Control. + State string `pulumi:"state"` + // A message providing additional information about the state of the VPC Encryption Control. + StateMessage string `pulumi:"stateMessage"` } -// Size of the volume in gibibytes (GiB). -func (o SpotInstanceRequestRootBlockDeviceOutput) VolumeSize() pulumi.IntPtrOutput { - return o.ApplyT(func(v SpotInstanceRequestRootBlockDevice) *int { return v.VolumeSize }).(pulumi.IntPtrOutput) +// VpcEncryptionControlResourceExclusionsNatGatewayInput is an input type that accepts VpcEncryptionControlResourceExclusionsNatGatewayArgs and VpcEncryptionControlResourceExclusionsNatGatewayOutput values. +// You can construct a concrete instance of `VpcEncryptionControlResourceExclusionsNatGatewayInput` via: +// +// VpcEncryptionControlResourceExclusionsNatGatewayArgs{...} +type VpcEncryptionControlResourceExclusionsNatGatewayInput interface { + pulumi.Input + + ToVpcEncryptionControlResourceExclusionsNatGatewayOutput() VpcEncryptionControlResourceExclusionsNatGatewayOutput + ToVpcEncryptionControlResourceExclusionsNatGatewayOutputWithContext(context.Context) VpcEncryptionControlResourceExclusionsNatGatewayOutput } -// Type of volume. Valid values include `standard`, `gp2`, `gp3`, `io1`, `io2`, `sc1`, or `st1`. Defaults to the volume type that the AMI uses. +type VpcEncryptionControlResourceExclusionsNatGatewayArgs struct { + // The current state of the VPC Encryption Control. + State pulumi.StringInput `pulumi:"state"` + // A message providing additional information about the state of the VPC Encryption Control. + StateMessage pulumi.StringInput `pulumi:"stateMessage"` +} + +func (VpcEncryptionControlResourceExclusionsNatGatewayArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VpcEncryptionControlResourceExclusionsNatGateway)(nil)).Elem() +} + +func (i VpcEncryptionControlResourceExclusionsNatGatewayArgs) ToVpcEncryptionControlResourceExclusionsNatGatewayOutput() VpcEncryptionControlResourceExclusionsNatGatewayOutput { + return i.ToVpcEncryptionControlResourceExclusionsNatGatewayOutputWithContext(context.Background()) +} + +func (i VpcEncryptionControlResourceExclusionsNatGatewayArgs) ToVpcEncryptionControlResourceExclusionsNatGatewayOutputWithContext(ctx context.Context) VpcEncryptionControlResourceExclusionsNatGatewayOutput { + return pulumi.ToOutputWithContext(ctx, i).(VpcEncryptionControlResourceExclusionsNatGatewayOutput) +} + +func (i VpcEncryptionControlResourceExclusionsNatGatewayArgs) ToVpcEncryptionControlResourceExclusionsNatGatewayPtrOutput() VpcEncryptionControlResourceExclusionsNatGatewayPtrOutput { + return i.ToVpcEncryptionControlResourceExclusionsNatGatewayPtrOutputWithContext(context.Background()) +} + +func (i VpcEncryptionControlResourceExclusionsNatGatewayArgs) ToVpcEncryptionControlResourceExclusionsNatGatewayPtrOutputWithContext(ctx context.Context) VpcEncryptionControlResourceExclusionsNatGatewayPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VpcEncryptionControlResourceExclusionsNatGatewayOutput).ToVpcEncryptionControlResourceExclusionsNatGatewayPtrOutputWithContext(ctx) +} + +// VpcEncryptionControlResourceExclusionsNatGatewayPtrInput is an input type that accepts VpcEncryptionControlResourceExclusionsNatGatewayArgs, VpcEncryptionControlResourceExclusionsNatGatewayPtr and VpcEncryptionControlResourceExclusionsNatGatewayPtrOutput values. +// You can construct a concrete instance of `VpcEncryptionControlResourceExclusionsNatGatewayPtrInput` via: // -// Modifying the `encrypted` or `kmsKeyId` settings of the `rootBlockDevice` requires resource replacement. -func (o SpotInstanceRequestRootBlockDeviceOutput) VolumeType() pulumi.StringPtrOutput { - return o.ApplyT(func(v SpotInstanceRequestRootBlockDevice) *string { return v.VolumeType }).(pulumi.StringPtrOutput) +// VpcEncryptionControlResourceExclusionsNatGatewayArgs{...} +// +// or: +// +// nil +type VpcEncryptionControlResourceExclusionsNatGatewayPtrInput interface { + pulumi.Input + + ToVpcEncryptionControlResourceExclusionsNatGatewayPtrOutput() VpcEncryptionControlResourceExclusionsNatGatewayPtrOutput + ToVpcEncryptionControlResourceExclusionsNatGatewayPtrOutputWithContext(context.Context) VpcEncryptionControlResourceExclusionsNatGatewayPtrOutput } -type SpotInstanceRequestRootBlockDevicePtrOutput struct{ *pulumi.OutputState } +type vpcEncryptionControlResourceExclusionsNatGatewayPtrType VpcEncryptionControlResourceExclusionsNatGatewayArgs -func (SpotInstanceRequestRootBlockDevicePtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**SpotInstanceRequestRootBlockDevice)(nil)).Elem() +func VpcEncryptionControlResourceExclusionsNatGatewayPtr(v *VpcEncryptionControlResourceExclusionsNatGatewayArgs) VpcEncryptionControlResourceExclusionsNatGatewayPtrInput { + return (*vpcEncryptionControlResourceExclusionsNatGatewayPtrType)(v) } -func (o SpotInstanceRequestRootBlockDevicePtrOutput) ToSpotInstanceRequestRootBlockDevicePtrOutput() SpotInstanceRequestRootBlockDevicePtrOutput { - return o +func (*vpcEncryptionControlResourceExclusionsNatGatewayPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VpcEncryptionControlResourceExclusionsNatGateway)(nil)).Elem() } -func (o SpotInstanceRequestRootBlockDevicePtrOutput) ToSpotInstanceRequestRootBlockDevicePtrOutputWithContext(ctx context.Context) SpotInstanceRequestRootBlockDevicePtrOutput { - return o +func (i *vpcEncryptionControlResourceExclusionsNatGatewayPtrType) ToVpcEncryptionControlResourceExclusionsNatGatewayPtrOutput() VpcEncryptionControlResourceExclusionsNatGatewayPtrOutput { + return i.ToVpcEncryptionControlResourceExclusionsNatGatewayPtrOutputWithContext(context.Background()) } -func (o SpotInstanceRequestRootBlockDevicePtrOutput) Elem() SpotInstanceRequestRootBlockDeviceOutput { - return o.ApplyT(func(v *SpotInstanceRequestRootBlockDevice) SpotInstanceRequestRootBlockDevice { - if v != nil { - return *v - } - var ret SpotInstanceRequestRootBlockDevice - return ret - }).(SpotInstanceRequestRootBlockDeviceOutput) +func (i *vpcEncryptionControlResourceExclusionsNatGatewayPtrType) ToVpcEncryptionControlResourceExclusionsNatGatewayPtrOutputWithContext(ctx context.Context) VpcEncryptionControlResourceExclusionsNatGatewayPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VpcEncryptionControlResourceExclusionsNatGatewayPtrOutput) } -// Whether the volume should be destroyed on instance termination. Defaults to `true`. -func (o SpotInstanceRequestRootBlockDevicePtrOutput) DeleteOnTermination() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *SpotInstanceRequestRootBlockDevice) *bool { - if v == nil { - return nil - } - return v.DeleteOnTermination - }).(pulumi.BoolPtrOutput) +type VpcEncryptionControlResourceExclusionsNatGatewayOutput struct{ *pulumi.OutputState } + +func (VpcEncryptionControlResourceExclusionsNatGatewayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VpcEncryptionControlResourceExclusionsNatGateway)(nil)).Elem() } -func (o SpotInstanceRequestRootBlockDevicePtrOutput) DeviceName() pulumi.StringPtrOutput { - return o.ApplyT(func(v *SpotInstanceRequestRootBlockDevice) *string { - if v == nil { - return nil - } - return v.DeviceName - }).(pulumi.StringPtrOutput) +func (o VpcEncryptionControlResourceExclusionsNatGatewayOutput) ToVpcEncryptionControlResourceExclusionsNatGatewayOutput() VpcEncryptionControlResourceExclusionsNatGatewayOutput { + return o } -// Whether to enable volume encryption. Defaults to `false`. Must be configured to perform drift detection. -func (o SpotInstanceRequestRootBlockDevicePtrOutput) Encrypted() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *SpotInstanceRequestRootBlockDevice) *bool { - if v == nil { - return nil - } - return v.Encrypted - }).(pulumi.BoolPtrOutput) +func (o VpcEncryptionControlResourceExclusionsNatGatewayOutput) ToVpcEncryptionControlResourceExclusionsNatGatewayOutputWithContext(ctx context.Context) VpcEncryptionControlResourceExclusionsNatGatewayOutput { + return o } -// Amount of provisioned [IOPS](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-io-characteristics.html). Only valid for volumeType of `io1`, `io2` or `gp3`. -func (o SpotInstanceRequestRootBlockDevicePtrOutput) Iops() pulumi.IntPtrOutput { - return o.ApplyT(func(v *SpotInstanceRequestRootBlockDevice) *int { - if v == nil { - return nil - } - return v.Iops - }).(pulumi.IntPtrOutput) +func (o VpcEncryptionControlResourceExclusionsNatGatewayOutput) ToVpcEncryptionControlResourceExclusionsNatGatewayPtrOutput() VpcEncryptionControlResourceExclusionsNatGatewayPtrOutput { + return o.ToVpcEncryptionControlResourceExclusionsNatGatewayPtrOutputWithContext(context.Background()) } -// Amazon Resource Name (ARN) of the KMS Key to use when encrypting the volume. Must be configured to perform drift detection. -func (o SpotInstanceRequestRootBlockDevicePtrOutput) KmsKeyId() pulumi.StringPtrOutput { - return o.ApplyT(func(v *SpotInstanceRequestRootBlockDevice) *string { - if v == nil { - return nil - } - return v.KmsKeyId - }).(pulumi.StringPtrOutput) +func (o VpcEncryptionControlResourceExclusionsNatGatewayOutput) ToVpcEncryptionControlResourceExclusionsNatGatewayPtrOutputWithContext(ctx context.Context) VpcEncryptionControlResourceExclusionsNatGatewayPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VpcEncryptionControlResourceExclusionsNatGateway) *VpcEncryptionControlResourceExclusionsNatGateway { + return &v + }).(VpcEncryptionControlResourceExclusionsNatGatewayPtrOutput) } -// Map of tags to assign to the device. -func (o SpotInstanceRequestRootBlockDevicePtrOutput) Tags() pulumi.StringMapOutput { - return o.ApplyT(func(v *SpotInstanceRequestRootBlockDevice) map[string]string { - if v == nil { - return nil - } - return v.Tags - }).(pulumi.StringMapOutput) +// The current state of the VPC Encryption Control. +func (o VpcEncryptionControlResourceExclusionsNatGatewayOutput) State() pulumi.StringOutput { + return o.ApplyT(func(v VpcEncryptionControlResourceExclusionsNatGateway) string { return v.State }).(pulumi.StringOutput) } -// A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. -func (o SpotInstanceRequestRootBlockDevicePtrOutput) TagsAll() pulumi.StringMapOutput { - return o.ApplyT(func(v *SpotInstanceRequestRootBlockDevice) map[string]string { - if v == nil { - return nil - } - return v.TagsAll - }).(pulumi.StringMapOutput) +// A message providing additional information about the state of the VPC Encryption Control. +func (o VpcEncryptionControlResourceExclusionsNatGatewayOutput) StateMessage() pulumi.StringOutput { + return o.ApplyT(func(v VpcEncryptionControlResourceExclusionsNatGateway) string { return v.StateMessage }).(pulumi.StringOutput) } -// Throughput to provision for a volume in mebibytes per second (MiB/s). This is only valid for `volumeType` of `gp3`. -func (o SpotInstanceRequestRootBlockDevicePtrOutput) Throughput() pulumi.IntPtrOutput { - return o.ApplyT(func(v *SpotInstanceRequestRootBlockDevice) *int { - if v == nil { - return nil - } - return v.Throughput - }).(pulumi.IntPtrOutput) +type VpcEncryptionControlResourceExclusionsNatGatewayPtrOutput struct{ *pulumi.OutputState } + +func (VpcEncryptionControlResourceExclusionsNatGatewayPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VpcEncryptionControlResourceExclusionsNatGateway)(nil)).Elem() } -func (o SpotInstanceRequestRootBlockDevicePtrOutput) VolumeId() pulumi.StringPtrOutput { - return o.ApplyT(func(v *SpotInstanceRequestRootBlockDevice) *string { - if v == nil { - return nil - } - return v.VolumeId - }).(pulumi.StringPtrOutput) +func (o VpcEncryptionControlResourceExclusionsNatGatewayPtrOutput) ToVpcEncryptionControlResourceExclusionsNatGatewayPtrOutput() VpcEncryptionControlResourceExclusionsNatGatewayPtrOutput { + return o } -// Size of the volume in gibibytes (GiB). -func (o SpotInstanceRequestRootBlockDevicePtrOutput) VolumeSize() pulumi.IntPtrOutput { - return o.ApplyT(func(v *SpotInstanceRequestRootBlockDevice) *int { +func (o VpcEncryptionControlResourceExclusionsNatGatewayPtrOutput) ToVpcEncryptionControlResourceExclusionsNatGatewayPtrOutputWithContext(ctx context.Context) VpcEncryptionControlResourceExclusionsNatGatewayPtrOutput { + return o +} + +func (o VpcEncryptionControlResourceExclusionsNatGatewayPtrOutput) Elem() VpcEncryptionControlResourceExclusionsNatGatewayOutput { + return o.ApplyT(func(v *VpcEncryptionControlResourceExclusionsNatGateway) VpcEncryptionControlResourceExclusionsNatGateway { + if v != nil { + return *v + } + var ret VpcEncryptionControlResourceExclusionsNatGateway + return ret + }).(VpcEncryptionControlResourceExclusionsNatGatewayOutput) +} + +// The current state of the VPC Encryption Control. +func (o VpcEncryptionControlResourceExclusionsNatGatewayPtrOutput) State() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VpcEncryptionControlResourceExclusionsNatGateway) *string { if v == nil { return nil } - return v.VolumeSize - }).(pulumi.IntPtrOutput) + return &v.State + }).(pulumi.StringPtrOutput) } -// 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 { - return o.ApplyT(func(v *SpotInstanceRequestRootBlockDevice) *string { +// A message providing additional information about the state of the VPC Encryption Control. +func (o VpcEncryptionControlResourceExclusionsNatGatewayPtrOutput) StateMessage() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VpcEncryptionControlResourceExclusionsNatGateway) *string { if v == nil { return nil } - return v.VolumeType + return &v.StateMessage }).(pulumi.StringPtrOutput) } -type TrafficMirrorFilterRuleDestinationPortRange struct { - // Starting port of the range - FromPort *int `pulumi:"fromPort"` - // Ending port of the range - ToPort *int `pulumi:"toPort"` +type VpcEncryptionControlResourceExclusionsVirtualPrivateGateway struct { + // The current state of the VPC Encryption Control. + State string `pulumi:"state"` + // A message providing additional information about the state of the VPC Encryption Control. + StateMessage string `pulumi:"stateMessage"` } -// TrafficMirrorFilterRuleDestinationPortRangeInput is an input type that accepts TrafficMirrorFilterRuleDestinationPortRangeArgs and TrafficMirrorFilterRuleDestinationPortRangeOutput values. -// You can construct a concrete instance of `TrafficMirrorFilterRuleDestinationPortRangeInput` via: +// VpcEncryptionControlResourceExclusionsVirtualPrivateGatewayInput is an input type that accepts VpcEncryptionControlResourceExclusionsVirtualPrivateGatewayArgs and VpcEncryptionControlResourceExclusionsVirtualPrivateGatewayOutput values. +// You can construct a concrete instance of `VpcEncryptionControlResourceExclusionsVirtualPrivateGatewayInput` via: // -// TrafficMirrorFilterRuleDestinationPortRangeArgs{...} -type TrafficMirrorFilterRuleDestinationPortRangeInput interface { +// VpcEncryptionControlResourceExclusionsVirtualPrivateGatewayArgs{...} +type VpcEncryptionControlResourceExclusionsVirtualPrivateGatewayInput interface { pulumi.Input - ToTrafficMirrorFilterRuleDestinationPortRangeOutput() TrafficMirrorFilterRuleDestinationPortRangeOutput - ToTrafficMirrorFilterRuleDestinationPortRangeOutputWithContext(context.Context) TrafficMirrorFilterRuleDestinationPortRangeOutput + ToVpcEncryptionControlResourceExclusionsVirtualPrivateGatewayOutput() VpcEncryptionControlResourceExclusionsVirtualPrivateGatewayOutput + ToVpcEncryptionControlResourceExclusionsVirtualPrivateGatewayOutputWithContext(context.Context) VpcEncryptionControlResourceExclusionsVirtualPrivateGatewayOutput } -type TrafficMirrorFilterRuleDestinationPortRangeArgs struct { - // Starting port of the range - FromPort pulumi.IntPtrInput `pulumi:"fromPort"` - // Ending port of the range - ToPort pulumi.IntPtrInput `pulumi:"toPort"` +type VpcEncryptionControlResourceExclusionsVirtualPrivateGatewayArgs struct { + // The current state of the VPC Encryption Control. + State pulumi.StringInput `pulumi:"state"` + // A message providing additional information about the state of the VPC Encryption Control. + StateMessage pulumi.StringInput `pulumi:"stateMessage"` } -func (TrafficMirrorFilterRuleDestinationPortRangeArgs) ElementType() reflect.Type { - return reflect.TypeOf((*TrafficMirrorFilterRuleDestinationPortRange)(nil)).Elem() +func (VpcEncryptionControlResourceExclusionsVirtualPrivateGatewayArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VpcEncryptionControlResourceExclusionsVirtualPrivateGateway)(nil)).Elem() } -func (i TrafficMirrorFilterRuleDestinationPortRangeArgs) ToTrafficMirrorFilterRuleDestinationPortRangeOutput() TrafficMirrorFilterRuleDestinationPortRangeOutput { - return i.ToTrafficMirrorFilterRuleDestinationPortRangeOutputWithContext(context.Background()) +func (i VpcEncryptionControlResourceExclusionsVirtualPrivateGatewayArgs) ToVpcEncryptionControlResourceExclusionsVirtualPrivateGatewayOutput() VpcEncryptionControlResourceExclusionsVirtualPrivateGatewayOutput { + return i.ToVpcEncryptionControlResourceExclusionsVirtualPrivateGatewayOutputWithContext(context.Background()) } -func (i TrafficMirrorFilterRuleDestinationPortRangeArgs) ToTrafficMirrorFilterRuleDestinationPortRangeOutputWithContext(ctx context.Context) TrafficMirrorFilterRuleDestinationPortRangeOutput { - return pulumi.ToOutputWithContext(ctx, i).(TrafficMirrorFilterRuleDestinationPortRangeOutput) +func (i VpcEncryptionControlResourceExclusionsVirtualPrivateGatewayArgs) ToVpcEncryptionControlResourceExclusionsVirtualPrivateGatewayOutputWithContext(ctx context.Context) VpcEncryptionControlResourceExclusionsVirtualPrivateGatewayOutput { + return pulumi.ToOutputWithContext(ctx, i).(VpcEncryptionControlResourceExclusionsVirtualPrivateGatewayOutput) } -func (i TrafficMirrorFilterRuleDestinationPortRangeArgs) ToTrafficMirrorFilterRuleDestinationPortRangePtrOutput() TrafficMirrorFilterRuleDestinationPortRangePtrOutput { - return i.ToTrafficMirrorFilterRuleDestinationPortRangePtrOutputWithContext(context.Background()) +func (i VpcEncryptionControlResourceExclusionsVirtualPrivateGatewayArgs) ToVpcEncryptionControlResourceExclusionsVirtualPrivateGatewayPtrOutput() VpcEncryptionControlResourceExclusionsVirtualPrivateGatewayPtrOutput { + return i.ToVpcEncryptionControlResourceExclusionsVirtualPrivateGatewayPtrOutputWithContext(context.Background()) } -func (i TrafficMirrorFilterRuleDestinationPortRangeArgs) ToTrafficMirrorFilterRuleDestinationPortRangePtrOutputWithContext(ctx context.Context) TrafficMirrorFilterRuleDestinationPortRangePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(TrafficMirrorFilterRuleDestinationPortRangeOutput).ToTrafficMirrorFilterRuleDestinationPortRangePtrOutputWithContext(ctx) +func (i VpcEncryptionControlResourceExclusionsVirtualPrivateGatewayArgs) ToVpcEncryptionControlResourceExclusionsVirtualPrivateGatewayPtrOutputWithContext(ctx context.Context) VpcEncryptionControlResourceExclusionsVirtualPrivateGatewayPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VpcEncryptionControlResourceExclusionsVirtualPrivateGatewayOutput).ToVpcEncryptionControlResourceExclusionsVirtualPrivateGatewayPtrOutputWithContext(ctx) } -// TrafficMirrorFilterRuleDestinationPortRangePtrInput is an input type that accepts TrafficMirrorFilterRuleDestinationPortRangeArgs, TrafficMirrorFilterRuleDestinationPortRangePtr and TrafficMirrorFilterRuleDestinationPortRangePtrOutput values. -// You can construct a concrete instance of `TrafficMirrorFilterRuleDestinationPortRangePtrInput` via: +// VpcEncryptionControlResourceExclusionsVirtualPrivateGatewayPtrInput is an input type that accepts VpcEncryptionControlResourceExclusionsVirtualPrivateGatewayArgs, VpcEncryptionControlResourceExclusionsVirtualPrivateGatewayPtr and VpcEncryptionControlResourceExclusionsVirtualPrivateGatewayPtrOutput values. +// You can construct a concrete instance of `VpcEncryptionControlResourceExclusionsVirtualPrivateGatewayPtrInput` via: // -// TrafficMirrorFilterRuleDestinationPortRangeArgs{...} +// VpcEncryptionControlResourceExclusionsVirtualPrivateGatewayArgs{...} // // or: // // nil -type TrafficMirrorFilterRuleDestinationPortRangePtrInput interface { +type VpcEncryptionControlResourceExclusionsVirtualPrivateGatewayPtrInput interface { pulumi.Input - ToTrafficMirrorFilterRuleDestinationPortRangePtrOutput() TrafficMirrorFilterRuleDestinationPortRangePtrOutput - ToTrafficMirrorFilterRuleDestinationPortRangePtrOutputWithContext(context.Context) TrafficMirrorFilterRuleDestinationPortRangePtrOutput + ToVpcEncryptionControlResourceExclusionsVirtualPrivateGatewayPtrOutput() VpcEncryptionControlResourceExclusionsVirtualPrivateGatewayPtrOutput + ToVpcEncryptionControlResourceExclusionsVirtualPrivateGatewayPtrOutputWithContext(context.Context) VpcEncryptionControlResourceExclusionsVirtualPrivateGatewayPtrOutput } -type trafficMirrorFilterRuleDestinationPortRangePtrType TrafficMirrorFilterRuleDestinationPortRangeArgs +type vpcEncryptionControlResourceExclusionsVirtualPrivateGatewayPtrType VpcEncryptionControlResourceExclusionsVirtualPrivateGatewayArgs -func TrafficMirrorFilterRuleDestinationPortRangePtr(v *TrafficMirrorFilterRuleDestinationPortRangeArgs) TrafficMirrorFilterRuleDestinationPortRangePtrInput { - return (*trafficMirrorFilterRuleDestinationPortRangePtrType)(v) +func VpcEncryptionControlResourceExclusionsVirtualPrivateGatewayPtr(v *VpcEncryptionControlResourceExclusionsVirtualPrivateGatewayArgs) VpcEncryptionControlResourceExclusionsVirtualPrivateGatewayPtrInput { + return (*vpcEncryptionControlResourceExclusionsVirtualPrivateGatewayPtrType)(v) } -func (*trafficMirrorFilterRuleDestinationPortRangePtrType) ElementType() reflect.Type { - return reflect.TypeOf((**TrafficMirrorFilterRuleDestinationPortRange)(nil)).Elem() +func (*vpcEncryptionControlResourceExclusionsVirtualPrivateGatewayPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VpcEncryptionControlResourceExclusionsVirtualPrivateGateway)(nil)).Elem() } -func (i *trafficMirrorFilterRuleDestinationPortRangePtrType) ToTrafficMirrorFilterRuleDestinationPortRangePtrOutput() TrafficMirrorFilterRuleDestinationPortRangePtrOutput { - return i.ToTrafficMirrorFilterRuleDestinationPortRangePtrOutputWithContext(context.Background()) +func (i *vpcEncryptionControlResourceExclusionsVirtualPrivateGatewayPtrType) ToVpcEncryptionControlResourceExclusionsVirtualPrivateGatewayPtrOutput() VpcEncryptionControlResourceExclusionsVirtualPrivateGatewayPtrOutput { + return i.ToVpcEncryptionControlResourceExclusionsVirtualPrivateGatewayPtrOutputWithContext(context.Background()) } -func (i *trafficMirrorFilterRuleDestinationPortRangePtrType) ToTrafficMirrorFilterRuleDestinationPortRangePtrOutputWithContext(ctx context.Context) TrafficMirrorFilterRuleDestinationPortRangePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(TrafficMirrorFilterRuleDestinationPortRangePtrOutput) +func (i *vpcEncryptionControlResourceExclusionsVirtualPrivateGatewayPtrType) ToVpcEncryptionControlResourceExclusionsVirtualPrivateGatewayPtrOutputWithContext(ctx context.Context) VpcEncryptionControlResourceExclusionsVirtualPrivateGatewayPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VpcEncryptionControlResourceExclusionsVirtualPrivateGatewayPtrOutput) } -type TrafficMirrorFilterRuleDestinationPortRangeOutput struct{ *pulumi.OutputState } +type VpcEncryptionControlResourceExclusionsVirtualPrivateGatewayOutput struct{ *pulumi.OutputState } -func (TrafficMirrorFilterRuleDestinationPortRangeOutput) ElementType() reflect.Type { - return reflect.TypeOf((*TrafficMirrorFilterRuleDestinationPortRange)(nil)).Elem() +func (VpcEncryptionControlResourceExclusionsVirtualPrivateGatewayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VpcEncryptionControlResourceExclusionsVirtualPrivateGateway)(nil)).Elem() } -func (o TrafficMirrorFilterRuleDestinationPortRangeOutput) ToTrafficMirrorFilterRuleDestinationPortRangeOutput() TrafficMirrorFilterRuleDestinationPortRangeOutput { +func (o VpcEncryptionControlResourceExclusionsVirtualPrivateGatewayOutput) ToVpcEncryptionControlResourceExclusionsVirtualPrivateGatewayOutput() VpcEncryptionControlResourceExclusionsVirtualPrivateGatewayOutput { return o } -func (o TrafficMirrorFilterRuleDestinationPortRangeOutput) ToTrafficMirrorFilterRuleDestinationPortRangeOutputWithContext(ctx context.Context) TrafficMirrorFilterRuleDestinationPortRangeOutput { +func (o VpcEncryptionControlResourceExclusionsVirtualPrivateGatewayOutput) ToVpcEncryptionControlResourceExclusionsVirtualPrivateGatewayOutputWithContext(ctx context.Context) VpcEncryptionControlResourceExclusionsVirtualPrivateGatewayOutput { return o } -func (o TrafficMirrorFilterRuleDestinationPortRangeOutput) ToTrafficMirrorFilterRuleDestinationPortRangePtrOutput() TrafficMirrorFilterRuleDestinationPortRangePtrOutput { - return o.ToTrafficMirrorFilterRuleDestinationPortRangePtrOutputWithContext(context.Background()) +func (o VpcEncryptionControlResourceExclusionsVirtualPrivateGatewayOutput) ToVpcEncryptionControlResourceExclusionsVirtualPrivateGatewayPtrOutput() VpcEncryptionControlResourceExclusionsVirtualPrivateGatewayPtrOutput { + return o.ToVpcEncryptionControlResourceExclusionsVirtualPrivateGatewayPtrOutputWithContext(context.Background()) } -func (o TrafficMirrorFilterRuleDestinationPortRangeOutput) ToTrafficMirrorFilterRuleDestinationPortRangePtrOutputWithContext(ctx context.Context) TrafficMirrorFilterRuleDestinationPortRangePtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v TrafficMirrorFilterRuleDestinationPortRange) *TrafficMirrorFilterRuleDestinationPortRange { +func (o VpcEncryptionControlResourceExclusionsVirtualPrivateGatewayOutput) ToVpcEncryptionControlResourceExclusionsVirtualPrivateGatewayPtrOutputWithContext(ctx context.Context) VpcEncryptionControlResourceExclusionsVirtualPrivateGatewayPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VpcEncryptionControlResourceExclusionsVirtualPrivateGateway) *VpcEncryptionControlResourceExclusionsVirtualPrivateGateway { return &v - }).(TrafficMirrorFilterRuleDestinationPortRangePtrOutput) + }).(VpcEncryptionControlResourceExclusionsVirtualPrivateGatewayPtrOutput) } -// Starting port of the range -func (o TrafficMirrorFilterRuleDestinationPortRangeOutput) FromPort() pulumi.IntPtrOutput { - return o.ApplyT(func(v TrafficMirrorFilterRuleDestinationPortRange) *int { return v.FromPort }).(pulumi.IntPtrOutput) +// The current state of the VPC Encryption Control. +func (o VpcEncryptionControlResourceExclusionsVirtualPrivateGatewayOutput) State() pulumi.StringOutput { + return o.ApplyT(func(v VpcEncryptionControlResourceExclusionsVirtualPrivateGateway) string { return v.State }).(pulumi.StringOutput) } -// Ending port of the range -func (o TrafficMirrorFilterRuleDestinationPortRangeOutput) ToPort() pulumi.IntPtrOutput { - return o.ApplyT(func(v TrafficMirrorFilterRuleDestinationPortRange) *int { return v.ToPort }).(pulumi.IntPtrOutput) +// A message providing additional information about the state of the VPC Encryption Control. +func (o VpcEncryptionControlResourceExclusionsVirtualPrivateGatewayOutput) StateMessage() pulumi.StringOutput { + return o.ApplyT(func(v VpcEncryptionControlResourceExclusionsVirtualPrivateGateway) string { return v.StateMessage }).(pulumi.StringOutput) } -type TrafficMirrorFilterRuleDestinationPortRangePtrOutput struct{ *pulumi.OutputState } +type VpcEncryptionControlResourceExclusionsVirtualPrivateGatewayPtrOutput struct{ *pulumi.OutputState } -func (TrafficMirrorFilterRuleDestinationPortRangePtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**TrafficMirrorFilterRuleDestinationPortRange)(nil)).Elem() +func (VpcEncryptionControlResourceExclusionsVirtualPrivateGatewayPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VpcEncryptionControlResourceExclusionsVirtualPrivateGateway)(nil)).Elem() } -func (o TrafficMirrorFilterRuleDestinationPortRangePtrOutput) ToTrafficMirrorFilterRuleDestinationPortRangePtrOutput() TrafficMirrorFilterRuleDestinationPortRangePtrOutput { +func (o VpcEncryptionControlResourceExclusionsVirtualPrivateGatewayPtrOutput) ToVpcEncryptionControlResourceExclusionsVirtualPrivateGatewayPtrOutput() VpcEncryptionControlResourceExclusionsVirtualPrivateGatewayPtrOutput { return o } -func (o TrafficMirrorFilterRuleDestinationPortRangePtrOutput) ToTrafficMirrorFilterRuleDestinationPortRangePtrOutputWithContext(ctx context.Context) TrafficMirrorFilterRuleDestinationPortRangePtrOutput { +func (o VpcEncryptionControlResourceExclusionsVirtualPrivateGatewayPtrOutput) ToVpcEncryptionControlResourceExclusionsVirtualPrivateGatewayPtrOutputWithContext(ctx context.Context) VpcEncryptionControlResourceExclusionsVirtualPrivateGatewayPtrOutput { return o } -func (o TrafficMirrorFilterRuleDestinationPortRangePtrOutput) Elem() TrafficMirrorFilterRuleDestinationPortRangeOutput { - return o.ApplyT(func(v *TrafficMirrorFilterRuleDestinationPortRange) TrafficMirrorFilterRuleDestinationPortRange { +func (o VpcEncryptionControlResourceExclusionsVirtualPrivateGatewayPtrOutput) Elem() VpcEncryptionControlResourceExclusionsVirtualPrivateGatewayOutput { + return o.ApplyT(func(v *VpcEncryptionControlResourceExclusionsVirtualPrivateGateway) VpcEncryptionControlResourceExclusionsVirtualPrivateGateway { if v != nil { return *v } - var ret TrafficMirrorFilterRuleDestinationPortRange + var ret VpcEncryptionControlResourceExclusionsVirtualPrivateGateway return ret - }).(TrafficMirrorFilterRuleDestinationPortRangeOutput) + }).(VpcEncryptionControlResourceExclusionsVirtualPrivateGatewayOutput) } -// Starting port of the range -func (o TrafficMirrorFilterRuleDestinationPortRangePtrOutput) FromPort() pulumi.IntPtrOutput { - return o.ApplyT(func(v *TrafficMirrorFilterRuleDestinationPortRange) *int { +// The current state of the VPC Encryption Control. +func (o VpcEncryptionControlResourceExclusionsVirtualPrivateGatewayPtrOutput) State() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VpcEncryptionControlResourceExclusionsVirtualPrivateGateway) *string { if v == nil { return nil } - return v.FromPort - }).(pulumi.IntPtrOutput) + return &v.State + }).(pulumi.StringPtrOutput) } -// Ending port of the range -func (o TrafficMirrorFilterRuleDestinationPortRangePtrOutput) ToPort() pulumi.IntPtrOutput { - return o.ApplyT(func(v *TrafficMirrorFilterRuleDestinationPortRange) *int { +// A message providing additional information about the state of the VPC Encryption Control. +func (o VpcEncryptionControlResourceExclusionsVirtualPrivateGatewayPtrOutput) StateMessage() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VpcEncryptionControlResourceExclusionsVirtualPrivateGateway) *string { if v == nil { return nil } - return v.ToPort - }).(pulumi.IntPtrOutput) + return &v.StateMessage + }).(pulumi.StringPtrOutput) } -type TrafficMirrorFilterRuleSourcePortRange struct { - // Starting port of the range - FromPort *int `pulumi:"fromPort"` - // Ending port of the range - ToPort *int `pulumi:"toPort"` +type VpcEncryptionControlResourceExclusionsVpcLattice struct { + // The current state of the VPC Encryption Control. + State string `pulumi:"state"` + // A message providing additional information about the state of the VPC Encryption Control. + StateMessage string `pulumi:"stateMessage"` } -// TrafficMirrorFilterRuleSourcePortRangeInput is an input type that accepts TrafficMirrorFilterRuleSourcePortRangeArgs and TrafficMirrorFilterRuleSourcePortRangeOutput values. -// You can construct a concrete instance of `TrafficMirrorFilterRuleSourcePortRangeInput` via: +// VpcEncryptionControlResourceExclusionsVpcLatticeInput is an input type that accepts VpcEncryptionControlResourceExclusionsVpcLatticeArgs and VpcEncryptionControlResourceExclusionsVpcLatticeOutput values. +// You can construct a concrete instance of `VpcEncryptionControlResourceExclusionsVpcLatticeInput` via: // -// TrafficMirrorFilterRuleSourcePortRangeArgs{...} -type TrafficMirrorFilterRuleSourcePortRangeInput interface { +// VpcEncryptionControlResourceExclusionsVpcLatticeArgs{...} +type VpcEncryptionControlResourceExclusionsVpcLatticeInput interface { pulumi.Input - ToTrafficMirrorFilterRuleSourcePortRangeOutput() TrafficMirrorFilterRuleSourcePortRangeOutput - ToTrafficMirrorFilterRuleSourcePortRangeOutputWithContext(context.Context) TrafficMirrorFilterRuleSourcePortRangeOutput + ToVpcEncryptionControlResourceExclusionsVpcLatticeOutput() VpcEncryptionControlResourceExclusionsVpcLatticeOutput + ToVpcEncryptionControlResourceExclusionsVpcLatticeOutputWithContext(context.Context) VpcEncryptionControlResourceExclusionsVpcLatticeOutput } -type TrafficMirrorFilterRuleSourcePortRangeArgs struct { - // Starting port of the range - FromPort pulumi.IntPtrInput `pulumi:"fromPort"` - // Ending port of the range - ToPort pulumi.IntPtrInput `pulumi:"toPort"` +type VpcEncryptionControlResourceExclusionsVpcLatticeArgs struct { + // The current state of the VPC Encryption Control. + State pulumi.StringInput `pulumi:"state"` + // A message providing additional information about the state of the VPC Encryption Control. + StateMessage pulumi.StringInput `pulumi:"stateMessage"` } -func (TrafficMirrorFilterRuleSourcePortRangeArgs) ElementType() reflect.Type { - return reflect.TypeOf((*TrafficMirrorFilterRuleSourcePortRange)(nil)).Elem() +func (VpcEncryptionControlResourceExclusionsVpcLatticeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VpcEncryptionControlResourceExclusionsVpcLattice)(nil)).Elem() } -func (i TrafficMirrorFilterRuleSourcePortRangeArgs) ToTrafficMirrorFilterRuleSourcePortRangeOutput() TrafficMirrorFilterRuleSourcePortRangeOutput { - return i.ToTrafficMirrorFilterRuleSourcePortRangeOutputWithContext(context.Background()) +func (i VpcEncryptionControlResourceExclusionsVpcLatticeArgs) ToVpcEncryptionControlResourceExclusionsVpcLatticeOutput() VpcEncryptionControlResourceExclusionsVpcLatticeOutput { + return i.ToVpcEncryptionControlResourceExclusionsVpcLatticeOutputWithContext(context.Background()) } -func (i TrafficMirrorFilterRuleSourcePortRangeArgs) ToTrafficMirrorFilterRuleSourcePortRangeOutputWithContext(ctx context.Context) TrafficMirrorFilterRuleSourcePortRangeOutput { - return pulumi.ToOutputWithContext(ctx, i).(TrafficMirrorFilterRuleSourcePortRangeOutput) +func (i VpcEncryptionControlResourceExclusionsVpcLatticeArgs) ToVpcEncryptionControlResourceExclusionsVpcLatticeOutputWithContext(ctx context.Context) VpcEncryptionControlResourceExclusionsVpcLatticeOutput { + return pulumi.ToOutputWithContext(ctx, i).(VpcEncryptionControlResourceExclusionsVpcLatticeOutput) } -func (i TrafficMirrorFilterRuleSourcePortRangeArgs) ToTrafficMirrorFilterRuleSourcePortRangePtrOutput() TrafficMirrorFilterRuleSourcePortRangePtrOutput { - return i.ToTrafficMirrorFilterRuleSourcePortRangePtrOutputWithContext(context.Background()) +func (i VpcEncryptionControlResourceExclusionsVpcLatticeArgs) ToVpcEncryptionControlResourceExclusionsVpcLatticePtrOutput() VpcEncryptionControlResourceExclusionsVpcLatticePtrOutput { + return i.ToVpcEncryptionControlResourceExclusionsVpcLatticePtrOutputWithContext(context.Background()) } -func (i TrafficMirrorFilterRuleSourcePortRangeArgs) ToTrafficMirrorFilterRuleSourcePortRangePtrOutputWithContext(ctx context.Context) TrafficMirrorFilterRuleSourcePortRangePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(TrafficMirrorFilterRuleSourcePortRangeOutput).ToTrafficMirrorFilterRuleSourcePortRangePtrOutputWithContext(ctx) +func (i VpcEncryptionControlResourceExclusionsVpcLatticeArgs) ToVpcEncryptionControlResourceExclusionsVpcLatticePtrOutputWithContext(ctx context.Context) VpcEncryptionControlResourceExclusionsVpcLatticePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VpcEncryptionControlResourceExclusionsVpcLatticeOutput).ToVpcEncryptionControlResourceExclusionsVpcLatticePtrOutputWithContext(ctx) } -// TrafficMirrorFilterRuleSourcePortRangePtrInput is an input type that accepts TrafficMirrorFilterRuleSourcePortRangeArgs, TrafficMirrorFilterRuleSourcePortRangePtr and TrafficMirrorFilterRuleSourcePortRangePtrOutput values. -// You can construct a concrete instance of `TrafficMirrorFilterRuleSourcePortRangePtrInput` via: +// VpcEncryptionControlResourceExclusionsVpcLatticePtrInput is an input type that accepts VpcEncryptionControlResourceExclusionsVpcLatticeArgs, VpcEncryptionControlResourceExclusionsVpcLatticePtr and VpcEncryptionControlResourceExclusionsVpcLatticePtrOutput values. +// You can construct a concrete instance of `VpcEncryptionControlResourceExclusionsVpcLatticePtrInput` via: // -// TrafficMirrorFilterRuleSourcePortRangeArgs{...} +// VpcEncryptionControlResourceExclusionsVpcLatticeArgs{...} // // or: // // nil -type TrafficMirrorFilterRuleSourcePortRangePtrInput interface { +type VpcEncryptionControlResourceExclusionsVpcLatticePtrInput interface { pulumi.Input - ToTrafficMirrorFilterRuleSourcePortRangePtrOutput() TrafficMirrorFilterRuleSourcePortRangePtrOutput - ToTrafficMirrorFilterRuleSourcePortRangePtrOutputWithContext(context.Context) TrafficMirrorFilterRuleSourcePortRangePtrOutput + ToVpcEncryptionControlResourceExclusionsVpcLatticePtrOutput() VpcEncryptionControlResourceExclusionsVpcLatticePtrOutput + ToVpcEncryptionControlResourceExclusionsVpcLatticePtrOutputWithContext(context.Context) VpcEncryptionControlResourceExclusionsVpcLatticePtrOutput } -type trafficMirrorFilterRuleSourcePortRangePtrType TrafficMirrorFilterRuleSourcePortRangeArgs +type vpcEncryptionControlResourceExclusionsVpcLatticePtrType VpcEncryptionControlResourceExclusionsVpcLatticeArgs -func TrafficMirrorFilterRuleSourcePortRangePtr(v *TrafficMirrorFilterRuleSourcePortRangeArgs) TrafficMirrorFilterRuleSourcePortRangePtrInput { - return (*trafficMirrorFilterRuleSourcePortRangePtrType)(v) +func VpcEncryptionControlResourceExclusionsVpcLatticePtr(v *VpcEncryptionControlResourceExclusionsVpcLatticeArgs) VpcEncryptionControlResourceExclusionsVpcLatticePtrInput { + return (*vpcEncryptionControlResourceExclusionsVpcLatticePtrType)(v) } -func (*trafficMirrorFilterRuleSourcePortRangePtrType) ElementType() reflect.Type { - return reflect.TypeOf((**TrafficMirrorFilterRuleSourcePortRange)(nil)).Elem() +func (*vpcEncryptionControlResourceExclusionsVpcLatticePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VpcEncryptionControlResourceExclusionsVpcLattice)(nil)).Elem() } -func (i *trafficMirrorFilterRuleSourcePortRangePtrType) ToTrafficMirrorFilterRuleSourcePortRangePtrOutput() TrafficMirrorFilterRuleSourcePortRangePtrOutput { - return i.ToTrafficMirrorFilterRuleSourcePortRangePtrOutputWithContext(context.Background()) +func (i *vpcEncryptionControlResourceExclusionsVpcLatticePtrType) ToVpcEncryptionControlResourceExclusionsVpcLatticePtrOutput() VpcEncryptionControlResourceExclusionsVpcLatticePtrOutput { + return i.ToVpcEncryptionControlResourceExclusionsVpcLatticePtrOutputWithContext(context.Background()) } -func (i *trafficMirrorFilterRuleSourcePortRangePtrType) ToTrafficMirrorFilterRuleSourcePortRangePtrOutputWithContext(ctx context.Context) TrafficMirrorFilterRuleSourcePortRangePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(TrafficMirrorFilterRuleSourcePortRangePtrOutput) +func (i *vpcEncryptionControlResourceExclusionsVpcLatticePtrType) ToVpcEncryptionControlResourceExclusionsVpcLatticePtrOutputWithContext(ctx context.Context) VpcEncryptionControlResourceExclusionsVpcLatticePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VpcEncryptionControlResourceExclusionsVpcLatticePtrOutput) } -type TrafficMirrorFilterRuleSourcePortRangeOutput struct{ *pulumi.OutputState } +type VpcEncryptionControlResourceExclusionsVpcLatticeOutput struct{ *pulumi.OutputState } -func (TrafficMirrorFilterRuleSourcePortRangeOutput) ElementType() reflect.Type { - return reflect.TypeOf((*TrafficMirrorFilterRuleSourcePortRange)(nil)).Elem() +func (VpcEncryptionControlResourceExclusionsVpcLatticeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VpcEncryptionControlResourceExclusionsVpcLattice)(nil)).Elem() } -func (o TrafficMirrorFilterRuleSourcePortRangeOutput) ToTrafficMirrorFilterRuleSourcePortRangeOutput() TrafficMirrorFilterRuleSourcePortRangeOutput { +func (o VpcEncryptionControlResourceExclusionsVpcLatticeOutput) ToVpcEncryptionControlResourceExclusionsVpcLatticeOutput() VpcEncryptionControlResourceExclusionsVpcLatticeOutput { return o } -func (o TrafficMirrorFilterRuleSourcePortRangeOutput) ToTrafficMirrorFilterRuleSourcePortRangeOutputWithContext(ctx context.Context) TrafficMirrorFilterRuleSourcePortRangeOutput { +func (o VpcEncryptionControlResourceExclusionsVpcLatticeOutput) ToVpcEncryptionControlResourceExclusionsVpcLatticeOutputWithContext(ctx context.Context) VpcEncryptionControlResourceExclusionsVpcLatticeOutput { return o } -func (o TrafficMirrorFilterRuleSourcePortRangeOutput) ToTrafficMirrorFilterRuleSourcePortRangePtrOutput() TrafficMirrorFilterRuleSourcePortRangePtrOutput { - return o.ToTrafficMirrorFilterRuleSourcePortRangePtrOutputWithContext(context.Background()) +func (o VpcEncryptionControlResourceExclusionsVpcLatticeOutput) ToVpcEncryptionControlResourceExclusionsVpcLatticePtrOutput() VpcEncryptionControlResourceExclusionsVpcLatticePtrOutput { + return o.ToVpcEncryptionControlResourceExclusionsVpcLatticePtrOutputWithContext(context.Background()) } -func (o TrafficMirrorFilterRuleSourcePortRangeOutput) ToTrafficMirrorFilterRuleSourcePortRangePtrOutputWithContext(ctx context.Context) TrafficMirrorFilterRuleSourcePortRangePtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v TrafficMirrorFilterRuleSourcePortRange) *TrafficMirrorFilterRuleSourcePortRange { +func (o VpcEncryptionControlResourceExclusionsVpcLatticeOutput) ToVpcEncryptionControlResourceExclusionsVpcLatticePtrOutputWithContext(ctx context.Context) VpcEncryptionControlResourceExclusionsVpcLatticePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VpcEncryptionControlResourceExclusionsVpcLattice) *VpcEncryptionControlResourceExclusionsVpcLattice { return &v - }).(TrafficMirrorFilterRuleSourcePortRangePtrOutput) + }).(VpcEncryptionControlResourceExclusionsVpcLatticePtrOutput) } -// Starting port of the range -func (o TrafficMirrorFilterRuleSourcePortRangeOutput) FromPort() pulumi.IntPtrOutput { - return o.ApplyT(func(v TrafficMirrorFilterRuleSourcePortRange) *int { return v.FromPort }).(pulumi.IntPtrOutput) +// The current state of the VPC Encryption Control. +func (o VpcEncryptionControlResourceExclusionsVpcLatticeOutput) State() pulumi.StringOutput { + return o.ApplyT(func(v VpcEncryptionControlResourceExclusionsVpcLattice) string { return v.State }).(pulumi.StringOutput) } -// Ending port of the range -func (o TrafficMirrorFilterRuleSourcePortRangeOutput) ToPort() pulumi.IntPtrOutput { - return o.ApplyT(func(v TrafficMirrorFilterRuleSourcePortRange) *int { return v.ToPort }).(pulumi.IntPtrOutput) +// A message providing additional information about the state of the VPC Encryption Control. +func (o VpcEncryptionControlResourceExclusionsVpcLatticeOutput) StateMessage() pulumi.StringOutput { + return o.ApplyT(func(v VpcEncryptionControlResourceExclusionsVpcLattice) string { return v.StateMessage }).(pulumi.StringOutput) } -type TrafficMirrorFilterRuleSourcePortRangePtrOutput struct{ *pulumi.OutputState } +type VpcEncryptionControlResourceExclusionsVpcLatticePtrOutput struct{ *pulumi.OutputState } -func (TrafficMirrorFilterRuleSourcePortRangePtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**TrafficMirrorFilterRuleSourcePortRange)(nil)).Elem() +func (VpcEncryptionControlResourceExclusionsVpcLatticePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VpcEncryptionControlResourceExclusionsVpcLattice)(nil)).Elem() } -func (o TrafficMirrorFilterRuleSourcePortRangePtrOutput) ToTrafficMirrorFilterRuleSourcePortRangePtrOutput() TrafficMirrorFilterRuleSourcePortRangePtrOutput { +func (o VpcEncryptionControlResourceExclusionsVpcLatticePtrOutput) ToVpcEncryptionControlResourceExclusionsVpcLatticePtrOutput() VpcEncryptionControlResourceExclusionsVpcLatticePtrOutput { return o } -func (o TrafficMirrorFilterRuleSourcePortRangePtrOutput) ToTrafficMirrorFilterRuleSourcePortRangePtrOutputWithContext(ctx context.Context) TrafficMirrorFilterRuleSourcePortRangePtrOutput { +func (o VpcEncryptionControlResourceExclusionsVpcLatticePtrOutput) ToVpcEncryptionControlResourceExclusionsVpcLatticePtrOutputWithContext(ctx context.Context) VpcEncryptionControlResourceExclusionsVpcLatticePtrOutput { return o } -func (o TrafficMirrorFilterRuleSourcePortRangePtrOutput) Elem() TrafficMirrorFilterRuleSourcePortRangeOutput { - return o.ApplyT(func(v *TrafficMirrorFilterRuleSourcePortRange) TrafficMirrorFilterRuleSourcePortRange { +func (o VpcEncryptionControlResourceExclusionsVpcLatticePtrOutput) Elem() VpcEncryptionControlResourceExclusionsVpcLatticeOutput { + return o.ApplyT(func(v *VpcEncryptionControlResourceExclusionsVpcLattice) VpcEncryptionControlResourceExclusionsVpcLattice { if v != nil { return *v } - var ret TrafficMirrorFilterRuleSourcePortRange + var ret VpcEncryptionControlResourceExclusionsVpcLattice return ret - }).(TrafficMirrorFilterRuleSourcePortRangeOutput) + }).(VpcEncryptionControlResourceExclusionsVpcLatticeOutput) } -// Starting port of the range -func (o TrafficMirrorFilterRuleSourcePortRangePtrOutput) FromPort() pulumi.IntPtrOutput { - return o.ApplyT(func(v *TrafficMirrorFilterRuleSourcePortRange) *int { +// The current state of the VPC Encryption Control. +func (o VpcEncryptionControlResourceExclusionsVpcLatticePtrOutput) State() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VpcEncryptionControlResourceExclusionsVpcLattice) *string { if v == nil { return nil } - return v.FromPort - }).(pulumi.IntPtrOutput) + return &v.State + }).(pulumi.StringPtrOutput) } -// Ending port of the range -func (o TrafficMirrorFilterRuleSourcePortRangePtrOutput) ToPort() pulumi.IntPtrOutput { - return o.ApplyT(func(v *TrafficMirrorFilterRuleSourcePortRange) *int { +// A message providing additional information about the state of the VPC Encryption Control. +func (o VpcEncryptionControlResourceExclusionsVpcLatticePtrOutput) StateMessage() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VpcEncryptionControlResourceExclusionsVpcLattice) *string { if v == nil { return nil } - return v.ToPort - }).(pulumi.IntPtrOutput) + return &v.StateMessage + }).(pulumi.StringPtrOutput) } -type VpcBlockPublicAccessExclusionTimeouts struct { - // A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). - Create *string `pulumi:"create"` - // A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs. - Delete *string `pulumi:"delete"` - // A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). - Update *string `pulumi:"update"` +type VpcEncryptionControlResourceExclusionsVpcPeering struct { + // The current state of the VPC Encryption Control. + State string `pulumi:"state"` + // A message providing additional information about the state of the VPC Encryption Control. + StateMessage string `pulumi:"stateMessage"` } -// VpcBlockPublicAccessExclusionTimeoutsInput is an input type that accepts VpcBlockPublicAccessExclusionTimeoutsArgs and VpcBlockPublicAccessExclusionTimeoutsOutput values. -// You can construct a concrete instance of `VpcBlockPublicAccessExclusionTimeoutsInput` via: +// VpcEncryptionControlResourceExclusionsVpcPeeringInput is an input type that accepts VpcEncryptionControlResourceExclusionsVpcPeeringArgs and VpcEncryptionControlResourceExclusionsVpcPeeringOutput values. +// You can construct a concrete instance of `VpcEncryptionControlResourceExclusionsVpcPeeringInput` via: // -// VpcBlockPublicAccessExclusionTimeoutsArgs{...} -type VpcBlockPublicAccessExclusionTimeoutsInput interface { +// VpcEncryptionControlResourceExclusionsVpcPeeringArgs{...} +type VpcEncryptionControlResourceExclusionsVpcPeeringInput interface { pulumi.Input - ToVpcBlockPublicAccessExclusionTimeoutsOutput() VpcBlockPublicAccessExclusionTimeoutsOutput - ToVpcBlockPublicAccessExclusionTimeoutsOutputWithContext(context.Context) VpcBlockPublicAccessExclusionTimeoutsOutput + ToVpcEncryptionControlResourceExclusionsVpcPeeringOutput() VpcEncryptionControlResourceExclusionsVpcPeeringOutput + ToVpcEncryptionControlResourceExclusionsVpcPeeringOutputWithContext(context.Context) VpcEncryptionControlResourceExclusionsVpcPeeringOutput } -type VpcBlockPublicAccessExclusionTimeoutsArgs struct { - // A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). - Create pulumi.StringPtrInput `pulumi:"create"` - // A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs. - Delete pulumi.StringPtrInput `pulumi:"delete"` - // A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). - Update pulumi.StringPtrInput `pulumi:"update"` +type VpcEncryptionControlResourceExclusionsVpcPeeringArgs struct { + // The current state of the VPC Encryption Control. + State pulumi.StringInput `pulumi:"state"` + // A message providing additional information about the state of the VPC Encryption Control. + StateMessage pulumi.StringInput `pulumi:"stateMessage"` } -func (VpcBlockPublicAccessExclusionTimeoutsArgs) ElementType() reflect.Type { - return reflect.TypeOf((*VpcBlockPublicAccessExclusionTimeouts)(nil)).Elem() +func (VpcEncryptionControlResourceExclusionsVpcPeeringArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VpcEncryptionControlResourceExclusionsVpcPeering)(nil)).Elem() } -func (i VpcBlockPublicAccessExclusionTimeoutsArgs) ToVpcBlockPublicAccessExclusionTimeoutsOutput() VpcBlockPublicAccessExclusionTimeoutsOutput { - return i.ToVpcBlockPublicAccessExclusionTimeoutsOutputWithContext(context.Background()) +func (i VpcEncryptionControlResourceExclusionsVpcPeeringArgs) ToVpcEncryptionControlResourceExclusionsVpcPeeringOutput() VpcEncryptionControlResourceExclusionsVpcPeeringOutput { + return i.ToVpcEncryptionControlResourceExclusionsVpcPeeringOutputWithContext(context.Background()) } -func (i VpcBlockPublicAccessExclusionTimeoutsArgs) ToVpcBlockPublicAccessExclusionTimeoutsOutputWithContext(ctx context.Context) VpcBlockPublicAccessExclusionTimeoutsOutput { - return pulumi.ToOutputWithContext(ctx, i).(VpcBlockPublicAccessExclusionTimeoutsOutput) +func (i VpcEncryptionControlResourceExclusionsVpcPeeringArgs) ToVpcEncryptionControlResourceExclusionsVpcPeeringOutputWithContext(ctx context.Context) VpcEncryptionControlResourceExclusionsVpcPeeringOutput { + return pulumi.ToOutputWithContext(ctx, i).(VpcEncryptionControlResourceExclusionsVpcPeeringOutput) } -func (i VpcBlockPublicAccessExclusionTimeoutsArgs) ToVpcBlockPublicAccessExclusionTimeoutsPtrOutput() VpcBlockPublicAccessExclusionTimeoutsPtrOutput { - return i.ToVpcBlockPublicAccessExclusionTimeoutsPtrOutputWithContext(context.Background()) +func (i VpcEncryptionControlResourceExclusionsVpcPeeringArgs) ToVpcEncryptionControlResourceExclusionsVpcPeeringPtrOutput() VpcEncryptionControlResourceExclusionsVpcPeeringPtrOutput { + return i.ToVpcEncryptionControlResourceExclusionsVpcPeeringPtrOutputWithContext(context.Background()) } -func (i VpcBlockPublicAccessExclusionTimeoutsArgs) ToVpcBlockPublicAccessExclusionTimeoutsPtrOutputWithContext(ctx context.Context) VpcBlockPublicAccessExclusionTimeoutsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VpcBlockPublicAccessExclusionTimeoutsOutput).ToVpcBlockPublicAccessExclusionTimeoutsPtrOutputWithContext(ctx) +func (i VpcEncryptionControlResourceExclusionsVpcPeeringArgs) ToVpcEncryptionControlResourceExclusionsVpcPeeringPtrOutputWithContext(ctx context.Context) VpcEncryptionControlResourceExclusionsVpcPeeringPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VpcEncryptionControlResourceExclusionsVpcPeeringOutput).ToVpcEncryptionControlResourceExclusionsVpcPeeringPtrOutputWithContext(ctx) } -// VpcBlockPublicAccessExclusionTimeoutsPtrInput is an input type that accepts VpcBlockPublicAccessExclusionTimeoutsArgs, VpcBlockPublicAccessExclusionTimeoutsPtr and VpcBlockPublicAccessExclusionTimeoutsPtrOutput values. -// You can construct a concrete instance of `VpcBlockPublicAccessExclusionTimeoutsPtrInput` via: +// VpcEncryptionControlResourceExclusionsVpcPeeringPtrInput is an input type that accepts VpcEncryptionControlResourceExclusionsVpcPeeringArgs, VpcEncryptionControlResourceExclusionsVpcPeeringPtr and VpcEncryptionControlResourceExclusionsVpcPeeringPtrOutput values. +// You can construct a concrete instance of `VpcEncryptionControlResourceExclusionsVpcPeeringPtrInput` via: // -// VpcBlockPublicAccessExclusionTimeoutsArgs{...} +// VpcEncryptionControlResourceExclusionsVpcPeeringArgs{...} // // or: // // nil -type VpcBlockPublicAccessExclusionTimeoutsPtrInput interface { +type VpcEncryptionControlResourceExclusionsVpcPeeringPtrInput interface { pulumi.Input - ToVpcBlockPublicAccessExclusionTimeoutsPtrOutput() VpcBlockPublicAccessExclusionTimeoutsPtrOutput - ToVpcBlockPublicAccessExclusionTimeoutsPtrOutputWithContext(context.Context) VpcBlockPublicAccessExclusionTimeoutsPtrOutput + ToVpcEncryptionControlResourceExclusionsVpcPeeringPtrOutput() VpcEncryptionControlResourceExclusionsVpcPeeringPtrOutput + ToVpcEncryptionControlResourceExclusionsVpcPeeringPtrOutputWithContext(context.Context) VpcEncryptionControlResourceExclusionsVpcPeeringPtrOutput } -type vpcBlockPublicAccessExclusionTimeoutsPtrType VpcBlockPublicAccessExclusionTimeoutsArgs +type vpcEncryptionControlResourceExclusionsVpcPeeringPtrType VpcEncryptionControlResourceExclusionsVpcPeeringArgs -func VpcBlockPublicAccessExclusionTimeoutsPtr(v *VpcBlockPublicAccessExclusionTimeoutsArgs) VpcBlockPublicAccessExclusionTimeoutsPtrInput { - return (*vpcBlockPublicAccessExclusionTimeoutsPtrType)(v) +func VpcEncryptionControlResourceExclusionsVpcPeeringPtr(v *VpcEncryptionControlResourceExclusionsVpcPeeringArgs) VpcEncryptionControlResourceExclusionsVpcPeeringPtrInput { + return (*vpcEncryptionControlResourceExclusionsVpcPeeringPtrType)(v) } -func (*vpcBlockPublicAccessExclusionTimeoutsPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**VpcBlockPublicAccessExclusionTimeouts)(nil)).Elem() +func (*vpcEncryptionControlResourceExclusionsVpcPeeringPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VpcEncryptionControlResourceExclusionsVpcPeering)(nil)).Elem() } -func (i *vpcBlockPublicAccessExclusionTimeoutsPtrType) ToVpcBlockPublicAccessExclusionTimeoutsPtrOutput() VpcBlockPublicAccessExclusionTimeoutsPtrOutput { - return i.ToVpcBlockPublicAccessExclusionTimeoutsPtrOutputWithContext(context.Background()) +func (i *vpcEncryptionControlResourceExclusionsVpcPeeringPtrType) ToVpcEncryptionControlResourceExclusionsVpcPeeringPtrOutput() VpcEncryptionControlResourceExclusionsVpcPeeringPtrOutput { + return i.ToVpcEncryptionControlResourceExclusionsVpcPeeringPtrOutputWithContext(context.Background()) } -func (i *vpcBlockPublicAccessExclusionTimeoutsPtrType) ToVpcBlockPublicAccessExclusionTimeoutsPtrOutputWithContext(ctx context.Context) VpcBlockPublicAccessExclusionTimeoutsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VpcBlockPublicAccessExclusionTimeoutsPtrOutput) +func (i *vpcEncryptionControlResourceExclusionsVpcPeeringPtrType) ToVpcEncryptionControlResourceExclusionsVpcPeeringPtrOutputWithContext(ctx context.Context) VpcEncryptionControlResourceExclusionsVpcPeeringPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VpcEncryptionControlResourceExclusionsVpcPeeringPtrOutput) } -type VpcBlockPublicAccessExclusionTimeoutsOutput struct{ *pulumi.OutputState } +type VpcEncryptionControlResourceExclusionsVpcPeeringOutput struct{ *pulumi.OutputState } -func (VpcBlockPublicAccessExclusionTimeoutsOutput) ElementType() reflect.Type { - return reflect.TypeOf((*VpcBlockPublicAccessExclusionTimeouts)(nil)).Elem() +func (VpcEncryptionControlResourceExclusionsVpcPeeringOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VpcEncryptionControlResourceExclusionsVpcPeering)(nil)).Elem() } -func (o VpcBlockPublicAccessExclusionTimeoutsOutput) ToVpcBlockPublicAccessExclusionTimeoutsOutput() VpcBlockPublicAccessExclusionTimeoutsOutput { +func (o VpcEncryptionControlResourceExclusionsVpcPeeringOutput) ToVpcEncryptionControlResourceExclusionsVpcPeeringOutput() VpcEncryptionControlResourceExclusionsVpcPeeringOutput { return o } -func (o VpcBlockPublicAccessExclusionTimeoutsOutput) ToVpcBlockPublicAccessExclusionTimeoutsOutputWithContext(ctx context.Context) VpcBlockPublicAccessExclusionTimeoutsOutput { +func (o VpcEncryptionControlResourceExclusionsVpcPeeringOutput) ToVpcEncryptionControlResourceExclusionsVpcPeeringOutputWithContext(ctx context.Context) VpcEncryptionControlResourceExclusionsVpcPeeringOutput { return o } -func (o VpcBlockPublicAccessExclusionTimeoutsOutput) ToVpcBlockPublicAccessExclusionTimeoutsPtrOutput() VpcBlockPublicAccessExclusionTimeoutsPtrOutput { - return o.ToVpcBlockPublicAccessExclusionTimeoutsPtrOutputWithContext(context.Background()) +func (o VpcEncryptionControlResourceExclusionsVpcPeeringOutput) ToVpcEncryptionControlResourceExclusionsVpcPeeringPtrOutput() VpcEncryptionControlResourceExclusionsVpcPeeringPtrOutput { + return o.ToVpcEncryptionControlResourceExclusionsVpcPeeringPtrOutputWithContext(context.Background()) } -func (o VpcBlockPublicAccessExclusionTimeoutsOutput) ToVpcBlockPublicAccessExclusionTimeoutsPtrOutputWithContext(ctx context.Context) VpcBlockPublicAccessExclusionTimeoutsPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v VpcBlockPublicAccessExclusionTimeouts) *VpcBlockPublicAccessExclusionTimeouts { +func (o VpcEncryptionControlResourceExclusionsVpcPeeringOutput) ToVpcEncryptionControlResourceExclusionsVpcPeeringPtrOutputWithContext(ctx context.Context) VpcEncryptionControlResourceExclusionsVpcPeeringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VpcEncryptionControlResourceExclusionsVpcPeering) *VpcEncryptionControlResourceExclusionsVpcPeering { return &v - }).(VpcBlockPublicAccessExclusionTimeoutsPtrOutput) -} - -// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). -func (o VpcBlockPublicAccessExclusionTimeoutsOutput) Create() pulumi.StringPtrOutput { - return o.ApplyT(func(v VpcBlockPublicAccessExclusionTimeouts) *string { return v.Create }).(pulumi.StringPtrOutput) + }).(VpcEncryptionControlResourceExclusionsVpcPeeringPtrOutput) } -// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs. -func (o VpcBlockPublicAccessExclusionTimeoutsOutput) Delete() pulumi.StringPtrOutput { - return o.ApplyT(func(v VpcBlockPublicAccessExclusionTimeouts) *string { return v.Delete }).(pulumi.StringPtrOutput) +// The current state of the VPC Encryption Control. +func (o VpcEncryptionControlResourceExclusionsVpcPeeringOutput) State() pulumi.StringOutput { + return o.ApplyT(func(v VpcEncryptionControlResourceExclusionsVpcPeering) string { return v.State }).(pulumi.StringOutput) } -// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). -func (o VpcBlockPublicAccessExclusionTimeoutsOutput) Update() pulumi.StringPtrOutput { - return o.ApplyT(func(v VpcBlockPublicAccessExclusionTimeouts) *string { return v.Update }).(pulumi.StringPtrOutput) +// A message providing additional information about the state of the VPC Encryption Control. +func (o VpcEncryptionControlResourceExclusionsVpcPeeringOutput) StateMessage() pulumi.StringOutput { + return o.ApplyT(func(v VpcEncryptionControlResourceExclusionsVpcPeering) string { return v.StateMessage }).(pulumi.StringOutput) } -type VpcBlockPublicAccessExclusionTimeoutsPtrOutput struct{ *pulumi.OutputState } +type VpcEncryptionControlResourceExclusionsVpcPeeringPtrOutput struct{ *pulumi.OutputState } -func (VpcBlockPublicAccessExclusionTimeoutsPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**VpcBlockPublicAccessExclusionTimeouts)(nil)).Elem() +func (VpcEncryptionControlResourceExclusionsVpcPeeringPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VpcEncryptionControlResourceExclusionsVpcPeering)(nil)).Elem() } -func (o VpcBlockPublicAccessExclusionTimeoutsPtrOutput) ToVpcBlockPublicAccessExclusionTimeoutsPtrOutput() VpcBlockPublicAccessExclusionTimeoutsPtrOutput { +func (o VpcEncryptionControlResourceExclusionsVpcPeeringPtrOutput) ToVpcEncryptionControlResourceExclusionsVpcPeeringPtrOutput() VpcEncryptionControlResourceExclusionsVpcPeeringPtrOutput { return o } -func (o VpcBlockPublicAccessExclusionTimeoutsPtrOutput) ToVpcBlockPublicAccessExclusionTimeoutsPtrOutputWithContext(ctx context.Context) VpcBlockPublicAccessExclusionTimeoutsPtrOutput { +func (o VpcEncryptionControlResourceExclusionsVpcPeeringPtrOutput) ToVpcEncryptionControlResourceExclusionsVpcPeeringPtrOutputWithContext(ctx context.Context) VpcEncryptionControlResourceExclusionsVpcPeeringPtrOutput { return o } -func (o VpcBlockPublicAccessExclusionTimeoutsPtrOutput) Elem() VpcBlockPublicAccessExclusionTimeoutsOutput { - return o.ApplyT(func(v *VpcBlockPublicAccessExclusionTimeouts) VpcBlockPublicAccessExclusionTimeouts { +func (o VpcEncryptionControlResourceExclusionsVpcPeeringPtrOutput) Elem() VpcEncryptionControlResourceExclusionsVpcPeeringOutput { + return o.ApplyT(func(v *VpcEncryptionControlResourceExclusionsVpcPeering) VpcEncryptionControlResourceExclusionsVpcPeering { if v != nil { return *v } - var ret VpcBlockPublicAccessExclusionTimeouts + var ret VpcEncryptionControlResourceExclusionsVpcPeering return ret - }).(VpcBlockPublicAccessExclusionTimeoutsOutput) -} - -// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). -func (o VpcBlockPublicAccessExclusionTimeoutsPtrOutput) Create() pulumi.StringPtrOutput { - return o.ApplyT(func(v *VpcBlockPublicAccessExclusionTimeouts) *string { - if v == nil { - return nil - } - return v.Create - }).(pulumi.StringPtrOutput) + }).(VpcEncryptionControlResourceExclusionsVpcPeeringOutput) } -// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs. -func (o VpcBlockPublicAccessExclusionTimeoutsPtrOutput) Delete() pulumi.StringPtrOutput { - return o.ApplyT(func(v *VpcBlockPublicAccessExclusionTimeouts) *string { +// The current state of the VPC Encryption Control. +func (o VpcEncryptionControlResourceExclusionsVpcPeeringPtrOutput) State() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VpcEncryptionControlResourceExclusionsVpcPeering) *string { if v == nil { return nil } - return v.Delete + return &v.State }).(pulumi.StringPtrOutput) } -// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). -func (o VpcBlockPublicAccessExclusionTimeoutsPtrOutput) Update() pulumi.StringPtrOutput { - return o.ApplyT(func(v *VpcBlockPublicAccessExclusionTimeouts) *string { +// A message providing additional information about the state of the VPC Encryption Control. +func (o VpcEncryptionControlResourceExclusionsVpcPeeringPtrOutput) StateMessage() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VpcEncryptionControlResourceExclusionsVpcPeering) *string { if v == nil { return nil } - return v.Update + return &v.StateMessage }).(pulumi.StringPtrOutput) } -type VpcBlockPublicAccessOptionsTimeouts struct { +type VpcEncryptionControlTimeouts struct { // A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Create *string `pulumi:"create"` // A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs. @@ -34512,18 +38194,18 @@ type VpcBlockPublicAccessOptionsTimeouts struct { Update *string `pulumi:"update"` } -// VpcBlockPublicAccessOptionsTimeoutsInput is an input type that accepts VpcBlockPublicAccessOptionsTimeoutsArgs and VpcBlockPublicAccessOptionsTimeoutsOutput values. -// You can construct a concrete instance of `VpcBlockPublicAccessOptionsTimeoutsInput` via: +// VpcEncryptionControlTimeoutsInput is an input type that accepts VpcEncryptionControlTimeoutsArgs and VpcEncryptionControlTimeoutsOutput values. +// You can construct a concrete instance of `VpcEncryptionControlTimeoutsInput` via: // -// VpcBlockPublicAccessOptionsTimeoutsArgs{...} -type VpcBlockPublicAccessOptionsTimeoutsInput interface { +// VpcEncryptionControlTimeoutsArgs{...} +type VpcEncryptionControlTimeoutsInput interface { pulumi.Input - ToVpcBlockPublicAccessOptionsTimeoutsOutput() VpcBlockPublicAccessOptionsTimeoutsOutput - ToVpcBlockPublicAccessOptionsTimeoutsOutputWithContext(context.Context) VpcBlockPublicAccessOptionsTimeoutsOutput + ToVpcEncryptionControlTimeoutsOutput() VpcEncryptionControlTimeoutsOutput + ToVpcEncryptionControlTimeoutsOutputWithContext(context.Context) VpcEncryptionControlTimeoutsOutput } -type VpcBlockPublicAccessOptionsTimeoutsArgs struct { +type VpcEncryptionControlTimeoutsArgs struct { // A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Create pulumi.StringPtrInput `pulumi:"create"` // A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs. @@ -34532,125 +38214,125 @@ type VpcBlockPublicAccessOptionsTimeoutsArgs struct { Update pulumi.StringPtrInput `pulumi:"update"` } -func (VpcBlockPublicAccessOptionsTimeoutsArgs) ElementType() reflect.Type { - return reflect.TypeOf((*VpcBlockPublicAccessOptionsTimeouts)(nil)).Elem() +func (VpcEncryptionControlTimeoutsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VpcEncryptionControlTimeouts)(nil)).Elem() } -func (i VpcBlockPublicAccessOptionsTimeoutsArgs) ToVpcBlockPublicAccessOptionsTimeoutsOutput() VpcBlockPublicAccessOptionsTimeoutsOutput { - return i.ToVpcBlockPublicAccessOptionsTimeoutsOutputWithContext(context.Background()) +func (i VpcEncryptionControlTimeoutsArgs) ToVpcEncryptionControlTimeoutsOutput() VpcEncryptionControlTimeoutsOutput { + return i.ToVpcEncryptionControlTimeoutsOutputWithContext(context.Background()) } -func (i VpcBlockPublicAccessOptionsTimeoutsArgs) ToVpcBlockPublicAccessOptionsTimeoutsOutputWithContext(ctx context.Context) VpcBlockPublicAccessOptionsTimeoutsOutput { - return pulumi.ToOutputWithContext(ctx, i).(VpcBlockPublicAccessOptionsTimeoutsOutput) +func (i VpcEncryptionControlTimeoutsArgs) ToVpcEncryptionControlTimeoutsOutputWithContext(ctx context.Context) VpcEncryptionControlTimeoutsOutput { + return pulumi.ToOutputWithContext(ctx, i).(VpcEncryptionControlTimeoutsOutput) } -func (i VpcBlockPublicAccessOptionsTimeoutsArgs) ToVpcBlockPublicAccessOptionsTimeoutsPtrOutput() VpcBlockPublicAccessOptionsTimeoutsPtrOutput { - return i.ToVpcBlockPublicAccessOptionsTimeoutsPtrOutputWithContext(context.Background()) +func (i VpcEncryptionControlTimeoutsArgs) ToVpcEncryptionControlTimeoutsPtrOutput() VpcEncryptionControlTimeoutsPtrOutput { + return i.ToVpcEncryptionControlTimeoutsPtrOutputWithContext(context.Background()) } -func (i VpcBlockPublicAccessOptionsTimeoutsArgs) ToVpcBlockPublicAccessOptionsTimeoutsPtrOutputWithContext(ctx context.Context) VpcBlockPublicAccessOptionsTimeoutsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VpcBlockPublicAccessOptionsTimeoutsOutput).ToVpcBlockPublicAccessOptionsTimeoutsPtrOutputWithContext(ctx) +func (i VpcEncryptionControlTimeoutsArgs) ToVpcEncryptionControlTimeoutsPtrOutputWithContext(ctx context.Context) VpcEncryptionControlTimeoutsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VpcEncryptionControlTimeoutsOutput).ToVpcEncryptionControlTimeoutsPtrOutputWithContext(ctx) } -// VpcBlockPublicAccessOptionsTimeoutsPtrInput is an input type that accepts VpcBlockPublicAccessOptionsTimeoutsArgs, VpcBlockPublicAccessOptionsTimeoutsPtr and VpcBlockPublicAccessOptionsTimeoutsPtrOutput values. -// You can construct a concrete instance of `VpcBlockPublicAccessOptionsTimeoutsPtrInput` via: +// VpcEncryptionControlTimeoutsPtrInput is an input type that accepts VpcEncryptionControlTimeoutsArgs, VpcEncryptionControlTimeoutsPtr and VpcEncryptionControlTimeoutsPtrOutput values. +// You can construct a concrete instance of `VpcEncryptionControlTimeoutsPtrInput` via: // -// VpcBlockPublicAccessOptionsTimeoutsArgs{...} +// VpcEncryptionControlTimeoutsArgs{...} // // or: // // nil -type VpcBlockPublicAccessOptionsTimeoutsPtrInput interface { +type VpcEncryptionControlTimeoutsPtrInput interface { pulumi.Input - ToVpcBlockPublicAccessOptionsTimeoutsPtrOutput() VpcBlockPublicAccessOptionsTimeoutsPtrOutput - ToVpcBlockPublicAccessOptionsTimeoutsPtrOutputWithContext(context.Context) VpcBlockPublicAccessOptionsTimeoutsPtrOutput + ToVpcEncryptionControlTimeoutsPtrOutput() VpcEncryptionControlTimeoutsPtrOutput + ToVpcEncryptionControlTimeoutsPtrOutputWithContext(context.Context) VpcEncryptionControlTimeoutsPtrOutput } -type vpcBlockPublicAccessOptionsTimeoutsPtrType VpcBlockPublicAccessOptionsTimeoutsArgs +type vpcEncryptionControlTimeoutsPtrType VpcEncryptionControlTimeoutsArgs -func VpcBlockPublicAccessOptionsTimeoutsPtr(v *VpcBlockPublicAccessOptionsTimeoutsArgs) VpcBlockPublicAccessOptionsTimeoutsPtrInput { - return (*vpcBlockPublicAccessOptionsTimeoutsPtrType)(v) +func VpcEncryptionControlTimeoutsPtr(v *VpcEncryptionControlTimeoutsArgs) VpcEncryptionControlTimeoutsPtrInput { + return (*vpcEncryptionControlTimeoutsPtrType)(v) } -func (*vpcBlockPublicAccessOptionsTimeoutsPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**VpcBlockPublicAccessOptionsTimeouts)(nil)).Elem() +func (*vpcEncryptionControlTimeoutsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VpcEncryptionControlTimeouts)(nil)).Elem() } -func (i *vpcBlockPublicAccessOptionsTimeoutsPtrType) ToVpcBlockPublicAccessOptionsTimeoutsPtrOutput() VpcBlockPublicAccessOptionsTimeoutsPtrOutput { - return i.ToVpcBlockPublicAccessOptionsTimeoutsPtrOutputWithContext(context.Background()) +func (i *vpcEncryptionControlTimeoutsPtrType) ToVpcEncryptionControlTimeoutsPtrOutput() VpcEncryptionControlTimeoutsPtrOutput { + return i.ToVpcEncryptionControlTimeoutsPtrOutputWithContext(context.Background()) } -func (i *vpcBlockPublicAccessOptionsTimeoutsPtrType) ToVpcBlockPublicAccessOptionsTimeoutsPtrOutputWithContext(ctx context.Context) VpcBlockPublicAccessOptionsTimeoutsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VpcBlockPublicAccessOptionsTimeoutsPtrOutput) +func (i *vpcEncryptionControlTimeoutsPtrType) ToVpcEncryptionControlTimeoutsPtrOutputWithContext(ctx context.Context) VpcEncryptionControlTimeoutsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VpcEncryptionControlTimeoutsPtrOutput) } -type VpcBlockPublicAccessOptionsTimeoutsOutput struct{ *pulumi.OutputState } +type VpcEncryptionControlTimeoutsOutput struct{ *pulumi.OutputState } -func (VpcBlockPublicAccessOptionsTimeoutsOutput) ElementType() reflect.Type { - return reflect.TypeOf((*VpcBlockPublicAccessOptionsTimeouts)(nil)).Elem() +func (VpcEncryptionControlTimeoutsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VpcEncryptionControlTimeouts)(nil)).Elem() } -func (o VpcBlockPublicAccessOptionsTimeoutsOutput) ToVpcBlockPublicAccessOptionsTimeoutsOutput() VpcBlockPublicAccessOptionsTimeoutsOutput { +func (o VpcEncryptionControlTimeoutsOutput) ToVpcEncryptionControlTimeoutsOutput() VpcEncryptionControlTimeoutsOutput { return o } -func (o VpcBlockPublicAccessOptionsTimeoutsOutput) ToVpcBlockPublicAccessOptionsTimeoutsOutputWithContext(ctx context.Context) VpcBlockPublicAccessOptionsTimeoutsOutput { +func (o VpcEncryptionControlTimeoutsOutput) ToVpcEncryptionControlTimeoutsOutputWithContext(ctx context.Context) VpcEncryptionControlTimeoutsOutput { return o } -func (o VpcBlockPublicAccessOptionsTimeoutsOutput) ToVpcBlockPublicAccessOptionsTimeoutsPtrOutput() VpcBlockPublicAccessOptionsTimeoutsPtrOutput { - return o.ToVpcBlockPublicAccessOptionsTimeoutsPtrOutputWithContext(context.Background()) +func (o VpcEncryptionControlTimeoutsOutput) ToVpcEncryptionControlTimeoutsPtrOutput() VpcEncryptionControlTimeoutsPtrOutput { + return o.ToVpcEncryptionControlTimeoutsPtrOutputWithContext(context.Background()) } -func (o VpcBlockPublicAccessOptionsTimeoutsOutput) ToVpcBlockPublicAccessOptionsTimeoutsPtrOutputWithContext(ctx context.Context) VpcBlockPublicAccessOptionsTimeoutsPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v VpcBlockPublicAccessOptionsTimeouts) *VpcBlockPublicAccessOptionsTimeouts { +func (o VpcEncryptionControlTimeoutsOutput) ToVpcEncryptionControlTimeoutsPtrOutputWithContext(ctx context.Context) VpcEncryptionControlTimeoutsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VpcEncryptionControlTimeouts) *VpcEncryptionControlTimeouts { return &v - }).(VpcBlockPublicAccessOptionsTimeoutsPtrOutput) + }).(VpcEncryptionControlTimeoutsPtrOutput) } // A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). -func (o VpcBlockPublicAccessOptionsTimeoutsOutput) Create() pulumi.StringPtrOutput { - return o.ApplyT(func(v VpcBlockPublicAccessOptionsTimeouts) *string { return v.Create }).(pulumi.StringPtrOutput) +func (o VpcEncryptionControlTimeoutsOutput) Create() pulumi.StringPtrOutput { + return o.ApplyT(func(v VpcEncryptionControlTimeouts) *string { return v.Create }).(pulumi.StringPtrOutput) } // A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs. -func (o VpcBlockPublicAccessOptionsTimeoutsOutput) Delete() pulumi.StringPtrOutput { - return o.ApplyT(func(v VpcBlockPublicAccessOptionsTimeouts) *string { return v.Delete }).(pulumi.StringPtrOutput) +func (o VpcEncryptionControlTimeoutsOutput) Delete() pulumi.StringPtrOutput { + return o.ApplyT(func(v VpcEncryptionControlTimeouts) *string { return v.Delete }).(pulumi.StringPtrOutput) } // A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). -func (o VpcBlockPublicAccessOptionsTimeoutsOutput) Update() pulumi.StringPtrOutput { - return o.ApplyT(func(v VpcBlockPublicAccessOptionsTimeouts) *string { return v.Update }).(pulumi.StringPtrOutput) +func (o VpcEncryptionControlTimeoutsOutput) Update() pulumi.StringPtrOutput { + return o.ApplyT(func(v VpcEncryptionControlTimeouts) *string { return v.Update }).(pulumi.StringPtrOutput) } -type VpcBlockPublicAccessOptionsTimeoutsPtrOutput struct{ *pulumi.OutputState } +type VpcEncryptionControlTimeoutsPtrOutput struct{ *pulumi.OutputState } -func (VpcBlockPublicAccessOptionsTimeoutsPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**VpcBlockPublicAccessOptionsTimeouts)(nil)).Elem() +func (VpcEncryptionControlTimeoutsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VpcEncryptionControlTimeouts)(nil)).Elem() } -func (o VpcBlockPublicAccessOptionsTimeoutsPtrOutput) ToVpcBlockPublicAccessOptionsTimeoutsPtrOutput() VpcBlockPublicAccessOptionsTimeoutsPtrOutput { +func (o VpcEncryptionControlTimeoutsPtrOutput) ToVpcEncryptionControlTimeoutsPtrOutput() VpcEncryptionControlTimeoutsPtrOutput { return o } -func (o VpcBlockPublicAccessOptionsTimeoutsPtrOutput) ToVpcBlockPublicAccessOptionsTimeoutsPtrOutputWithContext(ctx context.Context) VpcBlockPublicAccessOptionsTimeoutsPtrOutput { +func (o VpcEncryptionControlTimeoutsPtrOutput) ToVpcEncryptionControlTimeoutsPtrOutputWithContext(ctx context.Context) VpcEncryptionControlTimeoutsPtrOutput { return o } -func (o VpcBlockPublicAccessOptionsTimeoutsPtrOutput) Elem() VpcBlockPublicAccessOptionsTimeoutsOutput { - return o.ApplyT(func(v *VpcBlockPublicAccessOptionsTimeouts) VpcBlockPublicAccessOptionsTimeouts { +func (o VpcEncryptionControlTimeoutsPtrOutput) Elem() VpcEncryptionControlTimeoutsOutput { + return o.ApplyT(func(v *VpcEncryptionControlTimeouts) VpcEncryptionControlTimeouts { if v != nil { return *v } - var ret VpcBlockPublicAccessOptionsTimeouts + var ret VpcEncryptionControlTimeouts return ret - }).(VpcBlockPublicAccessOptionsTimeoutsOutput) + }).(VpcEncryptionControlTimeoutsOutput) } // A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). -func (o VpcBlockPublicAccessOptionsTimeoutsPtrOutput) Create() pulumi.StringPtrOutput { - return o.ApplyT(func(v *VpcBlockPublicAccessOptionsTimeouts) *string { +func (o VpcEncryptionControlTimeoutsPtrOutput) Create() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VpcEncryptionControlTimeouts) *string { if v == nil { return nil } @@ -34659,8 +38341,8 @@ func (o VpcBlockPublicAccessOptionsTimeoutsPtrOutput) Create() pulumi.StringPtrO } // A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs. -func (o VpcBlockPublicAccessOptionsTimeoutsPtrOutput) Delete() pulumi.StringPtrOutput { - return o.ApplyT(func(v *VpcBlockPublicAccessOptionsTimeouts) *string { +func (o VpcEncryptionControlTimeoutsPtrOutput) Delete() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VpcEncryptionControlTimeouts) *string { if v == nil { return nil } @@ -34669,8 +38351,8 @@ func (o VpcBlockPublicAccessOptionsTimeoutsPtrOutput) Delete() pulumi.StringPtrO } // A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). -func (o VpcBlockPublicAccessOptionsTimeoutsPtrOutput) Update() pulumi.StringPtrOutput { - return o.ApplyT(func(v *VpcBlockPublicAccessOptionsTimeouts) *string { +func (o VpcEncryptionControlTimeoutsPtrOutput) Update() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VpcEncryptionControlTimeouts) *string { if v == nil { return nil } @@ -36348,6 +40030,12 @@ func (o VpnConnectionTunnel1LogOptionsPtrOutput) CloudwatchLogOptions() VpnConne } type VpnConnectionTunnel1LogOptionsCloudwatchLogOptions struct { + // Enable or disable BGP logging feature. The default is `false`. + BgpLogEnabled *bool `pulumi:"bgpLogEnabled"` + // The Amazon Resource Name (ARN) of the CloudWatch log group to send BGP logs to. + BgpLogGroupArn *string `pulumi:"bgpLogGroupArn"` + // Set BGP log format. Default format is json. Possible values are: `json` and `text`. The default is `json`. + BgpLogOutputFormat *string `pulumi:"bgpLogOutputFormat"` // Enable or disable VPN tunnel logging feature. The default is `false`. LogEnabled *bool `pulumi:"logEnabled"` // The Amazon Resource Name (ARN) of the CloudWatch log group to send logs to. @@ -36368,6 +40056,12 @@ type VpnConnectionTunnel1LogOptionsCloudwatchLogOptionsInput interface { } type VpnConnectionTunnel1LogOptionsCloudwatchLogOptionsArgs struct { + // Enable or disable BGP logging feature. The default is `false`. + BgpLogEnabled pulumi.BoolPtrInput `pulumi:"bgpLogEnabled"` + // The Amazon Resource Name (ARN) of the CloudWatch log group to send BGP logs to. + BgpLogGroupArn pulumi.StringPtrInput `pulumi:"bgpLogGroupArn"` + // Set BGP log format. Default format is json. Possible values are: `json` and `text`. The default is `json`. + BgpLogOutputFormat pulumi.StringPtrInput `pulumi:"bgpLogOutputFormat"` // Enable or disable VPN tunnel logging feature. The default is `false`. LogEnabled pulumi.BoolPtrInput `pulumi:"logEnabled"` // The Amazon Resource Name (ARN) of the CloudWatch log group to send logs to. @@ -36453,6 +40147,21 @@ func (o VpnConnectionTunnel1LogOptionsCloudwatchLogOptionsOutput) ToVpnConnectio }).(VpnConnectionTunnel1LogOptionsCloudwatchLogOptionsPtrOutput) } +// Enable or disable BGP logging feature. The default is `false`. +func (o VpnConnectionTunnel1LogOptionsCloudwatchLogOptionsOutput) BgpLogEnabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v VpnConnectionTunnel1LogOptionsCloudwatchLogOptions) *bool { return v.BgpLogEnabled }).(pulumi.BoolPtrOutput) +} + +// The Amazon Resource Name (ARN) of the CloudWatch log group to send BGP logs to. +func (o VpnConnectionTunnel1LogOptionsCloudwatchLogOptionsOutput) BgpLogGroupArn() pulumi.StringPtrOutput { + return o.ApplyT(func(v VpnConnectionTunnel1LogOptionsCloudwatchLogOptions) *string { return v.BgpLogGroupArn }).(pulumi.StringPtrOutput) +} + +// Set BGP log format. Default format is json. Possible values are: `json` and `text`. The default is `json`. +func (o VpnConnectionTunnel1LogOptionsCloudwatchLogOptionsOutput) BgpLogOutputFormat() pulumi.StringPtrOutput { + return o.ApplyT(func(v VpnConnectionTunnel1LogOptionsCloudwatchLogOptions) *string { return v.BgpLogOutputFormat }).(pulumi.StringPtrOutput) +} + // Enable or disable VPN tunnel logging feature. The default is `false`. func (o VpnConnectionTunnel1LogOptionsCloudwatchLogOptionsOutput) LogEnabled() pulumi.BoolPtrOutput { return o.ApplyT(func(v VpnConnectionTunnel1LogOptionsCloudwatchLogOptions) *bool { return v.LogEnabled }).(pulumi.BoolPtrOutput) @@ -36492,6 +40201,36 @@ func (o VpnConnectionTunnel1LogOptionsCloudwatchLogOptionsPtrOutput) Elem() VpnC }).(VpnConnectionTunnel1LogOptionsCloudwatchLogOptionsOutput) } +// Enable or disable BGP logging feature. The default is `false`. +func (o VpnConnectionTunnel1LogOptionsCloudwatchLogOptionsPtrOutput) BgpLogEnabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *VpnConnectionTunnel1LogOptionsCloudwatchLogOptions) *bool { + if v == nil { + return nil + } + return v.BgpLogEnabled + }).(pulumi.BoolPtrOutput) +} + +// The Amazon Resource Name (ARN) of the CloudWatch log group to send BGP logs to. +func (o VpnConnectionTunnel1LogOptionsCloudwatchLogOptionsPtrOutput) BgpLogGroupArn() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VpnConnectionTunnel1LogOptionsCloudwatchLogOptions) *string { + if v == nil { + return nil + } + return v.BgpLogGroupArn + }).(pulumi.StringPtrOutput) +} + +// Set BGP log format. Default format is json. Possible values are: `json` and `text`. The default is `json`. +func (o VpnConnectionTunnel1LogOptionsCloudwatchLogOptionsPtrOutput) BgpLogOutputFormat() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VpnConnectionTunnel1LogOptionsCloudwatchLogOptions) *string { + if v == nil { + return nil + } + return v.BgpLogOutputFormat + }).(pulumi.StringPtrOutput) +} + // Enable or disable VPN tunnel logging feature. The default is `false`. func (o VpnConnectionTunnel1LogOptionsCloudwatchLogOptionsPtrOutput) LogEnabled() pulumi.BoolPtrOutput { return o.ApplyT(func(v *VpnConnectionTunnel1LogOptionsCloudwatchLogOptions) *bool { @@ -36662,6 +40401,12 @@ func (o VpnConnectionTunnel2LogOptionsPtrOutput) CloudwatchLogOptions() VpnConne } type VpnConnectionTunnel2LogOptionsCloudwatchLogOptions struct { + // Enable or disable BGP logging feature. The default is `false`. + BgpLogEnabled *bool `pulumi:"bgpLogEnabled"` + // The Amazon Resource Name (ARN) of the CloudWatch log group to send BGP logs to. + BgpLogGroupArn *string `pulumi:"bgpLogGroupArn"` + // Set BGP log format. Default format is json. Possible values are: `json` and `text`. The default is `json`. + BgpLogOutputFormat *string `pulumi:"bgpLogOutputFormat"` // Enable or disable VPN tunnel logging feature. The default is `false`. LogEnabled *bool `pulumi:"logEnabled"` // The Amazon Resource Name (ARN) of the CloudWatch log group to send logs to. @@ -36682,6 +40427,12 @@ type VpnConnectionTunnel2LogOptionsCloudwatchLogOptionsInput interface { } type VpnConnectionTunnel2LogOptionsCloudwatchLogOptionsArgs struct { + // Enable or disable BGP logging feature. The default is `false`. + BgpLogEnabled pulumi.BoolPtrInput `pulumi:"bgpLogEnabled"` + // The Amazon Resource Name (ARN) of the CloudWatch log group to send BGP logs to. + BgpLogGroupArn pulumi.StringPtrInput `pulumi:"bgpLogGroupArn"` + // Set BGP log format. Default format is json. Possible values are: `json` and `text`. The default is `json`. + BgpLogOutputFormat pulumi.StringPtrInput `pulumi:"bgpLogOutputFormat"` // Enable or disable VPN tunnel logging feature. The default is `false`. LogEnabled pulumi.BoolPtrInput `pulumi:"logEnabled"` // The Amazon Resource Name (ARN) of the CloudWatch log group to send logs to. @@ -36767,6 +40518,21 @@ func (o VpnConnectionTunnel2LogOptionsCloudwatchLogOptionsOutput) ToVpnConnectio }).(VpnConnectionTunnel2LogOptionsCloudwatchLogOptionsPtrOutput) } +// Enable or disable BGP logging feature. The default is `false`. +func (o VpnConnectionTunnel2LogOptionsCloudwatchLogOptionsOutput) BgpLogEnabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v VpnConnectionTunnel2LogOptionsCloudwatchLogOptions) *bool { return v.BgpLogEnabled }).(pulumi.BoolPtrOutput) +} + +// The Amazon Resource Name (ARN) of the CloudWatch log group to send BGP logs to. +func (o VpnConnectionTunnel2LogOptionsCloudwatchLogOptionsOutput) BgpLogGroupArn() pulumi.StringPtrOutput { + return o.ApplyT(func(v VpnConnectionTunnel2LogOptionsCloudwatchLogOptions) *string { return v.BgpLogGroupArn }).(pulumi.StringPtrOutput) +} + +// Set BGP log format. Default format is json. Possible values are: `json` and `text`. The default is `json`. +func (o VpnConnectionTunnel2LogOptionsCloudwatchLogOptionsOutput) BgpLogOutputFormat() pulumi.StringPtrOutput { + return o.ApplyT(func(v VpnConnectionTunnel2LogOptionsCloudwatchLogOptions) *string { return v.BgpLogOutputFormat }).(pulumi.StringPtrOutput) +} + // Enable or disable VPN tunnel logging feature. The default is `false`. func (o VpnConnectionTunnel2LogOptionsCloudwatchLogOptionsOutput) LogEnabled() pulumi.BoolPtrOutput { return o.ApplyT(func(v VpnConnectionTunnel2LogOptionsCloudwatchLogOptions) *bool { return v.LogEnabled }).(pulumi.BoolPtrOutput) @@ -36806,6 +40572,36 @@ func (o VpnConnectionTunnel2LogOptionsCloudwatchLogOptionsPtrOutput) Elem() VpnC }).(VpnConnectionTunnel2LogOptionsCloudwatchLogOptionsOutput) } +// Enable or disable BGP logging feature. The default is `false`. +func (o VpnConnectionTunnel2LogOptionsCloudwatchLogOptionsPtrOutput) BgpLogEnabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *VpnConnectionTunnel2LogOptionsCloudwatchLogOptions) *bool { + if v == nil { + return nil + } + return v.BgpLogEnabled + }).(pulumi.BoolPtrOutput) +} + +// The Amazon Resource Name (ARN) of the CloudWatch log group to send BGP logs to. +func (o VpnConnectionTunnel2LogOptionsCloudwatchLogOptionsPtrOutput) BgpLogGroupArn() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VpnConnectionTunnel2LogOptionsCloudwatchLogOptions) *string { + if v == nil { + return nil + } + return v.BgpLogGroupArn + }).(pulumi.StringPtrOutput) +} + +// Set BGP log format. Default format is json. Possible values are: `json` and `text`. The default is `json`. +func (o VpnConnectionTunnel2LogOptionsCloudwatchLogOptionsPtrOutput) BgpLogOutputFormat() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VpnConnectionTunnel2LogOptionsCloudwatchLogOptions) *string { + if v == nil { + return nil + } + return v.BgpLogOutputFormat + }).(pulumi.StringPtrOutput) +} + // Enable or disable VPN tunnel logging feature. The default is `false`. func (o VpnConnectionTunnel2LogOptionsCloudwatchLogOptionsPtrOutput) LogEnabled() pulumi.BoolPtrOutput { return o.ApplyT(func(v *VpnConnectionTunnel2LogOptionsCloudwatchLogOptions) *bool { @@ -45837,6 +49633,121 @@ func (o GetManagedPrefixListsFilterArrayOutput) Index(i pulumi.IntInput) GetMana }).(GetManagedPrefixListsFilterOutput) } +type GetNatGatewayAvailabilityZoneAddress struct { + // List of allocation IDs of the Elastic IP addresses (EIPs) to be used for handling outbound NAT traffic in this specific Availability Zone. + AllocationIds []string `pulumi:"allocationIds"` + // Availability Zone where this specific NAT gateway configuration is active. + AvailabilityZone string `pulumi:"availabilityZone"` + // Availability Zone ID where this specific NAT gateway configuration is active + AvailabilityZoneId string `pulumi:"availabilityZoneId"` +} + +// GetNatGatewayAvailabilityZoneAddressInput is an input type that accepts GetNatGatewayAvailabilityZoneAddressArgs and GetNatGatewayAvailabilityZoneAddressOutput values. +// You can construct a concrete instance of `GetNatGatewayAvailabilityZoneAddressInput` via: +// +// GetNatGatewayAvailabilityZoneAddressArgs{...} +type GetNatGatewayAvailabilityZoneAddressInput interface { + pulumi.Input + + ToGetNatGatewayAvailabilityZoneAddressOutput() GetNatGatewayAvailabilityZoneAddressOutput + ToGetNatGatewayAvailabilityZoneAddressOutputWithContext(context.Context) GetNatGatewayAvailabilityZoneAddressOutput +} + +type GetNatGatewayAvailabilityZoneAddressArgs struct { + // List of allocation IDs of the Elastic IP addresses (EIPs) to be used for handling outbound NAT traffic in this specific Availability Zone. + AllocationIds pulumi.StringArrayInput `pulumi:"allocationIds"` + // Availability Zone where this specific NAT gateway configuration is active. + AvailabilityZone pulumi.StringInput `pulumi:"availabilityZone"` + // Availability Zone ID where this specific NAT gateway configuration is active + AvailabilityZoneId pulumi.StringInput `pulumi:"availabilityZoneId"` +} + +func (GetNatGatewayAvailabilityZoneAddressArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetNatGatewayAvailabilityZoneAddress)(nil)).Elem() +} + +func (i GetNatGatewayAvailabilityZoneAddressArgs) ToGetNatGatewayAvailabilityZoneAddressOutput() GetNatGatewayAvailabilityZoneAddressOutput { + return i.ToGetNatGatewayAvailabilityZoneAddressOutputWithContext(context.Background()) +} + +func (i GetNatGatewayAvailabilityZoneAddressArgs) ToGetNatGatewayAvailabilityZoneAddressOutputWithContext(ctx context.Context) GetNatGatewayAvailabilityZoneAddressOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetNatGatewayAvailabilityZoneAddressOutput) +} + +// GetNatGatewayAvailabilityZoneAddressArrayInput is an input type that accepts GetNatGatewayAvailabilityZoneAddressArray and GetNatGatewayAvailabilityZoneAddressArrayOutput values. +// You can construct a concrete instance of `GetNatGatewayAvailabilityZoneAddressArrayInput` via: +// +// GetNatGatewayAvailabilityZoneAddressArray{ GetNatGatewayAvailabilityZoneAddressArgs{...} } +type GetNatGatewayAvailabilityZoneAddressArrayInput interface { + pulumi.Input + + ToGetNatGatewayAvailabilityZoneAddressArrayOutput() GetNatGatewayAvailabilityZoneAddressArrayOutput + ToGetNatGatewayAvailabilityZoneAddressArrayOutputWithContext(context.Context) GetNatGatewayAvailabilityZoneAddressArrayOutput +} + +type GetNatGatewayAvailabilityZoneAddressArray []GetNatGatewayAvailabilityZoneAddressInput + +func (GetNatGatewayAvailabilityZoneAddressArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetNatGatewayAvailabilityZoneAddress)(nil)).Elem() +} + +func (i GetNatGatewayAvailabilityZoneAddressArray) ToGetNatGatewayAvailabilityZoneAddressArrayOutput() GetNatGatewayAvailabilityZoneAddressArrayOutput { + return i.ToGetNatGatewayAvailabilityZoneAddressArrayOutputWithContext(context.Background()) +} + +func (i GetNatGatewayAvailabilityZoneAddressArray) ToGetNatGatewayAvailabilityZoneAddressArrayOutputWithContext(ctx context.Context) GetNatGatewayAvailabilityZoneAddressArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetNatGatewayAvailabilityZoneAddressArrayOutput) +} + +type GetNatGatewayAvailabilityZoneAddressOutput struct{ *pulumi.OutputState } + +func (GetNatGatewayAvailabilityZoneAddressOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetNatGatewayAvailabilityZoneAddress)(nil)).Elem() +} + +func (o GetNatGatewayAvailabilityZoneAddressOutput) ToGetNatGatewayAvailabilityZoneAddressOutput() GetNatGatewayAvailabilityZoneAddressOutput { + return o +} + +func (o GetNatGatewayAvailabilityZoneAddressOutput) ToGetNatGatewayAvailabilityZoneAddressOutputWithContext(ctx context.Context) GetNatGatewayAvailabilityZoneAddressOutput { + return o +} + +// List of allocation IDs of the Elastic IP addresses (EIPs) to be used for handling outbound NAT traffic in this specific Availability Zone. +func (o GetNatGatewayAvailabilityZoneAddressOutput) AllocationIds() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetNatGatewayAvailabilityZoneAddress) []string { return v.AllocationIds }).(pulumi.StringArrayOutput) +} + +// Availability Zone where this specific NAT gateway configuration is active. +func (o GetNatGatewayAvailabilityZoneAddressOutput) AvailabilityZone() pulumi.StringOutput { + return o.ApplyT(func(v GetNatGatewayAvailabilityZoneAddress) string { return v.AvailabilityZone }).(pulumi.StringOutput) +} + +// Availability Zone ID where this specific NAT gateway configuration is active +func (o GetNatGatewayAvailabilityZoneAddressOutput) AvailabilityZoneId() pulumi.StringOutput { + return o.ApplyT(func(v GetNatGatewayAvailabilityZoneAddress) string { return v.AvailabilityZoneId }).(pulumi.StringOutput) +} + +type GetNatGatewayAvailabilityZoneAddressArrayOutput struct{ *pulumi.OutputState } + +func (GetNatGatewayAvailabilityZoneAddressArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetNatGatewayAvailabilityZoneAddress)(nil)).Elem() +} + +func (o GetNatGatewayAvailabilityZoneAddressArrayOutput) ToGetNatGatewayAvailabilityZoneAddressArrayOutput() GetNatGatewayAvailabilityZoneAddressArrayOutput { + return o +} + +func (o GetNatGatewayAvailabilityZoneAddressArrayOutput) ToGetNatGatewayAvailabilityZoneAddressArrayOutputWithContext(ctx context.Context) GetNatGatewayAvailabilityZoneAddressArrayOutput { + return o +} + +func (o GetNatGatewayAvailabilityZoneAddressArrayOutput) Index(i pulumi.IntInput) GetNatGatewayAvailabilityZoneAddressOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetNatGatewayAvailabilityZoneAddress { + return vs[0].([]GetNatGatewayAvailabilityZoneAddress)[vs[1].(int)] + }).(GetNatGatewayAvailabilityZoneAddressOutput) +} + type GetNatGatewayFilter struct { // Name of the field to filter by, as defined by // [the underlying AWS API](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeNatGateways.html). @@ -45949,6 +49860,157 @@ func (o GetNatGatewayFilterArrayOutput) Index(i pulumi.IntInput) GetNatGatewayFi }).(GetNatGatewayFilterOutput) } +type GetNatGatewayRegionalNatGatewayAddress struct { + // Allocation ID of the Elastic IP address. + AllocationId string `pulumi:"allocationId"` + // Association ID of the Elastic IP address. + AssociationId string `pulumi:"associationId"` + // Availability Zone where this specific NAT gateway configuration is active. + AvailabilityZone string `pulumi:"availabilityZone"` + // Availability Zone ID where this specific NAT gateway configuration is active + AvailabilityZoneId string `pulumi:"availabilityZoneId"` + // ID of the network interface. + NetworkInterfaceId string `pulumi:"networkInterfaceId"` + // Public IP address. + PublicIp string `pulumi:"publicIp"` + // Status of the NAT gateway address. + Status string `pulumi:"status"` +} + +// GetNatGatewayRegionalNatGatewayAddressInput is an input type that accepts GetNatGatewayRegionalNatGatewayAddressArgs and GetNatGatewayRegionalNatGatewayAddressOutput values. +// You can construct a concrete instance of `GetNatGatewayRegionalNatGatewayAddressInput` via: +// +// GetNatGatewayRegionalNatGatewayAddressArgs{...} +type GetNatGatewayRegionalNatGatewayAddressInput interface { + pulumi.Input + + ToGetNatGatewayRegionalNatGatewayAddressOutput() GetNatGatewayRegionalNatGatewayAddressOutput + ToGetNatGatewayRegionalNatGatewayAddressOutputWithContext(context.Context) GetNatGatewayRegionalNatGatewayAddressOutput +} + +type GetNatGatewayRegionalNatGatewayAddressArgs struct { + // Allocation ID of the Elastic IP address. + AllocationId pulumi.StringInput `pulumi:"allocationId"` + // Association ID of the Elastic IP address. + AssociationId pulumi.StringInput `pulumi:"associationId"` + // Availability Zone where this specific NAT gateway configuration is active. + AvailabilityZone pulumi.StringInput `pulumi:"availabilityZone"` + // Availability Zone ID where this specific NAT gateway configuration is active + AvailabilityZoneId pulumi.StringInput `pulumi:"availabilityZoneId"` + // ID of the network interface. + NetworkInterfaceId pulumi.StringInput `pulumi:"networkInterfaceId"` + // Public IP address. + PublicIp pulumi.StringInput `pulumi:"publicIp"` + // Status of the NAT gateway address. + Status pulumi.StringInput `pulumi:"status"` +} + +func (GetNatGatewayRegionalNatGatewayAddressArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetNatGatewayRegionalNatGatewayAddress)(nil)).Elem() +} + +func (i GetNatGatewayRegionalNatGatewayAddressArgs) ToGetNatGatewayRegionalNatGatewayAddressOutput() GetNatGatewayRegionalNatGatewayAddressOutput { + return i.ToGetNatGatewayRegionalNatGatewayAddressOutputWithContext(context.Background()) +} + +func (i GetNatGatewayRegionalNatGatewayAddressArgs) ToGetNatGatewayRegionalNatGatewayAddressOutputWithContext(ctx context.Context) GetNatGatewayRegionalNatGatewayAddressOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetNatGatewayRegionalNatGatewayAddressOutput) +} + +// GetNatGatewayRegionalNatGatewayAddressArrayInput is an input type that accepts GetNatGatewayRegionalNatGatewayAddressArray and GetNatGatewayRegionalNatGatewayAddressArrayOutput values. +// You can construct a concrete instance of `GetNatGatewayRegionalNatGatewayAddressArrayInput` via: +// +// GetNatGatewayRegionalNatGatewayAddressArray{ GetNatGatewayRegionalNatGatewayAddressArgs{...} } +type GetNatGatewayRegionalNatGatewayAddressArrayInput interface { + pulumi.Input + + ToGetNatGatewayRegionalNatGatewayAddressArrayOutput() GetNatGatewayRegionalNatGatewayAddressArrayOutput + ToGetNatGatewayRegionalNatGatewayAddressArrayOutputWithContext(context.Context) GetNatGatewayRegionalNatGatewayAddressArrayOutput +} + +type GetNatGatewayRegionalNatGatewayAddressArray []GetNatGatewayRegionalNatGatewayAddressInput + +func (GetNatGatewayRegionalNatGatewayAddressArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetNatGatewayRegionalNatGatewayAddress)(nil)).Elem() +} + +func (i GetNatGatewayRegionalNatGatewayAddressArray) ToGetNatGatewayRegionalNatGatewayAddressArrayOutput() GetNatGatewayRegionalNatGatewayAddressArrayOutput { + return i.ToGetNatGatewayRegionalNatGatewayAddressArrayOutputWithContext(context.Background()) +} + +func (i GetNatGatewayRegionalNatGatewayAddressArray) ToGetNatGatewayRegionalNatGatewayAddressArrayOutputWithContext(ctx context.Context) GetNatGatewayRegionalNatGatewayAddressArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetNatGatewayRegionalNatGatewayAddressArrayOutput) +} + +type GetNatGatewayRegionalNatGatewayAddressOutput struct{ *pulumi.OutputState } + +func (GetNatGatewayRegionalNatGatewayAddressOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetNatGatewayRegionalNatGatewayAddress)(nil)).Elem() +} + +func (o GetNatGatewayRegionalNatGatewayAddressOutput) ToGetNatGatewayRegionalNatGatewayAddressOutput() GetNatGatewayRegionalNatGatewayAddressOutput { + return o +} + +func (o GetNatGatewayRegionalNatGatewayAddressOutput) ToGetNatGatewayRegionalNatGatewayAddressOutputWithContext(ctx context.Context) GetNatGatewayRegionalNatGatewayAddressOutput { + return o +} + +// Allocation ID of the Elastic IP address. +func (o GetNatGatewayRegionalNatGatewayAddressOutput) AllocationId() pulumi.StringOutput { + return o.ApplyT(func(v GetNatGatewayRegionalNatGatewayAddress) string { return v.AllocationId }).(pulumi.StringOutput) +} + +// Association ID of the Elastic IP address. +func (o GetNatGatewayRegionalNatGatewayAddressOutput) AssociationId() pulumi.StringOutput { + return o.ApplyT(func(v GetNatGatewayRegionalNatGatewayAddress) string { return v.AssociationId }).(pulumi.StringOutput) +} + +// Availability Zone where this specific NAT gateway configuration is active. +func (o GetNatGatewayRegionalNatGatewayAddressOutput) AvailabilityZone() pulumi.StringOutput { + return o.ApplyT(func(v GetNatGatewayRegionalNatGatewayAddress) string { return v.AvailabilityZone }).(pulumi.StringOutput) +} + +// Availability Zone ID where this specific NAT gateway configuration is active +func (o GetNatGatewayRegionalNatGatewayAddressOutput) AvailabilityZoneId() pulumi.StringOutput { + return o.ApplyT(func(v GetNatGatewayRegionalNatGatewayAddress) string { return v.AvailabilityZoneId }).(pulumi.StringOutput) +} + +// ID of the network interface. +func (o GetNatGatewayRegionalNatGatewayAddressOutput) NetworkInterfaceId() pulumi.StringOutput { + return o.ApplyT(func(v GetNatGatewayRegionalNatGatewayAddress) string { return v.NetworkInterfaceId }).(pulumi.StringOutput) +} + +// Public IP address. +func (o GetNatGatewayRegionalNatGatewayAddressOutput) PublicIp() pulumi.StringOutput { + return o.ApplyT(func(v GetNatGatewayRegionalNatGatewayAddress) string { return v.PublicIp }).(pulumi.StringOutput) +} + +// Status of the NAT gateway address. +func (o GetNatGatewayRegionalNatGatewayAddressOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v GetNatGatewayRegionalNatGatewayAddress) string { return v.Status }).(pulumi.StringOutput) +} + +type GetNatGatewayRegionalNatGatewayAddressArrayOutput struct{ *pulumi.OutputState } + +func (GetNatGatewayRegionalNatGatewayAddressArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetNatGatewayRegionalNatGatewayAddress)(nil)).Elem() +} + +func (o GetNatGatewayRegionalNatGatewayAddressArrayOutput) ToGetNatGatewayRegionalNatGatewayAddressArrayOutput() GetNatGatewayRegionalNatGatewayAddressArrayOutput { + return o +} + +func (o GetNatGatewayRegionalNatGatewayAddressArrayOutput) ToGetNatGatewayRegionalNatGatewayAddressArrayOutputWithContext(ctx context.Context) GetNatGatewayRegionalNatGatewayAddressArrayOutput { + return o +} + +func (o GetNatGatewayRegionalNatGatewayAddressArrayOutput) Index(i pulumi.IntInput) GetNatGatewayRegionalNatGatewayAddressOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetNatGatewayRegionalNatGatewayAddress { + return vs[0].([]GetNatGatewayRegionalNatGatewayAddress)[vs[1].(int)] + }).(GetNatGatewayRegionalNatGatewayAddressOutput) +} + type GetNatGatewaysFilter struct { // Name of the field to filter by, as defined by // [the underlying AWS API](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeNatGateways.html). @@ -61874,6 +65936,26 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*DefaultSecurityGroupIngressArrayInput)(nil)).Elem(), DefaultSecurityGroupIngressArray{}) pulumi.RegisterInputType(reflect.TypeOf((*EipDomainNameTimeoutsInput)(nil)).Elem(), EipDomainNameTimeoutsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*EipDomainNameTimeoutsPtrInput)(nil)).Elem(), EipDomainNameTimeoutsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*EncryptionControlResourceExclusionsInput)(nil)).Elem(), EncryptionControlResourceExclusionsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*EncryptionControlResourceExclusionsPtrInput)(nil)).Elem(), EncryptionControlResourceExclusionsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*EncryptionControlResourceExclusionsEgressOnlyInternetGatewayInput)(nil)).Elem(), EncryptionControlResourceExclusionsEgressOnlyInternetGatewayArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*EncryptionControlResourceExclusionsEgressOnlyInternetGatewayPtrInput)(nil)).Elem(), EncryptionControlResourceExclusionsEgressOnlyInternetGatewayArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*EncryptionControlResourceExclusionsElasticFileSystemInput)(nil)).Elem(), EncryptionControlResourceExclusionsElasticFileSystemArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*EncryptionControlResourceExclusionsElasticFileSystemPtrInput)(nil)).Elem(), EncryptionControlResourceExclusionsElasticFileSystemArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*EncryptionControlResourceExclusionsInternetGatewayInput)(nil)).Elem(), EncryptionControlResourceExclusionsInternetGatewayArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*EncryptionControlResourceExclusionsInternetGatewayPtrInput)(nil)).Elem(), EncryptionControlResourceExclusionsInternetGatewayArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*EncryptionControlResourceExclusionsLambdaInput)(nil)).Elem(), EncryptionControlResourceExclusionsLambdaArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*EncryptionControlResourceExclusionsLambdaPtrInput)(nil)).Elem(), EncryptionControlResourceExclusionsLambdaArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*EncryptionControlResourceExclusionsNatGatewayInput)(nil)).Elem(), EncryptionControlResourceExclusionsNatGatewayArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*EncryptionControlResourceExclusionsNatGatewayPtrInput)(nil)).Elem(), EncryptionControlResourceExclusionsNatGatewayArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*EncryptionControlResourceExclusionsVirtualPrivateGatewayInput)(nil)).Elem(), EncryptionControlResourceExclusionsVirtualPrivateGatewayArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*EncryptionControlResourceExclusionsVirtualPrivateGatewayPtrInput)(nil)).Elem(), EncryptionControlResourceExclusionsVirtualPrivateGatewayArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*EncryptionControlResourceExclusionsVpcLatticeInput)(nil)).Elem(), EncryptionControlResourceExclusionsVpcLatticeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*EncryptionControlResourceExclusionsVpcLatticePtrInput)(nil)).Elem(), EncryptionControlResourceExclusionsVpcLatticeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*EncryptionControlResourceExclusionsVpcPeeringInput)(nil)).Elem(), EncryptionControlResourceExclusionsVpcPeeringArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*EncryptionControlResourceExclusionsVpcPeeringPtrInput)(nil)).Elem(), EncryptionControlResourceExclusionsVpcPeeringArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*EncryptionControlTimeoutsInput)(nil)).Elem(), EncryptionControlTimeoutsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*EncryptionControlTimeoutsPtrInput)(nil)).Elem(), EncryptionControlTimeoutsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*FleetFleetInstanceSetInput)(nil)).Elem(), FleetFleetInstanceSetArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*FleetFleetInstanceSetArrayInput)(nil)).Elem(), FleetFleetInstanceSetArray{}) pulumi.RegisterInputType(reflect.TypeOf((*FleetLaunchTemplateConfigInput)(nil)).Elem(), FleetLaunchTemplateConfigArgs{}) @@ -62022,8 +66104,12 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*LaunchTemplateTagSpecificationArrayInput)(nil)).Elem(), LaunchTemplateTagSpecificationArray{}) pulumi.RegisterInputType(reflect.TypeOf((*ManagedPrefixListEntryTypeInput)(nil)).Elem(), ManagedPrefixListEntryTypeArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ManagedPrefixListEntryTypeArrayInput)(nil)).Elem(), ManagedPrefixListEntryTypeArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*NatGatewayAvailabilityZoneAddressInput)(nil)).Elem(), NatGatewayAvailabilityZoneAddressArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*NatGatewayAvailabilityZoneAddressArrayInput)(nil)).Elem(), NatGatewayAvailabilityZoneAddressArray{}) pulumi.RegisterInputType(reflect.TypeOf((*NatGatewayEipAssociationTimeoutsInput)(nil)).Elem(), NatGatewayEipAssociationTimeoutsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*NatGatewayEipAssociationTimeoutsPtrInput)(nil)).Elem(), NatGatewayEipAssociationTimeoutsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*NatGatewayRegionalNatGatewayAddressInput)(nil)).Elem(), NatGatewayRegionalNatGatewayAddressArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*NatGatewayRegionalNatGatewayAddressArrayInput)(nil)).Elem(), NatGatewayRegionalNatGatewayAddressArray{}) pulumi.RegisterInputType(reflect.TypeOf((*NetworkAclEgressInput)(nil)).Elem(), NetworkAclEgressArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*NetworkAclEgressArrayInput)(nil)).Elem(), NetworkAclEgressArray{}) pulumi.RegisterInputType(reflect.TypeOf((*NetworkAclIngressInput)(nil)).Elem(), NetworkAclIngressArgs{}) @@ -62287,6 +66373,26 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*VpcBlockPublicAccessExclusionTimeoutsPtrInput)(nil)).Elem(), VpcBlockPublicAccessExclusionTimeoutsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*VpcBlockPublicAccessOptionsTimeoutsInput)(nil)).Elem(), VpcBlockPublicAccessOptionsTimeoutsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*VpcBlockPublicAccessOptionsTimeoutsPtrInput)(nil)).Elem(), VpcBlockPublicAccessOptionsTimeoutsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*VpcEncryptionControlResourceExclusionsInput)(nil)).Elem(), VpcEncryptionControlResourceExclusionsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*VpcEncryptionControlResourceExclusionsPtrInput)(nil)).Elem(), VpcEncryptionControlResourceExclusionsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*VpcEncryptionControlResourceExclusionsEgressOnlyInternetGatewayInput)(nil)).Elem(), VpcEncryptionControlResourceExclusionsEgressOnlyInternetGatewayArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*VpcEncryptionControlResourceExclusionsEgressOnlyInternetGatewayPtrInput)(nil)).Elem(), VpcEncryptionControlResourceExclusionsEgressOnlyInternetGatewayArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*VpcEncryptionControlResourceExclusionsElasticFileSystemInput)(nil)).Elem(), VpcEncryptionControlResourceExclusionsElasticFileSystemArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*VpcEncryptionControlResourceExclusionsElasticFileSystemPtrInput)(nil)).Elem(), VpcEncryptionControlResourceExclusionsElasticFileSystemArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*VpcEncryptionControlResourceExclusionsInternetGatewayInput)(nil)).Elem(), VpcEncryptionControlResourceExclusionsInternetGatewayArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*VpcEncryptionControlResourceExclusionsInternetGatewayPtrInput)(nil)).Elem(), VpcEncryptionControlResourceExclusionsInternetGatewayArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*VpcEncryptionControlResourceExclusionsLambdaInput)(nil)).Elem(), VpcEncryptionControlResourceExclusionsLambdaArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*VpcEncryptionControlResourceExclusionsLambdaPtrInput)(nil)).Elem(), VpcEncryptionControlResourceExclusionsLambdaArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*VpcEncryptionControlResourceExclusionsNatGatewayInput)(nil)).Elem(), VpcEncryptionControlResourceExclusionsNatGatewayArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*VpcEncryptionControlResourceExclusionsNatGatewayPtrInput)(nil)).Elem(), VpcEncryptionControlResourceExclusionsNatGatewayArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*VpcEncryptionControlResourceExclusionsVirtualPrivateGatewayInput)(nil)).Elem(), VpcEncryptionControlResourceExclusionsVirtualPrivateGatewayArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*VpcEncryptionControlResourceExclusionsVirtualPrivateGatewayPtrInput)(nil)).Elem(), VpcEncryptionControlResourceExclusionsVirtualPrivateGatewayArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*VpcEncryptionControlResourceExclusionsVpcLatticeInput)(nil)).Elem(), VpcEncryptionControlResourceExclusionsVpcLatticeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*VpcEncryptionControlResourceExclusionsVpcLatticePtrInput)(nil)).Elem(), VpcEncryptionControlResourceExclusionsVpcLatticeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*VpcEncryptionControlResourceExclusionsVpcPeeringInput)(nil)).Elem(), VpcEncryptionControlResourceExclusionsVpcPeeringArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*VpcEncryptionControlResourceExclusionsVpcPeeringPtrInput)(nil)).Elem(), VpcEncryptionControlResourceExclusionsVpcPeeringArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*VpcEncryptionControlTimeoutsInput)(nil)).Elem(), VpcEncryptionControlTimeoutsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*VpcEncryptionControlTimeoutsPtrInput)(nil)).Elem(), VpcEncryptionControlTimeoutsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*VpcEndpointDnsEntryInput)(nil)).Elem(), VpcEndpointDnsEntryArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*VpcEndpointDnsEntryArrayInput)(nil)).Elem(), VpcEndpointDnsEntryArray{}) pulumi.RegisterInputType(reflect.TypeOf((*VpcEndpointDnsOptionsInput)(nil)).Elem(), VpcEndpointDnsOptionsArgs{}) @@ -62477,8 +66583,12 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*GetManagedPrefixListFilterArrayInput)(nil)).Elem(), GetManagedPrefixListFilterArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetManagedPrefixListsFilterInput)(nil)).Elem(), GetManagedPrefixListsFilterArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetManagedPrefixListsFilterArrayInput)(nil)).Elem(), GetManagedPrefixListsFilterArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetNatGatewayAvailabilityZoneAddressInput)(nil)).Elem(), GetNatGatewayAvailabilityZoneAddressArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetNatGatewayAvailabilityZoneAddressArrayInput)(nil)).Elem(), GetNatGatewayAvailabilityZoneAddressArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetNatGatewayFilterInput)(nil)).Elem(), GetNatGatewayFilterArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetNatGatewayFilterArrayInput)(nil)).Elem(), GetNatGatewayFilterArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetNatGatewayRegionalNatGatewayAddressInput)(nil)).Elem(), GetNatGatewayRegionalNatGatewayAddressArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetNatGatewayRegionalNatGatewayAddressArrayInput)(nil)).Elem(), GetNatGatewayRegionalNatGatewayAddressArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetNatGatewaysFilterInput)(nil)).Elem(), GetNatGatewaysFilterArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetNatGatewaysFilterArrayInput)(nil)).Elem(), GetNatGatewaysFilterArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetNetworkAclsFilterInput)(nil)).Elem(), GetNetworkAclsFilterArgs{}) @@ -62781,6 +66891,26 @@ func init() { pulumi.RegisterOutputType(DefaultSecurityGroupIngressArrayOutput{}) pulumi.RegisterOutputType(EipDomainNameTimeoutsOutput{}) pulumi.RegisterOutputType(EipDomainNameTimeoutsPtrOutput{}) + pulumi.RegisterOutputType(EncryptionControlResourceExclusionsOutput{}) + pulumi.RegisterOutputType(EncryptionControlResourceExclusionsPtrOutput{}) + pulumi.RegisterOutputType(EncryptionControlResourceExclusionsEgressOnlyInternetGatewayOutput{}) + pulumi.RegisterOutputType(EncryptionControlResourceExclusionsEgressOnlyInternetGatewayPtrOutput{}) + pulumi.RegisterOutputType(EncryptionControlResourceExclusionsElasticFileSystemOutput{}) + pulumi.RegisterOutputType(EncryptionControlResourceExclusionsElasticFileSystemPtrOutput{}) + pulumi.RegisterOutputType(EncryptionControlResourceExclusionsInternetGatewayOutput{}) + pulumi.RegisterOutputType(EncryptionControlResourceExclusionsInternetGatewayPtrOutput{}) + pulumi.RegisterOutputType(EncryptionControlResourceExclusionsLambdaOutput{}) + pulumi.RegisterOutputType(EncryptionControlResourceExclusionsLambdaPtrOutput{}) + pulumi.RegisterOutputType(EncryptionControlResourceExclusionsNatGatewayOutput{}) + pulumi.RegisterOutputType(EncryptionControlResourceExclusionsNatGatewayPtrOutput{}) + pulumi.RegisterOutputType(EncryptionControlResourceExclusionsVirtualPrivateGatewayOutput{}) + pulumi.RegisterOutputType(EncryptionControlResourceExclusionsVirtualPrivateGatewayPtrOutput{}) + pulumi.RegisterOutputType(EncryptionControlResourceExclusionsVpcLatticeOutput{}) + pulumi.RegisterOutputType(EncryptionControlResourceExclusionsVpcLatticePtrOutput{}) + pulumi.RegisterOutputType(EncryptionControlResourceExclusionsVpcPeeringOutput{}) + pulumi.RegisterOutputType(EncryptionControlResourceExclusionsVpcPeeringPtrOutput{}) + pulumi.RegisterOutputType(EncryptionControlTimeoutsOutput{}) + pulumi.RegisterOutputType(EncryptionControlTimeoutsPtrOutput{}) pulumi.RegisterOutputType(FleetFleetInstanceSetOutput{}) pulumi.RegisterOutputType(FleetFleetInstanceSetArrayOutput{}) pulumi.RegisterOutputType(FleetLaunchTemplateConfigOutput{}) @@ -62929,8 +67059,12 @@ func init() { pulumi.RegisterOutputType(LaunchTemplateTagSpecificationArrayOutput{}) pulumi.RegisterOutputType(ManagedPrefixListEntryTypeOutput{}) pulumi.RegisterOutputType(ManagedPrefixListEntryTypeArrayOutput{}) + pulumi.RegisterOutputType(NatGatewayAvailabilityZoneAddressOutput{}) + pulumi.RegisterOutputType(NatGatewayAvailabilityZoneAddressArrayOutput{}) pulumi.RegisterOutputType(NatGatewayEipAssociationTimeoutsOutput{}) pulumi.RegisterOutputType(NatGatewayEipAssociationTimeoutsPtrOutput{}) + pulumi.RegisterOutputType(NatGatewayRegionalNatGatewayAddressOutput{}) + pulumi.RegisterOutputType(NatGatewayRegionalNatGatewayAddressArrayOutput{}) pulumi.RegisterOutputType(NetworkAclEgressOutput{}) pulumi.RegisterOutputType(NetworkAclEgressArrayOutput{}) pulumi.RegisterOutputType(NetworkAclIngressOutput{}) @@ -63194,6 +67328,26 @@ func init() { pulumi.RegisterOutputType(VpcBlockPublicAccessExclusionTimeoutsPtrOutput{}) pulumi.RegisterOutputType(VpcBlockPublicAccessOptionsTimeoutsOutput{}) pulumi.RegisterOutputType(VpcBlockPublicAccessOptionsTimeoutsPtrOutput{}) + pulumi.RegisterOutputType(VpcEncryptionControlResourceExclusionsOutput{}) + pulumi.RegisterOutputType(VpcEncryptionControlResourceExclusionsPtrOutput{}) + pulumi.RegisterOutputType(VpcEncryptionControlResourceExclusionsEgressOnlyInternetGatewayOutput{}) + pulumi.RegisterOutputType(VpcEncryptionControlResourceExclusionsEgressOnlyInternetGatewayPtrOutput{}) + pulumi.RegisterOutputType(VpcEncryptionControlResourceExclusionsElasticFileSystemOutput{}) + pulumi.RegisterOutputType(VpcEncryptionControlResourceExclusionsElasticFileSystemPtrOutput{}) + pulumi.RegisterOutputType(VpcEncryptionControlResourceExclusionsInternetGatewayOutput{}) + pulumi.RegisterOutputType(VpcEncryptionControlResourceExclusionsInternetGatewayPtrOutput{}) + pulumi.RegisterOutputType(VpcEncryptionControlResourceExclusionsLambdaOutput{}) + pulumi.RegisterOutputType(VpcEncryptionControlResourceExclusionsLambdaPtrOutput{}) + pulumi.RegisterOutputType(VpcEncryptionControlResourceExclusionsNatGatewayOutput{}) + pulumi.RegisterOutputType(VpcEncryptionControlResourceExclusionsNatGatewayPtrOutput{}) + pulumi.RegisterOutputType(VpcEncryptionControlResourceExclusionsVirtualPrivateGatewayOutput{}) + pulumi.RegisterOutputType(VpcEncryptionControlResourceExclusionsVirtualPrivateGatewayPtrOutput{}) + pulumi.RegisterOutputType(VpcEncryptionControlResourceExclusionsVpcLatticeOutput{}) + pulumi.RegisterOutputType(VpcEncryptionControlResourceExclusionsVpcLatticePtrOutput{}) + pulumi.RegisterOutputType(VpcEncryptionControlResourceExclusionsVpcPeeringOutput{}) + pulumi.RegisterOutputType(VpcEncryptionControlResourceExclusionsVpcPeeringPtrOutput{}) + pulumi.RegisterOutputType(VpcEncryptionControlTimeoutsOutput{}) + pulumi.RegisterOutputType(VpcEncryptionControlTimeoutsPtrOutput{}) pulumi.RegisterOutputType(VpcEndpointDnsEntryOutput{}) pulumi.RegisterOutputType(VpcEndpointDnsEntryArrayOutput{}) pulumi.RegisterOutputType(VpcEndpointDnsOptionsOutput{}) @@ -63384,8 +67538,12 @@ func init() { pulumi.RegisterOutputType(GetManagedPrefixListFilterArrayOutput{}) pulumi.RegisterOutputType(GetManagedPrefixListsFilterOutput{}) pulumi.RegisterOutputType(GetManagedPrefixListsFilterArrayOutput{}) + pulumi.RegisterOutputType(GetNatGatewayAvailabilityZoneAddressOutput{}) + pulumi.RegisterOutputType(GetNatGatewayAvailabilityZoneAddressArrayOutput{}) pulumi.RegisterOutputType(GetNatGatewayFilterOutput{}) pulumi.RegisterOutputType(GetNatGatewayFilterArrayOutput{}) + pulumi.RegisterOutputType(GetNatGatewayRegionalNatGatewayAddressOutput{}) + pulumi.RegisterOutputType(GetNatGatewayRegionalNatGatewayAddressArrayOutput{}) pulumi.RegisterOutputType(GetNatGatewaysFilterOutput{}) pulumi.RegisterOutputType(GetNatGatewaysFilterArrayOutput{}) pulumi.RegisterOutputType(GetNetworkAclsFilterOutput{}) diff --git a/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/ec2/route.go b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/ec2/route.go index d06255d48..98359a690 100644 --- a/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/ec2/route.go +++ b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/ec2/route.go @@ -137,20 +137,14 @@ import ( // // Import a route in route table `rtb-656C65616E6F72` with an IPv4 destination CIDR of `10.42.0.0/16`: // -// console -// // % pulumi import aws_route.my_route rtb-656C65616E6F72_10.42.0.0/16 // // Import a route in route table `rtb-656C65616E6F72` with an IPv6 destination CIDR of `2620:0:2d0:200::8/125`: // -// console -// // % pulumi import aws_route.my_route rtb-656C65616E6F72_2620:0:2d0:200::8/125 // // Import a route in route table `rtb-656C65616E6F72` with a managed prefix list destination of `pl-0570a1d2d725c16be`: // -// console -// // % pulumi import aws_route.my_route rtb-656C65616E6F72_pl-0570a1d2d725c16be type Route struct { pulumi.CustomResourceState diff --git a/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/ec2/routeTable.go b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/ec2/routeTable.go index 0b4d94d4c..d6d4c0eea 100644 --- a/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/ec2/routeTable.go +++ b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/ec2/routeTable.go @@ -209,8 +209,6 @@ import ( // // Using `pulumi import`, import Route Tables using the route table `id`. For example: // -// console -// // % pulumi import aws_route_table.public_rt rtb-4e616f6d69 type RouteTable struct { pulumi.CustomResourceState diff --git a/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/ec2/securityGroup.go b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/ec2/securityGroup.go index 83d4b5597..d53d2734f 100644 --- a/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/ec2/securityGroup.go +++ b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/ec2/securityGroup.go @@ -344,8 +344,6 @@ import ( // // Using `pulumi import`, import Security Groups using the security group `id`. For example: // -// console -// // % pulumi import aws_security_group.example sg-903004f8 type SecurityGroup struct { pulumi.CustomResourceState diff --git a/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/ec2/subnet.go b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/ec2/subnet.go index 4e84de0a9..4b148075d 100644 --- a/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/ec2/subnet.go +++ b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/ec2/subnet.go @@ -101,8 +101,6 @@ import ( // // Using `pulumi import`, import subnets using the subnet `id`. For example: // -// console -// // % pulumi import aws_subnet.example subnet-9d4a7b6c type Subnet struct { pulumi.CustomResourceState diff --git a/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/ec2/vpcEncryptionControl.go b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/ec2/vpcEncryptionControl.go new file mode 100644 index 000000000..e164af893 --- /dev/null +++ b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/ec2/vpcEncryptionControl.go @@ -0,0 +1,661 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ec2 + +import ( + "context" + "reflect" + + "errors" + "github.com/pulumi/pulumi-aws/sdk/v7/go/aws/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Manages a VPC Encryption Control. +// +// ## Example Usage +// +// ### Basic Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-aws/sdk/v7/go/aws/ec2" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// exampleVpc, err := ec2.NewVpc(ctx, "example", &ec2.VpcArgs{ +// CidrBlock: pulumi.String("10.1.0.0/16"), +// }) +// if err != nil { +// return err +// } +// _, err = ec2.NewVpcEncryptionControl(ctx, "example", &ec2.VpcEncryptionControlArgs{ +// VpcId: exampleVpc.ID(), +// Mode: pulumi.String("monitor"), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// ## Import +// +// Using `pulumi import`, import VPC Encryption Control using the `id`. For example: +// +// ```sh +// $ pulumi import aws:ec2/vpcEncryptionControl:VpcEncryptionControl example vpcec-12345678901234567 +// ``` +type VpcEncryptionControl struct { + pulumi.CustomResourceState + + // Whether to exclude Egress-Only Internet Gateways from encryption enforcement. + // Valid values are `disable` or `enable`. + // Default is `disable`. + // Only valid when `mode` is `enforce`. + EgressOnlyInternetGatewayExclusion pulumi.StringOutput `pulumi:"egressOnlyInternetGatewayExclusion"` + // Whether to exclude Elastic File System (EFS) from encryption enforcement. + // Valid values are `disable` or `enable`. + // Default is `disable`. + // Only valid when `mode` is `enforce`. + ElasticFileSystemExclusion pulumi.StringOutput `pulumi:"elasticFileSystemExclusion"` + // Whether to exclude Internet Gateways from encryption enforcement. + // Valid values are `disable` or `enable`. + // Default is `disable`. + // Only valid when `mode` is `enforce`. + InternetGatewayExclusion pulumi.StringOutput `pulumi:"internetGatewayExclusion"` + // Whether to exclude Lambda Functions from encryption enforcement. + // Valid values are `disable` or `enable`. + // Default is `disable`. + // Only valid when `mode` is `enforce`. + LambdaExclusion pulumi.StringOutput `pulumi:"lambdaExclusion"` + // Mode to enable for VPC Encryption Control. + // Valid values are `monitor` or `enforce`. + Mode pulumi.StringOutput `pulumi:"mode"` + // Whether to exclude NAT Gateways from encryption enforcement. + // Valid values are `disable` or `enable`. + // Default is `disable`. + // Only valid when `mode` is `enforce`. + NatGatewayExclusion pulumi.StringOutput `pulumi:"natGatewayExclusion"` + // Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration. + Region pulumi.StringOutput `pulumi:"region"` + // State of exclusions from encryption enforcement. + // Will be `nil` if `mode` is `monitor`. + // See `resourceExclusions` below + ResourceExclusions VpcEncryptionControlResourceExclusionsOutput `pulumi:"resourceExclusions"` + // The current state of the VPC Encryption Control. + State pulumi.StringOutput `pulumi:"state"` + // A message providing additional information about the state of the VPC Encryption Control. + StateMessage pulumi.StringOutput `pulumi:"stateMessage"` + // A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + Tags pulumi.StringMapOutput `pulumi:"tags"` + // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"` + Timeouts VpcEncryptionControlTimeoutsPtrOutput `pulumi:"timeouts"` + // Whether to exclude Virtual Private Gateways from encryption enforcement. + // Valid values are `disable` or `enable`. + // Default is `disable`. + // Only valid when `mode` is `enforce`. + VirtualPrivateGatewayExclusion pulumi.StringOutput `pulumi:"virtualPrivateGatewayExclusion"` + // The ID of the VPC the VPC Encryption Control is linked to. + // + // The following arguments are optional: + VpcId pulumi.StringOutput `pulumi:"vpcId"` + // Whether to exclude VPC Lattice from encryption enforcement. + // Valid values are `disable` or `enable`. + // Default is `disable`. + // Only valid when `mode` is `enforce`. + VpcLatticeExclusion pulumi.StringOutput `pulumi:"vpcLatticeExclusion"` + // Whether to exclude peered VPCs from encryption enforcement. + // Valid values are `disable` or `enable`. + // Default is `disable`. + // Only valid when `mode` is `enforce`. + VpcPeeringExclusion pulumi.StringOutput `pulumi:"vpcPeeringExclusion"` +} + +// NewVpcEncryptionControl registers a new resource with the given unique name, arguments, and options. +func NewVpcEncryptionControl(ctx *pulumi.Context, + name string, args *VpcEncryptionControlArgs, opts ...pulumi.ResourceOption) (*VpcEncryptionControl, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Mode == nil { + return nil, errors.New("invalid value for required argument 'Mode'") + } + if args.VpcId == nil { + return nil, errors.New("invalid value for required argument 'VpcId'") + } + aliases := pulumi.Aliases([]pulumi.Alias{ + { + Type: pulumi.String("aws:ec2/encryptionControl:EncryptionControl"), + }, + }) + opts = append(opts, aliases) + opts = internal.PkgResourceDefaultOpts(opts) + var resource VpcEncryptionControl + err := ctx.RegisterResource("aws:ec2/vpcEncryptionControl:VpcEncryptionControl", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetVpcEncryptionControl gets an existing VpcEncryptionControl 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 GetVpcEncryptionControl(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *VpcEncryptionControlState, opts ...pulumi.ResourceOption) (*VpcEncryptionControl, error) { + var resource VpcEncryptionControl + err := ctx.ReadResource("aws:ec2/vpcEncryptionControl:VpcEncryptionControl", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering VpcEncryptionControl resources. +type vpcEncryptionControlState struct { + // Whether to exclude Egress-Only Internet Gateways from encryption enforcement. + // Valid values are `disable` or `enable`. + // Default is `disable`. + // Only valid when `mode` is `enforce`. + EgressOnlyInternetGatewayExclusion *string `pulumi:"egressOnlyInternetGatewayExclusion"` + // Whether to exclude Elastic File System (EFS) from encryption enforcement. + // Valid values are `disable` or `enable`. + // Default is `disable`. + // Only valid when `mode` is `enforce`. + ElasticFileSystemExclusion *string `pulumi:"elasticFileSystemExclusion"` + // Whether to exclude Internet Gateways from encryption enforcement. + // Valid values are `disable` or `enable`. + // Default is `disable`. + // Only valid when `mode` is `enforce`. + InternetGatewayExclusion *string `pulumi:"internetGatewayExclusion"` + // Whether to exclude Lambda Functions from encryption enforcement. + // Valid values are `disable` or `enable`. + // Default is `disable`. + // Only valid when `mode` is `enforce`. + LambdaExclusion *string `pulumi:"lambdaExclusion"` + // Mode to enable for VPC Encryption Control. + // Valid values are `monitor` or `enforce`. + Mode *string `pulumi:"mode"` + // Whether to exclude NAT Gateways from encryption enforcement. + // Valid values are `disable` or `enable`. + // Default is `disable`. + // Only valid when `mode` is `enforce`. + NatGatewayExclusion *string `pulumi:"natGatewayExclusion"` + // Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration. + Region *string `pulumi:"region"` + // State of exclusions from encryption enforcement. + // Will be `nil` if `mode` is `monitor`. + // See `resourceExclusions` below + ResourceExclusions *VpcEncryptionControlResourceExclusions `pulumi:"resourceExclusions"` + // The current state of the VPC Encryption Control. + State *string `pulumi:"state"` + // A message providing additional information about the state of the VPC Encryption Control. + StateMessage *string `pulumi:"stateMessage"` + // A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + Tags map[string]string `pulumi:"tags"` + // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + TagsAll map[string]string `pulumi:"tagsAll"` + Timeouts *VpcEncryptionControlTimeouts `pulumi:"timeouts"` + // Whether to exclude Virtual Private Gateways from encryption enforcement. + // Valid values are `disable` or `enable`. + // Default is `disable`. + // Only valid when `mode` is `enforce`. + VirtualPrivateGatewayExclusion *string `pulumi:"virtualPrivateGatewayExclusion"` + // The ID of the VPC the VPC Encryption Control is linked to. + // + // The following arguments are optional: + VpcId *string `pulumi:"vpcId"` + // Whether to exclude VPC Lattice from encryption enforcement. + // Valid values are `disable` or `enable`. + // Default is `disable`. + // Only valid when `mode` is `enforce`. + VpcLatticeExclusion *string `pulumi:"vpcLatticeExclusion"` + // Whether to exclude peered VPCs from encryption enforcement. + // Valid values are `disable` or `enable`. + // Default is `disable`. + // Only valid when `mode` is `enforce`. + VpcPeeringExclusion *string `pulumi:"vpcPeeringExclusion"` +} + +type VpcEncryptionControlState struct { + // Whether to exclude Egress-Only Internet Gateways from encryption enforcement. + // Valid values are `disable` or `enable`. + // Default is `disable`. + // Only valid when `mode` is `enforce`. + EgressOnlyInternetGatewayExclusion pulumi.StringPtrInput + // Whether to exclude Elastic File System (EFS) from encryption enforcement. + // Valid values are `disable` or `enable`. + // Default is `disable`. + // Only valid when `mode` is `enforce`. + ElasticFileSystemExclusion pulumi.StringPtrInput + // Whether to exclude Internet Gateways from encryption enforcement. + // Valid values are `disable` or `enable`. + // Default is `disable`. + // Only valid when `mode` is `enforce`. + InternetGatewayExclusion pulumi.StringPtrInput + // Whether to exclude Lambda Functions from encryption enforcement. + // Valid values are `disable` or `enable`. + // Default is `disable`. + // Only valid when `mode` is `enforce`. + LambdaExclusion pulumi.StringPtrInput + // Mode to enable for VPC Encryption Control. + // Valid values are `monitor` or `enforce`. + Mode pulumi.StringPtrInput + // Whether to exclude NAT Gateways from encryption enforcement. + // Valid values are `disable` or `enable`. + // Default is `disable`. + // Only valid when `mode` is `enforce`. + NatGatewayExclusion pulumi.StringPtrInput + // Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration. + Region pulumi.StringPtrInput + // State of exclusions from encryption enforcement. + // Will be `nil` if `mode` is `monitor`. + // See `resourceExclusions` below + ResourceExclusions VpcEncryptionControlResourceExclusionsPtrInput + // The current state of the VPC Encryption Control. + State pulumi.StringPtrInput + // A message providing additional information about the state of the VPC Encryption Control. + StateMessage pulumi.StringPtrInput + // A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + Tags pulumi.StringMapInput + // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + TagsAll pulumi.StringMapInput + Timeouts VpcEncryptionControlTimeoutsPtrInput + // Whether to exclude Virtual Private Gateways from encryption enforcement. + // Valid values are `disable` or `enable`. + // Default is `disable`. + // Only valid when `mode` is `enforce`. + VirtualPrivateGatewayExclusion pulumi.StringPtrInput + // The ID of the VPC the VPC Encryption Control is linked to. + // + // The following arguments are optional: + VpcId pulumi.StringPtrInput + // Whether to exclude VPC Lattice from encryption enforcement. + // Valid values are `disable` or `enable`. + // Default is `disable`. + // Only valid when `mode` is `enforce`. + VpcLatticeExclusion pulumi.StringPtrInput + // Whether to exclude peered VPCs from encryption enforcement. + // Valid values are `disable` or `enable`. + // Default is `disable`. + // Only valid when `mode` is `enforce`. + VpcPeeringExclusion pulumi.StringPtrInput +} + +func (VpcEncryptionControlState) ElementType() reflect.Type { + return reflect.TypeOf((*vpcEncryptionControlState)(nil)).Elem() +} + +type vpcEncryptionControlArgs struct { + // Whether to exclude Egress-Only Internet Gateways from encryption enforcement. + // Valid values are `disable` or `enable`. + // Default is `disable`. + // Only valid when `mode` is `enforce`. + EgressOnlyInternetGatewayExclusion *string `pulumi:"egressOnlyInternetGatewayExclusion"` + // Whether to exclude Elastic File System (EFS) from encryption enforcement. + // Valid values are `disable` or `enable`. + // Default is `disable`. + // Only valid when `mode` is `enforce`. + ElasticFileSystemExclusion *string `pulumi:"elasticFileSystemExclusion"` + // Whether to exclude Internet Gateways from encryption enforcement. + // Valid values are `disable` or `enable`. + // Default is `disable`. + // Only valid when `mode` is `enforce`. + InternetGatewayExclusion *string `pulumi:"internetGatewayExclusion"` + // Whether to exclude Lambda Functions from encryption enforcement. + // Valid values are `disable` or `enable`. + // Default is `disable`. + // Only valid when `mode` is `enforce`. + LambdaExclusion *string `pulumi:"lambdaExclusion"` + // Mode to enable for VPC Encryption Control. + // Valid values are `monitor` or `enforce`. + Mode string `pulumi:"mode"` + // Whether to exclude NAT Gateways from encryption enforcement. + // Valid values are `disable` or `enable`. + // Default is `disable`. + // Only valid when `mode` is `enforce`. + NatGatewayExclusion *string `pulumi:"natGatewayExclusion"` + // Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration. + Region *string `pulumi:"region"` + // A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + Tags map[string]string `pulumi:"tags"` + Timeouts *VpcEncryptionControlTimeouts `pulumi:"timeouts"` + // Whether to exclude Virtual Private Gateways from encryption enforcement. + // Valid values are `disable` or `enable`. + // Default is `disable`. + // Only valid when `mode` is `enforce`. + VirtualPrivateGatewayExclusion *string `pulumi:"virtualPrivateGatewayExclusion"` + // The ID of the VPC the VPC Encryption Control is linked to. + // + // The following arguments are optional: + VpcId string `pulumi:"vpcId"` + // Whether to exclude VPC Lattice from encryption enforcement. + // Valid values are `disable` or `enable`. + // Default is `disable`. + // Only valid when `mode` is `enforce`. + VpcLatticeExclusion *string `pulumi:"vpcLatticeExclusion"` + // Whether to exclude peered VPCs from encryption enforcement. + // Valid values are `disable` or `enable`. + // Default is `disable`. + // Only valid when `mode` is `enforce`. + VpcPeeringExclusion *string `pulumi:"vpcPeeringExclusion"` +} + +// The set of arguments for constructing a VpcEncryptionControl resource. +type VpcEncryptionControlArgs struct { + // Whether to exclude Egress-Only Internet Gateways from encryption enforcement. + // Valid values are `disable` or `enable`. + // Default is `disable`. + // Only valid when `mode` is `enforce`. + EgressOnlyInternetGatewayExclusion pulumi.StringPtrInput + // Whether to exclude Elastic File System (EFS) from encryption enforcement. + // Valid values are `disable` or `enable`. + // Default is `disable`. + // Only valid when `mode` is `enforce`. + ElasticFileSystemExclusion pulumi.StringPtrInput + // Whether to exclude Internet Gateways from encryption enforcement. + // Valid values are `disable` or `enable`. + // Default is `disable`. + // Only valid when `mode` is `enforce`. + InternetGatewayExclusion pulumi.StringPtrInput + // Whether to exclude Lambda Functions from encryption enforcement. + // Valid values are `disable` or `enable`. + // Default is `disable`. + // Only valid when `mode` is `enforce`. + LambdaExclusion pulumi.StringPtrInput + // Mode to enable for VPC Encryption Control. + // Valid values are `monitor` or `enforce`. + Mode pulumi.StringInput + // Whether to exclude NAT Gateways from encryption enforcement. + // Valid values are `disable` or `enable`. + // Default is `disable`. + // Only valid when `mode` is `enforce`. + NatGatewayExclusion pulumi.StringPtrInput + // Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration. + Region pulumi.StringPtrInput + // A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + Tags pulumi.StringMapInput + Timeouts VpcEncryptionControlTimeoutsPtrInput + // Whether to exclude Virtual Private Gateways from encryption enforcement. + // Valid values are `disable` or `enable`. + // Default is `disable`. + // Only valid when `mode` is `enforce`. + VirtualPrivateGatewayExclusion pulumi.StringPtrInput + // The ID of the VPC the VPC Encryption Control is linked to. + // + // The following arguments are optional: + VpcId pulumi.StringInput + // Whether to exclude VPC Lattice from encryption enforcement. + // Valid values are `disable` or `enable`. + // Default is `disable`. + // Only valid when `mode` is `enforce`. + VpcLatticeExclusion pulumi.StringPtrInput + // Whether to exclude peered VPCs from encryption enforcement. + // Valid values are `disable` or `enable`. + // Default is `disable`. + // Only valid when `mode` is `enforce`. + VpcPeeringExclusion pulumi.StringPtrInput +} + +func (VpcEncryptionControlArgs) ElementType() reflect.Type { + return reflect.TypeOf((*vpcEncryptionControlArgs)(nil)).Elem() +} + +type VpcEncryptionControlInput interface { + pulumi.Input + + ToVpcEncryptionControlOutput() VpcEncryptionControlOutput + ToVpcEncryptionControlOutputWithContext(ctx context.Context) VpcEncryptionControlOutput +} + +func (*VpcEncryptionControl) ElementType() reflect.Type { + return reflect.TypeOf((**VpcEncryptionControl)(nil)).Elem() +} + +func (i *VpcEncryptionControl) ToVpcEncryptionControlOutput() VpcEncryptionControlOutput { + return i.ToVpcEncryptionControlOutputWithContext(context.Background()) +} + +func (i *VpcEncryptionControl) ToVpcEncryptionControlOutputWithContext(ctx context.Context) VpcEncryptionControlOutput { + return pulumi.ToOutputWithContext(ctx, i).(VpcEncryptionControlOutput) +} + +// VpcEncryptionControlArrayInput is an input type that accepts VpcEncryptionControlArray and VpcEncryptionControlArrayOutput values. +// You can construct a concrete instance of `VpcEncryptionControlArrayInput` via: +// +// VpcEncryptionControlArray{ VpcEncryptionControlArgs{...} } +type VpcEncryptionControlArrayInput interface { + pulumi.Input + + ToVpcEncryptionControlArrayOutput() VpcEncryptionControlArrayOutput + ToVpcEncryptionControlArrayOutputWithContext(context.Context) VpcEncryptionControlArrayOutput +} + +type VpcEncryptionControlArray []VpcEncryptionControlInput + +func (VpcEncryptionControlArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*VpcEncryptionControl)(nil)).Elem() +} + +func (i VpcEncryptionControlArray) ToVpcEncryptionControlArrayOutput() VpcEncryptionControlArrayOutput { + return i.ToVpcEncryptionControlArrayOutputWithContext(context.Background()) +} + +func (i VpcEncryptionControlArray) ToVpcEncryptionControlArrayOutputWithContext(ctx context.Context) VpcEncryptionControlArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(VpcEncryptionControlArrayOutput) +} + +// VpcEncryptionControlMapInput is an input type that accepts VpcEncryptionControlMap and VpcEncryptionControlMapOutput values. +// You can construct a concrete instance of `VpcEncryptionControlMapInput` via: +// +// VpcEncryptionControlMap{ "key": VpcEncryptionControlArgs{...} } +type VpcEncryptionControlMapInput interface { + pulumi.Input + + ToVpcEncryptionControlMapOutput() VpcEncryptionControlMapOutput + ToVpcEncryptionControlMapOutputWithContext(context.Context) VpcEncryptionControlMapOutput +} + +type VpcEncryptionControlMap map[string]VpcEncryptionControlInput + +func (VpcEncryptionControlMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*VpcEncryptionControl)(nil)).Elem() +} + +func (i VpcEncryptionControlMap) ToVpcEncryptionControlMapOutput() VpcEncryptionControlMapOutput { + return i.ToVpcEncryptionControlMapOutputWithContext(context.Background()) +} + +func (i VpcEncryptionControlMap) ToVpcEncryptionControlMapOutputWithContext(ctx context.Context) VpcEncryptionControlMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(VpcEncryptionControlMapOutput) +} + +type VpcEncryptionControlOutput struct{ *pulumi.OutputState } + +func (VpcEncryptionControlOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VpcEncryptionControl)(nil)).Elem() +} + +func (o VpcEncryptionControlOutput) ToVpcEncryptionControlOutput() VpcEncryptionControlOutput { + return o +} + +func (o VpcEncryptionControlOutput) ToVpcEncryptionControlOutputWithContext(ctx context.Context) VpcEncryptionControlOutput { + return o +} + +// Whether to exclude Egress-Only Internet Gateways from encryption enforcement. +// Valid values are `disable` or `enable`. +// Default is `disable`. +// Only valid when `mode` is `enforce`. +func (o VpcEncryptionControlOutput) EgressOnlyInternetGatewayExclusion() pulumi.StringOutput { + return o.ApplyT(func(v *VpcEncryptionControl) pulumi.StringOutput { return v.EgressOnlyInternetGatewayExclusion }).(pulumi.StringOutput) +} + +// Whether to exclude Elastic File System (EFS) from encryption enforcement. +// Valid values are `disable` or `enable`. +// Default is `disable`. +// Only valid when `mode` is `enforce`. +func (o VpcEncryptionControlOutput) ElasticFileSystemExclusion() pulumi.StringOutput { + return o.ApplyT(func(v *VpcEncryptionControl) pulumi.StringOutput { return v.ElasticFileSystemExclusion }).(pulumi.StringOutput) +} + +// Whether to exclude Internet Gateways from encryption enforcement. +// Valid values are `disable` or `enable`. +// Default is `disable`. +// Only valid when `mode` is `enforce`. +func (o VpcEncryptionControlOutput) InternetGatewayExclusion() pulumi.StringOutput { + return o.ApplyT(func(v *VpcEncryptionControl) pulumi.StringOutput { return v.InternetGatewayExclusion }).(pulumi.StringOutput) +} + +// Whether to exclude Lambda Functions from encryption enforcement. +// Valid values are `disable` or `enable`. +// Default is `disable`. +// Only valid when `mode` is `enforce`. +func (o VpcEncryptionControlOutput) LambdaExclusion() pulumi.StringOutput { + return o.ApplyT(func(v *VpcEncryptionControl) pulumi.StringOutput { return v.LambdaExclusion }).(pulumi.StringOutput) +} + +// Mode to enable for VPC Encryption Control. +// Valid values are `monitor` or `enforce`. +func (o VpcEncryptionControlOutput) Mode() pulumi.StringOutput { + return o.ApplyT(func(v *VpcEncryptionControl) pulumi.StringOutput { return v.Mode }).(pulumi.StringOutput) +} + +// Whether to exclude NAT Gateways from encryption enforcement. +// Valid values are `disable` or `enable`. +// Default is `disable`. +// Only valid when `mode` is `enforce`. +func (o VpcEncryptionControlOutput) NatGatewayExclusion() pulumi.StringOutput { + return o.ApplyT(func(v *VpcEncryptionControl) pulumi.StringOutput { return v.NatGatewayExclusion }).(pulumi.StringOutput) +} + +// Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration. +func (o VpcEncryptionControlOutput) Region() pulumi.StringOutput { + return o.ApplyT(func(v *VpcEncryptionControl) pulumi.StringOutput { return v.Region }).(pulumi.StringOutput) +} + +// State of exclusions from encryption enforcement. +// Will be `nil` if `mode` is `monitor`. +// See `resourceExclusions` below +func (o VpcEncryptionControlOutput) ResourceExclusions() VpcEncryptionControlResourceExclusionsOutput { + return o.ApplyT(func(v *VpcEncryptionControl) VpcEncryptionControlResourceExclusionsOutput { + return v.ResourceExclusions + }).(VpcEncryptionControlResourceExclusionsOutput) +} + +// The current state of the VPC Encryption Control. +func (o VpcEncryptionControlOutput) State() pulumi.StringOutput { + return o.ApplyT(func(v *VpcEncryptionControl) pulumi.StringOutput { return v.State }).(pulumi.StringOutput) +} + +// A message providing additional information about the state of the VPC Encryption Control. +func (o VpcEncryptionControlOutput) StateMessage() pulumi.StringOutput { + return o.ApplyT(func(v *VpcEncryptionControl) pulumi.StringOutput { return v.StateMessage }).(pulumi.StringOutput) +} + +// A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. +func (o VpcEncryptionControlOutput) Tags() pulumi.StringMapOutput { + return o.ApplyT(func(v *VpcEncryptionControl) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput) +} + +// A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. +func (o VpcEncryptionControlOutput) TagsAll() pulumi.StringMapOutput { + return o.ApplyT(func(v *VpcEncryptionControl) pulumi.StringMapOutput { return v.TagsAll }).(pulumi.StringMapOutput) +} + +func (o VpcEncryptionControlOutput) Timeouts() VpcEncryptionControlTimeoutsPtrOutput { + return o.ApplyT(func(v *VpcEncryptionControl) VpcEncryptionControlTimeoutsPtrOutput { return v.Timeouts }).(VpcEncryptionControlTimeoutsPtrOutput) +} + +// Whether to exclude Virtual Private Gateways from encryption enforcement. +// Valid values are `disable` or `enable`. +// Default is `disable`. +// Only valid when `mode` is `enforce`. +func (o VpcEncryptionControlOutput) VirtualPrivateGatewayExclusion() pulumi.StringOutput { + return o.ApplyT(func(v *VpcEncryptionControl) pulumi.StringOutput { return v.VirtualPrivateGatewayExclusion }).(pulumi.StringOutput) +} + +// The ID of the VPC the VPC Encryption Control is linked to. +// +// The following arguments are optional: +func (o VpcEncryptionControlOutput) VpcId() pulumi.StringOutput { + return o.ApplyT(func(v *VpcEncryptionControl) pulumi.StringOutput { return v.VpcId }).(pulumi.StringOutput) +} + +// Whether to exclude VPC Lattice from encryption enforcement. +// Valid values are `disable` or `enable`. +// Default is `disable`. +// Only valid when `mode` is `enforce`. +func (o VpcEncryptionControlOutput) VpcLatticeExclusion() pulumi.StringOutput { + return o.ApplyT(func(v *VpcEncryptionControl) pulumi.StringOutput { return v.VpcLatticeExclusion }).(pulumi.StringOutput) +} + +// Whether to exclude peered VPCs from encryption enforcement. +// Valid values are `disable` or `enable`. +// Default is `disable`. +// Only valid when `mode` is `enforce`. +func (o VpcEncryptionControlOutput) VpcPeeringExclusion() pulumi.StringOutput { + return o.ApplyT(func(v *VpcEncryptionControl) pulumi.StringOutput { return v.VpcPeeringExclusion }).(pulumi.StringOutput) +} + +type VpcEncryptionControlArrayOutput struct{ *pulumi.OutputState } + +func (VpcEncryptionControlArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*VpcEncryptionControl)(nil)).Elem() +} + +func (o VpcEncryptionControlArrayOutput) ToVpcEncryptionControlArrayOutput() VpcEncryptionControlArrayOutput { + return o +} + +func (o VpcEncryptionControlArrayOutput) ToVpcEncryptionControlArrayOutputWithContext(ctx context.Context) VpcEncryptionControlArrayOutput { + return o +} + +func (o VpcEncryptionControlArrayOutput) Index(i pulumi.IntInput) VpcEncryptionControlOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *VpcEncryptionControl { + return vs[0].([]*VpcEncryptionControl)[vs[1].(int)] + }).(VpcEncryptionControlOutput) +} + +type VpcEncryptionControlMapOutput struct{ *pulumi.OutputState } + +func (VpcEncryptionControlMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*VpcEncryptionControl)(nil)).Elem() +} + +func (o VpcEncryptionControlMapOutput) ToVpcEncryptionControlMapOutput() VpcEncryptionControlMapOutput { + return o +} + +func (o VpcEncryptionControlMapOutput) ToVpcEncryptionControlMapOutputWithContext(ctx context.Context) VpcEncryptionControlMapOutput { + return o +} + +func (o VpcEncryptionControlMapOutput) MapIndex(k pulumi.StringInput) VpcEncryptionControlOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *VpcEncryptionControl { + return vs[0].(map[string]*VpcEncryptionControl)[vs[1].(string)] + }).(VpcEncryptionControlOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*VpcEncryptionControlInput)(nil)).Elem(), &VpcEncryptionControl{}) + pulumi.RegisterInputType(reflect.TypeOf((*VpcEncryptionControlArrayInput)(nil)).Elem(), VpcEncryptionControlArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*VpcEncryptionControlMapInput)(nil)).Elem(), VpcEncryptionControlMap{}) + pulumi.RegisterOutputType(VpcEncryptionControlOutput{}) + pulumi.RegisterOutputType(VpcEncryptionControlArrayOutput{}) + pulumi.RegisterOutputType(VpcEncryptionControlMapOutput{}) +} diff --git a/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/ec2/vpcEndpoint.go b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/ec2/vpcEndpoint.go index 1c458865b..48a2b6854 100644 --- a/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/ec2/vpcEndpoint.go +++ b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/ec2/vpcEndpoint.go @@ -81,6 +81,38 @@ import ( // // ``` // +// ### Cross-region enabled AWS services +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-aws/sdk/v7/go/aws/ec2" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := ec2.NewVpcEndpoint(ctx, "s3", &ec2.VpcEndpointArgs{ +// Region: pulumi.String("us-west-2"), +// VpcId: pulumi.Any(main.Id), +// ServiceName: pulumi.String("com.amazonaws.us-east-2.s3"), +// ServiceRegion: pulumi.String("us-east-2"), +// Tags: pulumi.StringMap{ +// "Environment": pulumi.String("test"), +// }, +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// // ### Interface Endpoint Type // // ```go @@ -341,8 +373,6 @@ import ( // // Using `pulumi import`, import VPC Endpoints using the VPC endpoint `id`. For example: // -// console -// // % pulumi import aws_vpc_endpoint.example vpce-3ecf2a57 type VpcEndpoint struct { pulumi.CustomResourceState diff --git a/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/ec2/vpnConcentrator.go b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/ec2/vpnConcentrator.go new file mode 100644 index 000000000..e66d1e1b7 --- /dev/null +++ b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/ec2/vpnConcentrator.go @@ -0,0 +1,360 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ec2 + +import ( + "context" + "reflect" + + "errors" + "github.com/pulumi/pulumi-aws/sdk/v7/go/aws/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Provides a resource to create a VPN Concentrator that aggregates multiple VPN connections to a transit gateway. +// +// ## Example Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-aws/sdk/v7/go/aws/ec2" +// "github.com/pulumi/pulumi-aws/sdk/v7/go/aws/ec2transitgateway" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// example, err := ec2transitgateway.NewTransitGateway(ctx, "example", &ec2transitgateway.TransitGatewayArgs{ +// Description: pulumi.String("example"), +// Tags: pulumi.StringMap{ +// "Name": pulumi.String("example"), +// }, +// }) +// if err != nil { +// return err +// } +// _, err = ec2.NewVpnConcentrator(ctx, "example", &ec2.VpnConcentratorArgs{ +// Type: pulumi.String("ipsec.1"), +// TransitGatewayId: example.ID(), +// Tags: pulumi.StringMap{ +// "Name": pulumi.String("example"), +// }, +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// ## Import +// +// Using `pulumi import`, import VPN Concentrators using the VPN concentrator ID. For example: +// +// ```sh +// $ pulumi import aws:ec2/vpnConcentrator:VpnConcentrator example vcn-12345678 +// ``` +type VpnConcentrator struct { + pulumi.CustomResourceState + + // Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration. + Region pulumi.StringOutput `pulumi:"region"` + // Key-value mapping of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + Tags pulumi.StringMapOutput `pulumi:"tags"` + // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"` + // ID of the transit gateway attachment created for the VPN concentrator. + TransitGatewayAttachmentId pulumi.StringOutput `pulumi:"transitGatewayAttachmentId"` + // ID of the transit gateway to attach the VPN concentrator to. + // + // The following arguments are optional: + TransitGatewayId pulumi.StringOutput `pulumi:"transitGatewayId"` + // Type of VPN concentrator. Valid value: `ipsec.1`. + Type pulumi.StringOutput `pulumi:"type"` + // ID of the VPN Concentrator. + VpnConcentratorId pulumi.StringOutput `pulumi:"vpnConcentratorId"` +} + +// NewVpnConcentrator registers a new resource with the given unique name, arguments, and options. +func NewVpnConcentrator(ctx *pulumi.Context, + name string, args *VpnConcentratorArgs, opts ...pulumi.ResourceOption) (*VpnConcentrator, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.TransitGatewayId == nil { + return nil, errors.New("invalid value for required argument 'TransitGatewayId'") + } + if args.Type == nil { + return nil, errors.New("invalid value for required argument 'Type'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource VpnConcentrator + err := ctx.RegisterResource("aws:ec2/vpnConcentrator:VpnConcentrator", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetVpnConcentrator gets an existing VpnConcentrator 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 GetVpnConcentrator(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *VpnConcentratorState, opts ...pulumi.ResourceOption) (*VpnConcentrator, error) { + var resource VpnConcentrator + err := ctx.ReadResource("aws:ec2/vpnConcentrator:VpnConcentrator", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering VpnConcentrator resources. +type vpnConcentratorState struct { + // Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration. + Region *string `pulumi:"region"` + // Key-value mapping of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + Tags map[string]string `pulumi:"tags"` + // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + TagsAll map[string]string `pulumi:"tagsAll"` + // ID of the transit gateway attachment created for the VPN concentrator. + TransitGatewayAttachmentId *string `pulumi:"transitGatewayAttachmentId"` + // ID of the transit gateway to attach the VPN concentrator to. + // + // The following arguments are optional: + TransitGatewayId *string `pulumi:"transitGatewayId"` + // Type of VPN concentrator. Valid value: `ipsec.1`. + Type *string `pulumi:"type"` + // ID of the VPN Concentrator. + VpnConcentratorId *string `pulumi:"vpnConcentratorId"` +} + +type VpnConcentratorState struct { + // Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration. + Region pulumi.StringPtrInput + // Key-value mapping of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + Tags pulumi.StringMapInput + // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + TagsAll pulumi.StringMapInput + // ID of the transit gateway attachment created for the VPN concentrator. + TransitGatewayAttachmentId pulumi.StringPtrInput + // ID of the transit gateway to attach the VPN concentrator to. + // + // The following arguments are optional: + TransitGatewayId pulumi.StringPtrInput + // Type of VPN concentrator. Valid value: `ipsec.1`. + Type pulumi.StringPtrInput + // ID of the VPN Concentrator. + VpnConcentratorId pulumi.StringPtrInput +} + +func (VpnConcentratorState) ElementType() reflect.Type { + return reflect.TypeOf((*vpnConcentratorState)(nil)).Elem() +} + +type vpnConcentratorArgs struct { + // Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration. + Region *string `pulumi:"region"` + // Key-value mapping of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + Tags map[string]string `pulumi:"tags"` + // ID of the transit gateway to attach the VPN concentrator to. + // + // The following arguments are optional: + TransitGatewayId string `pulumi:"transitGatewayId"` + // Type of VPN concentrator. Valid value: `ipsec.1`. + Type string `pulumi:"type"` +} + +// The set of arguments for constructing a VpnConcentrator resource. +type VpnConcentratorArgs struct { + // Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration. + Region pulumi.StringPtrInput + // Key-value mapping of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + Tags pulumi.StringMapInput + // ID of the transit gateway to attach the VPN concentrator to. + // + // The following arguments are optional: + TransitGatewayId pulumi.StringInput + // Type of VPN concentrator. Valid value: `ipsec.1`. + Type pulumi.StringInput +} + +func (VpnConcentratorArgs) ElementType() reflect.Type { + return reflect.TypeOf((*vpnConcentratorArgs)(nil)).Elem() +} + +type VpnConcentratorInput interface { + pulumi.Input + + ToVpnConcentratorOutput() VpnConcentratorOutput + ToVpnConcentratorOutputWithContext(ctx context.Context) VpnConcentratorOutput +} + +func (*VpnConcentrator) ElementType() reflect.Type { + return reflect.TypeOf((**VpnConcentrator)(nil)).Elem() +} + +func (i *VpnConcentrator) ToVpnConcentratorOutput() VpnConcentratorOutput { + return i.ToVpnConcentratorOutputWithContext(context.Background()) +} + +func (i *VpnConcentrator) ToVpnConcentratorOutputWithContext(ctx context.Context) VpnConcentratorOutput { + return pulumi.ToOutputWithContext(ctx, i).(VpnConcentratorOutput) +} + +// VpnConcentratorArrayInput is an input type that accepts VpnConcentratorArray and VpnConcentratorArrayOutput values. +// You can construct a concrete instance of `VpnConcentratorArrayInput` via: +// +// VpnConcentratorArray{ VpnConcentratorArgs{...} } +type VpnConcentratorArrayInput interface { + pulumi.Input + + ToVpnConcentratorArrayOutput() VpnConcentratorArrayOutput + ToVpnConcentratorArrayOutputWithContext(context.Context) VpnConcentratorArrayOutput +} + +type VpnConcentratorArray []VpnConcentratorInput + +func (VpnConcentratorArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*VpnConcentrator)(nil)).Elem() +} + +func (i VpnConcentratorArray) ToVpnConcentratorArrayOutput() VpnConcentratorArrayOutput { + return i.ToVpnConcentratorArrayOutputWithContext(context.Background()) +} + +func (i VpnConcentratorArray) ToVpnConcentratorArrayOutputWithContext(ctx context.Context) VpnConcentratorArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(VpnConcentratorArrayOutput) +} + +// VpnConcentratorMapInput is an input type that accepts VpnConcentratorMap and VpnConcentratorMapOutput values. +// You can construct a concrete instance of `VpnConcentratorMapInput` via: +// +// VpnConcentratorMap{ "key": VpnConcentratorArgs{...} } +type VpnConcentratorMapInput interface { + pulumi.Input + + ToVpnConcentratorMapOutput() VpnConcentratorMapOutput + ToVpnConcentratorMapOutputWithContext(context.Context) VpnConcentratorMapOutput +} + +type VpnConcentratorMap map[string]VpnConcentratorInput + +func (VpnConcentratorMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*VpnConcentrator)(nil)).Elem() +} + +func (i VpnConcentratorMap) ToVpnConcentratorMapOutput() VpnConcentratorMapOutput { + return i.ToVpnConcentratorMapOutputWithContext(context.Background()) +} + +func (i VpnConcentratorMap) ToVpnConcentratorMapOutputWithContext(ctx context.Context) VpnConcentratorMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(VpnConcentratorMapOutput) +} + +type VpnConcentratorOutput struct{ *pulumi.OutputState } + +func (VpnConcentratorOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VpnConcentrator)(nil)).Elem() +} + +func (o VpnConcentratorOutput) ToVpnConcentratorOutput() VpnConcentratorOutput { + return o +} + +func (o VpnConcentratorOutput) ToVpnConcentratorOutputWithContext(ctx context.Context) VpnConcentratorOutput { + return o +} + +// Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration. +func (o VpnConcentratorOutput) Region() pulumi.StringOutput { + return o.ApplyT(func(v *VpnConcentrator) pulumi.StringOutput { return v.Region }).(pulumi.StringOutput) +} + +// Key-value mapping of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. +func (o VpnConcentratorOutput) Tags() pulumi.StringMapOutput { + return o.ApplyT(func(v *VpnConcentrator) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput) +} + +// A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. +func (o VpnConcentratorOutput) TagsAll() pulumi.StringMapOutput { + return o.ApplyT(func(v *VpnConcentrator) pulumi.StringMapOutput { return v.TagsAll }).(pulumi.StringMapOutput) +} + +// ID of the transit gateway attachment created for the VPN concentrator. +func (o VpnConcentratorOutput) TransitGatewayAttachmentId() pulumi.StringOutput { + return o.ApplyT(func(v *VpnConcentrator) pulumi.StringOutput { return v.TransitGatewayAttachmentId }).(pulumi.StringOutput) +} + +// ID of the transit gateway to attach the VPN concentrator to. +// +// The following arguments are optional: +func (o VpnConcentratorOutput) TransitGatewayId() pulumi.StringOutput { + return o.ApplyT(func(v *VpnConcentrator) pulumi.StringOutput { return v.TransitGatewayId }).(pulumi.StringOutput) +} + +// Type of VPN concentrator. Valid value: `ipsec.1`. +func (o VpnConcentratorOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v *VpnConcentrator) pulumi.StringOutput { return v.Type }).(pulumi.StringOutput) +} + +// ID of the VPN Concentrator. +func (o VpnConcentratorOutput) VpnConcentratorId() pulumi.StringOutput { + return o.ApplyT(func(v *VpnConcentrator) pulumi.StringOutput { return v.VpnConcentratorId }).(pulumi.StringOutput) +} + +type VpnConcentratorArrayOutput struct{ *pulumi.OutputState } + +func (VpnConcentratorArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*VpnConcentrator)(nil)).Elem() +} + +func (o VpnConcentratorArrayOutput) ToVpnConcentratorArrayOutput() VpnConcentratorArrayOutput { + return o +} + +func (o VpnConcentratorArrayOutput) ToVpnConcentratorArrayOutputWithContext(ctx context.Context) VpnConcentratorArrayOutput { + return o +} + +func (o VpnConcentratorArrayOutput) Index(i pulumi.IntInput) VpnConcentratorOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *VpnConcentrator { + return vs[0].([]*VpnConcentrator)[vs[1].(int)] + }).(VpnConcentratorOutput) +} + +type VpnConcentratorMapOutput struct{ *pulumi.OutputState } + +func (VpnConcentratorMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*VpnConcentrator)(nil)).Elem() +} + +func (o VpnConcentratorMapOutput) ToVpnConcentratorMapOutput() VpnConcentratorMapOutput { + return o +} + +func (o VpnConcentratorMapOutput) ToVpnConcentratorMapOutputWithContext(ctx context.Context) VpnConcentratorMapOutput { + return o +} + +func (o VpnConcentratorMapOutput) MapIndex(k pulumi.StringInput) VpnConcentratorOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *VpnConcentrator { + return vs[0].(map[string]*VpnConcentrator)[vs[1].(string)] + }).(VpnConcentratorOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*VpnConcentratorInput)(nil)).Elem(), &VpnConcentrator{}) + pulumi.RegisterInputType(reflect.TypeOf((*VpnConcentratorArrayInput)(nil)).Elem(), VpnConcentratorArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*VpnConcentratorMapInput)(nil)).Elem(), VpnConcentratorMap{}) + pulumi.RegisterOutputType(VpnConcentratorOutput{}) + pulumi.RegisterOutputType(VpnConcentratorArrayOutput{}) + pulumi.RegisterOutputType(VpnConcentratorMapOutput{}) +} diff --git a/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/ec2/vpnConnection.go b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/ec2/vpnConnection.go index 02a498ef2..c50f6369c 100644 --- a/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/ec2/vpnConnection.go +++ b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/ec2/vpnConnection.go @@ -341,12 +341,16 @@ type VpnConnection struct { Tunnel2StartupAction pulumi.StringPtrOutput `pulumi:"tunnel2StartupAction"` // The RFC 6890 link-local address of the second VPN tunnel (VPN Gateway Side). Tunnel2VgwInsideAddress pulumi.StringOutput `pulumi:"tunnel2VgwInsideAddress"` + // Desired bandwidth specification for the VPN tunnel. Valid values are `standard | large`. `standard` supports up to 1.25 Gbps per tunnel, while `large` supports up to 5 Gbps per tunnel. Not supported when `vpnGatewayId` is specified, or `enableAcceleration` is `true`. + TunnelBandwidth pulumi.StringOutput `pulumi:"tunnelBandwidth"` // Indicate whether the VPN tunnels process IPv4 or IPv6 traffic. Valid values are `ipv4 | ipv6`. `ipv6` Supports only EC2 Transit Gateway. TunnelInsideIpVersion pulumi.StringOutput `pulumi:"tunnelInsideIpVersion"` // The type of VPN connection. The only type AWS supports at this time is "ipsec.1". Type pulumi.StringOutput `pulumi:"type"` // Telemetry for the VPN tunnels. Detailed below. VgwTelemetries VpnConnectionVgwTelemetryArrayOutput `pulumi:"vgwTelemetries"` + // ID of the VPN concentrator to associate with the VPN connection. + VpnConcentratorId pulumi.StringPtrOutput `pulumi:"vpnConcentratorId"` // The ID of the Virtual Private Gateway. VpnGatewayId pulumi.StringPtrOutput `pulumi:"vpnGatewayId"` } @@ -541,12 +545,16 @@ type vpnConnectionState struct { Tunnel2StartupAction *string `pulumi:"tunnel2StartupAction"` // The RFC 6890 link-local address of the second VPN tunnel (VPN Gateway Side). Tunnel2VgwInsideAddress *string `pulumi:"tunnel2VgwInsideAddress"` + // Desired bandwidth specification for the VPN tunnel. Valid values are `standard | large`. `standard` supports up to 1.25 Gbps per tunnel, while `large` supports up to 5 Gbps per tunnel. Not supported when `vpnGatewayId` is specified, or `enableAcceleration` is `true`. + TunnelBandwidth *string `pulumi:"tunnelBandwidth"` // Indicate whether the VPN tunnels process IPv4 or IPv6 traffic. Valid values are `ipv4 | ipv6`. `ipv6` Supports only EC2 Transit Gateway. TunnelInsideIpVersion *string `pulumi:"tunnelInsideIpVersion"` // The type of VPN connection. The only type AWS supports at this time is "ipsec.1". Type *string `pulumi:"type"` // Telemetry for the VPN tunnels. Detailed below. VgwTelemetries []VpnConnectionVgwTelemetry `pulumi:"vgwTelemetries"` + // ID of the VPN concentrator to associate with the VPN connection. + VpnConcentratorId *string `pulumi:"vpnConcentratorId"` // The ID of the Virtual Private Gateway. VpnGatewayId *string `pulumi:"vpnGatewayId"` } @@ -694,12 +702,16 @@ type VpnConnectionState struct { Tunnel2StartupAction pulumi.StringPtrInput // The RFC 6890 link-local address of the second VPN tunnel (VPN Gateway Side). Tunnel2VgwInsideAddress pulumi.StringPtrInput + // Desired bandwidth specification for the VPN tunnel. Valid values are `standard | large`. `standard` supports up to 1.25 Gbps per tunnel, while `large` supports up to 5 Gbps per tunnel. Not supported when `vpnGatewayId` is specified, or `enableAcceleration` is `true`. + TunnelBandwidth pulumi.StringPtrInput // Indicate whether the VPN tunnels process IPv4 or IPv6 traffic. Valid values are `ipv4 | ipv6`. `ipv6` Supports only EC2 Transit Gateway. TunnelInsideIpVersion pulumi.StringPtrInput // The type of VPN connection. The only type AWS supports at this time is "ipsec.1". Type pulumi.StringPtrInput // Telemetry for the VPN tunnels. Detailed below. VgwTelemetries VpnConnectionVgwTelemetryArrayInput + // ID of the VPN concentrator to associate with the VPN connection. + VpnConcentratorId pulumi.StringPtrInput // The ID of the Virtual Private Gateway. VpnGatewayId pulumi.StringPtrInput } @@ -815,10 +827,14 @@ type vpnConnectionArgs struct { Tunnel2ReplayWindowSize *int `pulumi:"tunnel2ReplayWindowSize"` // The action to take when the establishing the tunnel for the second VPN connection. By default, your customer gateway device must initiate the IKE negotiation and bring up the tunnel. Specify start for AWS to initiate the IKE negotiation. Valid values are `add | start`. Tunnel2StartupAction *string `pulumi:"tunnel2StartupAction"` + // Desired bandwidth specification for the VPN tunnel. Valid values are `standard | large`. `standard` supports up to 1.25 Gbps per tunnel, while `large` supports up to 5 Gbps per tunnel. Not supported when `vpnGatewayId` is specified, or `enableAcceleration` is `true`. + TunnelBandwidth *string `pulumi:"tunnelBandwidth"` // Indicate whether the VPN tunnels process IPv4 or IPv6 traffic. Valid values are `ipv4 | ipv6`. `ipv6` Supports only EC2 Transit Gateway. TunnelInsideIpVersion *string `pulumi:"tunnelInsideIpVersion"` // The type of VPN connection. The only type AWS supports at this time is "ipsec.1". Type string `pulumi:"type"` + // ID of the VPN concentrator to associate with the VPN connection. + VpnConcentratorId *string `pulumi:"vpnConcentratorId"` // The ID of the Virtual Private Gateway. VpnGatewayId *string `pulumi:"vpnGatewayId"` } @@ -931,10 +947,14 @@ type VpnConnectionArgs struct { Tunnel2ReplayWindowSize pulumi.IntPtrInput // The action to take when the establishing the tunnel for the second VPN connection. By default, your customer gateway device must initiate the IKE negotiation and bring up the tunnel. Specify start for AWS to initiate the IKE negotiation. Valid values are `add | start`. Tunnel2StartupAction pulumi.StringPtrInput + // Desired bandwidth specification for the VPN tunnel. Valid values are `standard | large`. `standard` supports up to 1.25 Gbps per tunnel, while `large` supports up to 5 Gbps per tunnel. Not supported when `vpnGatewayId` is specified, or `enableAcceleration` is `true`. + TunnelBandwidth pulumi.StringPtrInput // Indicate whether the VPN tunnels process IPv4 or IPv6 traffic. Valid values are `ipv4 | ipv6`. `ipv6` Supports only EC2 Transit Gateway. TunnelInsideIpVersion pulumi.StringPtrInput // The type of VPN connection. The only type AWS supports at this time is "ipsec.1". Type pulumi.StringInput + // ID of the VPN concentrator to associate with the VPN connection. + VpnConcentratorId pulumi.StringPtrInput // The ID of the Virtual Private Gateway. VpnGatewayId pulumi.StringPtrInput } @@ -1381,6 +1401,11 @@ func (o VpnConnectionOutput) Tunnel2VgwInsideAddress() pulumi.StringOutput { return o.ApplyT(func(v *VpnConnection) pulumi.StringOutput { return v.Tunnel2VgwInsideAddress }).(pulumi.StringOutput) } +// Desired bandwidth specification for the VPN tunnel. Valid values are `standard | large`. `standard` supports up to 1.25 Gbps per tunnel, while `large` supports up to 5 Gbps per tunnel. Not supported when `vpnGatewayId` is specified, or `enableAcceleration` is `true`. +func (o VpnConnectionOutput) TunnelBandwidth() pulumi.StringOutput { + return o.ApplyT(func(v *VpnConnection) pulumi.StringOutput { return v.TunnelBandwidth }).(pulumi.StringOutput) +} + // Indicate whether the VPN tunnels process IPv4 or IPv6 traffic. Valid values are `ipv4 | ipv6`. `ipv6` Supports only EC2 Transit Gateway. func (o VpnConnectionOutput) TunnelInsideIpVersion() pulumi.StringOutput { return o.ApplyT(func(v *VpnConnection) pulumi.StringOutput { return v.TunnelInsideIpVersion }).(pulumi.StringOutput) @@ -1396,6 +1421,11 @@ func (o VpnConnectionOutput) VgwTelemetries() VpnConnectionVgwTelemetryArrayOutp return o.ApplyT(func(v *VpnConnection) VpnConnectionVgwTelemetryArrayOutput { return v.VgwTelemetries }).(VpnConnectionVgwTelemetryArrayOutput) } +// ID of the VPN concentrator to associate with the VPN connection. +func (o VpnConnectionOutput) VpnConcentratorId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VpnConnection) pulumi.StringPtrOutput { return v.VpnConcentratorId }).(pulumi.StringPtrOutput) +} + // The ID of the Virtual Private Gateway. func (o VpnConnectionOutput) VpnGatewayId() pulumi.StringPtrOutput { return o.ApplyT(func(v *VpnConnection) pulumi.StringPtrOutput { return v.VpnGatewayId }).(pulumi.StringPtrOutput) diff --git a/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/ecs/capacityProvider.go b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/ecs/capacityProvider.go index 17be808df..357271c65 100644 --- a/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/ecs/capacityProvider.go +++ b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/ecs/capacityProvider.go @@ -87,7 +87,7 @@ import ( // Cluster: pulumi.String("my-cluster"), // ManagedInstancesProvider: &ecs.CapacityProviderManagedInstancesProviderArgs{ // InfrastructureRoleArn: pulumi.Any(ecsInfrastructure.Arn), -// PropagateTags: pulumi.String("TASK_DEFINITION"), +// PropagateTags: pulumi.String("CAPACITY_PROVIDER"), // InstanceLaunchTemplate: &ecs.CapacityProviderManagedInstancesProviderInstanceLaunchTemplateArgs{ // Ec2InstanceProfileArn: pulumi.Any(ecsInstance.Arn), // Monitoring: pulumi.String("ENABLED"), @@ -141,8 +141,6 @@ import ( // // Using `pulumi import`, import ECS Capacity Providers using the `arn`. For example: // -// console -// // % pulumi import aws_ecs_capacity_provider.example arn:aws:ecs:us-west-2:123456789012:capacity-provider/example type CapacityProvider struct { pulumi.CustomResourceState diff --git a/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/ecs/expressGatewayService.go b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/ecs/expressGatewayService.go new file mode 100644 index 000000000..1c613d124 --- /dev/null +++ b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/ecs/expressGatewayService.go @@ -0,0 +1,531 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ecs + +import ( + "context" + "reflect" + + "errors" + "github.com/pulumi/pulumi-aws/sdk/v7/go/aws/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Manages an ECS Express service. The Express service provides a simplified way to deploy containerized applications with automatic provisioning and management of AWS infrastructure including Application Load Balancers (ALBs), target groups, security groups, and auto-scaling policies. This service offers built-in load balancing, auto-scaling, and networking capabilities with zero-downtime deployments. +// +// Express services automatically handle infrastructure provisioning and updates through rolling deployments, ensuring high availability during service modifications. When you update an Express service, a new service revision is created and deployed with zero downtime. +// +// ## Example Usage +// +// ### Basic Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-aws/sdk/v7/go/aws/ecs" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := ecs.NewExpressGatewayService(ctx, "example", &ecs.ExpressGatewayServiceArgs{ +// ExecutionRoleArn: pulumi.Any(execution.Arn), +// InfrastructureRoleArn: pulumi.Any(infrastructure.Arn), +// PrimaryContainer: &ecs.ExpressGatewayServicePrimaryContainerArgs{ +// Image: pulumi.String("nginx:latest"), +// }, +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// ## Service Updates and Deletion +// +// ### Updates +// +// When you update an Express service configuration, a new service revision is created and deployed using a rolling deployment strategy with zero downtime. The service automatically manages the transition from the old configuration to the new one, ensuring continuous availability. +// +// ### Deletion +// +// When an Express service is deleted, it enters a `DRAINING` state where existing tasks are allowed to complete gracefully before termination. The deletion process is irreversible - once initiated, the service and all its associated AWS infrastructure (load balancers, target groups, etc.) will be permanently removed. During the draining process, no new tasks are started, and the service becomes unavailable once all tasks have completed. +// +// ## Import +// +// Using `pulumi import`, import ECS Express Gateway Services using the service ARN. For example: +// +// ```sh +// $ pulumi import aws:ecs/expressGatewayService:ExpressGatewayService example arn:aws:ecs:us-west-2:123456789012:service/my-cluster/my-express-gateway-service +// ``` +type ExpressGatewayService struct { + pulumi.CustomResourceState + + // Name or ARN of the ECS cluster. Defaults to `default`. + Cluster pulumi.StringOutput `pulumi:"cluster"` + // Number of CPU units used by the task. Valid values are powers of 2 between 256 and 4096. + Cpu pulumi.StringOutput `pulumi:"cpu"` + // ARN of the current deployment. + CurrentDeployment pulumi.StringOutput `pulumi:"currentDeployment"` + // ARN of the IAM role that allows ECS to pull container images and publish container logs to Amazon CloudWatch. + ExecutionRoleArn pulumi.StringOutput `pulumi:"executionRoleArn"` + // Path for health check requests. Defaults to `/ping`. + HealthCheckPath pulumi.StringOutput `pulumi:"healthCheckPath"` + // ARN of the IAM role that allows ECS to manage AWS infrastructure on your behalf. **Important:** The infrastructure role cannot be modified after the service is created. Changing this forces a new resource to be created. + // + // The following arguments are optional: + InfrastructureRoleArn pulumi.StringOutput `pulumi:"infrastructureRoleArn"` + // List of ingress paths with access type and endpoint information. + IngressPaths ExpressGatewayServiceIngressPathArrayOutput `pulumi:"ingressPaths"` + // Amount of memory (in MiB) used by the task. Valid values are between 512 and 8192. + Memory pulumi.StringOutput `pulumi:"memory"` + NetworkConfigurations ExpressGatewayServiceNetworkConfigurationArrayOutput `pulumi:"networkConfigurations"` + PrimaryContainer ExpressGatewayServicePrimaryContainerPtrOutput `pulumi:"primaryContainer"` + // AWS region where the service will be created. If not specified, the region configured in the provider will be used. + Region pulumi.StringOutput `pulumi:"region"` + ScalingTargets ExpressGatewayServiceScalingTargetArrayOutput `pulumi:"scalingTargets"` + // ARN of the Express Gateway Service. + ServiceArn pulumi.StringOutput `pulumi:"serviceArn"` + // Name of the service. If not specified, a name will be generated. Changing this forces a new resource to be created. + ServiceName pulumi.StringOutput `pulumi:"serviceName"` + // ARN of the service revision. + ServiceRevisionArn pulumi.StringOutput `pulumi:"serviceRevisionArn"` + // Key-value map of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + Tags pulumi.StringMapOutput `pulumi:"tags"` + // Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"` + // ARN of the IAM role that allows your Amazon ECS container task to make calls to other AWS services. + TaskRoleArn pulumi.StringPtrOutput `pulumi:"taskRoleArn"` + Timeouts ExpressGatewayServiceTimeoutsPtrOutput `pulumi:"timeouts"` + // Whether to wait for the service to reach a steady state before considering the operation complete. Defaults to `false`. + WaitForSteadyState pulumi.BoolOutput `pulumi:"waitForSteadyState"` +} + +// NewExpressGatewayService registers a new resource with the given unique name, arguments, and options. +func NewExpressGatewayService(ctx *pulumi.Context, + name string, args *ExpressGatewayServiceArgs, opts ...pulumi.ResourceOption) (*ExpressGatewayService, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.ExecutionRoleArn == nil { + return nil, errors.New("invalid value for required argument 'ExecutionRoleArn'") + } + if args.InfrastructureRoleArn == nil { + return nil, errors.New("invalid value for required argument 'InfrastructureRoleArn'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource ExpressGatewayService + err := ctx.RegisterResource("aws:ecs/expressGatewayService:ExpressGatewayService", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetExpressGatewayService gets an existing ExpressGatewayService 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 GetExpressGatewayService(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *ExpressGatewayServiceState, opts ...pulumi.ResourceOption) (*ExpressGatewayService, error) { + var resource ExpressGatewayService + err := ctx.ReadResource("aws:ecs/expressGatewayService:ExpressGatewayService", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering ExpressGatewayService resources. +type expressGatewayServiceState struct { + // Name or ARN of the ECS cluster. Defaults to `default`. + Cluster *string `pulumi:"cluster"` + // Number of CPU units used by the task. Valid values are powers of 2 between 256 and 4096. + Cpu *string `pulumi:"cpu"` + // ARN of the current deployment. + CurrentDeployment *string `pulumi:"currentDeployment"` + // ARN of the IAM role that allows ECS to pull container images and publish container logs to Amazon CloudWatch. + ExecutionRoleArn *string `pulumi:"executionRoleArn"` + // Path for health check requests. Defaults to `/ping`. + HealthCheckPath *string `pulumi:"healthCheckPath"` + // ARN of the IAM role that allows ECS to manage AWS infrastructure on your behalf. **Important:** The infrastructure role cannot be modified after the service is created. Changing this forces a new resource to be created. + // + // The following arguments are optional: + InfrastructureRoleArn *string `pulumi:"infrastructureRoleArn"` + // List of ingress paths with access type and endpoint information. + IngressPaths []ExpressGatewayServiceIngressPath `pulumi:"ingressPaths"` + // Amount of memory (in MiB) used by the task. Valid values are between 512 and 8192. + Memory *string `pulumi:"memory"` + NetworkConfigurations []ExpressGatewayServiceNetworkConfiguration `pulumi:"networkConfigurations"` + PrimaryContainer *ExpressGatewayServicePrimaryContainer `pulumi:"primaryContainer"` + // AWS region where the service will be created. If not specified, the region configured in the provider will be used. + Region *string `pulumi:"region"` + ScalingTargets []ExpressGatewayServiceScalingTarget `pulumi:"scalingTargets"` + // ARN of the Express Gateway Service. + ServiceArn *string `pulumi:"serviceArn"` + // Name of the service. If not specified, a name will be generated. Changing this forces a new resource to be created. + ServiceName *string `pulumi:"serviceName"` + // ARN of the service revision. + ServiceRevisionArn *string `pulumi:"serviceRevisionArn"` + // Key-value map of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + Tags map[string]string `pulumi:"tags"` + // Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + TagsAll map[string]string `pulumi:"tagsAll"` + // ARN of the IAM role that allows your Amazon ECS container task to make calls to other AWS services. + TaskRoleArn *string `pulumi:"taskRoleArn"` + Timeouts *ExpressGatewayServiceTimeouts `pulumi:"timeouts"` + // Whether to wait for the service to reach a steady state before considering the operation complete. Defaults to `false`. + WaitForSteadyState *bool `pulumi:"waitForSteadyState"` +} + +type ExpressGatewayServiceState struct { + // Name or ARN of the ECS cluster. Defaults to `default`. + Cluster pulumi.StringPtrInput + // Number of CPU units used by the task. Valid values are powers of 2 between 256 and 4096. + Cpu pulumi.StringPtrInput + // ARN of the current deployment. + CurrentDeployment pulumi.StringPtrInput + // ARN of the IAM role that allows ECS to pull container images and publish container logs to Amazon CloudWatch. + ExecutionRoleArn pulumi.StringPtrInput + // Path for health check requests. Defaults to `/ping`. + HealthCheckPath pulumi.StringPtrInput + // ARN of the IAM role that allows ECS to manage AWS infrastructure on your behalf. **Important:** The infrastructure role cannot be modified after the service is created. Changing this forces a new resource to be created. + // + // The following arguments are optional: + InfrastructureRoleArn pulumi.StringPtrInput + // List of ingress paths with access type and endpoint information. + IngressPaths ExpressGatewayServiceIngressPathArrayInput + // Amount of memory (in MiB) used by the task. Valid values are between 512 and 8192. + Memory pulumi.StringPtrInput + NetworkConfigurations ExpressGatewayServiceNetworkConfigurationArrayInput + PrimaryContainer ExpressGatewayServicePrimaryContainerPtrInput + // AWS region where the service will be created. If not specified, the region configured in the provider will be used. + Region pulumi.StringPtrInput + ScalingTargets ExpressGatewayServiceScalingTargetArrayInput + // ARN of the Express Gateway Service. + ServiceArn pulumi.StringPtrInput + // Name of the service. If not specified, a name will be generated. Changing this forces a new resource to be created. + ServiceName pulumi.StringPtrInput + // ARN of the service revision. + ServiceRevisionArn pulumi.StringPtrInput + // Key-value map of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + Tags pulumi.StringMapInput + // Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + TagsAll pulumi.StringMapInput + // ARN of the IAM role that allows your Amazon ECS container task to make calls to other AWS services. + TaskRoleArn pulumi.StringPtrInput + Timeouts ExpressGatewayServiceTimeoutsPtrInput + // Whether to wait for the service to reach a steady state before considering the operation complete. Defaults to `false`. + WaitForSteadyState pulumi.BoolPtrInput +} + +func (ExpressGatewayServiceState) ElementType() reflect.Type { + return reflect.TypeOf((*expressGatewayServiceState)(nil)).Elem() +} + +type expressGatewayServiceArgs struct { + // Name or ARN of the ECS cluster. Defaults to `default`. + Cluster *string `pulumi:"cluster"` + // Number of CPU units used by the task. Valid values are powers of 2 between 256 and 4096. + Cpu *string `pulumi:"cpu"` + // ARN of the IAM role that allows ECS to pull container images and publish container logs to Amazon CloudWatch. + ExecutionRoleArn string `pulumi:"executionRoleArn"` + // Path for health check requests. Defaults to `/ping`. + HealthCheckPath *string `pulumi:"healthCheckPath"` + // ARN of the IAM role that allows ECS to manage AWS infrastructure on your behalf. **Important:** The infrastructure role cannot be modified after the service is created. Changing this forces a new resource to be created. + // + // The following arguments are optional: + InfrastructureRoleArn string `pulumi:"infrastructureRoleArn"` + // Amount of memory (in MiB) used by the task. Valid values are between 512 and 8192. + Memory *string `pulumi:"memory"` + NetworkConfigurations []ExpressGatewayServiceNetworkConfiguration `pulumi:"networkConfigurations"` + PrimaryContainer *ExpressGatewayServicePrimaryContainer `pulumi:"primaryContainer"` + // AWS region where the service will be created. If not specified, the region configured in the provider will be used. + Region *string `pulumi:"region"` + ScalingTargets []ExpressGatewayServiceScalingTarget `pulumi:"scalingTargets"` + // Name of the service. If not specified, a name will be generated. Changing this forces a new resource to be created. + ServiceName *string `pulumi:"serviceName"` + // Key-value map of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + Tags map[string]string `pulumi:"tags"` + // ARN of the IAM role that allows your Amazon ECS container task to make calls to other AWS services. + TaskRoleArn *string `pulumi:"taskRoleArn"` + Timeouts *ExpressGatewayServiceTimeouts `pulumi:"timeouts"` + // Whether to wait for the service to reach a steady state before considering the operation complete. Defaults to `false`. + WaitForSteadyState *bool `pulumi:"waitForSteadyState"` +} + +// The set of arguments for constructing a ExpressGatewayService resource. +type ExpressGatewayServiceArgs struct { + // Name or ARN of the ECS cluster. Defaults to `default`. + Cluster pulumi.StringPtrInput + // Number of CPU units used by the task. Valid values are powers of 2 between 256 and 4096. + Cpu pulumi.StringPtrInput + // ARN of the IAM role that allows ECS to pull container images and publish container logs to Amazon CloudWatch. + ExecutionRoleArn pulumi.StringInput + // Path for health check requests. Defaults to `/ping`. + HealthCheckPath pulumi.StringPtrInput + // ARN of the IAM role that allows ECS to manage AWS infrastructure on your behalf. **Important:** The infrastructure role cannot be modified after the service is created. Changing this forces a new resource to be created. + // + // The following arguments are optional: + InfrastructureRoleArn pulumi.StringInput + // Amount of memory (in MiB) used by the task. Valid values are between 512 and 8192. + Memory pulumi.StringPtrInput + NetworkConfigurations ExpressGatewayServiceNetworkConfigurationArrayInput + PrimaryContainer ExpressGatewayServicePrimaryContainerPtrInput + // AWS region where the service will be created. If not specified, the region configured in the provider will be used. + Region pulumi.StringPtrInput + ScalingTargets ExpressGatewayServiceScalingTargetArrayInput + // Name of the service. If not specified, a name will be generated. Changing this forces a new resource to be created. + ServiceName pulumi.StringPtrInput + // Key-value map of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + Tags pulumi.StringMapInput + // ARN of the IAM role that allows your Amazon ECS container task to make calls to other AWS services. + TaskRoleArn pulumi.StringPtrInput + Timeouts ExpressGatewayServiceTimeoutsPtrInput + // Whether to wait for the service to reach a steady state before considering the operation complete. Defaults to `false`. + WaitForSteadyState pulumi.BoolPtrInput +} + +func (ExpressGatewayServiceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*expressGatewayServiceArgs)(nil)).Elem() +} + +type ExpressGatewayServiceInput interface { + pulumi.Input + + ToExpressGatewayServiceOutput() ExpressGatewayServiceOutput + ToExpressGatewayServiceOutputWithContext(ctx context.Context) ExpressGatewayServiceOutput +} + +func (*ExpressGatewayService) ElementType() reflect.Type { + return reflect.TypeOf((**ExpressGatewayService)(nil)).Elem() +} + +func (i *ExpressGatewayService) ToExpressGatewayServiceOutput() ExpressGatewayServiceOutput { + return i.ToExpressGatewayServiceOutputWithContext(context.Background()) +} + +func (i *ExpressGatewayService) ToExpressGatewayServiceOutputWithContext(ctx context.Context) ExpressGatewayServiceOutput { + return pulumi.ToOutputWithContext(ctx, i).(ExpressGatewayServiceOutput) +} + +// ExpressGatewayServiceArrayInput is an input type that accepts ExpressGatewayServiceArray and ExpressGatewayServiceArrayOutput values. +// You can construct a concrete instance of `ExpressGatewayServiceArrayInput` via: +// +// ExpressGatewayServiceArray{ ExpressGatewayServiceArgs{...} } +type ExpressGatewayServiceArrayInput interface { + pulumi.Input + + ToExpressGatewayServiceArrayOutput() ExpressGatewayServiceArrayOutput + ToExpressGatewayServiceArrayOutputWithContext(context.Context) ExpressGatewayServiceArrayOutput +} + +type ExpressGatewayServiceArray []ExpressGatewayServiceInput + +func (ExpressGatewayServiceArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*ExpressGatewayService)(nil)).Elem() +} + +func (i ExpressGatewayServiceArray) ToExpressGatewayServiceArrayOutput() ExpressGatewayServiceArrayOutput { + return i.ToExpressGatewayServiceArrayOutputWithContext(context.Background()) +} + +func (i ExpressGatewayServiceArray) ToExpressGatewayServiceArrayOutputWithContext(ctx context.Context) ExpressGatewayServiceArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ExpressGatewayServiceArrayOutput) +} + +// ExpressGatewayServiceMapInput is an input type that accepts ExpressGatewayServiceMap and ExpressGatewayServiceMapOutput values. +// You can construct a concrete instance of `ExpressGatewayServiceMapInput` via: +// +// ExpressGatewayServiceMap{ "key": ExpressGatewayServiceArgs{...} } +type ExpressGatewayServiceMapInput interface { + pulumi.Input + + ToExpressGatewayServiceMapOutput() ExpressGatewayServiceMapOutput + ToExpressGatewayServiceMapOutputWithContext(context.Context) ExpressGatewayServiceMapOutput +} + +type ExpressGatewayServiceMap map[string]ExpressGatewayServiceInput + +func (ExpressGatewayServiceMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*ExpressGatewayService)(nil)).Elem() +} + +func (i ExpressGatewayServiceMap) ToExpressGatewayServiceMapOutput() ExpressGatewayServiceMapOutput { + return i.ToExpressGatewayServiceMapOutputWithContext(context.Background()) +} + +func (i ExpressGatewayServiceMap) ToExpressGatewayServiceMapOutputWithContext(ctx context.Context) ExpressGatewayServiceMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(ExpressGatewayServiceMapOutput) +} + +type ExpressGatewayServiceOutput struct{ *pulumi.OutputState } + +func (ExpressGatewayServiceOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ExpressGatewayService)(nil)).Elem() +} + +func (o ExpressGatewayServiceOutput) ToExpressGatewayServiceOutput() ExpressGatewayServiceOutput { + return o +} + +func (o ExpressGatewayServiceOutput) ToExpressGatewayServiceOutputWithContext(ctx context.Context) ExpressGatewayServiceOutput { + return o +} + +// Name or ARN of the ECS cluster. Defaults to `default`. +func (o ExpressGatewayServiceOutput) Cluster() pulumi.StringOutput { + return o.ApplyT(func(v *ExpressGatewayService) pulumi.StringOutput { return v.Cluster }).(pulumi.StringOutput) +} + +// Number of CPU units used by the task. Valid values are powers of 2 between 256 and 4096. +func (o ExpressGatewayServiceOutput) Cpu() pulumi.StringOutput { + return o.ApplyT(func(v *ExpressGatewayService) pulumi.StringOutput { return v.Cpu }).(pulumi.StringOutput) +} + +// ARN of the current deployment. +func (o ExpressGatewayServiceOutput) CurrentDeployment() pulumi.StringOutput { + return o.ApplyT(func(v *ExpressGatewayService) pulumi.StringOutput { return v.CurrentDeployment }).(pulumi.StringOutput) +} + +// ARN of the IAM role that allows ECS to pull container images and publish container logs to Amazon CloudWatch. +func (o ExpressGatewayServiceOutput) ExecutionRoleArn() pulumi.StringOutput { + return o.ApplyT(func(v *ExpressGatewayService) pulumi.StringOutput { return v.ExecutionRoleArn }).(pulumi.StringOutput) +} + +// Path for health check requests. Defaults to `/ping`. +func (o ExpressGatewayServiceOutput) HealthCheckPath() pulumi.StringOutput { + return o.ApplyT(func(v *ExpressGatewayService) pulumi.StringOutput { return v.HealthCheckPath }).(pulumi.StringOutput) +} + +// ARN of the IAM role that allows ECS to manage AWS infrastructure on your behalf. **Important:** The infrastructure role cannot be modified after the service is created. Changing this forces a new resource to be created. +// +// The following arguments are optional: +func (o ExpressGatewayServiceOutput) InfrastructureRoleArn() pulumi.StringOutput { + return o.ApplyT(func(v *ExpressGatewayService) pulumi.StringOutput { return v.InfrastructureRoleArn }).(pulumi.StringOutput) +} + +// List of ingress paths with access type and endpoint information. +func (o ExpressGatewayServiceOutput) IngressPaths() ExpressGatewayServiceIngressPathArrayOutput { + return o.ApplyT(func(v *ExpressGatewayService) ExpressGatewayServiceIngressPathArrayOutput { return v.IngressPaths }).(ExpressGatewayServiceIngressPathArrayOutput) +} + +// Amount of memory (in MiB) used by the task. Valid values are between 512 and 8192. +func (o ExpressGatewayServiceOutput) Memory() pulumi.StringOutput { + return o.ApplyT(func(v *ExpressGatewayService) pulumi.StringOutput { return v.Memory }).(pulumi.StringOutput) +} + +func (o ExpressGatewayServiceOutput) NetworkConfigurations() ExpressGatewayServiceNetworkConfigurationArrayOutput { + return o.ApplyT(func(v *ExpressGatewayService) ExpressGatewayServiceNetworkConfigurationArrayOutput { + return v.NetworkConfigurations + }).(ExpressGatewayServiceNetworkConfigurationArrayOutput) +} + +func (o ExpressGatewayServiceOutput) PrimaryContainer() ExpressGatewayServicePrimaryContainerPtrOutput { + return o.ApplyT(func(v *ExpressGatewayService) ExpressGatewayServicePrimaryContainerPtrOutput { + return v.PrimaryContainer + }).(ExpressGatewayServicePrimaryContainerPtrOutput) +} + +// AWS region where the service will be created. If not specified, the region configured in the provider will be used. +func (o ExpressGatewayServiceOutput) Region() pulumi.StringOutput { + return o.ApplyT(func(v *ExpressGatewayService) pulumi.StringOutput { return v.Region }).(pulumi.StringOutput) +} + +func (o ExpressGatewayServiceOutput) ScalingTargets() ExpressGatewayServiceScalingTargetArrayOutput { + return o.ApplyT(func(v *ExpressGatewayService) ExpressGatewayServiceScalingTargetArrayOutput { return v.ScalingTargets }).(ExpressGatewayServiceScalingTargetArrayOutput) +} + +// ARN of the Express Gateway Service. +func (o ExpressGatewayServiceOutput) ServiceArn() pulumi.StringOutput { + return o.ApplyT(func(v *ExpressGatewayService) pulumi.StringOutput { return v.ServiceArn }).(pulumi.StringOutput) +} + +// Name of the service. If not specified, a name will be generated. Changing this forces a new resource to be created. +func (o ExpressGatewayServiceOutput) ServiceName() pulumi.StringOutput { + return o.ApplyT(func(v *ExpressGatewayService) pulumi.StringOutput { return v.ServiceName }).(pulumi.StringOutput) +} + +// ARN of the service revision. +func (o ExpressGatewayServiceOutput) ServiceRevisionArn() pulumi.StringOutput { + return o.ApplyT(func(v *ExpressGatewayService) pulumi.StringOutput { return v.ServiceRevisionArn }).(pulumi.StringOutput) +} + +// Key-value map of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. +func (o ExpressGatewayServiceOutput) Tags() pulumi.StringMapOutput { + return o.ApplyT(func(v *ExpressGatewayService) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput) +} + +// Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. +func (o ExpressGatewayServiceOutput) TagsAll() pulumi.StringMapOutput { + return o.ApplyT(func(v *ExpressGatewayService) pulumi.StringMapOutput { return v.TagsAll }).(pulumi.StringMapOutput) +} + +// ARN of the IAM role that allows your Amazon ECS container task to make calls to other AWS services. +func (o ExpressGatewayServiceOutput) TaskRoleArn() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ExpressGatewayService) pulumi.StringPtrOutput { return v.TaskRoleArn }).(pulumi.StringPtrOutput) +} + +func (o ExpressGatewayServiceOutput) Timeouts() ExpressGatewayServiceTimeoutsPtrOutput { + return o.ApplyT(func(v *ExpressGatewayService) ExpressGatewayServiceTimeoutsPtrOutput { return v.Timeouts }).(ExpressGatewayServiceTimeoutsPtrOutput) +} + +// Whether to wait for the service to reach a steady state before considering the operation complete. Defaults to `false`. +func (o ExpressGatewayServiceOutput) WaitForSteadyState() pulumi.BoolOutput { + return o.ApplyT(func(v *ExpressGatewayService) pulumi.BoolOutput { return v.WaitForSteadyState }).(pulumi.BoolOutput) +} + +type ExpressGatewayServiceArrayOutput struct{ *pulumi.OutputState } + +func (ExpressGatewayServiceArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*ExpressGatewayService)(nil)).Elem() +} + +func (o ExpressGatewayServiceArrayOutput) ToExpressGatewayServiceArrayOutput() ExpressGatewayServiceArrayOutput { + return o +} + +func (o ExpressGatewayServiceArrayOutput) ToExpressGatewayServiceArrayOutputWithContext(ctx context.Context) ExpressGatewayServiceArrayOutput { + return o +} + +func (o ExpressGatewayServiceArrayOutput) Index(i pulumi.IntInput) ExpressGatewayServiceOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *ExpressGatewayService { + return vs[0].([]*ExpressGatewayService)[vs[1].(int)] + }).(ExpressGatewayServiceOutput) +} + +type ExpressGatewayServiceMapOutput struct{ *pulumi.OutputState } + +func (ExpressGatewayServiceMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*ExpressGatewayService)(nil)).Elem() +} + +func (o ExpressGatewayServiceMapOutput) ToExpressGatewayServiceMapOutput() ExpressGatewayServiceMapOutput { + return o +} + +func (o ExpressGatewayServiceMapOutput) ToExpressGatewayServiceMapOutputWithContext(ctx context.Context) ExpressGatewayServiceMapOutput { + return o +} + +func (o ExpressGatewayServiceMapOutput) MapIndex(k pulumi.StringInput) ExpressGatewayServiceOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *ExpressGatewayService { + return vs[0].(map[string]*ExpressGatewayService)[vs[1].(string)] + }).(ExpressGatewayServiceOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*ExpressGatewayServiceInput)(nil)).Elem(), &ExpressGatewayService{}) + pulumi.RegisterInputType(reflect.TypeOf((*ExpressGatewayServiceArrayInput)(nil)).Elem(), ExpressGatewayServiceArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*ExpressGatewayServiceMapInput)(nil)).Elem(), ExpressGatewayServiceMap{}) + pulumi.RegisterOutputType(ExpressGatewayServiceOutput{}) + pulumi.RegisterOutputType(ExpressGatewayServiceArrayOutput{}) + pulumi.RegisterOutputType(ExpressGatewayServiceMapOutput{}) +} diff --git a/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/ecs/init.go b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/ecs/init.go index fc6bed599..12a0e9405 100644 --- a/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/ecs/init.go +++ b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/ecs/init.go @@ -29,6 +29,8 @@ func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi r = &Cluster{} case "aws:ecs/clusterCapacityProviders:ClusterCapacityProviders": r = &ClusterCapacityProviders{} + case "aws:ecs/expressGatewayService:ExpressGatewayService": + r = &ExpressGatewayService{} case "aws:ecs/service:Service": r = &Service{} case "aws:ecs/tag:Tag": @@ -70,6 +72,11 @@ func init() { "ecs/clusterCapacityProviders", &module{version}, ) + pulumi.RegisterResourceModule( + "aws", + "ecs/expressGatewayService", + &module{version}, + ) pulumi.RegisterResourceModule( "aws", "ecs/service", diff --git a/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/ecs/pulumiTypes.go b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/ecs/pulumiTypes.go index c29194817..38959ef56 100644 --- a/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/ecs/pulumiTypes.go +++ b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/ecs/pulumiTypes.go @@ -431,6 +431,8 @@ func (o CapacityProviderAutoScalingGroupProviderManagedScalingPtrOutput) TargetC } type CapacityProviderManagedInstancesProvider struct { + // Defines how Amazon ECS Managed Instances optimizes the infrastructure in your capacity provider. Configure it to turn on or off the infrastructure optimization in your capacity provider, and to control the idle EC2 instances optimization delay. + InfrastructureOptimization *CapacityProviderManagedInstancesProviderInfrastructureOptimization `pulumi:"infrastructureOptimization"` // The Amazon Resource Name (ARN) of the infrastructure role that Amazon ECS uses to manage instances on your behalf. This role must have permissions to launch, terminate, and manage Amazon EC2 instances, as well as access to other AWS services required for Amazon ECS Managed Instances functionality. For more information, see [Amazon ECS infrastructure IAM role](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/infrastructure_IAM_role.html) in the Amazon ECS Developer Guide. InfrastructureRoleArn string `pulumi:"infrastructureRoleArn"` // The launch template configuration that specifies how Amazon ECS should launch Amazon EC2 instances. This includes the instance profile, network configuration, storage settings, and instance requirements for attribute-based instance type selection. For more information, see [Store instance launch parameters in Amazon EC2 launch templates](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-templates.html) in the Amazon EC2 User Guide. Detailed below. @@ -451,6 +453,8 @@ type CapacityProviderManagedInstancesProviderInput interface { } type CapacityProviderManagedInstancesProviderArgs struct { + // Defines how Amazon ECS Managed Instances optimizes the infrastructure in your capacity provider. Configure it to turn on or off the infrastructure optimization in your capacity provider, and to control the idle EC2 instances optimization delay. + InfrastructureOptimization CapacityProviderManagedInstancesProviderInfrastructureOptimizationPtrInput `pulumi:"infrastructureOptimization"` // The Amazon Resource Name (ARN) of the infrastructure role that Amazon ECS uses to manage instances on your behalf. This role must have permissions to launch, terminate, and manage Amazon EC2 instances, as well as access to other AWS services required for Amazon ECS Managed Instances functionality. For more information, see [Amazon ECS infrastructure IAM role](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/infrastructure_IAM_role.html) in the Amazon ECS Developer Guide. InfrastructureRoleArn pulumi.StringInput `pulumi:"infrastructureRoleArn"` // The launch template configuration that specifies how Amazon ECS should launch Amazon EC2 instances. This includes the instance profile, network configuration, storage settings, and instance requirements for attribute-based instance type selection. For more information, see [Store instance launch parameters in Amazon EC2 launch templates](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-templates.html) in the Amazon EC2 User Guide. Detailed below. @@ -536,6 +540,13 @@ func (o CapacityProviderManagedInstancesProviderOutput) ToCapacityProviderManage }).(CapacityProviderManagedInstancesProviderPtrOutput) } +// Defines how Amazon ECS Managed Instances optimizes the infrastructure in your capacity provider. Configure it to turn on or off the infrastructure optimization in your capacity provider, and to control the idle EC2 instances optimization delay. +func (o CapacityProviderManagedInstancesProviderOutput) InfrastructureOptimization() CapacityProviderManagedInstancesProviderInfrastructureOptimizationPtrOutput { + return o.ApplyT(func(v CapacityProviderManagedInstancesProvider) *CapacityProviderManagedInstancesProviderInfrastructureOptimization { + return v.InfrastructureOptimization + }).(CapacityProviderManagedInstancesProviderInfrastructureOptimizationPtrOutput) +} + // The Amazon Resource Name (ARN) of the infrastructure role that Amazon ECS uses to manage instances on your behalf. This role must have permissions to launch, terminate, and manage Amazon EC2 instances, as well as access to other AWS services required for Amazon ECS Managed Instances functionality. For more information, see [Amazon ECS infrastructure IAM role](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/infrastructure_IAM_role.html) in the Amazon ECS Developer Guide. func (o CapacityProviderManagedInstancesProviderOutput) InfrastructureRoleArn() pulumi.StringOutput { return o.ApplyT(func(v CapacityProviderManagedInstancesProvider) string { return v.InfrastructureRoleArn }).(pulumi.StringOutput) @@ -577,6 +588,16 @@ func (o CapacityProviderManagedInstancesProviderPtrOutput) Elem() CapacityProvid }).(CapacityProviderManagedInstancesProviderOutput) } +// Defines how Amazon ECS Managed Instances optimizes the infrastructure in your capacity provider. Configure it to turn on or off the infrastructure optimization in your capacity provider, and to control the idle EC2 instances optimization delay. +func (o CapacityProviderManagedInstancesProviderPtrOutput) InfrastructureOptimization() CapacityProviderManagedInstancesProviderInfrastructureOptimizationPtrOutput { + return o.ApplyT(func(v *CapacityProviderManagedInstancesProvider) *CapacityProviderManagedInstancesProviderInfrastructureOptimization { + if v == nil { + return nil + } + return v.InfrastructureOptimization + }).(CapacityProviderManagedInstancesProviderInfrastructureOptimizationPtrOutput) +} + // The Amazon Resource Name (ARN) of the infrastructure role that Amazon ECS uses to manage instances on your behalf. This role must have permissions to launch, terminate, and manage Amazon EC2 instances, as well as access to other AWS services required for Amazon ECS Managed Instances functionality. For more information, see [Amazon ECS infrastructure IAM role](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/infrastructure_IAM_role.html) in the Amazon ECS Developer Guide. func (o CapacityProviderManagedInstancesProviderPtrOutput) InfrastructureRoleArn() pulumi.StringPtrOutput { return o.ApplyT(func(v *CapacityProviderManagedInstancesProvider) *string { @@ -607,6 +628,151 @@ func (o CapacityProviderManagedInstancesProviderPtrOutput) PropagateTags() pulum }).(pulumi.StringPtrOutput) } +type CapacityProviderManagedInstancesProviderInfrastructureOptimization struct { + // This parameter defines the number of seconds Amazon ECS Managed Instances waits before optimizing EC2 instances that have become idle or underutilized. A longer delay increases the likelihood of placing new tasks on idle instances, reducing startup time. A shorter delay helps reduce infrastructure costs by optimizing idle instances more quickly. Valid values are: + // * Not set (null) - Uses the default optimization behavior. + // * `-1` - Disables automatic infrastructure optimization. + ScaleInAfter *int `pulumi:"scaleInAfter"` +} + +// CapacityProviderManagedInstancesProviderInfrastructureOptimizationInput is an input type that accepts CapacityProviderManagedInstancesProviderInfrastructureOptimizationArgs and CapacityProviderManagedInstancesProviderInfrastructureOptimizationOutput values. +// You can construct a concrete instance of `CapacityProviderManagedInstancesProviderInfrastructureOptimizationInput` via: +// +// CapacityProviderManagedInstancesProviderInfrastructureOptimizationArgs{...} +type CapacityProviderManagedInstancesProviderInfrastructureOptimizationInput interface { + pulumi.Input + + ToCapacityProviderManagedInstancesProviderInfrastructureOptimizationOutput() CapacityProviderManagedInstancesProviderInfrastructureOptimizationOutput + ToCapacityProviderManagedInstancesProviderInfrastructureOptimizationOutputWithContext(context.Context) CapacityProviderManagedInstancesProviderInfrastructureOptimizationOutput +} + +type CapacityProviderManagedInstancesProviderInfrastructureOptimizationArgs struct { + // This parameter defines the number of seconds Amazon ECS Managed Instances waits before optimizing EC2 instances that have become idle or underutilized. A longer delay increases the likelihood of placing new tasks on idle instances, reducing startup time. A shorter delay helps reduce infrastructure costs by optimizing idle instances more quickly. Valid values are: + // * Not set (null) - Uses the default optimization behavior. + // * `-1` - Disables automatic infrastructure optimization. + ScaleInAfter pulumi.IntPtrInput `pulumi:"scaleInAfter"` +} + +func (CapacityProviderManagedInstancesProviderInfrastructureOptimizationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*CapacityProviderManagedInstancesProviderInfrastructureOptimization)(nil)).Elem() +} + +func (i CapacityProviderManagedInstancesProviderInfrastructureOptimizationArgs) ToCapacityProviderManagedInstancesProviderInfrastructureOptimizationOutput() CapacityProviderManagedInstancesProviderInfrastructureOptimizationOutput { + return i.ToCapacityProviderManagedInstancesProviderInfrastructureOptimizationOutputWithContext(context.Background()) +} + +func (i CapacityProviderManagedInstancesProviderInfrastructureOptimizationArgs) ToCapacityProviderManagedInstancesProviderInfrastructureOptimizationOutputWithContext(ctx context.Context) CapacityProviderManagedInstancesProviderInfrastructureOptimizationOutput { + return pulumi.ToOutputWithContext(ctx, i).(CapacityProviderManagedInstancesProviderInfrastructureOptimizationOutput) +} + +func (i CapacityProviderManagedInstancesProviderInfrastructureOptimizationArgs) ToCapacityProviderManagedInstancesProviderInfrastructureOptimizationPtrOutput() CapacityProviderManagedInstancesProviderInfrastructureOptimizationPtrOutput { + return i.ToCapacityProviderManagedInstancesProviderInfrastructureOptimizationPtrOutputWithContext(context.Background()) +} + +func (i CapacityProviderManagedInstancesProviderInfrastructureOptimizationArgs) ToCapacityProviderManagedInstancesProviderInfrastructureOptimizationPtrOutputWithContext(ctx context.Context) CapacityProviderManagedInstancesProviderInfrastructureOptimizationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CapacityProviderManagedInstancesProviderInfrastructureOptimizationOutput).ToCapacityProviderManagedInstancesProviderInfrastructureOptimizationPtrOutputWithContext(ctx) +} + +// CapacityProviderManagedInstancesProviderInfrastructureOptimizationPtrInput is an input type that accepts CapacityProviderManagedInstancesProviderInfrastructureOptimizationArgs, CapacityProviderManagedInstancesProviderInfrastructureOptimizationPtr and CapacityProviderManagedInstancesProviderInfrastructureOptimizationPtrOutput values. +// You can construct a concrete instance of `CapacityProviderManagedInstancesProviderInfrastructureOptimizationPtrInput` via: +// +// CapacityProviderManagedInstancesProviderInfrastructureOptimizationArgs{...} +// +// or: +// +// nil +type CapacityProviderManagedInstancesProviderInfrastructureOptimizationPtrInput interface { + pulumi.Input + + ToCapacityProviderManagedInstancesProviderInfrastructureOptimizationPtrOutput() CapacityProviderManagedInstancesProviderInfrastructureOptimizationPtrOutput + ToCapacityProviderManagedInstancesProviderInfrastructureOptimizationPtrOutputWithContext(context.Context) CapacityProviderManagedInstancesProviderInfrastructureOptimizationPtrOutput +} + +type capacityProviderManagedInstancesProviderInfrastructureOptimizationPtrType CapacityProviderManagedInstancesProviderInfrastructureOptimizationArgs + +func CapacityProviderManagedInstancesProviderInfrastructureOptimizationPtr(v *CapacityProviderManagedInstancesProviderInfrastructureOptimizationArgs) CapacityProviderManagedInstancesProviderInfrastructureOptimizationPtrInput { + return (*capacityProviderManagedInstancesProviderInfrastructureOptimizationPtrType)(v) +} + +func (*capacityProviderManagedInstancesProviderInfrastructureOptimizationPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**CapacityProviderManagedInstancesProviderInfrastructureOptimization)(nil)).Elem() +} + +func (i *capacityProviderManagedInstancesProviderInfrastructureOptimizationPtrType) ToCapacityProviderManagedInstancesProviderInfrastructureOptimizationPtrOutput() CapacityProviderManagedInstancesProviderInfrastructureOptimizationPtrOutput { + return i.ToCapacityProviderManagedInstancesProviderInfrastructureOptimizationPtrOutputWithContext(context.Background()) +} + +func (i *capacityProviderManagedInstancesProviderInfrastructureOptimizationPtrType) ToCapacityProviderManagedInstancesProviderInfrastructureOptimizationPtrOutputWithContext(ctx context.Context) CapacityProviderManagedInstancesProviderInfrastructureOptimizationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CapacityProviderManagedInstancesProviderInfrastructureOptimizationPtrOutput) +} + +type CapacityProviderManagedInstancesProviderInfrastructureOptimizationOutput struct{ *pulumi.OutputState } + +func (CapacityProviderManagedInstancesProviderInfrastructureOptimizationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*CapacityProviderManagedInstancesProviderInfrastructureOptimization)(nil)).Elem() +} + +func (o CapacityProviderManagedInstancesProviderInfrastructureOptimizationOutput) ToCapacityProviderManagedInstancesProviderInfrastructureOptimizationOutput() CapacityProviderManagedInstancesProviderInfrastructureOptimizationOutput { + return o +} + +func (o CapacityProviderManagedInstancesProviderInfrastructureOptimizationOutput) ToCapacityProviderManagedInstancesProviderInfrastructureOptimizationOutputWithContext(ctx context.Context) CapacityProviderManagedInstancesProviderInfrastructureOptimizationOutput { + return o +} + +func (o CapacityProviderManagedInstancesProviderInfrastructureOptimizationOutput) ToCapacityProviderManagedInstancesProviderInfrastructureOptimizationPtrOutput() CapacityProviderManagedInstancesProviderInfrastructureOptimizationPtrOutput { + return o.ToCapacityProviderManagedInstancesProviderInfrastructureOptimizationPtrOutputWithContext(context.Background()) +} + +func (o CapacityProviderManagedInstancesProviderInfrastructureOptimizationOutput) ToCapacityProviderManagedInstancesProviderInfrastructureOptimizationPtrOutputWithContext(ctx context.Context) CapacityProviderManagedInstancesProviderInfrastructureOptimizationPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v CapacityProviderManagedInstancesProviderInfrastructureOptimization) *CapacityProviderManagedInstancesProviderInfrastructureOptimization { + return &v + }).(CapacityProviderManagedInstancesProviderInfrastructureOptimizationPtrOutput) +} + +// This parameter defines the number of seconds Amazon ECS Managed Instances waits before optimizing EC2 instances that have become idle or underutilized. A longer delay increases the likelihood of placing new tasks on idle instances, reducing startup time. A shorter delay helps reduce infrastructure costs by optimizing idle instances more quickly. Valid values are: +// * Not set (null) - Uses the default optimization behavior. +// * `-1` - Disables automatic infrastructure optimization. +func (o CapacityProviderManagedInstancesProviderInfrastructureOptimizationOutput) ScaleInAfter() pulumi.IntPtrOutput { + return o.ApplyT(func(v CapacityProviderManagedInstancesProviderInfrastructureOptimization) *int { return v.ScaleInAfter }).(pulumi.IntPtrOutput) +} + +type CapacityProviderManagedInstancesProviderInfrastructureOptimizationPtrOutput struct{ *pulumi.OutputState } + +func (CapacityProviderManagedInstancesProviderInfrastructureOptimizationPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**CapacityProviderManagedInstancesProviderInfrastructureOptimization)(nil)).Elem() +} + +func (o CapacityProviderManagedInstancesProviderInfrastructureOptimizationPtrOutput) ToCapacityProviderManagedInstancesProviderInfrastructureOptimizationPtrOutput() CapacityProviderManagedInstancesProviderInfrastructureOptimizationPtrOutput { + return o +} + +func (o CapacityProviderManagedInstancesProviderInfrastructureOptimizationPtrOutput) ToCapacityProviderManagedInstancesProviderInfrastructureOptimizationPtrOutputWithContext(ctx context.Context) CapacityProviderManagedInstancesProviderInfrastructureOptimizationPtrOutput { + return o +} + +func (o CapacityProviderManagedInstancesProviderInfrastructureOptimizationPtrOutput) Elem() CapacityProviderManagedInstancesProviderInfrastructureOptimizationOutput { + return o.ApplyT(func(v *CapacityProviderManagedInstancesProviderInfrastructureOptimization) CapacityProviderManagedInstancesProviderInfrastructureOptimization { + if v != nil { + return *v + } + var ret CapacityProviderManagedInstancesProviderInfrastructureOptimization + return ret + }).(CapacityProviderManagedInstancesProviderInfrastructureOptimizationOutput) +} + +// This parameter defines the number of seconds Amazon ECS Managed Instances waits before optimizing EC2 instances that have become idle or underutilized. A longer delay increases the likelihood of placing new tasks on idle instances, reducing startup time. A shorter delay helps reduce infrastructure costs by optimizing idle instances more quickly. Valid values are: +// * Not set (null) - Uses the default optimization behavior. +// * `-1` - Disables automatic infrastructure optimization. +func (o CapacityProviderManagedInstancesProviderInfrastructureOptimizationPtrOutput) ScaleInAfter() pulumi.IntPtrOutput { + return o.ApplyT(func(v *CapacityProviderManagedInstancesProviderInfrastructureOptimization) *int { + if v == nil { + return nil + } + return v.ScaleInAfter + }).(pulumi.IntPtrOutput) +} + type CapacityProviderManagedInstancesProviderInstanceLaunchTemplate struct { // The Amazon Resource Name (ARN) of the instance profile that Amazon ECS applies to Amazon ECS Managed Instances. This instance profile must include the necessary permissions for your tasks to access AWS services and resources. For more information, see [Amazon ECS instance profile for Managed Instances](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/instance_IAM_role.html) in the Amazon ECS Developer Guide. Ec2InstanceProfileArn string `pulumi:"ec2InstanceProfileArn"` @@ -4189,6 +4355,1208 @@ func (o ClusterSettingArrayOutput) Index(i pulumi.IntInput) ClusterSettingOutput }).(ClusterSettingOutput) } +type ExpressGatewayServiceIngressPath struct { + AccessType string `pulumi:"accessType"` + Endpoint string `pulumi:"endpoint"` +} + +// ExpressGatewayServiceIngressPathInput is an input type that accepts ExpressGatewayServiceIngressPathArgs and ExpressGatewayServiceIngressPathOutput values. +// You can construct a concrete instance of `ExpressGatewayServiceIngressPathInput` via: +// +// ExpressGatewayServiceIngressPathArgs{...} +type ExpressGatewayServiceIngressPathInput interface { + pulumi.Input + + ToExpressGatewayServiceIngressPathOutput() ExpressGatewayServiceIngressPathOutput + ToExpressGatewayServiceIngressPathOutputWithContext(context.Context) ExpressGatewayServiceIngressPathOutput +} + +type ExpressGatewayServiceIngressPathArgs struct { + AccessType pulumi.StringInput `pulumi:"accessType"` + Endpoint pulumi.StringInput `pulumi:"endpoint"` +} + +func (ExpressGatewayServiceIngressPathArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ExpressGatewayServiceIngressPath)(nil)).Elem() +} + +func (i ExpressGatewayServiceIngressPathArgs) ToExpressGatewayServiceIngressPathOutput() ExpressGatewayServiceIngressPathOutput { + return i.ToExpressGatewayServiceIngressPathOutputWithContext(context.Background()) +} + +func (i ExpressGatewayServiceIngressPathArgs) ToExpressGatewayServiceIngressPathOutputWithContext(ctx context.Context) ExpressGatewayServiceIngressPathOutput { + return pulumi.ToOutputWithContext(ctx, i).(ExpressGatewayServiceIngressPathOutput) +} + +// ExpressGatewayServiceIngressPathArrayInput is an input type that accepts ExpressGatewayServiceIngressPathArray and ExpressGatewayServiceIngressPathArrayOutput values. +// You can construct a concrete instance of `ExpressGatewayServiceIngressPathArrayInput` via: +// +// ExpressGatewayServiceIngressPathArray{ ExpressGatewayServiceIngressPathArgs{...} } +type ExpressGatewayServiceIngressPathArrayInput interface { + pulumi.Input + + ToExpressGatewayServiceIngressPathArrayOutput() ExpressGatewayServiceIngressPathArrayOutput + ToExpressGatewayServiceIngressPathArrayOutputWithContext(context.Context) ExpressGatewayServiceIngressPathArrayOutput +} + +type ExpressGatewayServiceIngressPathArray []ExpressGatewayServiceIngressPathInput + +func (ExpressGatewayServiceIngressPathArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]ExpressGatewayServiceIngressPath)(nil)).Elem() +} + +func (i ExpressGatewayServiceIngressPathArray) ToExpressGatewayServiceIngressPathArrayOutput() ExpressGatewayServiceIngressPathArrayOutput { + return i.ToExpressGatewayServiceIngressPathArrayOutputWithContext(context.Background()) +} + +func (i ExpressGatewayServiceIngressPathArray) ToExpressGatewayServiceIngressPathArrayOutputWithContext(ctx context.Context) ExpressGatewayServiceIngressPathArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ExpressGatewayServiceIngressPathArrayOutput) +} + +type ExpressGatewayServiceIngressPathOutput struct{ *pulumi.OutputState } + +func (ExpressGatewayServiceIngressPathOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ExpressGatewayServiceIngressPath)(nil)).Elem() +} + +func (o ExpressGatewayServiceIngressPathOutput) ToExpressGatewayServiceIngressPathOutput() ExpressGatewayServiceIngressPathOutput { + return o +} + +func (o ExpressGatewayServiceIngressPathOutput) ToExpressGatewayServiceIngressPathOutputWithContext(ctx context.Context) ExpressGatewayServiceIngressPathOutput { + return o +} + +func (o ExpressGatewayServiceIngressPathOutput) AccessType() pulumi.StringOutput { + return o.ApplyT(func(v ExpressGatewayServiceIngressPath) string { return v.AccessType }).(pulumi.StringOutput) +} + +func (o ExpressGatewayServiceIngressPathOutput) Endpoint() pulumi.StringOutput { + return o.ApplyT(func(v ExpressGatewayServiceIngressPath) string { return v.Endpoint }).(pulumi.StringOutput) +} + +type ExpressGatewayServiceIngressPathArrayOutput struct{ *pulumi.OutputState } + +func (ExpressGatewayServiceIngressPathArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]ExpressGatewayServiceIngressPath)(nil)).Elem() +} + +func (o ExpressGatewayServiceIngressPathArrayOutput) ToExpressGatewayServiceIngressPathArrayOutput() ExpressGatewayServiceIngressPathArrayOutput { + return o +} + +func (o ExpressGatewayServiceIngressPathArrayOutput) ToExpressGatewayServiceIngressPathArrayOutputWithContext(ctx context.Context) ExpressGatewayServiceIngressPathArrayOutput { + return o +} + +func (o ExpressGatewayServiceIngressPathArrayOutput) Index(i pulumi.IntInput) ExpressGatewayServiceIngressPathOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) ExpressGatewayServiceIngressPath { + return vs[0].([]ExpressGatewayServiceIngressPath)[vs[1].(int)] + }).(ExpressGatewayServiceIngressPathOutput) +} + +type ExpressGatewayServiceNetworkConfiguration struct { + // Security groups associated with the task. If not specified, the default security group for the VPC is used. + SecurityGroups []string `pulumi:"securityGroups"` + // Subnets associated with the task. At least 2 subnets must be specified when using network configuration. If not specified, default subnets will be used. + Subnets []string `pulumi:"subnets"` +} + +// ExpressGatewayServiceNetworkConfigurationInput is an input type that accepts ExpressGatewayServiceNetworkConfigurationArgs and ExpressGatewayServiceNetworkConfigurationOutput values. +// You can construct a concrete instance of `ExpressGatewayServiceNetworkConfigurationInput` via: +// +// ExpressGatewayServiceNetworkConfigurationArgs{...} +type ExpressGatewayServiceNetworkConfigurationInput interface { + pulumi.Input + + ToExpressGatewayServiceNetworkConfigurationOutput() ExpressGatewayServiceNetworkConfigurationOutput + ToExpressGatewayServiceNetworkConfigurationOutputWithContext(context.Context) ExpressGatewayServiceNetworkConfigurationOutput +} + +type ExpressGatewayServiceNetworkConfigurationArgs struct { + // Security groups associated with the task. If not specified, the default security group for the VPC is used. + SecurityGroups pulumi.StringArrayInput `pulumi:"securityGroups"` + // Subnets associated with the task. At least 2 subnets must be specified when using network configuration. If not specified, default subnets will be used. + Subnets pulumi.StringArrayInput `pulumi:"subnets"` +} + +func (ExpressGatewayServiceNetworkConfigurationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ExpressGatewayServiceNetworkConfiguration)(nil)).Elem() +} + +func (i ExpressGatewayServiceNetworkConfigurationArgs) ToExpressGatewayServiceNetworkConfigurationOutput() ExpressGatewayServiceNetworkConfigurationOutput { + return i.ToExpressGatewayServiceNetworkConfigurationOutputWithContext(context.Background()) +} + +func (i ExpressGatewayServiceNetworkConfigurationArgs) ToExpressGatewayServiceNetworkConfigurationOutputWithContext(ctx context.Context) ExpressGatewayServiceNetworkConfigurationOutput { + return pulumi.ToOutputWithContext(ctx, i).(ExpressGatewayServiceNetworkConfigurationOutput) +} + +// ExpressGatewayServiceNetworkConfigurationArrayInput is an input type that accepts ExpressGatewayServiceNetworkConfigurationArray and ExpressGatewayServiceNetworkConfigurationArrayOutput values. +// You can construct a concrete instance of `ExpressGatewayServiceNetworkConfigurationArrayInput` via: +// +// ExpressGatewayServiceNetworkConfigurationArray{ ExpressGatewayServiceNetworkConfigurationArgs{...} } +type ExpressGatewayServiceNetworkConfigurationArrayInput interface { + pulumi.Input + + ToExpressGatewayServiceNetworkConfigurationArrayOutput() ExpressGatewayServiceNetworkConfigurationArrayOutput + ToExpressGatewayServiceNetworkConfigurationArrayOutputWithContext(context.Context) ExpressGatewayServiceNetworkConfigurationArrayOutput +} + +type ExpressGatewayServiceNetworkConfigurationArray []ExpressGatewayServiceNetworkConfigurationInput + +func (ExpressGatewayServiceNetworkConfigurationArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]ExpressGatewayServiceNetworkConfiguration)(nil)).Elem() +} + +func (i ExpressGatewayServiceNetworkConfigurationArray) ToExpressGatewayServiceNetworkConfigurationArrayOutput() ExpressGatewayServiceNetworkConfigurationArrayOutput { + return i.ToExpressGatewayServiceNetworkConfigurationArrayOutputWithContext(context.Background()) +} + +func (i ExpressGatewayServiceNetworkConfigurationArray) ToExpressGatewayServiceNetworkConfigurationArrayOutputWithContext(ctx context.Context) ExpressGatewayServiceNetworkConfigurationArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ExpressGatewayServiceNetworkConfigurationArrayOutput) +} + +type ExpressGatewayServiceNetworkConfigurationOutput struct{ *pulumi.OutputState } + +func (ExpressGatewayServiceNetworkConfigurationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ExpressGatewayServiceNetworkConfiguration)(nil)).Elem() +} + +func (o ExpressGatewayServiceNetworkConfigurationOutput) ToExpressGatewayServiceNetworkConfigurationOutput() ExpressGatewayServiceNetworkConfigurationOutput { + return o +} + +func (o ExpressGatewayServiceNetworkConfigurationOutput) ToExpressGatewayServiceNetworkConfigurationOutputWithContext(ctx context.Context) ExpressGatewayServiceNetworkConfigurationOutput { + return o +} + +// Security groups associated with the task. If not specified, the default security group for the VPC is used. +func (o ExpressGatewayServiceNetworkConfigurationOutput) SecurityGroups() pulumi.StringArrayOutput { + return o.ApplyT(func(v ExpressGatewayServiceNetworkConfiguration) []string { return v.SecurityGroups }).(pulumi.StringArrayOutput) +} + +// Subnets associated with the task. At least 2 subnets must be specified when using network configuration. If not specified, default subnets will be used. +func (o ExpressGatewayServiceNetworkConfigurationOutput) Subnets() pulumi.StringArrayOutput { + return o.ApplyT(func(v ExpressGatewayServiceNetworkConfiguration) []string { return v.Subnets }).(pulumi.StringArrayOutput) +} + +type ExpressGatewayServiceNetworkConfigurationArrayOutput struct{ *pulumi.OutputState } + +func (ExpressGatewayServiceNetworkConfigurationArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]ExpressGatewayServiceNetworkConfiguration)(nil)).Elem() +} + +func (o ExpressGatewayServiceNetworkConfigurationArrayOutput) ToExpressGatewayServiceNetworkConfigurationArrayOutput() ExpressGatewayServiceNetworkConfigurationArrayOutput { + return o +} + +func (o ExpressGatewayServiceNetworkConfigurationArrayOutput) ToExpressGatewayServiceNetworkConfigurationArrayOutputWithContext(ctx context.Context) ExpressGatewayServiceNetworkConfigurationArrayOutput { + return o +} + +func (o ExpressGatewayServiceNetworkConfigurationArrayOutput) Index(i pulumi.IntInput) ExpressGatewayServiceNetworkConfigurationOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) ExpressGatewayServiceNetworkConfiguration { + return vs[0].([]ExpressGatewayServiceNetworkConfiguration)[vs[1].(int)] + }).(ExpressGatewayServiceNetworkConfigurationOutput) +} + +type ExpressGatewayServicePrimaryContainer struct { + AwsLogsConfigurations []ExpressGatewayServicePrimaryContainerAwsLogsConfiguration `pulumi:"awsLogsConfigurations"` + // Command to run in the container. Overrides the default command from the Docker image. + Commands []string `pulumi:"commands"` + // Port on which the container listens for connections. + ContainerPort *int `pulumi:"containerPort"` + Environments []ExpressGatewayServicePrimaryContainerEnvironment `pulumi:"environments"` + // Docker image to use for the container. + Image string `pulumi:"image"` + RepositoryCredentials *ExpressGatewayServicePrimaryContainerRepositoryCredentials `pulumi:"repositoryCredentials"` + Secrets []ExpressGatewayServicePrimaryContainerSecret `pulumi:"secrets"` +} + +// ExpressGatewayServicePrimaryContainerInput is an input type that accepts ExpressGatewayServicePrimaryContainerArgs and ExpressGatewayServicePrimaryContainerOutput values. +// You can construct a concrete instance of `ExpressGatewayServicePrimaryContainerInput` via: +// +// ExpressGatewayServicePrimaryContainerArgs{...} +type ExpressGatewayServicePrimaryContainerInput interface { + pulumi.Input + + ToExpressGatewayServicePrimaryContainerOutput() ExpressGatewayServicePrimaryContainerOutput + ToExpressGatewayServicePrimaryContainerOutputWithContext(context.Context) ExpressGatewayServicePrimaryContainerOutput +} + +type ExpressGatewayServicePrimaryContainerArgs struct { + AwsLogsConfigurations ExpressGatewayServicePrimaryContainerAwsLogsConfigurationArrayInput `pulumi:"awsLogsConfigurations"` + // Command to run in the container. Overrides the default command from the Docker image. + Commands pulumi.StringArrayInput `pulumi:"commands"` + // Port on which the container listens for connections. + ContainerPort pulumi.IntPtrInput `pulumi:"containerPort"` + Environments ExpressGatewayServicePrimaryContainerEnvironmentArrayInput `pulumi:"environments"` + // Docker image to use for the container. + Image pulumi.StringInput `pulumi:"image"` + RepositoryCredentials ExpressGatewayServicePrimaryContainerRepositoryCredentialsPtrInput `pulumi:"repositoryCredentials"` + Secrets ExpressGatewayServicePrimaryContainerSecretArrayInput `pulumi:"secrets"` +} + +func (ExpressGatewayServicePrimaryContainerArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ExpressGatewayServicePrimaryContainer)(nil)).Elem() +} + +func (i ExpressGatewayServicePrimaryContainerArgs) ToExpressGatewayServicePrimaryContainerOutput() ExpressGatewayServicePrimaryContainerOutput { + return i.ToExpressGatewayServicePrimaryContainerOutputWithContext(context.Background()) +} + +func (i ExpressGatewayServicePrimaryContainerArgs) ToExpressGatewayServicePrimaryContainerOutputWithContext(ctx context.Context) ExpressGatewayServicePrimaryContainerOutput { + return pulumi.ToOutputWithContext(ctx, i).(ExpressGatewayServicePrimaryContainerOutput) +} + +func (i ExpressGatewayServicePrimaryContainerArgs) ToExpressGatewayServicePrimaryContainerPtrOutput() ExpressGatewayServicePrimaryContainerPtrOutput { + return i.ToExpressGatewayServicePrimaryContainerPtrOutputWithContext(context.Background()) +} + +func (i ExpressGatewayServicePrimaryContainerArgs) ToExpressGatewayServicePrimaryContainerPtrOutputWithContext(ctx context.Context) ExpressGatewayServicePrimaryContainerPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ExpressGatewayServicePrimaryContainerOutput).ToExpressGatewayServicePrimaryContainerPtrOutputWithContext(ctx) +} + +// ExpressGatewayServicePrimaryContainerPtrInput is an input type that accepts ExpressGatewayServicePrimaryContainerArgs, ExpressGatewayServicePrimaryContainerPtr and ExpressGatewayServicePrimaryContainerPtrOutput values. +// You can construct a concrete instance of `ExpressGatewayServicePrimaryContainerPtrInput` via: +// +// ExpressGatewayServicePrimaryContainerArgs{...} +// +// or: +// +// nil +type ExpressGatewayServicePrimaryContainerPtrInput interface { + pulumi.Input + + ToExpressGatewayServicePrimaryContainerPtrOutput() ExpressGatewayServicePrimaryContainerPtrOutput + ToExpressGatewayServicePrimaryContainerPtrOutputWithContext(context.Context) ExpressGatewayServicePrimaryContainerPtrOutput +} + +type expressGatewayServicePrimaryContainerPtrType ExpressGatewayServicePrimaryContainerArgs + +func ExpressGatewayServicePrimaryContainerPtr(v *ExpressGatewayServicePrimaryContainerArgs) ExpressGatewayServicePrimaryContainerPtrInput { + return (*expressGatewayServicePrimaryContainerPtrType)(v) +} + +func (*expressGatewayServicePrimaryContainerPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**ExpressGatewayServicePrimaryContainer)(nil)).Elem() +} + +func (i *expressGatewayServicePrimaryContainerPtrType) ToExpressGatewayServicePrimaryContainerPtrOutput() ExpressGatewayServicePrimaryContainerPtrOutput { + return i.ToExpressGatewayServicePrimaryContainerPtrOutputWithContext(context.Background()) +} + +func (i *expressGatewayServicePrimaryContainerPtrType) ToExpressGatewayServicePrimaryContainerPtrOutputWithContext(ctx context.Context) ExpressGatewayServicePrimaryContainerPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ExpressGatewayServicePrimaryContainerPtrOutput) +} + +type ExpressGatewayServicePrimaryContainerOutput struct{ *pulumi.OutputState } + +func (ExpressGatewayServicePrimaryContainerOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ExpressGatewayServicePrimaryContainer)(nil)).Elem() +} + +func (o ExpressGatewayServicePrimaryContainerOutput) ToExpressGatewayServicePrimaryContainerOutput() ExpressGatewayServicePrimaryContainerOutput { + return o +} + +func (o ExpressGatewayServicePrimaryContainerOutput) ToExpressGatewayServicePrimaryContainerOutputWithContext(ctx context.Context) ExpressGatewayServicePrimaryContainerOutput { + return o +} + +func (o ExpressGatewayServicePrimaryContainerOutput) ToExpressGatewayServicePrimaryContainerPtrOutput() ExpressGatewayServicePrimaryContainerPtrOutput { + return o.ToExpressGatewayServicePrimaryContainerPtrOutputWithContext(context.Background()) +} + +func (o ExpressGatewayServicePrimaryContainerOutput) ToExpressGatewayServicePrimaryContainerPtrOutputWithContext(ctx context.Context) ExpressGatewayServicePrimaryContainerPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v ExpressGatewayServicePrimaryContainer) *ExpressGatewayServicePrimaryContainer { + return &v + }).(ExpressGatewayServicePrimaryContainerPtrOutput) +} + +func (o ExpressGatewayServicePrimaryContainerOutput) AwsLogsConfigurations() ExpressGatewayServicePrimaryContainerAwsLogsConfigurationArrayOutput { + return o.ApplyT(func(v ExpressGatewayServicePrimaryContainer) []ExpressGatewayServicePrimaryContainerAwsLogsConfiguration { + return v.AwsLogsConfigurations + }).(ExpressGatewayServicePrimaryContainerAwsLogsConfigurationArrayOutput) +} + +// Command to run in the container. Overrides the default command from the Docker image. +func (o ExpressGatewayServicePrimaryContainerOutput) Commands() pulumi.StringArrayOutput { + return o.ApplyT(func(v ExpressGatewayServicePrimaryContainer) []string { return v.Commands }).(pulumi.StringArrayOutput) +} + +// Port on which the container listens for connections. +func (o ExpressGatewayServicePrimaryContainerOutput) ContainerPort() pulumi.IntPtrOutput { + return o.ApplyT(func(v ExpressGatewayServicePrimaryContainer) *int { return v.ContainerPort }).(pulumi.IntPtrOutput) +} + +func (o ExpressGatewayServicePrimaryContainerOutput) Environments() ExpressGatewayServicePrimaryContainerEnvironmentArrayOutput { + return o.ApplyT(func(v ExpressGatewayServicePrimaryContainer) []ExpressGatewayServicePrimaryContainerEnvironment { + return v.Environments + }).(ExpressGatewayServicePrimaryContainerEnvironmentArrayOutput) +} + +// Docker image to use for the container. +func (o ExpressGatewayServicePrimaryContainerOutput) Image() pulumi.StringOutput { + return o.ApplyT(func(v ExpressGatewayServicePrimaryContainer) string { return v.Image }).(pulumi.StringOutput) +} + +func (o ExpressGatewayServicePrimaryContainerOutput) RepositoryCredentials() ExpressGatewayServicePrimaryContainerRepositoryCredentialsPtrOutput { + return o.ApplyT(func(v ExpressGatewayServicePrimaryContainer) *ExpressGatewayServicePrimaryContainerRepositoryCredentials { + return v.RepositoryCredentials + }).(ExpressGatewayServicePrimaryContainerRepositoryCredentialsPtrOutput) +} + +func (o ExpressGatewayServicePrimaryContainerOutput) Secrets() ExpressGatewayServicePrimaryContainerSecretArrayOutput { + return o.ApplyT(func(v ExpressGatewayServicePrimaryContainer) []ExpressGatewayServicePrimaryContainerSecret { + return v.Secrets + }).(ExpressGatewayServicePrimaryContainerSecretArrayOutput) +} + +type ExpressGatewayServicePrimaryContainerPtrOutput struct{ *pulumi.OutputState } + +func (ExpressGatewayServicePrimaryContainerPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ExpressGatewayServicePrimaryContainer)(nil)).Elem() +} + +func (o ExpressGatewayServicePrimaryContainerPtrOutput) ToExpressGatewayServicePrimaryContainerPtrOutput() ExpressGatewayServicePrimaryContainerPtrOutput { + return o +} + +func (o ExpressGatewayServicePrimaryContainerPtrOutput) ToExpressGatewayServicePrimaryContainerPtrOutputWithContext(ctx context.Context) ExpressGatewayServicePrimaryContainerPtrOutput { + return o +} + +func (o ExpressGatewayServicePrimaryContainerPtrOutput) Elem() ExpressGatewayServicePrimaryContainerOutput { + return o.ApplyT(func(v *ExpressGatewayServicePrimaryContainer) ExpressGatewayServicePrimaryContainer { + if v != nil { + return *v + } + var ret ExpressGatewayServicePrimaryContainer + return ret + }).(ExpressGatewayServicePrimaryContainerOutput) +} + +func (o ExpressGatewayServicePrimaryContainerPtrOutput) AwsLogsConfigurations() ExpressGatewayServicePrimaryContainerAwsLogsConfigurationArrayOutput { + return o.ApplyT(func(v *ExpressGatewayServicePrimaryContainer) []ExpressGatewayServicePrimaryContainerAwsLogsConfiguration { + if v == nil { + return nil + } + return v.AwsLogsConfigurations + }).(ExpressGatewayServicePrimaryContainerAwsLogsConfigurationArrayOutput) +} + +// Command to run in the container. Overrides the default command from the Docker image. +func (o ExpressGatewayServicePrimaryContainerPtrOutput) Commands() pulumi.StringArrayOutput { + return o.ApplyT(func(v *ExpressGatewayServicePrimaryContainer) []string { + if v == nil { + return nil + } + return v.Commands + }).(pulumi.StringArrayOutput) +} + +// Port on which the container listens for connections. +func (o ExpressGatewayServicePrimaryContainerPtrOutput) ContainerPort() pulumi.IntPtrOutput { + return o.ApplyT(func(v *ExpressGatewayServicePrimaryContainer) *int { + if v == nil { + return nil + } + return v.ContainerPort + }).(pulumi.IntPtrOutput) +} + +func (o ExpressGatewayServicePrimaryContainerPtrOutput) Environments() ExpressGatewayServicePrimaryContainerEnvironmentArrayOutput { + return o.ApplyT(func(v *ExpressGatewayServicePrimaryContainer) []ExpressGatewayServicePrimaryContainerEnvironment { + if v == nil { + return nil + } + return v.Environments + }).(ExpressGatewayServicePrimaryContainerEnvironmentArrayOutput) +} + +// Docker image to use for the container. +func (o ExpressGatewayServicePrimaryContainerPtrOutput) Image() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ExpressGatewayServicePrimaryContainer) *string { + if v == nil { + return nil + } + return &v.Image + }).(pulumi.StringPtrOutput) +} + +func (o ExpressGatewayServicePrimaryContainerPtrOutput) RepositoryCredentials() ExpressGatewayServicePrimaryContainerRepositoryCredentialsPtrOutput { + return o.ApplyT(func(v *ExpressGatewayServicePrimaryContainer) *ExpressGatewayServicePrimaryContainerRepositoryCredentials { + if v == nil { + return nil + } + return v.RepositoryCredentials + }).(ExpressGatewayServicePrimaryContainerRepositoryCredentialsPtrOutput) +} + +func (o ExpressGatewayServicePrimaryContainerPtrOutput) Secrets() ExpressGatewayServicePrimaryContainerSecretArrayOutput { + return o.ApplyT(func(v *ExpressGatewayServicePrimaryContainer) []ExpressGatewayServicePrimaryContainerSecret { + if v == nil { + return nil + } + return v.Secrets + }).(ExpressGatewayServicePrimaryContainerSecretArrayOutput) +} + +type ExpressGatewayServicePrimaryContainerAwsLogsConfiguration struct { + // CloudWatch log group name. + LogGroup string `pulumi:"logGroup"` + // Prefix for log stream names. If not specified, a default prefix will be used. + LogStreamPrefix string `pulumi:"logStreamPrefix"` +} + +// ExpressGatewayServicePrimaryContainerAwsLogsConfigurationInput is an input type that accepts ExpressGatewayServicePrimaryContainerAwsLogsConfigurationArgs and ExpressGatewayServicePrimaryContainerAwsLogsConfigurationOutput values. +// You can construct a concrete instance of `ExpressGatewayServicePrimaryContainerAwsLogsConfigurationInput` via: +// +// ExpressGatewayServicePrimaryContainerAwsLogsConfigurationArgs{...} +type ExpressGatewayServicePrimaryContainerAwsLogsConfigurationInput interface { + pulumi.Input + + ToExpressGatewayServicePrimaryContainerAwsLogsConfigurationOutput() ExpressGatewayServicePrimaryContainerAwsLogsConfigurationOutput + ToExpressGatewayServicePrimaryContainerAwsLogsConfigurationOutputWithContext(context.Context) ExpressGatewayServicePrimaryContainerAwsLogsConfigurationOutput +} + +type ExpressGatewayServicePrimaryContainerAwsLogsConfigurationArgs struct { + // CloudWatch log group name. + LogGroup pulumi.StringInput `pulumi:"logGroup"` + // Prefix for log stream names. If not specified, a default prefix will be used. + LogStreamPrefix pulumi.StringInput `pulumi:"logStreamPrefix"` +} + +func (ExpressGatewayServicePrimaryContainerAwsLogsConfigurationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ExpressGatewayServicePrimaryContainerAwsLogsConfiguration)(nil)).Elem() +} + +func (i ExpressGatewayServicePrimaryContainerAwsLogsConfigurationArgs) ToExpressGatewayServicePrimaryContainerAwsLogsConfigurationOutput() ExpressGatewayServicePrimaryContainerAwsLogsConfigurationOutput { + return i.ToExpressGatewayServicePrimaryContainerAwsLogsConfigurationOutputWithContext(context.Background()) +} + +func (i ExpressGatewayServicePrimaryContainerAwsLogsConfigurationArgs) ToExpressGatewayServicePrimaryContainerAwsLogsConfigurationOutputWithContext(ctx context.Context) ExpressGatewayServicePrimaryContainerAwsLogsConfigurationOutput { + return pulumi.ToOutputWithContext(ctx, i).(ExpressGatewayServicePrimaryContainerAwsLogsConfigurationOutput) +} + +// ExpressGatewayServicePrimaryContainerAwsLogsConfigurationArrayInput is an input type that accepts ExpressGatewayServicePrimaryContainerAwsLogsConfigurationArray and ExpressGatewayServicePrimaryContainerAwsLogsConfigurationArrayOutput values. +// You can construct a concrete instance of `ExpressGatewayServicePrimaryContainerAwsLogsConfigurationArrayInput` via: +// +// ExpressGatewayServicePrimaryContainerAwsLogsConfigurationArray{ ExpressGatewayServicePrimaryContainerAwsLogsConfigurationArgs{...} } +type ExpressGatewayServicePrimaryContainerAwsLogsConfigurationArrayInput interface { + pulumi.Input + + ToExpressGatewayServicePrimaryContainerAwsLogsConfigurationArrayOutput() ExpressGatewayServicePrimaryContainerAwsLogsConfigurationArrayOutput + ToExpressGatewayServicePrimaryContainerAwsLogsConfigurationArrayOutputWithContext(context.Context) ExpressGatewayServicePrimaryContainerAwsLogsConfigurationArrayOutput +} + +type ExpressGatewayServicePrimaryContainerAwsLogsConfigurationArray []ExpressGatewayServicePrimaryContainerAwsLogsConfigurationInput + +func (ExpressGatewayServicePrimaryContainerAwsLogsConfigurationArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]ExpressGatewayServicePrimaryContainerAwsLogsConfiguration)(nil)).Elem() +} + +func (i ExpressGatewayServicePrimaryContainerAwsLogsConfigurationArray) ToExpressGatewayServicePrimaryContainerAwsLogsConfigurationArrayOutput() ExpressGatewayServicePrimaryContainerAwsLogsConfigurationArrayOutput { + return i.ToExpressGatewayServicePrimaryContainerAwsLogsConfigurationArrayOutputWithContext(context.Background()) +} + +func (i ExpressGatewayServicePrimaryContainerAwsLogsConfigurationArray) ToExpressGatewayServicePrimaryContainerAwsLogsConfigurationArrayOutputWithContext(ctx context.Context) ExpressGatewayServicePrimaryContainerAwsLogsConfigurationArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ExpressGatewayServicePrimaryContainerAwsLogsConfigurationArrayOutput) +} + +type ExpressGatewayServicePrimaryContainerAwsLogsConfigurationOutput struct{ *pulumi.OutputState } + +func (ExpressGatewayServicePrimaryContainerAwsLogsConfigurationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ExpressGatewayServicePrimaryContainerAwsLogsConfiguration)(nil)).Elem() +} + +func (o ExpressGatewayServicePrimaryContainerAwsLogsConfigurationOutput) ToExpressGatewayServicePrimaryContainerAwsLogsConfigurationOutput() ExpressGatewayServicePrimaryContainerAwsLogsConfigurationOutput { + return o +} + +func (o ExpressGatewayServicePrimaryContainerAwsLogsConfigurationOutput) ToExpressGatewayServicePrimaryContainerAwsLogsConfigurationOutputWithContext(ctx context.Context) ExpressGatewayServicePrimaryContainerAwsLogsConfigurationOutput { + return o +} + +// CloudWatch log group name. +func (o ExpressGatewayServicePrimaryContainerAwsLogsConfigurationOutput) LogGroup() pulumi.StringOutput { + return o.ApplyT(func(v ExpressGatewayServicePrimaryContainerAwsLogsConfiguration) string { return v.LogGroup }).(pulumi.StringOutput) +} + +// Prefix for log stream names. If not specified, a default prefix will be used. +func (o ExpressGatewayServicePrimaryContainerAwsLogsConfigurationOutput) LogStreamPrefix() pulumi.StringOutput { + return o.ApplyT(func(v ExpressGatewayServicePrimaryContainerAwsLogsConfiguration) string { return v.LogStreamPrefix }).(pulumi.StringOutput) +} + +type ExpressGatewayServicePrimaryContainerAwsLogsConfigurationArrayOutput struct{ *pulumi.OutputState } + +func (ExpressGatewayServicePrimaryContainerAwsLogsConfigurationArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]ExpressGatewayServicePrimaryContainerAwsLogsConfiguration)(nil)).Elem() +} + +func (o ExpressGatewayServicePrimaryContainerAwsLogsConfigurationArrayOutput) ToExpressGatewayServicePrimaryContainerAwsLogsConfigurationArrayOutput() ExpressGatewayServicePrimaryContainerAwsLogsConfigurationArrayOutput { + return o +} + +func (o ExpressGatewayServicePrimaryContainerAwsLogsConfigurationArrayOutput) ToExpressGatewayServicePrimaryContainerAwsLogsConfigurationArrayOutputWithContext(ctx context.Context) ExpressGatewayServicePrimaryContainerAwsLogsConfigurationArrayOutput { + return o +} + +func (o ExpressGatewayServicePrimaryContainerAwsLogsConfigurationArrayOutput) Index(i pulumi.IntInput) ExpressGatewayServicePrimaryContainerAwsLogsConfigurationOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) ExpressGatewayServicePrimaryContainerAwsLogsConfiguration { + return vs[0].([]ExpressGatewayServicePrimaryContainerAwsLogsConfiguration)[vs[1].(int)] + }).(ExpressGatewayServicePrimaryContainerAwsLogsConfigurationOutput) +} + +type ExpressGatewayServicePrimaryContainerEnvironment struct { + // Name of the environment variable. + Name string `pulumi:"name"` + // Value of the environment variable. + Value string `pulumi:"value"` +} + +// ExpressGatewayServicePrimaryContainerEnvironmentInput is an input type that accepts ExpressGatewayServicePrimaryContainerEnvironmentArgs and ExpressGatewayServicePrimaryContainerEnvironmentOutput values. +// You can construct a concrete instance of `ExpressGatewayServicePrimaryContainerEnvironmentInput` via: +// +// ExpressGatewayServicePrimaryContainerEnvironmentArgs{...} +type ExpressGatewayServicePrimaryContainerEnvironmentInput interface { + pulumi.Input + + ToExpressGatewayServicePrimaryContainerEnvironmentOutput() ExpressGatewayServicePrimaryContainerEnvironmentOutput + ToExpressGatewayServicePrimaryContainerEnvironmentOutputWithContext(context.Context) ExpressGatewayServicePrimaryContainerEnvironmentOutput +} + +type ExpressGatewayServicePrimaryContainerEnvironmentArgs struct { + // Name of the environment variable. + Name pulumi.StringInput `pulumi:"name"` + // Value of the environment variable. + Value pulumi.StringInput `pulumi:"value"` +} + +func (ExpressGatewayServicePrimaryContainerEnvironmentArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ExpressGatewayServicePrimaryContainerEnvironment)(nil)).Elem() +} + +func (i ExpressGatewayServicePrimaryContainerEnvironmentArgs) ToExpressGatewayServicePrimaryContainerEnvironmentOutput() ExpressGatewayServicePrimaryContainerEnvironmentOutput { + return i.ToExpressGatewayServicePrimaryContainerEnvironmentOutputWithContext(context.Background()) +} + +func (i ExpressGatewayServicePrimaryContainerEnvironmentArgs) ToExpressGatewayServicePrimaryContainerEnvironmentOutputWithContext(ctx context.Context) ExpressGatewayServicePrimaryContainerEnvironmentOutput { + return pulumi.ToOutputWithContext(ctx, i).(ExpressGatewayServicePrimaryContainerEnvironmentOutput) +} + +// ExpressGatewayServicePrimaryContainerEnvironmentArrayInput is an input type that accepts ExpressGatewayServicePrimaryContainerEnvironmentArray and ExpressGatewayServicePrimaryContainerEnvironmentArrayOutput values. +// You can construct a concrete instance of `ExpressGatewayServicePrimaryContainerEnvironmentArrayInput` via: +// +// ExpressGatewayServicePrimaryContainerEnvironmentArray{ ExpressGatewayServicePrimaryContainerEnvironmentArgs{...} } +type ExpressGatewayServicePrimaryContainerEnvironmentArrayInput interface { + pulumi.Input + + ToExpressGatewayServicePrimaryContainerEnvironmentArrayOutput() ExpressGatewayServicePrimaryContainerEnvironmentArrayOutput + ToExpressGatewayServicePrimaryContainerEnvironmentArrayOutputWithContext(context.Context) ExpressGatewayServicePrimaryContainerEnvironmentArrayOutput +} + +type ExpressGatewayServicePrimaryContainerEnvironmentArray []ExpressGatewayServicePrimaryContainerEnvironmentInput + +func (ExpressGatewayServicePrimaryContainerEnvironmentArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]ExpressGatewayServicePrimaryContainerEnvironment)(nil)).Elem() +} + +func (i ExpressGatewayServicePrimaryContainerEnvironmentArray) ToExpressGatewayServicePrimaryContainerEnvironmentArrayOutput() ExpressGatewayServicePrimaryContainerEnvironmentArrayOutput { + return i.ToExpressGatewayServicePrimaryContainerEnvironmentArrayOutputWithContext(context.Background()) +} + +func (i ExpressGatewayServicePrimaryContainerEnvironmentArray) ToExpressGatewayServicePrimaryContainerEnvironmentArrayOutputWithContext(ctx context.Context) ExpressGatewayServicePrimaryContainerEnvironmentArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ExpressGatewayServicePrimaryContainerEnvironmentArrayOutput) +} + +type ExpressGatewayServicePrimaryContainerEnvironmentOutput struct{ *pulumi.OutputState } + +func (ExpressGatewayServicePrimaryContainerEnvironmentOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ExpressGatewayServicePrimaryContainerEnvironment)(nil)).Elem() +} + +func (o ExpressGatewayServicePrimaryContainerEnvironmentOutput) ToExpressGatewayServicePrimaryContainerEnvironmentOutput() ExpressGatewayServicePrimaryContainerEnvironmentOutput { + return o +} + +func (o ExpressGatewayServicePrimaryContainerEnvironmentOutput) ToExpressGatewayServicePrimaryContainerEnvironmentOutputWithContext(ctx context.Context) ExpressGatewayServicePrimaryContainerEnvironmentOutput { + return o +} + +// Name of the environment variable. +func (o ExpressGatewayServicePrimaryContainerEnvironmentOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v ExpressGatewayServicePrimaryContainerEnvironment) string { return v.Name }).(pulumi.StringOutput) +} + +// Value of the environment variable. +func (o ExpressGatewayServicePrimaryContainerEnvironmentOutput) Value() pulumi.StringOutput { + return o.ApplyT(func(v ExpressGatewayServicePrimaryContainerEnvironment) string { return v.Value }).(pulumi.StringOutput) +} + +type ExpressGatewayServicePrimaryContainerEnvironmentArrayOutput struct{ *pulumi.OutputState } + +func (ExpressGatewayServicePrimaryContainerEnvironmentArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]ExpressGatewayServicePrimaryContainerEnvironment)(nil)).Elem() +} + +func (o ExpressGatewayServicePrimaryContainerEnvironmentArrayOutput) ToExpressGatewayServicePrimaryContainerEnvironmentArrayOutput() ExpressGatewayServicePrimaryContainerEnvironmentArrayOutput { + return o +} + +func (o ExpressGatewayServicePrimaryContainerEnvironmentArrayOutput) ToExpressGatewayServicePrimaryContainerEnvironmentArrayOutputWithContext(ctx context.Context) ExpressGatewayServicePrimaryContainerEnvironmentArrayOutput { + return o +} + +func (o ExpressGatewayServicePrimaryContainerEnvironmentArrayOutput) Index(i pulumi.IntInput) ExpressGatewayServicePrimaryContainerEnvironmentOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) ExpressGatewayServicePrimaryContainerEnvironment { + return vs[0].([]ExpressGatewayServicePrimaryContainerEnvironment)[vs[1].(int)] + }).(ExpressGatewayServicePrimaryContainerEnvironmentOutput) +} + +type ExpressGatewayServicePrimaryContainerRepositoryCredentials struct { + // ARN of the AWS Systems Manager parameter containing the repository credentials. + CredentialsParameter string `pulumi:"credentialsParameter"` +} + +// ExpressGatewayServicePrimaryContainerRepositoryCredentialsInput is an input type that accepts ExpressGatewayServicePrimaryContainerRepositoryCredentialsArgs and ExpressGatewayServicePrimaryContainerRepositoryCredentialsOutput values. +// You can construct a concrete instance of `ExpressGatewayServicePrimaryContainerRepositoryCredentialsInput` via: +// +// ExpressGatewayServicePrimaryContainerRepositoryCredentialsArgs{...} +type ExpressGatewayServicePrimaryContainerRepositoryCredentialsInput interface { + pulumi.Input + + ToExpressGatewayServicePrimaryContainerRepositoryCredentialsOutput() ExpressGatewayServicePrimaryContainerRepositoryCredentialsOutput + ToExpressGatewayServicePrimaryContainerRepositoryCredentialsOutputWithContext(context.Context) ExpressGatewayServicePrimaryContainerRepositoryCredentialsOutput +} + +type ExpressGatewayServicePrimaryContainerRepositoryCredentialsArgs struct { + // ARN of the AWS Systems Manager parameter containing the repository credentials. + CredentialsParameter pulumi.StringInput `pulumi:"credentialsParameter"` +} + +func (ExpressGatewayServicePrimaryContainerRepositoryCredentialsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ExpressGatewayServicePrimaryContainerRepositoryCredentials)(nil)).Elem() +} + +func (i ExpressGatewayServicePrimaryContainerRepositoryCredentialsArgs) ToExpressGatewayServicePrimaryContainerRepositoryCredentialsOutput() ExpressGatewayServicePrimaryContainerRepositoryCredentialsOutput { + return i.ToExpressGatewayServicePrimaryContainerRepositoryCredentialsOutputWithContext(context.Background()) +} + +func (i ExpressGatewayServicePrimaryContainerRepositoryCredentialsArgs) ToExpressGatewayServicePrimaryContainerRepositoryCredentialsOutputWithContext(ctx context.Context) ExpressGatewayServicePrimaryContainerRepositoryCredentialsOutput { + return pulumi.ToOutputWithContext(ctx, i).(ExpressGatewayServicePrimaryContainerRepositoryCredentialsOutput) +} + +func (i ExpressGatewayServicePrimaryContainerRepositoryCredentialsArgs) ToExpressGatewayServicePrimaryContainerRepositoryCredentialsPtrOutput() ExpressGatewayServicePrimaryContainerRepositoryCredentialsPtrOutput { + return i.ToExpressGatewayServicePrimaryContainerRepositoryCredentialsPtrOutputWithContext(context.Background()) +} + +func (i ExpressGatewayServicePrimaryContainerRepositoryCredentialsArgs) ToExpressGatewayServicePrimaryContainerRepositoryCredentialsPtrOutputWithContext(ctx context.Context) ExpressGatewayServicePrimaryContainerRepositoryCredentialsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ExpressGatewayServicePrimaryContainerRepositoryCredentialsOutput).ToExpressGatewayServicePrimaryContainerRepositoryCredentialsPtrOutputWithContext(ctx) +} + +// ExpressGatewayServicePrimaryContainerRepositoryCredentialsPtrInput is an input type that accepts ExpressGatewayServicePrimaryContainerRepositoryCredentialsArgs, ExpressGatewayServicePrimaryContainerRepositoryCredentialsPtr and ExpressGatewayServicePrimaryContainerRepositoryCredentialsPtrOutput values. +// You can construct a concrete instance of `ExpressGatewayServicePrimaryContainerRepositoryCredentialsPtrInput` via: +// +// ExpressGatewayServicePrimaryContainerRepositoryCredentialsArgs{...} +// +// or: +// +// nil +type ExpressGatewayServicePrimaryContainerRepositoryCredentialsPtrInput interface { + pulumi.Input + + ToExpressGatewayServicePrimaryContainerRepositoryCredentialsPtrOutput() ExpressGatewayServicePrimaryContainerRepositoryCredentialsPtrOutput + ToExpressGatewayServicePrimaryContainerRepositoryCredentialsPtrOutputWithContext(context.Context) ExpressGatewayServicePrimaryContainerRepositoryCredentialsPtrOutput +} + +type expressGatewayServicePrimaryContainerRepositoryCredentialsPtrType ExpressGatewayServicePrimaryContainerRepositoryCredentialsArgs + +func ExpressGatewayServicePrimaryContainerRepositoryCredentialsPtr(v *ExpressGatewayServicePrimaryContainerRepositoryCredentialsArgs) ExpressGatewayServicePrimaryContainerRepositoryCredentialsPtrInput { + return (*expressGatewayServicePrimaryContainerRepositoryCredentialsPtrType)(v) +} + +func (*expressGatewayServicePrimaryContainerRepositoryCredentialsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**ExpressGatewayServicePrimaryContainerRepositoryCredentials)(nil)).Elem() +} + +func (i *expressGatewayServicePrimaryContainerRepositoryCredentialsPtrType) ToExpressGatewayServicePrimaryContainerRepositoryCredentialsPtrOutput() ExpressGatewayServicePrimaryContainerRepositoryCredentialsPtrOutput { + return i.ToExpressGatewayServicePrimaryContainerRepositoryCredentialsPtrOutputWithContext(context.Background()) +} + +func (i *expressGatewayServicePrimaryContainerRepositoryCredentialsPtrType) ToExpressGatewayServicePrimaryContainerRepositoryCredentialsPtrOutputWithContext(ctx context.Context) ExpressGatewayServicePrimaryContainerRepositoryCredentialsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ExpressGatewayServicePrimaryContainerRepositoryCredentialsPtrOutput) +} + +type ExpressGatewayServicePrimaryContainerRepositoryCredentialsOutput struct{ *pulumi.OutputState } + +func (ExpressGatewayServicePrimaryContainerRepositoryCredentialsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ExpressGatewayServicePrimaryContainerRepositoryCredentials)(nil)).Elem() +} + +func (o ExpressGatewayServicePrimaryContainerRepositoryCredentialsOutput) ToExpressGatewayServicePrimaryContainerRepositoryCredentialsOutput() ExpressGatewayServicePrimaryContainerRepositoryCredentialsOutput { + return o +} + +func (o ExpressGatewayServicePrimaryContainerRepositoryCredentialsOutput) ToExpressGatewayServicePrimaryContainerRepositoryCredentialsOutputWithContext(ctx context.Context) ExpressGatewayServicePrimaryContainerRepositoryCredentialsOutput { + return o +} + +func (o ExpressGatewayServicePrimaryContainerRepositoryCredentialsOutput) ToExpressGatewayServicePrimaryContainerRepositoryCredentialsPtrOutput() ExpressGatewayServicePrimaryContainerRepositoryCredentialsPtrOutput { + return o.ToExpressGatewayServicePrimaryContainerRepositoryCredentialsPtrOutputWithContext(context.Background()) +} + +func (o ExpressGatewayServicePrimaryContainerRepositoryCredentialsOutput) ToExpressGatewayServicePrimaryContainerRepositoryCredentialsPtrOutputWithContext(ctx context.Context) ExpressGatewayServicePrimaryContainerRepositoryCredentialsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v ExpressGatewayServicePrimaryContainerRepositoryCredentials) *ExpressGatewayServicePrimaryContainerRepositoryCredentials { + return &v + }).(ExpressGatewayServicePrimaryContainerRepositoryCredentialsPtrOutput) +} + +// ARN of the AWS Systems Manager parameter containing the repository credentials. +func (o ExpressGatewayServicePrimaryContainerRepositoryCredentialsOutput) CredentialsParameter() pulumi.StringOutput { + return o.ApplyT(func(v ExpressGatewayServicePrimaryContainerRepositoryCredentials) string { + return v.CredentialsParameter + }).(pulumi.StringOutput) +} + +type ExpressGatewayServicePrimaryContainerRepositoryCredentialsPtrOutput struct{ *pulumi.OutputState } + +func (ExpressGatewayServicePrimaryContainerRepositoryCredentialsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ExpressGatewayServicePrimaryContainerRepositoryCredentials)(nil)).Elem() +} + +func (o ExpressGatewayServicePrimaryContainerRepositoryCredentialsPtrOutput) ToExpressGatewayServicePrimaryContainerRepositoryCredentialsPtrOutput() ExpressGatewayServicePrimaryContainerRepositoryCredentialsPtrOutput { + return o +} + +func (o ExpressGatewayServicePrimaryContainerRepositoryCredentialsPtrOutput) ToExpressGatewayServicePrimaryContainerRepositoryCredentialsPtrOutputWithContext(ctx context.Context) ExpressGatewayServicePrimaryContainerRepositoryCredentialsPtrOutput { + return o +} + +func (o ExpressGatewayServicePrimaryContainerRepositoryCredentialsPtrOutput) Elem() ExpressGatewayServicePrimaryContainerRepositoryCredentialsOutput { + return o.ApplyT(func(v *ExpressGatewayServicePrimaryContainerRepositoryCredentials) ExpressGatewayServicePrimaryContainerRepositoryCredentials { + if v != nil { + return *v + } + var ret ExpressGatewayServicePrimaryContainerRepositoryCredentials + return ret + }).(ExpressGatewayServicePrimaryContainerRepositoryCredentialsOutput) +} + +// ARN of the AWS Systems Manager parameter containing the repository credentials. +func (o ExpressGatewayServicePrimaryContainerRepositoryCredentialsPtrOutput) CredentialsParameter() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ExpressGatewayServicePrimaryContainerRepositoryCredentials) *string { + if v == nil { + return nil + } + return &v.CredentialsParameter + }).(pulumi.StringPtrOutput) +} + +type ExpressGatewayServicePrimaryContainerSecret struct { + Name string `pulumi:"name"` + // ARN of the AWS Secrets Manager secret or AWS Systems Manager parameter containing the secret value. + ValueFrom string `pulumi:"valueFrom"` +} + +// ExpressGatewayServicePrimaryContainerSecretInput is an input type that accepts ExpressGatewayServicePrimaryContainerSecretArgs and ExpressGatewayServicePrimaryContainerSecretOutput values. +// You can construct a concrete instance of `ExpressGatewayServicePrimaryContainerSecretInput` via: +// +// ExpressGatewayServicePrimaryContainerSecretArgs{...} +type ExpressGatewayServicePrimaryContainerSecretInput interface { + pulumi.Input + + ToExpressGatewayServicePrimaryContainerSecretOutput() ExpressGatewayServicePrimaryContainerSecretOutput + ToExpressGatewayServicePrimaryContainerSecretOutputWithContext(context.Context) ExpressGatewayServicePrimaryContainerSecretOutput +} + +type ExpressGatewayServicePrimaryContainerSecretArgs struct { + Name pulumi.StringInput `pulumi:"name"` + // ARN of the AWS Secrets Manager secret or AWS Systems Manager parameter containing the secret value. + ValueFrom pulumi.StringInput `pulumi:"valueFrom"` +} + +func (ExpressGatewayServicePrimaryContainerSecretArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ExpressGatewayServicePrimaryContainerSecret)(nil)).Elem() +} + +func (i ExpressGatewayServicePrimaryContainerSecretArgs) ToExpressGatewayServicePrimaryContainerSecretOutput() ExpressGatewayServicePrimaryContainerSecretOutput { + return i.ToExpressGatewayServicePrimaryContainerSecretOutputWithContext(context.Background()) +} + +func (i ExpressGatewayServicePrimaryContainerSecretArgs) ToExpressGatewayServicePrimaryContainerSecretOutputWithContext(ctx context.Context) ExpressGatewayServicePrimaryContainerSecretOutput { + return pulumi.ToOutputWithContext(ctx, i).(ExpressGatewayServicePrimaryContainerSecretOutput) +} + +// ExpressGatewayServicePrimaryContainerSecretArrayInput is an input type that accepts ExpressGatewayServicePrimaryContainerSecretArray and ExpressGatewayServicePrimaryContainerSecretArrayOutput values. +// You can construct a concrete instance of `ExpressGatewayServicePrimaryContainerSecretArrayInput` via: +// +// ExpressGatewayServicePrimaryContainerSecretArray{ ExpressGatewayServicePrimaryContainerSecretArgs{...} } +type ExpressGatewayServicePrimaryContainerSecretArrayInput interface { + pulumi.Input + + ToExpressGatewayServicePrimaryContainerSecretArrayOutput() ExpressGatewayServicePrimaryContainerSecretArrayOutput + ToExpressGatewayServicePrimaryContainerSecretArrayOutputWithContext(context.Context) ExpressGatewayServicePrimaryContainerSecretArrayOutput +} + +type ExpressGatewayServicePrimaryContainerSecretArray []ExpressGatewayServicePrimaryContainerSecretInput + +func (ExpressGatewayServicePrimaryContainerSecretArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]ExpressGatewayServicePrimaryContainerSecret)(nil)).Elem() +} + +func (i ExpressGatewayServicePrimaryContainerSecretArray) ToExpressGatewayServicePrimaryContainerSecretArrayOutput() ExpressGatewayServicePrimaryContainerSecretArrayOutput { + return i.ToExpressGatewayServicePrimaryContainerSecretArrayOutputWithContext(context.Background()) +} + +func (i ExpressGatewayServicePrimaryContainerSecretArray) ToExpressGatewayServicePrimaryContainerSecretArrayOutputWithContext(ctx context.Context) ExpressGatewayServicePrimaryContainerSecretArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ExpressGatewayServicePrimaryContainerSecretArrayOutput) +} + +type ExpressGatewayServicePrimaryContainerSecretOutput struct{ *pulumi.OutputState } + +func (ExpressGatewayServicePrimaryContainerSecretOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ExpressGatewayServicePrimaryContainerSecret)(nil)).Elem() +} + +func (o ExpressGatewayServicePrimaryContainerSecretOutput) ToExpressGatewayServicePrimaryContainerSecretOutput() ExpressGatewayServicePrimaryContainerSecretOutput { + return o +} + +func (o ExpressGatewayServicePrimaryContainerSecretOutput) ToExpressGatewayServicePrimaryContainerSecretOutputWithContext(ctx context.Context) ExpressGatewayServicePrimaryContainerSecretOutput { + return o +} + +func (o ExpressGatewayServicePrimaryContainerSecretOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v ExpressGatewayServicePrimaryContainerSecret) string { return v.Name }).(pulumi.StringOutput) +} + +// ARN of the AWS Secrets Manager secret or AWS Systems Manager parameter containing the secret value. +func (o ExpressGatewayServicePrimaryContainerSecretOutput) ValueFrom() pulumi.StringOutput { + return o.ApplyT(func(v ExpressGatewayServicePrimaryContainerSecret) string { return v.ValueFrom }).(pulumi.StringOutput) +} + +type ExpressGatewayServicePrimaryContainerSecretArrayOutput struct{ *pulumi.OutputState } + +func (ExpressGatewayServicePrimaryContainerSecretArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]ExpressGatewayServicePrimaryContainerSecret)(nil)).Elem() +} + +func (o ExpressGatewayServicePrimaryContainerSecretArrayOutput) ToExpressGatewayServicePrimaryContainerSecretArrayOutput() ExpressGatewayServicePrimaryContainerSecretArrayOutput { + return o +} + +func (o ExpressGatewayServicePrimaryContainerSecretArrayOutput) ToExpressGatewayServicePrimaryContainerSecretArrayOutputWithContext(ctx context.Context) ExpressGatewayServicePrimaryContainerSecretArrayOutput { + return o +} + +func (o ExpressGatewayServicePrimaryContainerSecretArrayOutput) Index(i pulumi.IntInput) ExpressGatewayServicePrimaryContainerSecretOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) ExpressGatewayServicePrimaryContainerSecret { + return vs[0].([]ExpressGatewayServicePrimaryContainerSecret)[vs[1].(int)] + }).(ExpressGatewayServicePrimaryContainerSecretOutput) +} + +type ExpressGatewayServiceScalingTarget struct { + // Metric to use for auto-scaling. Valid values are `CPU` and `MEMORY`. + AutoScalingMetric string `pulumi:"autoScalingMetric"` + // Target value for the auto-scaling metric (as a percentage). Defaults to `60`. + AutoScalingTargetValue int `pulumi:"autoScalingTargetValue"` + // Maximum number of tasks to run. + MaxTaskCount int `pulumi:"maxTaskCount"` + // Minimum number of tasks to run. + MinTaskCount int `pulumi:"minTaskCount"` +} + +// ExpressGatewayServiceScalingTargetInput is an input type that accepts ExpressGatewayServiceScalingTargetArgs and ExpressGatewayServiceScalingTargetOutput values. +// You can construct a concrete instance of `ExpressGatewayServiceScalingTargetInput` via: +// +// ExpressGatewayServiceScalingTargetArgs{...} +type ExpressGatewayServiceScalingTargetInput interface { + pulumi.Input + + ToExpressGatewayServiceScalingTargetOutput() ExpressGatewayServiceScalingTargetOutput + ToExpressGatewayServiceScalingTargetOutputWithContext(context.Context) ExpressGatewayServiceScalingTargetOutput +} + +type ExpressGatewayServiceScalingTargetArgs struct { + // Metric to use for auto-scaling. Valid values are `CPU` and `MEMORY`. + AutoScalingMetric pulumi.StringInput `pulumi:"autoScalingMetric"` + // Target value for the auto-scaling metric (as a percentage). Defaults to `60`. + AutoScalingTargetValue pulumi.IntInput `pulumi:"autoScalingTargetValue"` + // Maximum number of tasks to run. + MaxTaskCount pulumi.IntInput `pulumi:"maxTaskCount"` + // Minimum number of tasks to run. + MinTaskCount pulumi.IntInput `pulumi:"minTaskCount"` +} + +func (ExpressGatewayServiceScalingTargetArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ExpressGatewayServiceScalingTarget)(nil)).Elem() +} + +func (i ExpressGatewayServiceScalingTargetArgs) ToExpressGatewayServiceScalingTargetOutput() ExpressGatewayServiceScalingTargetOutput { + return i.ToExpressGatewayServiceScalingTargetOutputWithContext(context.Background()) +} + +func (i ExpressGatewayServiceScalingTargetArgs) ToExpressGatewayServiceScalingTargetOutputWithContext(ctx context.Context) ExpressGatewayServiceScalingTargetOutput { + return pulumi.ToOutputWithContext(ctx, i).(ExpressGatewayServiceScalingTargetOutput) +} + +// ExpressGatewayServiceScalingTargetArrayInput is an input type that accepts ExpressGatewayServiceScalingTargetArray and ExpressGatewayServiceScalingTargetArrayOutput values. +// You can construct a concrete instance of `ExpressGatewayServiceScalingTargetArrayInput` via: +// +// ExpressGatewayServiceScalingTargetArray{ ExpressGatewayServiceScalingTargetArgs{...} } +type ExpressGatewayServiceScalingTargetArrayInput interface { + pulumi.Input + + ToExpressGatewayServiceScalingTargetArrayOutput() ExpressGatewayServiceScalingTargetArrayOutput + ToExpressGatewayServiceScalingTargetArrayOutputWithContext(context.Context) ExpressGatewayServiceScalingTargetArrayOutput +} + +type ExpressGatewayServiceScalingTargetArray []ExpressGatewayServiceScalingTargetInput + +func (ExpressGatewayServiceScalingTargetArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]ExpressGatewayServiceScalingTarget)(nil)).Elem() +} + +func (i ExpressGatewayServiceScalingTargetArray) ToExpressGatewayServiceScalingTargetArrayOutput() ExpressGatewayServiceScalingTargetArrayOutput { + return i.ToExpressGatewayServiceScalingTargetArrayOutputWithContext(context.Background()) +} + +func (i ExpressGatewayServiceScalingTargetArray) ToExpressGatewayServiceScalingTargetArrayOutputWithContext(ctx context.Context) ExpressGatewayServiceScalingTargetArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ExpressGatewayServiceScalingTargetArrayOutput) +} + +type ExpressGatewayServiceScalingTargetOutput struct{ *pulumi.OutputState } + +func (ExpressGatewayServiceScalingTargetOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ExpressGatewayServiceScalingTarget)(nil)).Elem() +} + +func (o ExpressGatewayServiceScalingTargetOutput) ToExpressGatewayServiceScalingTargetOutput() ExpressGatewayServiceScalingTargetOutput { + return o +} + +func (o ExpressGatewayServiceScalingTargetOutput) ToExpressGatewayServiceScalingTargetOutputWithContext(ctx context.Context) ExpressGatewayServiceScalingTargetOutput { + return o +} + +// Metric to use for auto-scaling. Valid values are `CPU` and `MEMORY`. +func (o ExpressGatewayServiceScalingTargetOutput) AutoScalingMetric() pulumi.StringOutput { + return o.ApplyT(func(v ExpressGatewayServiceScalingTarget) string { return v.AutoScalingMetric }).(pulumi.StringOutput) +} + +// Target value for the auto-scaling metric (as a percentage). Defaults to `60`. +func (o ExpressGatewayServiceScalingTargetOutput) AutoScalingTargetValue() pulumi.IntOutput { + return o.ApplyT(func(v ExpressGatewayServiceScalingTarget) int { return v.AutoScalingTargetValue }).(pulumi.IntOutput) +} + +// Maximum number of tasks to run. +func (o ExpressGatewayServiceScalingTargetOutput) MaxTaskCount() pulumi.IntOutput { + return o.ApplyT(func(v ExpressGatewayServiceScalingTarget) int { return v.MaxTaskCount }).(pulumi.IntOutput) +} + +// Minimum number of tasks to run. +func (o ExpressGatewayServiceScalingTargetOutput) MinTaskCount() pulumi.IntOutput { + return o.ApplyT(func(v ExpressGatewayServiceScalingTarget) int { return v.MinTaskCount }).(pulumi.IntOutput) +} + +type ExpressGatewayServiceScalingTargetArrayOutput struct{ *pulumi.OutputState } + +func (ExpressGatewayServiceScalingTargetArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]ExpressGatewayServiceScalingTarget)(nil)).Elem() +} + +func (o ExpressGatewayServiceScalingTargetArrayOutput) ToExpressGatewayServiceScalingTargetArrayOutput() ExpressGatewayServiceScalingTargetArrayOutput { + return o +} + +func (o ExpressGatewayServiceScalingTargetArrayOutput) ToExpressGatewayServiceScalingTargetArrayOutputWithContext(ctx context.Context) ExpressGatewayServiceScalingTargetArrayOutput { + return o +} + +func (o ExpressGatewayServiceScalingTargetArrayOutput) Index(i pulumi.IntInput) ExpressGatewayServiceScalingTargetOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) ExpressGatewayServiceScalingTarget { + return vs[0].([]ExpressGatewayServiceScalingTarget)[vs[1].(int)] + }).(ExpressGatewayServiceScalingTargetOutput) +} + +type ExpressGatewayServiceTimeouts struct { + // A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + Create *string `pulumi:"create"` + // A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs. + Delete *string `pulumi:"delete"` + // A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + Update *string `pulumi:"update"` +} + +// ExpressGatewayServiceTimeoutsInput is an input type that accepts ExpressGatewayServiceTimeoutsArgs and ExpressGatewayServiceTimeoutsOutput values. +// You can construct a concrete instance of `ExpressGatewayServiceTimeoutsInput` via: +// +// ExpressGatewayServiceTimeoutsArgs{...} +type ExpressGatewayServiceTimeoutsInput interface { + pulumi.Input + + ToExpressGatewayServiceTimeoutsOutput() ExpressGatewayServiceTimeoutsOutput + ToExpressGatewayServiceTimeoutsOutputWithContext(context.Context) ExpressGatewayServiceTimeoutsOutput +} + +type ExpressGatewayServiceTimeoutsArgs struct { + // A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + Create pulumi.StringPtrInput `pulumi:"create"` + // A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs. + Delete pulumi.StringPtrInput `pulumi:"delete"` + // A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + Update pulumi.StringPtrInput `pulumi:"update"` +} + +func (ExpressGatewayServiceTimeoutsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ExpressGatewayServiceTimeouts)(nil)).Elem() +} + +func (i ExpressGatewayServiceTimeoutsArgs) ToExpressGatewayServiceTimeoutsOutput() ExpressGatewayServiceTimeoutsOutput { + return i.ToExpressGatewayServiceTimeoutsOutputWithContext(context.Background()) +} + +func (i ExpressGatewayServiceTimeoutsArgs) ToExpressGatewayServiceTimeoutsOutputWithContext(ctx context.Context) ExpressGatewayServiceTimeoutsOutput { + return pulumi.ToOutputWithContext(ctx, i).(ExpressGatewayServiceTimeoutsOutput) +} + +func (i ExpressGatewayServiceTimeoutsArgs) ToExpressGatewayServiceTimeoutsPtrOutput() ExpressGatewayServiceTimeoutsPtrOutput { + return i.ToExpressGatewayServiceTimeoutsPtrOutputWithContext(context.Background()) +} + +func (i ExpressGatewayServiceTimeoutsArgs) ToExpressGatewayServiceTimeoutsPtrOutputWithContext(ctx context.Context) ExpressGatewayServiceTimeoutsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ExpressGatewayServiceTimeoutsOutput).ToExpressGatewayServiceTimeoutsPtrOutputWithContext(ctx) +} + +// ExpressGatewayServiceTimeoutsPtrInput is an input type that accepts ExpressGatewayServiceTimeoutsArgs, ExpressGatewayServiceTimeoutsPtr and ExpressGatewayServiceTimeoutsPtrOutput values. +// You can construct a concrete instance of `ExpressGatewayServiceTimeoutsPtrInput` via: +// +// ExpressGatewayServiceTimeoutsArgs{...} +// +// or: +// +// nil +type ExpressGatewayServiceTimeoutsPtrInput interface { + pulumi.Input + + ToExpressGatewayServiceTimeoutsPtrOutput() ExpressGatewayServiceTimeoutsPtrOutput + ToExpressGatewayServiceTimeoutsPtrOutputWithContext(context.Context) ExpressGatewayServiceTimeoutsPtrOutput +} + +type expressGatewayServiceTimeoutsPtrType ExpressGatewayServiceTimeoutsArgs + +func ExpressGatewayServiceTimeoutsPtr(v *ExpressGatewayServiceTimeoutsArgs) ExpressGatewayServiceTimeoutsPtrInput { + return (*expressGatewayServiceTimeoutsPtrType)(v) +} + +func (*expressGatewayServiceTimeoutsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**ExpressGatewayServiceTimeouts)(nil)).Elem() +} + +func (i *expressGatewayServiceTimeoutsPtrType) ToExpressGatewayServiceTimeoutsPtrOutput() ExpressGatewayServiceTimeoutsPtrOutput { + return i.ToExpressGatewayServiceTimeoutsPtrOutputWithContext(context.Background()) +} + +func (i *expressGatewayServiceTimeoutsPtrType) ToExpressGatewayServiceTimeoutsPtrOutputWithContext(ctx context.Context) ExpressGatewayServiceTimeoutsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ExpressGatewayServiceTimeoutsPtrOutput) +} + +type ExpressGatewayServiceTimeoutsOutput struct{ *pulumi.OutputState } + +func (ExpressGatewayServiceTimeoutsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ExpressGatewayServiceTimeouts)(nil)).Elem() +} + +func (o ExpressGatewayServiceTimeoutsOutput) ToExpressGatewayServiceTimeoutsOutput() ExpressGatewayServiceTimeoutsOutput { + return o +} + +func (o ExpressGatewayServiceTimeoutsOutput) ToExpressGatewayServiceTimeoutsOutputWithContext(ctx context.Context) ExpressGatewayServiceTimeoutsOutput { + return o +} + +func (o ExpressGatewayServiceTimeoutsOutput) ToExpressGatewayServiceTimeoutsPtrOutput() ExpressGatewayServiceTimeoutsPtrOutput { + return o.ToExpressGatewayServiceTimeoutsPtrOutputWithContext(context.Background()) +} + +func (o ExpressGatewayServiceTimeoutsOutput) ToExpressGatewayServiceTimeoutsPtrOutputWithContext(ctx context.Context) ExpressGatewayServiceTimeoutsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v ExpressGatewayServiceTimeouts) *ExpressGatewayServiceTimeouts { + return &v + }).(ExpressGatewayServiceTimeoutsPtrOutput) +} + +// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). +func (o ExpressGatewayServiceTimeoutsOutput) Create() pulumi.StringPtrOutput { + return o.ApplyT(func(v ExpressGatewayServiceTimeouts) *string { return v.Create }).(pulumi.StringPtrOutput) +} + +// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs. +func (o ExpressGatewayServiceTimeoutsOutput) Delete() pulumi.StringPtrOutput { + return o.ApplyT(func(v ExpressGatewayServiceTimeouts) *string { return v.Delete }).(pulumi.StringPtrOutput) +} + +// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). +func (o ExpressGatewayServiceTimeoutsOutput) Update() pulumi.StringPtrOutput { + return o.ApplyT(func(v ExpressGatewayServiceTimeouts) *string { return v.Update }).(pulumi.StringPtrOutput) +} + +type ExpressGatewayServiceTimeoutsPtrOutput struct{ *pulumi.OutputState } + +func (ExpressGatewayServiceTimeoutsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ExpressGatewayServiceTimeouts)(nil)).Elem() +} + +func (o ExpressGatewayServiceTimeoutsPtrOutput) ToExpressGatewayServiceTimeoutsPtrOutput() ExpressGatewayServiceTimeoutsPtrOutput { + return o +} + +func (o ExpressGatewayServiceTimeoutsPtrOutput) ToExpressGatewayServiceTimeoutsPtrOutputWithContext(ctx context.Context) ExpressGatewayServiceTimeoutsPtrOutput { + return o +} + +func (o ExpressGatewayServiceTimeoutsPtrOutput) Elem() ExpressGatewayServiceTimeoutsOutput { + return o.ApplyT(func(v *ExpressGatewayServiceTimeouts) ExpressGatewayServiceTimeouts { + if v != nil { + return *v + } + var ret ExpressGatewayServiceTimeouts + return ret + }).(ExpressGatewayServiceTimeoutsOutput) +} + +// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). +func (o ExpressGatewayServiceTimeoutsPtrOutput) Create() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ExpressGatewayServiceTimeouts) *string { + if v == nil { + return nil + } + return v.Create + }).(pulumi.StringPtrOutput) +} + +// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs. +func (o ExpressGatewayServiceTimeoutsPtrOutput) Delete() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ExpressGatewayServiceTimeouts) *string { + if v == nil { + return nil + } + return v.Delete + }).(pulumi.StringPtrOutput) +} + +// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). +func (o ExpressGatewayServiceTimeoutsPtrOutput) Update() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ExpressGatewayServiceTimeouts) *string { + if v == nil { + return nil + } + return v.Update + }).(pulumi.StringPtrOutput) +} + type ServiceAlarms struct { // One or more CloudWatch alarm names. AlarmNames []string `pulumi:"alarmNames"` @@ -15689,6 +17057,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*CapacityProviderAutoScalingGroupProviderManagedScalingPtrInput)(nil)).Elem(), CapacityProviderAutoScalingGroupProviderManagedScalingArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*CapacityProviderManagedInstancesProviderInput)(nil)).Elem(), CapacityProviderManagedInstancesProviderArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*CapacityProviderManagedInstancesProviderPtrInput)(nil)).Elem(), CapacityProviderManagedInstancesProviderArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CapacityProviderManagedInstancesProviderInfrastructureOptimizationInput)(nil)).Elem(), CapacityProviderManagedInstancesProviderInfrastructureOptimizationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CapacityProviderManagedInstancesProviderInfrastructureOptimizationPtrInput)(nil)).Elem(), CapacityProviderManagedInstancesProviderInfrastructureOptimizationArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInput)(nil)).Elem(), CapacityProviderManagedInstancesProviderInstanceLaunchTemplateArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*CapacityProviderManagedInstancesProviderInstanceLaunchTemplatePtrInput)(nil)).Elem(), CapacityProviderManagedInstancesProviderInstanceLaunchTemplateArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsInput)(nil)).Elem(), CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsArgs{}) @@ -15729,6 +17099,24 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*ClusterServiceConnectDefaultsPtrInput)(nil)).Elem(), ClusterServiceConnectDefaultsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ClusterSettingInput)(nil)).Elem(), ClusterSettingArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ClusterSettingArrayInput)(nil)).Elem(), ClusterSettingArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*ExpressGatewayServiceIngressPathInput)(nil)).Elem(), ExpressGatewayServiceIngressPathArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ExpressGatewayServiceIngressPathArrayInput)(nil)).Elem(), ExpressGatewayServiceIngressPathArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*ExpressGatewayServiceNetworkConfigurationInput)(nil)).Elem(), ExpressGatewayServiceNetworkConfigurationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ExpressGatewayServiceNetworkConfigurationArrayInput)(nil)).Elem(), ExpressGatewayServiceNetworkConfigurationArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*ExpressGatewayServicePrimaryContainerInput)(nil)).Elem(), ExpressGatewayServicePrimaryContainerArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ExpressGatewayServicePrimaryContainerPtrInput)(nil)).Elem(), ExpressGatewayServicePrimaryContainerArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ExpressGatewayServicePrimaryContainerAwsLogsConfigurationInput)(nil)).Elem(), ExpressGatewayServicePrimaryContainerAwsLogsConfigurationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ExpressGatewayServicePrimaryContainerAwsLogsConfigurationArrayInput)(nil)).Elem(), ExpressGatewayServicePrimaryContainerAwsLogsConfigurationArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*ExpressGatewayServicePrimaryContainerEnvironmentInput)(nil)).Elem(), ExpressGatewayServicePrimaryContainerEnvironmentArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ExpressGatewayServicePrimaryContainerEnvironmentArrayInput)(nil)).Elem(), ExpressGatewayServicePrimaryContainerEnvironmentArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*ExpressGatewayServicePrimaryContainerRepositoryCredentialsInput)(nil)).Elem(), ExpressGatewayServicePrimaryContainerRepositoryCredentialsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ExpressGatewayServicePrimaryContainerRepositoryCredentialsPtrInput)(nil)).Elem(), ExpressGatewayServicePrimaryContainerRepositoryCredentialsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ExpressGatewayServicePrimaryContainerSecretInput)(nil)).Elem(), ExpressGatewayServicePrimaryContainerSecretArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ExpressGatewayServicePrimaryContainerSecretArrayInput)(nil)).Elem(), ExpressGatewayServicePrimaryContainerSecretArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*ExpressGatewayServiceScalingTargetInput)(nil)).Elem(), ExpressGatewayServiceScalingTargetArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ExpressGatewayServiceScalingTargetArrayInput)(nil)).Elem(), ExpressGatewayServiceScalingTargetArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*ExpressGatewayServiceTimeoutsInput)(nil)).Elem(), ExpressGatewayServiceTimeoutsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ExpressGatewayServiceTimeoutsPtrInput)(nil)).Elem(), ExpressGatewayServiceTimeoutsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ServiceAlarmsInput)(nil)).Elem(), ServiceAlarmsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ServiceAlarmsPtrInput)(nil)).Elem(), ServiceAlarmsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ServiceCapacityProviderStrategyInput)(nil)).Elem(), ServiceCapacityProviderStrategyArgs{}) @@ -15897,6 +17285,8 @@ func init() { pulumi.RegisterOutputType(CapacityProviderAutoScalingGroupProviderManagedScalingPtrOutput{}) pulumi.RegisterOutputType(CapacityProviderManagedInstancesProviderOutput{}) pulumi.RegisterOutputType(CapacityProviderManagedInstancesProviderPtrOutput{}) + pulumi.RegisterOutputType(CapacityProviderManagedInstancesProviderInfrastructureOptimizationOutput{}) + pulumi.RegisterOutputType(CapacityProviderManagedInstancesProviderInfrastructureOptimizationPtrOutput{}) pulumi.RegisterOutputType(CapacityProviderManagedInstancesProviderInstanceLaunchTemplateOutput{}) pulumi.RegisterOutputType(CapacityProviderManagedInstancesProviderInstanceLaunchTemplatePtrOutput{}) pulumi.RegisterOutputType(CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsOutput{}) @@ -15937,6 +17327,24 @@ func init() { pulumi.RegisterOutputType(ClusterServiceConnectDefaultsPtrOutput{}) pulumi.RegisterOutputType(ClusterSettingOutput{}) pulumi.RegisterOutputType(ClusterSettingArrayOutput{}) + pulumi.RegisterOutputType(ExpressGatewayServiceIngressPathOutput{}) + pulumi.RegisterOutputType(ExpressGatewayServiceIngressPathArrayOutput{}) + pulumi.RegisterOutputType(ExpressGatewayServiceNetworkConfigurationOutput{}) + pulumi.RegisterOutputType(ExpressGatewayServiceNetworkConfigurationArrayOutput{}) + pulumi.RegisterOutputType(ExpressGatewayServicePrimaryContainerOutput{}) + pulumi.RegisterOutputType(ExpressGatewayServicePrimaryContainerPtrOutput{}) + pulumi.RegisterOutputType(ExpressGatewayServicePrimaryContainerAwsLogsConfigurationOutput{}) + pulumi.RegisterOutputType(ExpressGatewayServicePrimaryContainerAwsLogsConfigurationArrayOutput{}) + pulumi.RegisterOutputType(ExpressGatewayServicePrimaryContainerEnvironmentOutput{}) + pulumi.RegisterOutputType(ExpressGatewayServicePrimaryContainerEnvironmentArrayOutput{}) + pulumi.RegisterOutputType(ExpressGatewayServicePrimaryContainerRepositoryCredentialsOutput{}) + pulumi.RegisterOutputType(ExpressGatewayServicePrimaryContainerRepositoryCredentialsPtrOutput{}) + pulumi.RegisterOutputType(ExpressGatewayServicePrimaryContainerSecretOutput{}) + pulumi.RegisterOutputType(ExpressGatewayServicePrimaryContainerSecretArrayOutput{}) + pulumi.RegisterOutputType(ExpressGatewayServiceScalingTargetOutput{}) + pulumi.RegisterOutputType(ExpressGatewayServiceScalingTargetArrayOutput{}) + pulumi.RegisterOutputType(ExpressGatewayServiceTimeoutsOutput{}) + pulumi.RegisterOutputType(ExpressGatewayServiceTimeoutsPtrOutput{}) pulumi.RegisterOutputType(ServiceAlarmsOutput{}) pulumi.RegisterOutputType(ServiceAlarmsPtrOutput{}) pulumi.RegisterOutputType(ServiceCapacityProviderStrategyOutput{}) diff --git a/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/eks/capability.go b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/eks/capability.go new file mode 100644 index 000000000..e3716117b --- /dev/null +++ b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/eks/capability.go @@ -0,0 +1,427 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package eks + +import ( + "context" + "reflect" + + "errors" + "github.com/pulumi/pulumi-aws/sdk/v7/go/aws/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Manages an EKS Capability for an EKS cluster. +// +// ## Example Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-aws/sdk/v7/go/aws/eks" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := eks.NewCapability(ctx, "example", &eks.CapabilityArgs{ +// ClusterName: pulumi.Any(exampleAwsEksCluster.Name), +// CapabilityName: pulumi.String("argocd"), +// Type: pulumi.String("ARGOCD"), +// RoleArn: pulumi.Any(exampleAwsIamRole.Arn), +// DeletePropagationPolicy: pulumi.String("RETAIN"), +// Configuration: &eks.CapabilityConfigurationArgs{ +// ArgoCd: &eks.CapabilityConfigurationArgoCdArgs{ +// AwsIdc: &eks.CapabilityConfigurationArgoCdAwsIdcArgs{ +// IdcInstanceArn: pulumi.String("arn:aws:sso:::instance/ssoins-1234567890abcdef0"), +// }, +// Namespace: pulumi.String("argocd"), +// }, +// }, +// Tags: pulumi.StringMap{ +// "Name": pulumi.String("example-capability"), +// }, +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// ## Import +// +// Using `pulumi import`, import EKS Capability using the `cluster_name` and `capability_name` separated by a comma (`,`). For example: +// +// ```sh +// $ pulumi import aws:eks/capability:Capability example my-cluster,my-capability +// ``` +type Capability struct { + pulumi.CustomResourceState + + // ARN of the capability. + Arn pulumi.StringOutput `pulumi:"arn"` + // Name of the capability. Must be unique within the cluster. + CapabilityName pulumi.StringOutput `pulumi:"capabilityName"` + // Name of the EKS cluster. + ClusterName pulumi.StringOutput `pulumi:"clusterName"` + // Configuration for the capability. See `configuration` below. + Configuration CapabilityConfigurationPtrOutput `pulumi:"configuration"` + // Delete propagation policy for the capability. Valid values: `RETAIN`. + DeletePropagationPolicy pulumi.StringOutput `pulumi:"deletePropagationPolicy"` + // Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration. + Region pulumi.StringOutput `pulumi:"region"` + // ARN of the IAM role to associate with the capability. + RoleArn pulumi.StringOutput `pulumi:"roleArn"` + // Key-value map of resource tags. + Tags pulumi.StringMapOutput `pulumi:"tags"` + // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"` + Timeouts CapabilityTimeoutsPtrOutput `pulumi:"timeouts"` + // Type of the capability. Valid values: `ACK`, `KRO`, `ARGOCD`. + Type pulumi.StringOutput `pulumi:"type"` + // Version of the capability. + Version pulumi.StringOutput `pulumi:"version"` +} + +// NewCapability registers a new resource with the given unique name, arguments, and options. +func NewCapability(ctx *pulumi.Context, + name string, args *CapabilityArgs, opts ...pulumi.ResourceOption) (*Capability, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.CapabilityName == nil { + return nil, errors.New("invalid value for required argument 'CapabilityName'") + } + if args.ClusterName == nil { + return nil, errors.New("invalid value for required argument 'ClusterName'") + } + if args.DeletePropagationPolicy == nil { + return nil, errors.New("invalid value for required argument 'DeletePropagationPolicy'") + } + if args.RoleArn == nil { + return nil, errors.New("invalid value for required argument 'RoleArn'") + } + if args.Type == nil { + return nil, errors.New("invalid value for required argument 'Type'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource Capability + err := ctx.RegisterResource("aws:eks/capability:Capability", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetCapability gets an existing Capability 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 GetCapability(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *CapabilityState, opts ...pulumi.ResourceOption) (*Capability, error) { + var resource Capability + err := ctx.ReadResource("aws:eks/capability:Capability", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering Capability resources. +type capabilityState struct { + // ARN of the capability. + Arn *string `pulumi:"arn"` + // Name of the capability. Must be unique within the cluster. + CapabilityName *string `pulumi:"capabilityName"` + // Name of the EKS cluster. + ClusterName *string `pulumi:"clusterName"` + // Configuration for the capability. See `configuration` below. + Configuration *CapabilityConfiguration `pulumi:"configuration"` + // Delete propagation policy for the capability. Valid values: `RETAIN`. + DeletePropagationPolicy *string `pulumi:"deletePropagationPolicy"` + // Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration. + Region *string `pulumi:"region"` + // ARN of the IAM role to associate with the capability. + RoleArn *string `pulumi:"roleArn"` + // Key-value map of resource tags. + Tags map[string]string `pulumi:"tags"` + // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + TagsAll map[string]string `pulumi:"tagsAll"` + Timeouts *CapabilityTimeouts `pulumi:"timeouts"` + // Type of the capability. Valid values: `ACK`, `KRO`, `ARGOCD`. + Type *string `pulumi:"type"` + // Version of the capability. + Version *string `pulumi:"version"` +} + +type CapabilityState struct { + // ARN of the capability. + Arn pulumi.StringPtrInput + // Name of the capability. Must be unique within the cluster. + CapabilityName pulumi.StringPtrInput + // Name of the EKS cluster. + ClusterName pulumi.StringPtrInput + // Configuration for the capability. See `configuration` below. + Configuration CapabilityConfigurationPtrInput + // Delete propagation policy for the capability. Valid values: `RETAIN`. + DeletePropagationPolicy pulumi.StringPtrInput + // Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration. + Region pulumi.StringPtrInput + // ARN of the IAM role to associate with the capability. + RoleArn pulumi.StringPtrInput + // Key-value map of resource tags. + Tags pulumi.StringMapInput + // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + TagsAll pulumi.StringMapInput + Timeouts CapabilityTimeoutsPtrInput + // Type of the capability. Valid values: `ACK`, `KRO`, `ARGOCD`. + Type pulumi.StringPtrInput + // Version of the capability. + Version pulumi.StringPtrInput +} + +func (CapabilityState) ElementType() reflect.Type { + return reflect.TypeOf((*capabilityState)(nil)).Elem() +} + +type capabilityArgs struct { + // Name of the capability. Must be unique within the cluster. + CapabilityName string `pulumi:"capabilityName"` + // Name of the EKS cluster. + ClusterName string `pulumi:"clusterName"` + // Configuration for the capability. See `configuration` below. + Configuration *CapabilityConfiguration `pulumi:"configuration"` + // Delete propagation policy for the capability. Valid values: `RETAIN`. + DeletePropagationPolicy string `pulumi:"deletePropagationPolicy"` + // Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration. + Region *string `pulumi:"region"` + // ARN of the IAM role to associate with the capability. + RoleArn string `pulumi:"roleArn"` + // Key-value map of resource tags. + Tags map[string]string `pulumi:"tags"` + Timeouts *CapabilityTimeouts `pulumi:"timeouts"` + // Type of the capability. Valid values: `ACK`, `KRO`, `ARGOCD`. + Type string `pulumi:"type"` +} + +// The set of arguments for constructing a Capability resource. +type CapabilityArgs struct { + // Name of the capability. Must be unique within the cluster. + CapabilityName pulumi.StringInput + // Name of the EKS cluster. + ClusterName pulumi.StringInput + // Configuration for the capability. See `configuration` below. + Configuration CapabilityConfigurationPtrInput + // Delete propagation policy for the capability. Valid values: `RETAIN`. + DeletePropagationPolicy pulumi.StringInput + // Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration. + Region pulumi.StringPtrInput + // ARN of the IAM role to associate with the capability. + RoleArn pulumi.StringInput + // Key-value map of resource tags. + Tags pulumi.StringMapInput + Timeouts CapabilityTimeoutsPtrInput + // Type of the capability. Valid values: `ACK`, `KRO`, `ARGOCD`. + Type pulumi.StringInput +} + +func (CapabilityArgs) ElementType() reflect.Type { + return reflect.TypeOf((*capabilityArgs)(nil)).Elem() +} + +type CapabilityInput interface { + pulumi.Input + + ToCapabilityOutput() CapabilityOutput + ToCapabilityOutputWithContext(ctx context.Context) CapabilityOutput +} + +func (*Capability) ElementType() reflect.Type { + return reflect.TypeOf((**Capability)(nil)).Elem() +} + +func (i *Capability) ToCapabilityOutput() CapabilityOutput { + return i.ToCapabilityOutputWithContext(context.Background()) +} + +func (i *Capability) ToCapabilityOutputWithContext(ctx context.Context) CapabilityOutput { + return pulumi.ToOutputWithContext(ctx, i).(CapabilityOutput) +} + +// CapabilityArrayInput is an input type that accepts CapabilityArray and CapabilityArrayOutput values. +// You can construct a concrete instance of `CapabilityArrayInput` via: +// +// CapabilityArray{ CapabilityArgs{...} } +type CapabilityArrayInput interface { + pulumi.Input + + ToCapabilityArrayOutput() CapabilityArrayOutput + ToCapabilityArrayOutputWithContext(context.Context) CapabilityArrayOutput +} + +type CapabilityArray []CapabilityInput + +func (CapabilityArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*Capability)(nil)).Elem() +} + +func (i CapabilityArray) ToCapabilityArrayOutput() CapabilityArrayOutput { + return i.ToCapabilityArrayOutputWithContext(context.Background()) +} + +func (i CapabilityArray) ToCapabilityArrayOutputWithContext(ctx context.Context) CapabilityArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(CapabilityArrayOutput) +} + +// CapabilityMapInput is an input type that accepts CapabilityMap and CapabilityMapOutput values. +// You can construct a concrete instance of `CapabilityMapInput` via: +// +// CapabilityMap{ "key": CapabilityArgs{...} } +type CapabilityMapInput interface { + pulumi.Input + + ToCapabilityMapOutput() CapabilityMapOutput + ToCapabilityMapOutputWithContext(context.Context) CapabilityMapOutput +} + +type CapabilityMap map[string]CapabilityInput + +func (CapabilityMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*Capability)(nil)).Elem() +} + +func (i CapabilityMap) ToCapabilityMapOutput() CapabilityMapOutput { + return i.ToCapabilityMapOutputWithContext(context.Background()) +} + +func (i CapabilityMap) ToCapabilityMapOutputWithContext(ctx context.Context) CapabilityMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(CapabilityMapOutput) +} + +type CapabilityOutput struct{ *pulumi.OutputState } + +func (CapabilityOutput) ElementType() reflect.Type { + return reflect.TypeOf((**Capability)(nil)).Elem() +} + +func (o CapabilityOutput) ToCapabilityOutput() CapabilityOutput { + return o +} + +func (o CapabilityOutput) ToCapabilityOutputWithContext(ctx context.Context) CapabilityOutput { + return o +} + +// ARN of the capability. +func (o CapabilityOutput) Arn() pulumi.StringOutput { + return o.ApplyT(func(v *Capability) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput) +} + +// Name of the capability. Must be unique within the cluster. +func (o CapabilityOutput) CapabilityName() pulumi.StringOutput { + return o.ApplyT(func(v *Capability) pulumi.StringOutput { return v.CapabilityName }).(pulumi.StringOutput) +} + +// Name of the EKS cluster. +func (o CapabilityOutput) ClusterName() pulumi.StringOutput { + return o.ApplyT(func(v *Capability) pulumi.StringOutput { return v.ClusterName }).(pulumi.StringOutput) +} + +// Configuration for the capability. See `configuration` below. +func (o CapabilityOutput) Configuration() CapabilityConfigurationPtrOutput { + return o.ApplyT(func(v *Capability) CapabilityConfigurationPtrOutput { return v.Configuration }).(CapabilityConfigurationPtrOutput) +} + +// Delete propagation policy for the capability. Valid values: `RETAIN`. +func (o CapabilityOutput) DeletePropagationPolicy() pulumi.StringOutput { + return o.ApplyT(func(v *Capability) pulumi.StringOutput { return v.DeletePropagationPolicy }).(pulumi.StringOutput) +} + +// Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration. +func (o CapabilityOutput) Region() pulumi.StringOutput { + return o.ApplyT(func(v *Capability) pulumi.StringOutput { return v.Region }).(pulumi.StringOutput) +} + +// ARN of the IAM role to associate with the capability. +func (o CapabilityOutput) RoleArn() pulumi.StringOutput { + return o.ApplyT(func(v *Capability) pulumi.StringOutput { return v.RoleArn }).(pulumi.StringOutput) +} + +// Key-value map of resource tags. +func (o CapabilityOutput) Tags() pulumi.StringMapOutput { + return o.ApplyT(func(v *Capability) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput) +} + +// A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. +func (o CapabilityOutput) TagsAll() pulumi.StringMapOutput { + return o.ApplyT(func(v *Capability) pulumi.StringMapOutput { return v.TagsAll }).(pulumi.StringMapOutput) +} + +func (o CapabilityOutput) Timeouts() CapabilityTimeoutsPtrOutput { + return o.ApplyT(func(v *Capability) CapabilityTimeoutsPtrOutput { return v.Timeouts }).(CapabilityTimeoutsPtrOutput) +} + +// Type of the capability. Valid values: `ACK`, `KRO`, `ARGOCD`. +func (o CapabilityOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v *Capability) pulumi.StringOutput { return v.Type }).(pulumi.StringOutput) +} + +// Version of the capability. +func (o CapabilityOutput) Version() pulumi.StringOutput { + return o.ApplyT(func(v *Capability) pulumi.StringOutput { return v.Version }).(pulumi.StringOutput) +} + +type CapabilityArrayOutput struct{ *pulumi.OutputState } + +func (CapabilityArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*Capability)(nil)).Elem() +} + +func (o CapabilityArrayOutput) ToCapabilityArrayOutput() CapabilityArrayOutput { + return o +} + +func (o CapabilityArrayOutput) ToCapabilityArrayOutputWithContext(ctx context.Context) CapabilityArrayOutput { + return o +} + +func (o CapabilityArrayOutput) Index(i pulumi.IntInput) CapabilityOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *Capability { + return vs[0].([]*Capability)[vs[1].(int)] + }).(CapabilityOutput) +} + +type CapabilityMapOutput struct{ *pulumi.OutputState } + +func (CapabilityMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*Capability)(nil)).Elem() +} + +func (o CapabilityMapOutput) ToCapabilityMapOutput() CapabilityMapOutput { + return o +} + +func (o CapabilityMapOutput) ToCapabilityMapOutputWithContext(ctx context.Context) CapabilityMapOutput { + return o +} + +func (o CapabilityMapOutput) MapIndex(k pulumi.StringInput) CapabilityOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *Capability { + return vs[0].(map[string]*Capability)[vs[1].(string)] + }).(CapabilityOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*CapabilityInput)(nil)).Elem(), &Capability{}) + pulumi.RegisterInputType(reflect.TypeOf((*CapabilityArrayInput)(nil)).Elem(), CapabilityArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*CapabilityMapInput)(nil)).Elem(), CapabilityMap{}) + pulumi.RegisterOutputType(CapabilityOutput{}) + pulumi.RegisterOutputType(CapabilityArrayOutput{}) + pulumi.RegisterOutputType(CapabilityMapOutput{}) +} diff --git a/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/eks/cluster.go b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/eks/cluster.go index 79447938e..2013404bb 100644 --- a/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/eks/cluster.go +++ b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/eks/cluster.go @@ -469,6 +469,8 @@ type Cluster struct { ClusterId pulumi.StringOutput `pulumi:"clusterId"` // Configuration block with compute configuration for EKS Auto Mode. Detailed below. ComputeConfig ClusterComputeConfigOutput `pulumi:"computeConfig"` + // Configuration block for the control plane scaling tier. See [EKS Provisioned Control Plane](https://docs.aws.amazon.com/eks/latest/userguide/eks-provisioned-control-plane-getting-started.html) for more information. Detailed below. + ControlPlaneScalingConfig ClusterControlPlaneScalingConfigOutput `pulumi:"controlPlaneScalingConfig"` // Unix epoch timestamp in seconds for when the cluster was created. CreatedAt pulumi.StringOutput `pulumi:"createdAt"` // Deprecated: Configure bootstrapSelfManagedAddons instead. This attribute will be removed in the next major version of the provider @@ -567,6 +569,8 @@ type clusterState struct { ClusterId *string `pulumi:"clusterId"` // Configuration block with compute configuration for EKS Auto Mode. Detailed below. ComputeConfig *ClusterComputeConfig `pulumi:"computeConfig"` + // Configuration block for the control plane scaling tier. See [EKS Provisioned Control Plane](https://docs.aws.amazon.com/eks/latest/userguide/eks-provisioned-control-plane-getting-started.html) for more information. Detailed below. + ControlPlaneScalingConfig *ClusterControlPlaneScalingConfig `pulumi:"controlPlaneScalingConfig"` // Unix epoch timestamp in seconds for when the cluster was created. CreatedAt *string `pulumi:"createdAt"` // Deprecated: Configure bootstrapSelfManagedAddons instead. This attribute will be removed in the next major version of the provider @@ -630,6 +634,8 @@ type ClusterState struct { ClusterId pulumi.StringPtrInput // Configuration block with compute configuration for EKS Auto Mode. Detailed below. ComputeConfig ClusterComputeConfigPtrInput + // Configuration block for the control plane scaling tier. See [EKS Provisioned Control Plane](https://docs.aws.amazon.com/eks/latest/userguide/eks-provisioned-control-plane-getting-started.html) for more information. Detailed below. + ControlPlaneScalingConfig ClusterControlPlaneScalingConfigPtrInput // Unix epoch timestamp in seconds for when the cluster was created. CreatedAt pulumi.StringPtrInput // Deprecated: Configure bootstrapSelfManagedAddons instead. This attribute will be removed in the next major version of the provider @@ -691,6 +697,8 @@ type clusterArgs struct { BootstrapSelfManagedAddons *bool `pulumi:"bootstrapSelfManagedAddons"` // Configuration block with compute configuration for EKS Auto Mode. Detailed below. ComputeConfig *ClusterComputeConfig `pulumi:"computeConfig"` + // Configuration block for the control plane scaling tier. See [EKS Provisioned Control Plane](https://docs.aws.amazon.com/eks/latest/userguide/eks-provisioned-control-plane-getting-started.html) for more information. Detailed below. + ControlPlaneScalingConfig *ClusterControlPlaneScalingConfig `pulumi:"controlPlaneScalingConfig"` // Deprecated: Configure bootstrapSelfManagedAddons instead. This attribute will be removed in the next major version of the provider DefaultAddonsToRemoves []string `pulumi:"defaultAddonsToRemoves"` // Whether to enable deletion protection for the cluster. When enabled, the cluster cannot be deleted unless deletion protection is first disabled. Default: `false`. @@ -737,6 +745,8 @@ type ClusterArgs struct { BootstrapSelfManagedAddons pulumi.BoolPtrInput // Configuration block with compute configuration for EKS Auto Mode. Detailed below. ComputeConfig ClusterComputeConfigPtrInput + // Configuration block for the control plane scaling tier. See [EKS Provisioned Control Plane](https://docs.aws.amazon.com/eks/latest/userguide/eks-provisioned-control-plane-getting-started.html) for more information. Detailed below. + ControlPlaneScalingConfig ClusterControlPlaneScalingConfigPtrInput // Deprecated: Configure bootstrapSelfManagedAddons instead. This attribute will be removed in the next major version of the provider DefaultAddonsToRemoves pulumi.StringArrayInput // Whether to enable deletion protection for the cluster. When enabled, the cluster cannot be deleted unless deletion protection is first disabled. Default: `false`. @@ -892,6 +902,11 @@ func (o ClusterOutput) ComputeConfig() ClusterComputeConfigOutput { return o.ApplyT(func(v *Cluster) ClusterComputeConfigOutput { return v.ComputeConfig }).(ClusterComputeConfigOutput) } +// Configuration block for the control plane scaling tier. See [EKS Provisioned Control Plane](https://docs.aws.amazon.com/eks/latest/userguide/eks-provisioned-control-plane-getting-started.html) for more information. Detailed below. +func (o ClusterOutput) ControlPlaneScalingConfig() ClusterControlPlaneScalingConfigOutput { + return o.ApplyT(func(v *Cluster) ClusterControlPlaneScalingConfigOutput { return v.ControlPlaneScalingConfig }).(ClusterControlPlaneScalingConfigOutput) +} + // Unix epoch timestamp in seconds for when the cluster was created. func (o ClusterOutput) CreatedAt() pulumi.StringOutput { return o.ApplyT(func(v *Cluster) pulumi.StringOutput { return v.CreatedAt }).(pulumi.StringOutput) diff --git a/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/eks/getCluster.go b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/eks/getCluster.go index 76eca41f3..00220378b 100644 --- a/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/eks/getCluster.go +++ b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/eks/getCluster.go @@ -72,6 +72,8 @@ type LookupClusterResult struct { ClusterId string `pulumi:"clusterId"` // Nested attribute containing compute capability configuration for EKS Auto Mode enabled cluster. ComputeConfigs []GetClusterComputeConfig `pulumi:"computeConfigs"` + // Configuration block for the control plane scaling tier. See [EKS Provisioned Control Plane](https://docs.aws.amazon.com/eks/latest/userguide/eks-provisioned-control-plane-getting-started.html) for more information. + ControlPlaneScalingConfigs []GetClusterControlPlaneScalingConfig `pulumi:"controlPlaneScalingConfigs"` // Unix epoch time stamp in seconds for when the cluster was created. CreatedAt string `pulumi:"createdAt"` // Whether deletion protection for the cluster is enabled. @@ -175,6 +177,11 @@ func (o LookupClusterResultOutput) ComputeConfigs() GetClusterComputeConfigArray return o.ApplyT(func(v LookupClusterResult) []GetClusterComputeConfig { return v.ComputeConfigs }).(GetClusterComputeConfigArrayOutput) } +// Configuration block for the control plane scaling tier. See [EKS Provisioned Control Plane](https://docs.aws.amazon.com/eks/latest/userguide/eks-provisioned-control-plane-getting-started.html) for more information. +func (o LookupClusterResultOutput) ControlPlaneScalingConfigs() GetClusterControlPlaneScalingConfigArrayOutput { + return o.ApplyT(func(v LookupClusterResult) []GetClusterControlPlaneScalingConfig { return v.ControlPlaneScalingConfigs }).(GetClusterControlPlaneScalingConfigArrayOutput) +} + // Unix epoch time stamp in seconds for when the cluster was created. func (o LookupClusterResultOutput) CreatedAt() pulumi.StringOutput { return o.ApplyT(func(v LookupClusterResult) string { return v.CreatedAt }).(pulumi.StringOutput) diff --git a/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/eks/getNodeGroup.go b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/eks/getNodeGroup.go index 8e90aa2ef..92f9fcdf8 100644 --- a/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/eks/getNodeGroup.go +++ b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/eks/getNodeGroup.go @@ -99,7 +99,8 @@ type LookupNodeGroupResult struct { // Key-value map of resource tags. Tags map[string]string `pulumi:"tags"` // List of objects containing information about taints applied to the nodes in the EKS Node Group. - Taints []GetNodeGroupTaint `pulumi:"taints"` + Taints []GetNodeGroupTaint `pulumi:"taints"` + UpdateConfigs []GetNodeGroupUpdateConfig `pulumi:"updateConfigs"` // Kubernetes version. Version string `pulumi:"version"` } @@ -241,6 +242,10 @@ func (o LookupNodeGroupResultOutput) Taints() GetNodeGroupTaintArrayOutput { return o.ApplyT(func(v LookupNodeGroupResult) []GetNodeGroupTaint { return v.Taints }).(GetNodeGroupTaintArrayOutput) } +func (o LookupNodeGroupResultOutput) UpdateConfigs() GetNodeGroupUpdateConfigArrayOutput { + return o.ApplyT(func(v LookupNodeGroupResult) []GetNodeGroupUpdateConfig { return v.UpdateConfigs }).(GetNodeGroupUpdateConfigArrayOutput) +} + // Kubernetes version. func (o LookupNodeGroupResultOutput) Version() pulumi.StringOutput { return o.ApplyT(func(v LookupNodeGroupResult) string { return v.Version }).(pulumi.StringOutput) diff --git a/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/eks/init.go b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/eks/init.go index 429569e1d..179cdf908 100644 --- a/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/eks/init.go +++ b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/eks/init.go @@ -27,6 +27,8 @@ func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi r = &AccessPolicyAssociation{} case "aws:eks/addon:Addon": r = &Addon{} + case "aws:eks/capability:Capability": + r = &Capability{} case "aws:eks/cluster:Cluster": r = &Cluster{} case "aws:eks/fargateProfile:FargateProfile": @@ -65,6 +67,11 @@ func init() { "eks/addon", &module{version}, ) + pulumi.RegisterResourceModule( + "aws", + "eks/capability", + &module{version}, + ) pulumi.RegisterResourceModule( "aws", "eks/cluster", diff --git a/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/eks/pulumiTypes.go b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/eks/pulumiTypes.go index 6f24a0a4c..156a24144 100644 --- a/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/eks/pulumiTypes.go +++ b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/eks/pulumiTypes.go @@ -275,6 +275,1057 @@ func (o AddonPodIdentityAssociationArrayOutput) Index(i pulumi.IntInput) AddonPo }).(AddonPodIdentityAssociationOutput) } +type CapabilityConfiguration struct { + // ArgoCD configuration. See `argoCd` below. + ArgoCd *CapabilityConfigurationArgoCd `pulumi:"argoCd"` +} + +// CapabilityConfigurationInput is an input type that accepts CapabilityConfigurationArgs and CapabilityConfigurationOutput values. +// You can construct a concrete instance of `CapabilityConfigurationInput` via: +// +// CapabilityConfigurationArgs{...} +type CapabilityConfigurationInput interface { + pulumi.Input + + ToCapabilityConfigurationOutput() CapabilityConfigurationOutput + ToCapabilityConfigurationOutputWithContext(context.Context) CapabilityConfigurationOutput +} + +type CapabilityConfigurationArgs struct { + // ArgoCD configuration. See `argoCd` below. + ArgoCd CapabilityConfigurationArgoCdPtrInput `pulumi:"argoCd"` +} + +func (CapabilityConfigurationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*CapabilityConfiguration)(nil)).Elem() +} + +func (i CapabilityConfigurationArgs) ToCapabilityConfigurationOutput() CapabilityConfigurationOutput { + return i.ToCapabilityConfigurationOutputWithContext(context.Background()) +} + +func (i CapabilityConfigurationArgs) ToCapabilityConfigurationOutputWithContext(ctx context.Context) CapabilityConfigurationOutput { + return pulumi.ToOutputWithContext(ctx, i).(CapabilityConfigurationOutput) +} + +func (i CapabilityConfigurationArgs) ToCapabilityConfigurationPtrOutput() CapabilityConfigurationPtrOutput { + return i.ToCapabilityConfigurationPtrOutputWithContext(context.Background()) +} + +func (i CapabilityConfigurationArgs) ToCapabilityConfigurationPtrOutputWithContext(ctx context.Context) CapabilityConfigurationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CapabilityConfigurationOutput).ToCapabilityConfigurationPtrOutputWithContext(ctx) +} + +// CapabilityConfigurationPtrInput is an input type that accepts CapabilityConfigurationArgs, CapabilityConfigurationPtr and CapabilityConfigurationPtrOutput values. +// You can construct a concrete instance of `CapabilityConfigurationPtrInput` via: +// +// CapabilityConfigurationArgs{...} +// +// or: +// +// nil +type CapabilityConfigurationPtrInput interface { + pulumi.Input + + ToCapabilityConfigurationPtrOutput() CapabilityConfigurationPtrOutput + ToCapabilityConfigurationPtrOutputWithContext(context.Context) CapabilityConfigurationPtrOutput +} + +type capabilityConfigurationPtrType CapabilityConfigurationArgs + +func CapabilityConfigurationPtr(v *CapabilityConfigurationArgs) CapabilityConfigurationPtrInput { + return (*capabilityConfigurationPtrType)(v) +} + +func (*capabilityConfigurationPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**CapabilityConfiguration)(nil)).Elem() +} + +func (i *capabilityConfigurationPtrType) ToCapabilityConfigurationPtrOutput() CapabilityConfigurationPtrOutput { + return i.ToCapabilityConfigurationPtrOutputWithContext(context.Background()) +} + +func (i *capabilityConfigurationPtrType) ToCapabilityConfigurationPtrOutputWithContext(ctx context.Context) CapabilityConfigurationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CapabilityConfigurationPtrOutput) +} + +type CapabilityConfigurationOutput struct{ *pulumi.OutputState } + +func (CapabilityConfigurationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*CapabilityConfiguration)(nil)).Elem() +} + +func (o CapabilityConfigurationOutput) ToCapabilityConfigurationOutput() CapabilityConfigurationOutput { + return o +} + +func (o CapabilityConfigurationOutput) ToCapabilityConfigurationOutputWithContext(ctx context.Context) CapabilityConfigurationOutput { + return o +} + +func (o CapabilityConfigurationOutput) ToCapabilityConfigurationPtrOutput() CapabilityConfigurationPtrOutput { + return o.ToCapabilityConfigurationPtrOutputWithContext(context.Background()) +} + +func (o CapabilityConfigurationOutput) ToCapabilityConfigurationPtrOutputWithContext(ctx context.Context) CapabilityConfigurationPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v CapabilityConfiguration) *CapabilityConfiguration { + return &v + }).(CapabilityConfigurationPtrOutput) +} + +// ArgoCD configuration. See `argoCd` below. +func (o CapabilityConfigurationOutput) ArgoCd() CapabilityConfigurationArgoCdPtrOutput { + return o.ApplyT(func(v CapabilityConfiguration) *CapabilityConfigurationArgoCd { return v.ArgoCd }).(CapabilityConfigurationArgoCdPtrOutput) +} + +type CapabilityConfigurationPtrOutput struct{ *pulumi.OutputState } + +func (CapabilityConfigurationPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**CapabilityConfiguration)(nil)).Elem() +} + +func (o CapabilityConfigurationPtrOutput) ToCapabilityConfigurationPtrOutput() CapabilityConfigurationPtrOutput { + return o +} + +func (o CapabilityConfigurationPtrOutput) ToCapabilityConfigurationPtrOutputWithContext(ctx context.Context) CapabilityConfigurationPtrOutput { + return o +} + +func (o CapabilityConfigurationPtrOutput) Elem() CapabilityConfigurationOutput { + return o.ApplyT(func(v *CapabilityConfiguration) CapabilityConfiguration { + if v != nil { + return *v + } + var ret CapabilityConfiguration + return ret + }).(CapabilityConfigurationOutput) +} + +// ArgoCD configuration. See `argoCd` below. +func (o CapabilityConfigurationPtrOutput) ArgoCd() CapabilityConfigurationArgoCdPtrOutput { + return o.ApplyT(func(v *CapabilityConfiguration) *CapabilityConfigurationArgoCd { + if v == nil { + return nil + } + return v.ArgoCd + }).(CapabilityConfigurationArgoCdPtrOutput) +} + +type CapabilityConfigurationArgoCd struct { + // AWS IAM Identity Center configuration. See `awsIdc` below. + AwsIdc *CapabilityConfigurationArgoCdAwsIdc `pulumi:"awsIdc"` + // Kubernetes namespace for ArgoCD. + Namespace *string `pulumi:"namespace"` + // Network access configuration. See `networkAccess` below. + NetworkAccess *CapabilityConfigurationArgoCdNetworkAccess `pulumi:"networkAccess"` + // RBAC role mappings. See `rbacRoleMapping` below. + RbacRoleMappings []CapabilityConfigurationArgoCdRbacRoleMapping `pulumi:"rbacRoleMappings"` + // URL of the Argo CD server. + ServerUrl *string `pulumi:"serverUrl"` +} + +// CapabilityConfigurationArgoCdInput is an input type that accepts CapabilityConfigurationArgoCdArgs and CapabilityConfigurationArgoCdOutput values. +// You can construct a concrete instance of `CapabilityConfigurationArgoCdInput` via: +// +// CapabilityConfigurationArgoCdArgs{...} +type CapabilityConfigurationArgoCdInput interface { + pulumi.Input + + ToCapabilityConfigurationArgoCdOutput() CapabilityConfigurationArgoCdOutput + ToCapabilityConfigurationArgoCdOutputWithContext(context.Context) CapabilityConfigurationArgoCdOutput +} + +type CapabilityConfigurationArgoCdArgs struct { + // AWS IAM Identity Center configuration. See `awsIdc` below. + AwsIdc CapabilityConfigurationArgoCdAwsIdcPtrInput `pulumi:"awsIdc"` + // Kubernetes namespace for ArgoCD. + Namespace pulumi.StringPtrInput `pulumi:"namespace"` + // Network access configuration. See `networkAccess` below. + NetworkAccess CapabilityConfigurationArgoCdNetworkAccessPtrInput `pulumi:"networkAccess"` + // RBAC role mappings. See `rbacRoleMapping` below. + RbacRoleMappings CapabilityConfigurationArgoCdRbacRoleMappingArrayInput `pulumi:"rbacRoleMappings"` + // URL of the Argo CD server. + ServerUrl pulumi.StringPtrInput `pulumi:"serverUrl"` +} + +func (CapabilityConfigurationArgoCdArgs) ElementType() reflect.Type { + return reflect.TypeOf((*CapabilityConfigurationArgoCd)(nil)).Elem() +} + +func (i CapabilityConfigurationArgoCdArgs) ToCapabilityConfigurationArgoCdOutput() CapabilityConfigurationArgoCdOutput { + return i.ToCapabilityConfigurationArgoCdOutputWithContext(context.Background()) +} + +func (i CapabilityConfigurationArgoCdArgs) ToCapabilityConfigurationArgoCdOutputWithContext(ctx context.Context) CapabilityConfigurationArgoCdOutput { + return pulumi.ToOutputWithContext(ctx, i).(CapabilityConfigurationArgoCdOutput) +} + +func (i CapabilityConfigurationArgoCdArgs) ToCapabilityConfigurationArgoCdPtrOutput() CapabilityConfigurationArgoCdPtrOutput { + return i.ToCapabilityConfigurationArgoCdPtrOutputWithContext(context.Background()) +} + +func (i CapabilityConfigurationArgoCdArgs) ToCapabilityConfigurationArgoCdPtrOutputWithContext(ctx context.Context) CapabilityConfigurationArgoCdPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CapabilityConfigurationArgoCdOutput).ToCapabilityConfigurationArgoCdPtrOutputWithContext(ctx) +} + +// CapabilityConfigurationArgoCdPtrInput is an input type that accepts CapabilityConfigurationArgoCdArgs, CapabilityConfigurationArgoCdPtr and CapabilityConfigurationArgoCdPtrOutput values. +// You can construct a concrete instance of `CapabilityConfigurationArgoCdPtrInput` via: +// +// CapabilityConfigurationArgoCdArgs{...} +// +// or: +// +// nil +type CapabilityConfigurationArgoCdPtrInput interface { + pulumi.Input + + ToCapabilityConfigurationArgoCdPtrOutput() CapabilityConfigurationArgoCdPtrOutput + ToCapabilityConfigurationArgoCdPtrOutputWithContext(context.Context) CapabilityConfigurationArgoCdPtrOutput +} + +type capabilityConfigurationArgoCdPtrType CapabilityConfigurationArgoCdArgs + +func CapabilityConfigurationArgoCdPtr(v *CapabilityConfigurationArgoCdArgs) CapabilityConfigurationArgoCdPtrInput { + return (*capabilityConfigurationArgoCdPtrType)(v) +} + +func (*capabilityConfigurationArgoCdPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**CapabilityConfigurationArgoCd)(nil)).Elem() +} + +func (i *capabilityConfigurationArgoCdPtrType) ToCapabilityConfigurationArgoCdPtrOutput() CapabilityConfigurationArgoCdPtrOutput { + return i.ToCapabilityConfigurationArgoCdPtrOutputWithContext(context.Background()) +} + +func (i *capabilityConfigurationArgoCdPtrType) ToCapabilityConfigurationArgoCdPtrOutputWithContext(ctx context.Context) CapabilityConfigurationArgoCdPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CapabilityConfigurationArgoCdPtrOutput) +} + +type CapabilityConfigurationArgoCdOutput struct{ *pulumi.OutputState } + +func (CapabilityConfigurationArgoCdOutput) ElementType() reflect.Type { + return reflect.TypeOf((*CapabilityConfigurationArgoCd)(nil)).Elem() +} + +func (o CapabilityConfigurationArgoCdOutput) ToCapabilityConfigurationArgoCdOutput() CapabilityConfigurationArgoCdOutput { + return o +} + +func (o CapabilityConfigurationArgoCdOutput) ToCapabilityConfigurationArgoCdOutputWithContext(ctx context.Context) CapabilityConfigurationArgoCdOutput { + return o +} + +func (o CapabilityConfigurationArgoCdOutput) ToCapabilityConfigurationArgoCdPtrOutput() CapabilityConfigurationArgoCdPtrOutput { + return o.ToCapabilityConfigurationArgoCdPtrOutputWithContext(context.Background()) +} + +func (o CapabilityConfigurationArgoCdOutput) ToCapabilityConfigurationArgoCdPtrOutputWithContext(ctx context.Context) CapabilityConfigurationArgoCdPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v CapabilityConfigurationArgoCd) *CapabilityConfigurationArgoCd { + return &v + }).(CapabilityConfigurationArgoCdPtrOutput) +} + +// AWS IAM Identity Center configuration. See `awsIdc` below. +func (o CapabilityConfigurationArgoCdOutput) AwsIdc() CapabilityConfigurationArgoCdAwsIdcPtrOutput { + return o.ApplyT(func(v CapabilityConfigurationArgoCd) *CapabilityConfigurationArgoCdAwsIdc { return v.AwsIdc }).(CapabilityConfigurationArgoCdAwsIdcPtrOutput) +} + +// Kubernetes namespace for ArgoCD. +func (o CapabilityConfigurationArgoCdOutput) Namespace() pulumi.StringPtrOutput { + return o.ApplyT(func(v CapabilityConfigurationArgoCd) *string { return v.Namespace }).(pulumi.StringPtrOutput) +} + +// Network access configuration. See `networkAccess` below. +func (o CapabilityConfigurationArgoCdOutput) NetworkAccess() CapabilityConfigurationArgoCdNetworkAccessPtrOutput { + return o.ApplyT(func(v CapabilityConfigurationArgoCd) *CapabilityConfigurationArgoCdNetworkAccess { + return v.NetworkAccess + }).(CapabilityConfigurationArgoCdNetworkAccessPtrOutput) +} + +// RBAC role mappings. See `rbacRoleMapping` below. +func (o CapabilityConfigurationArgoCdOutput) RbacRoleMappings() CapabilityConfigurationArgoCdRbacRoleMappingArrayOutput { + return o.ApplyT(func(v CapabilityConfigurationArgoCd) []CapabilityConfigurationArgoCdRbacRoleMapping { + return v.RbacRoleMappings + }).(CapabilityConfigurationArgoCdRbacRoleMappingArrayOutput) +} + +// URL of the Argo CD server. +func (o CapabilityConfigurationArgoCdOutput) ServerUrl() pulumi.StringPtrOutput { + return o.ApplyT(func(v CapabilityConfigurationArgoCd) *string { return v.ServerUrl }).(pulumi.StringPtrOutput) +} + +type CapabilityConfigurationArgoCdPtrOutput struct{ *pulumi.OutputState } + +func (CapabilityConfigurationArgoCdPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**CapabilityConfigurationArgoCd)(nil)).Elem() +} + +func (o CapabilityConfigurationArgoCdPtrOutput) ToCapabilityConfigurationArgoCdPtrOutput() CapabilityConfigurationArgoCdPtrOutput { + return o +} + +func (o CapabilityConfigurationArgoCdPtrOutput) ToCapabilityConfigurationArgoCdPtrOutputWithContext(ctx context.Context) CapabilityConfigurationArgoCdPtrOutput { + return o +} + +func (o CapabilityConfigurationArgoCdPtrOutput) Elem() CapabilityConfigurationArgoCdOutput { + return o.ApplyT(func(v *CapabilityConfigurationArgoCd) CapabilityConfigurationArgoCd { + if v != nil { + return *v + } + var ret CapabilityConfigurationArgoCd + return ret + }).(CapabilityConfigurationArgoCdOutput) +} + +// AWS IAM Identity Center configuration. See `awsIdc` below. +func (o CapabilityConfigurationArgoCdPtrOutput) AwsIdc() CapabilityConfigurationArgoCdAwsIdcPtrOutput { + return o.ApplyT(func(v *CapabilityConfigurationArgoCd) *CapabilityConfigurationArgoCdAwsIdc { + if v == nil { + return nil + } + return v.AwsIdc + }).(CapabilityConfigurationArgoCdAwsIdcPtrOutput) +} + +// Kubernetes namespace for ArgoCD. +func (o CapabilityConfigurationArgoCdPtrOutput) Namespace() pulumi.StringPtrOutput { + return o.ApplyT(func(v *CapabilityConfigurationArgoCd) *string { + if v == nil { + return nil + } + return v.Namespace + }).(pulumi.StringPtrOutput) +} + +// Network access configuration. See `networkAccess` below. +func (o CapabilityConfigurationArgoCdPtrOutput) NetworkAccess() CapabilityConfigurationArgoCdNetworkAccessPtrOutput { + return o.ApplyT(func(v *CapabilityConfigurationArgoCd) *CapabilityConfigurationArgoCdNetworkAccess { + if v == nil { + return nil + } + return v.NetworkAccess + }).(CapabilityConfigurationArgoCdNetworkAccessPtrOutput) +} + +// RBAC role mappings. See `rbacRoleMapping` below. +func (o CapabilityConfigurationArgoCdPtrOutput) RbacRoleMappings() CapabilityConfigurationArgoCdRbacRoleMappingArrayOutput { + return o.ApplyT(func(v *CapabilityConfigurationArgoCd) []CapabilityConfigurationArgoCdRbacRoleMapping { + if v == nil { + return nil + } + return v.RbacRoleMappings + }).(CapabilityConfigurationArgoCdRbacRoleMappingArrayOutput) +} + +// URL of the Argo CD server. +func (o CapabilityConfigurationArgoCdPtrOutput) ServerUrl() pulumi.StringPtrOutput { + return o.ApplyT(func(v *CapabilityConfigurationArgoCd) *string { + if v == nil { + return nil + } + return v.ServerUrl + }).(pulumi.StringPtrOutput) +} + +type CapabilityConfigurationArgoCdAwsIdc struct { + // ARN of the IAM Identity Center instance. + IdcInstanceArn string `pulumi:"idcInstanceArn"` + IdcManagedApplicationArn *string `pulumi:"idcManagedApplicationArn"` + // Region of the IAM Identity Center instance. + IdcRegion *string `pulumi:"idcRegion"` +} + +// CapabilityConfigurationArgoCdAwsIdcInput is an input type that accepts CapabilityConfigurationArgoCdAwsIdcArgs and CapabilityConfigurationArgoCdAwsIdcOutput values. +// You can construct a concrete instance of `CapabilityConfigurationArgoCdAwsIdcInput` via: +// +// CapabilityConfigurationArgoCdAwsIdcArgs{...} +type CapabilityConfigurationArgoCdAwsIdcInput interface { + pulumi.Input + + ToCapabilityConfigurationArgoCdAwsIdcOutput() CapabilityConfigurationArgoCdAwsIdcOutput + ToCapabilityConfigurationArgoCdAwsIdcOutputWithContext(context.Context) CapabilityConfigurationArgoCdAwsIdcOutput +} + +type CapabilityConfigurationArgoCdAwsIdcArgs struct { + // ARN of the IAM Identity Center instance. + IdcInstanceArn pulumi.StringInput `pulumi:"idcInstanceArn"` + IdcManagedApplicationArn pulumi.StringPtrInput `pulumi:"idcManagedApplicationArn"` + // Region of the IAM Identity Center instance. + IdcRegion pulumi.StringPtrInput `pulumi:"idcRegion"` +} + +func (CapabilityConfigurationArgoCdAwsIdcArgs) ElementType() reflect.Type { + return reflect.TypeOf((*CapabilityConfigurationArgoCdAwsIdc)(nil)).Elem() +} + +func (i CapabilityConfigurationArgoCdAwsIdcArgs) ToCapabilityConfigurationArgoCdAwsIdcOutput() CapabilityConfigurationArgoCdAwsIdcOutput { + return i.ToCapabilityConfigurationArgoCdAwsIdcOutputWithContext(context.Background()) +} + +func (i CapabilityConfigurationArgoCdAwsIdcArgs) ToCapabilityConfigurationArgoCdAwsIdcOutputWithContext(ctx context.Context) CapabilityConfigurationArgoCdAwsIdcOutput { + return pulumi.ToOutputWithContext(ctx, i).(CapabilityConfigurationArgoCdAwsIdcOutput) +} + +func (i CapabilityConfigurationArgoCdAwsIdcArgs) ToCapabilityConfigurationArgoCdAwsIdcPtrOutput() CapabilityConfigurationArgoCdAwsIdcPtrOutput { + return i.ToCapabilityConfigurationArgoCdAwsIdcPtrOutputWithContext(context.Background()) +} + +func (i CapabilityConfigurationArgoCdAwsIdcArgs) ToCapabilityConfigurationArgoCdAwsIdcPtrOutputWithContext(ctx context.Context) CapabilityConfigurationArgoCdAwsIdcPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CapabilityConfigurationArgoCdAwsIdcOutput).ToCapabilityConfigurationArgoCdAwsIdcPtrOutputWithContext(ctx) +} + +// CapabilityConfigurationArgoCdAwsIdcPtrInput is an input type that accepts CapabilityConfigurationArgoCdAwsIdcArgs, CapabilityConfigurationArgoCdAwsIdcPtr and CapabilityConfigurationArgoCdAwsIdcPtrOutput values. +// You can construct a concrete instance of `CapabilityConfigurationArgoCdAwsIdcPtrInput` via: +// +// CapabilityConfigurationArgoCdAwsIdcArgs{...} +// +// or: +// +// nil +type CapabilityConfigurationArgoCdAwsIdcPtrInput interface { + pulumi.Input + + ToCapabilityConfigurationArgoCdAwsIdcPtrOutput() CapabilityConfigurationArgoCdAwsIdcPtrOutput + ToCapabilityConfigurationArgoCdAwsIdcPtrOutputWithContext(context.Context) CapabilityConfigurationArgoCdAwsIdcPtrOutput +} + +type capabilityConfigurationArgoCdAwsIdcPtrType CapabilityConfigurationArgoCdAwsIdcArgs + +func CapabilityConfigurationArgoCdAwsIdcPtr(v *CapabilityConfigurationArgoCdAwsIdcArgs) CapabilityConfigurationArgoCdAwsIdcPtrInput { + return (*capabilityConfigurationArgoCdAwsIdcPtrType)(v) +} + +func (*capabilityConfigurationArgoCdAwsIdcPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**CapabilityConfigurationArgoCdAwsIdc)(nil)).Elem() +} + +func (i *capabilityConfigurationArgoCdAwsIdcPtrType) ToCapabilityConfigurationArgoCdAwsIdcPtrOutput() CapabilityConfigurationArgoCdAwsIdcPtrOutput { + return i.ToCapabilityConfigurationArgoCdAwsIdcPtrOutputWithContext(context.Background()) +} + +func (i *capabilityConfigurationArgoCdAwsIdcPtrType) ToCapabilityConfigurationArgoCdAwsIdcPtrOutputWithContext(ctx context.Context) CapabilityConfigurationArgoCdAwsIdcPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CapabilityConfigurationArgoCdAwsIdcPtrOutput) +} + +type CapabilityConfigurationArgoCdAwsIdcOutput struct{ *pulumi.OutputState } + +func (CapabilityConfigurationArgoCdAwsIdcOutput) ElementType() reflect.Type { + return reflect.TypeOf((*CapabilityConfigurationArgoCdAwsIdc)(nil)).Elem() +} + +func (o CapabilityConfigurationArgoCdAwsIdcOutput) ToCapabilityConfigurationArgoCdAwsIdcOutput() CapabilityConfigurationArgoCdAwsIdcOutput { + return o +} + +func (o CapabilityConfigurationArgoCdAwsIdcOutput) ToCapabilityConfigurationArgoCdAwsIdcOutputWithContext(ctx context.Context) CapabilityConfigurationArgoCdAwsIdcOutput { + return o +} + +func (o CapabilityConfigurationArgoCdAwsIdcOutput) ToCapabilityConfigurationArgoCdAwsIdcPtrOutput() CapabilityConfigurationArgoCdAwsIdcPtrOutput { + return o.ToCapabilityConfigurationArgoCdAwsIdcPtrOutputWithContext(context.Background()) +} + +func (o CapabilityConfigurationArgoCdAwsIdcOutput) ToCapabilityConfigurationArgoCdAwsIdcPtrOutputWithContext(ctx context.Context) CapabilityConfigurationArgoCdAwsIdcPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v CapabilityConfigurationArgoCdAwsIdc) *CapabilityConfigurationArgoCdAwsIdc { + return &v + }).(CapabilityConfigurationArgoCdAwsIdcPtrOutput) +} + +// ARN of the IAM Identity Center instance. +func (o CapabilityConfigurationArgoCdAwsIdcOutput) IdcInstanceArn() pulumi.StringOutput { + return o.ApplyT(func(v CapabilityConfigurationArgoCdAwsIdc) string { return v.IdcInstanceArn }).(pulumi.StringOutput) +} + +func (o CapabilityConfigurationArgoCdAwsIdcOutput) IdcManagedApplicationArn() pulumi.StringPtrOutput { + return o.ApplyT(func(v CapabilityConfigurationArgoCdAwsIdc) *string { return v.IdcManagedApplicationArn }).(pulumi.StringPtrOutput) +} + +// Region of the IAM Identity Center instance. +func (o CapabilityConfigurationArgoCdAwsIdcOutput) IdcRegion() pulumi.StringPtrOutput { + return o.ApplyT(func(v CapabilityConfigurationArgoCdAwsIdc) *string { return v.IdcRegion }).(pulumi.StringPtrOutput) +} + +type CapabilityConfigurationArgoCdAwsIdcPtrOutput struct{ *pulumi.OutputState } + +func (CapabilityConfigurationArgoCdAwsIdcPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**CapabilityConfigurationArgoCdAwsIdc)(nil)).Elem() +} + +func (o CapabilityConfigurationArgoCdAwsIdcPtrOutput) ToCapabilityConfigurationArgoCdAwsIdcPtrOutput() CapabilityConfigurationArgoCdAwsIdcPtrOutput { + return o +} + +func (o CapabilityConfigurationArgoCdAwsIdcPtrOutput) ToCapabilityConfigurationArgoCdAwsIdcPtrOutputWithContext(ctx context.Context) CapabilityConfigurationArgoCdAwsIdcPtrOutput { + return o +} + +func (o CapabilityConfigurationArgoCdAwsIdcPtrOutput) Elem() CapabilityConfigurationArgoCdAwsIdcOutput { + return o.ApplyT(func(v *CapabilityConfigurationArgoCdAwsIdc) CapabilityConfigurationArgoCdAwsIdc { + if v != nil { + return *v + } + var ret CapabilityConfigurationArgoCdAwsIdc + return ret + }).(CapabilityConfigurationArgoCdAwsIdcOutput) +} + +// ARN of the IAM Identity Center instance. +func (o CapabilityConfigurationArgoCdAwsIdcPtrOutput) IdcInstanceArn() pulumi.StringPtrOutput { + return o.ApplyT(func(v *CapabilityConfigurationArgoCdAwsIdc) *string { + if v == nil { + return nil + } + return &v.IdcInstanceArn + }).(pulumi.StringPtrOutput) +} + +func (o CapabilityConfigurationArgoCdAwsIdcPtrOutput) IdcManagedApplicationArn() pulumi.StringPtrOutput { + return o.ApplyT(func(v *CapabilityConfigurationArgoCdAwsIdc) *string { + if v == nil { + return nil + } + return v.IdcManagedApplicationArn + }).(pulumi.StringPtrOutput) +} + +// Region of the IAM Identity Center instance. +func (o CapabilityConfigurationArgoCdAwsIdcPtrOutput) IdcRegion() pulumi.StringPtrOutput { + return o.ApplyT(func(v *CapabilityConfigurationArgoCdAwsIdc) *string { + if v == nil { + return nil + } + return v.IdcRegion + }).(pulumi.StringPtrOutput) +} + +type CapabilityConfigurationArgoCdNetworkAccess struct { + // VPC Endpoint IDs. + VpceIds []string `pulumi:"vpceIds"` +} + +// CapabilityConfigurationArgoCdNetworkAccessInput is an input type that accepts CapabilityConfigurationArgoCdNetworkAccessArgs and CapabilityConfigurationArgoCdNetworkAccessOutput values. +// You can construct a concrete instance of `CapabilityConfigurationArgoCdNetworkAccessInput` via: +// +// CapabilityConfigurationArgoCdNetworkAccessArgs{...} +type CapabilityConfigurationArgoCdNetworkAccessInput interface { + pulumi.Input + + ToCapabilityConfigurationArgoCdNetworkAccessOutput() CapabilityConfigurationArgoCdNetworkAccessOutput + ToCapabilityConfigurationArgoCdNetworkAccessOutputWithContext(context.Context) CapabilityConfigurationArgoCdNetworkAccessOutput +} + +type CapabilityConfigurationArgoCdNetworkAccessArgs struct { + // VPC Endpoint IDs. + VpceIds pulumi.StringArrayInput `pulumi:"vpceIds"` +} + +func (CapabilityConfigurationArgoCdNetworkAccessArgs) ElementType() reflect.Type { + return reflect.TypeOf((*CapabilityConfigurationArgoCdNetworkAccess)(nil)).Elem() +} + +func (i CapabilityConfigurationArgoCdNetworkAccessArgs) ToCapabilityConfigurationArgoCdNetworkAccessOutput() CapabilityConfigurationArgoCdNetworkAccessOutput { + return i.ToCapabilityConfigurationArgoCdNetworkAccessOutputWithContext(context.Background()) +} + +func (i CapabilityConfigurationArgoCdNetworkAccessArgs) ToCapabilityConfigurationArgoCdNetworkAccessOutputWithContext(ctx context.Context) CapabilityConfigurationArgoCdNetworkAccessOutput { + return pulumi.ToOutputWithContext(ctx, i).(CapabilityConfigurationArgoCdNetworkAccessOutput) +} + +func (i CapabilityConfigurationArgoCdNetworkAccessArgs) ToCapabilityConfigurationArgoCdNetworkAccessPtrOutput() CapabilityConfigurationArgoCdNetworkAccessPtrOutput { + return i.ToCapabilityConfigurationArgoCdNetworkAccessPtrOutputWithContext(context.Background()) +} + +func (i CapabilityConfigurationArgoCdNetworkAccessArgs) ToCapabilityConfigurationArgoCdNetworkAccessPtrOutputWithContext(ctx context.Context) CapabilityConfigurationArgoCdNetworkAccessPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CapabilityConfigurationArgoCdNetworkAccessOutput).ToCapabilityConfigurationArgoCdNetworkAccessPtrOutputWithContext(ctx) +} + +// CapabilityConfigurationArgoCdNetworkAccessPtrInput is an input type that accepts CapabilityConfigurationArgoCdNetworkAccessArgs, CapabilityConfigurationArgoCdNetworkAccessPtr and CapabilityConfigurationArgoCdNetworkAccessPtrOutput values. +// You can construct a concrete instance of `CapabilityConfigurationArgoCdNetworkAccessPtrInput` via: +// +// CapabilityConfigurationArgoCdNetworkAccessArgs{...} +// +// or: +// +// nil +type CapabilityConfigurationArgoCdNetworkAccessPtrInput interface { + pulumi.Input + + ToCapabilityConfigurationArgoCdNetworkAccessPtrOutput() CapabilityConfigurationArgoCdNetworkAccessPtrOutput + ToCapabilityConfigurationArgoCdNetworkAccessPtrOutputWithContext(context.Context) CapabilityConfigurationArgoCdNetworkAccessPtrOutput +} + +type capabilityConfigurationArgoCdNetworkAccessPtrType CapabilityConfigurationArgoCdNetworkAccessArgs + +func CapabilityConfigurationArgoCdNetworkAccessPtr(v *CapabilityConfigurationArgoCdNetworkAccessArgs) CapabilityConfigurationArgoCdNetworkAccessPtrInput { + return (*capabilityConfigurationArgoCdNetworkAccessPtrType)(v) +} + +func (*capabilityConfigurationArgoCdNetworkAccessPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**CapabilityConfigurationArgoCdNetworkAccess)(nil)).Elem() +} + +func (i *capabilityConfigurationArgoCdNetworkAccessPtrType) ToCapabilityConfigurationArgoCdNetworkAccessPtrOutput() CapabilityConfigurationArgoCdNetworkAccessPtrOutput { + return i.ToCapabilityConfigurationArgoCdNetworkAccessPtrOutputWithContext(context.Background()) +} + +func (i *capabilityConfigurationArgoCdNetworkAccessPtrType) ToCapabilityConfigurationArgoCdNetworkAccessPtrOutputWithContext(ctx context.Context) CapabilityConfigurationArgoCdNetworkAccessPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CapabilityConfigurationArgoCdNetworkAccessPtrOutput) +} + +type CapabilityConfigurationArgoCdNetworkAccessOutput struct{ *pulumi.OutputState } + +func (CapabilityConfigurationArgoCdNetworkAccessOutput) ElementType() reflect.Type { + return reflect.TypeOf((*CapabilityConfigurationArgoCdNetworkAccess)(nil)).Elem() +} + +func (o CapabilityConfigurationArgoCdNetworkAccessOutput) ToCapabilityConfigurationArgoCdNetworkAccessOutput() CapabilityConfigurationArgoCdNetworkAccessOutput { + return o +} + +func (o CapabilityConfigurationArgoCdNetworkAccessOutput) ToCapabilityConfigurationArgoCdNetworkAccessOutputWithContext(ctx context.Context) CapabilityConfigurationArgoCdNetworkAccessOutput { + return o +} + +func (o CapabilityConfigurationArgoCdNetworkAccessOutput) ToCapabilityConfigurationArgoCdNetworkAccessPtrOutput() CapabilityConfigurationArgoCdNetworkAccessPtrOutput { + return o.ToCapabilityConfigurationArgoCdNetworkAccessPtrOutputWithContext(context.Background()) +} + +func (o CapabilityConfigurationArgoCdNetworkAccessOutput) ToCapabilityConfigurationArgoCdNetworkAccessPtrOutputWithContext(ctx context.Context) CapabilityConfigurationArgoCdNetworkAccessPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v CapabilityConfigurationArgoCdNetworkAccess) *CapabilityConfigurationArgoCdNetworkAccess { + return &v + }).(CapabilityConfigurationArgoCdNetworkAccessPtrOutput) +} + +// VPC Endpoint IDs. +func (o CapabilityConfigurationArgoCdNetworkAccessOutput) VpceIds() pulumi.StringArrayOutput { + return o.ApplyT(func(v CapabilityConfigurationArgoCdNetworkAccess) []string { return v.VpceIds }).(pulumi.StringArrayOutput) +} + +type CapabilityConfigurationArgoCdNetworkAccessPtrOutput struct{ *pulumi.OutputState } + +func (CapabilityConfigurationArgoCdNetworkAccessPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**CapabilityConfigurationArgoCdNetworkAccess)(nil)).Elem() +} + +func (o CapabilityConfigurationArgoCdNetworkAccessPtrOutput) ToCapabilityConfigurationArgoCdNetworkAccessPtrOutput() CapabilityConfigurationArgoCdNetworkAccessPtrOutput { + return o +} + +func (o CapabilityConfigurationArgoCdNetworkAccessPtrOutput) ToCapabilityConfigurationArgoCdNetworkAccessPtrOutputWithContext(ctx context.Context) CapabilityConfigurationArgoCdNetworkAccessPtrOutput { + return o +} + +func (o CapabilityConfigurationArgoCdNetworkAccessPtrOutput) Elem() CapabilityConfigurationArgoCdNetworkAccessOutput { + return o.ApplyT(func(v *CapabilityConfigurationArgoCdNetworkAccess) CapabilityConfigurationArgoCdNetworkAccess { + if v != nil { + return *v + } + var ret CapabilityConfigurationArgoCdNetworkAccess + return ret + }).(CapabilityConfigurationArgoCdNetworkAccessOutput) +} + +// VPC Endpoint IDs. +func (o CapabilityConfigurationArgoCdNetworkAccessPtrOutput) VpceIds() pulumi.StringArrayOutput { + return o.ApplyT(func(v *CapabilityConfigurationArgoCdNetworkAccess) []string { + if v == nil { + return nil + } + return v.VpceIds + }).(pulumi.StringArrayOutput) +} + +type CapabilityConfigurationArgoCdRbacRoleMapping struct { + // List of identities. See `identity` below. + Identities []CapabilityConfigurationArgoCdRbacRoleMappingIdentity `pulumi:"identities"` + // ArgoCD role. Valid values: `ADMIN`, `EDITOR`, `VIEWER`. + Role string `pulumi:"role"` +} + +// CapabilityConfigurationArgoCdRbacRoleMappingInput is an input type that accepts CapabilityConfigurationArgoCdRbacRoleMappingArgs and CapabilityConfigurationArgoCdRbacRoleMappingOutput values. +// You can construct a concrete instance of `CapabilityConfigurationArgoCdRbacRoleMappingInput` via: +// +// CapabilityConfigurationArgoCdRbacRoleMappingArgs{...} +type CapabilityConfigurationArgoCdRbacRoleMappingInput interface { + pulumi.Input + + ToCapabilityConfigurationArgoCdRbacRoleMappingOutput() CapabilityConfigurationArgoCdRbacRoleMappingOutput + ToCapabilityConfigurationArgoCdRbacRoleMappingOutputWithContext(context.Context) CapabilityConfigurationArgoCdRbacRoleMappingOutput +} + +type CapabilityConfigurationArgoCdRbacRoleMappingArgs struct { + // List of identities. See `identity` below. + Identities CapabilityConfigurationArgoCdRbacRoleMappingIdentityArrayInput `pulumi:"identities"` + // ArgoCD role. Valid values: `ADMIN`, `EDITOR`, `VIEWER`. + Role pulumi.StringInput `pulumi:"role"` +} + +func (CapabilityConfigurationArgoCdRbacRoleMappingArgs) ElementType() reflect.Type { + return reflect.TypeOf((*CapabilityConfigurationArgoCdRbacRoleMapping)(nil)).Elem() +} + +func (i CapabilityConfigurationArgoCdRbacRoleMappingArgs) ToCapabilityConfigurationArgoCdRbacRoleMappingOutput() CapabilityConfigurationArgoCdRbacRoleMappingOutput { + return i.ToCapabilityConfigurationArgoCdRbacRoleMappingOutputWithContext(context.Background()) +} + +func (i CapabilityConfigurationArgoCdRbacRoleMappingArgs) ToCapabilityConfigurationArgoCdRbacRoleMappingOutputWithContext(ctx context.Context) CapabilityConfigurationArgoCdRbacRoleMappingOutput { + return pulumi.ToOutputWithContext(ctx, i).(CapabilityConfigurationArgoCdRbacRoleMappingOutput) +} + +// CapabilityConfigurationArgoCdRbacRoleMappingArrayInput is an input type that accepts CapabilityConfigurationArgoCdRbacRoleMappingArray and CapabilityConfigurationArgoCdRbacRoleMappingArrayOutput values. +// You can construct a concrete instance of `CapabilityConfigurationArgoCdRbacRoleMappingArrayInput` via: +// +// CapabilityConfigurationArgoCdRbacRoleMappingArray{ CapabilityConfigurationArgoCdRbacRoleMappingArgs{...} } +type CapabilityConfigurationArgoCdRbacRoleMappingArrayInput interface { + pulumi.Input + + ToCapabilityConfigurationArgoCdRbacRoleMappingArrayOutput() CapabilityConfigurationArgoCdRbacRoleMappingArrayOutput + ToCapabilityConfigurationArgoCdRbacRoleMappingArrayOutputWithContext(context.Context) CapabilityConfigurationArgoCdRbacRoleMappingArrayOutput +} + +type CapabilityConfigurationArgoCdRbacRoleMappingArray []CapabilityConfigurationArgoCdRbacRoleMappingInput + +func (CapabilityConfigurationArgoCdRbacRoleMappingArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]CapabilityConfigurationArgoCdRbacRoleMapping)(nil)).Elem() +} + +func (i CapabilityConfigurationArgoCdRbacRoleMappingArray) ToCapabilityConfigurationArgoCdRbacRoleMappingArrayOutput() CapabilityConfigurationArgoCdRbacRoleMappingArrayOutput { + return i.ToCapabilityConfigurationArgoCdRbacRoleMappingArrayOutputWithContext(context.Background()) +} + +func (i CapabilityConfigurationArgoCdRbacRoleMappingArray) ToCapabilityConfigurationArgoCdRbacRoleMappingArrayOutputWithContext(ctx context.Context) CapabilityConfigurationArgoCdRbacRoleMappingArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(CapabilityConfigurationArgoCdRbacRoleMappingArrayOutput) +} + +type CapabilityConfigurationArgoCdRbacRoleMappingOutput struct{ *pulumi.OutputState } + +func (CapabilityConfigurationArgoCdRbacRoleMappingOutput) ElementType() reflect.Type { + return reflect.TypeOf((*CapabilityConfigurationArgoCdRbacRoleMapping)(nil)).Elem() +} + +func (o CapabilityConfigurationArgoCdRbacRoleMappingOutput) ToCapabilityConfigurationArgoCdRbacRoleMappingOutput() CapabilityConfigurationArgoCdRbacRoleMappingOutput { + return o +} + +func (o CapabilityConfigurationArgoCdRbacRoleMappingOutput) ToCapabilityConfigurationArgoCdRbacRoleMappingOutputWithContext(ctx context.Context) CapabilityConfigurationArgoCdRbacRoleMappingOutput { + return o +} + +// List of identities. See `identity` below. +func (o CapabilityConfigurationArgoCdRbacRoleMappingOutput) Identities() CapabilityConfigurationArgoCdRbacRoleMappingIdentityArrayOutput { + return o.ApplyT(func(v CapabilityConfigurationArgoCdRbacRoleMapping) []CapabilityConfigurationArgoCdRbacRoleMappingIdentity { + return v.Identities + }).(CapabilityConfigurationArgoCdRbacRoleMappingIdentityArrayOutput) +} + +// ArgoCD role. Valid values: `ADMIN`, `EDITOR`, `VIEWER`. +func (o CapabilityConfigurationArgoCdRbacRoleMappingOutput) Role() pulumi.StringOutput { + return o.ApplyT(func(v CapabilityConfigurationArgoCdRbacRoleMapping) string { return v.Role }).(pulumi.StringOutput) +} + +type CapabilityConfigurationArgoCdRbacRoleMappingArrayOutput struct{ *pulumi.OutputState } + +func (CapabilityConfigurationArgoCdRbacRoleMappingArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]CapabilityConfigurationArgoCdRbacRoleMapping)(nil)).Elem() +} + +func (o CapabilityConfigurationArgoCdRbacRoleMappingArrayOutput) ToCapabilityConfigurationArgoCdRbacRoleMappingArrayOutput() CapabilityConfigurationArgoCdRbacRoleMappingArrayOutput { + return o +} + +func (o CapabilityConfigurationArgoCdRbacRoleMappingArrayOutput) ToCapabilityConfigurationArgoCdRbacRoleMappingArrayOutputWithContext(ctx context.Context) CapabilityConfigurationArgoCdRbacRoleMappingArrayOutput { + return o +} + +func (o CapabilityConfigurationArgoCdRbacRoleMappingArrayOutput) Index(i pulumi.IntInput) CapabilityConfigurationArgoCdRbacRoleMappingOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) CapabilityConfigurationArgoCdRbacRoleMapping { + return vs[0].([]CapabilityConfigurationArgoCdRbacRoleMapping)[vs[1].(int)] + }).(CapabilityConfigurationArgoCdRbacRoleMappingOutput) +} + +type CapabilityConfigurationArgoCdRbacRoleMappingIdentity struct { + // Identity ID. + Id string `pulumi:"id"` + // Identity type. Valid values: `SSO_USER`, `SSO_GROUP`. + Type string `pulumi:"type"` +} + +// CapabilityConfigurationArgoCdRbacRoleMappingIdentityInput is an input type that accepts CapabilityConfigurationArgoCdRbacRoleMappingIdentityArgs and CapabilityConfigurationArgoCdRbacRoleMappingIdentityOutput values. +// You can construct a concrete instance of `CapabilityConfigurationArgoCdRbacRoleMappingIdentityInput` via: +// +// CapabilityConfigurationArgoCdRbacRoleMappingIdentityArgs{...} +type CapabilityConfigurationArgoCdRbacRoleMappingIdentityInput interface { + pulumi.Input + + ToCapabilityConfigurationArgoCdRbacRoleMappingIdentityOutput() CapabilityConfigurationArgoCdRbacRoleMappingIdentityOutput + ToCapabilityConfigurationArgoCdRbacRoleMappingIdentityOutputWithContext(context.Context) CapabilityConfigurationArgoCdRbacRoleMappingIdentityOutput +} + +type CapabilityConfigurationArgoCdRbacRoleMappingIdentityArgs struct { + // Identity ID. + Id pulumi.StringInput `pulumi:"id"` + // Identity type. Valid values: `SSO_USER`, `SSO_GROUP`. + Type pulumi.StringInput `pulumi:"type"` +} + +func (CapabilityConfigurationArgoCdRbacRoleMappingIdentityArgs) ElementType() reflect.Type { + return reflect.TypeOf((*CapabilityConfigurationArgoCdRbacRoleMappingIdentity)(nil)).Elem() +} + +func (i CapabilityConfigurationArgoCdRbacRoleMappingIdentityArgs) ToCapabilityConfigurationArgoCdRbacRoleMappingIdentityOutput() CapabilityConfigurationArgoCdRbacRoleMappingIdentityOutput { + return i.ToCapabilityConfigurationArgoCdRbacRoleMappingIdentityOutputWithContext(context.Background()) +} + +func (i CapabilityConfigurationArgoCdRbacRoleMappingIdentityArgs) ToCapabilityConfigurationArgoCdRbacRoleMappingIdentityOutputWithContext(ctx context.Context) CapabilityConfigurationArgoCdRbacRoleMappingIdentityOutput { + return pulumi.ToOutputWithContext(ctx, i).(CapabilityConfigurationArgoCdRbacRoleMappingIdentityOutput) +} + +// CapabilityConfigurationArgoCdRbacRoleMappingIdentityArrayInput is an input type that accepts CapabilityConfigurationArgoCdRbacRoleMappingIdentityArray and CapabilityConfigurationArgoCdRbacRoleMappingIdentityArrayOutput values. +// You can construct a concrete instance of `CapabilityConfigurationArgoCdRbacRoleMappingIdentityArrayInput` via: +// +// CapabilityConfigurationArgoCdRbacRoleMappingIdentityArray{ CapabilityConfigurationArgoCdRbacRoleMappingIdentityArgs{...} } +type CapabilityConfigurationArgoCdRbacRoleMappingIdentityArrayInput interface { + pulumi.Input + + ToCapabilityConfigurationArgoCdRbacRoleMappingIdentityArrayOutput() CapabilityConfigurationArgoCdRbacRoleMappingIdentityArrayOutput + ToCapabilityConfigurationArgoCdRbacRoleMappingIdentityArrayOutputWithContext(context.Context) CapabilityConfigurationArgoCdRbacRoleMappingIdentityArrayOutput +} + +type CapabilityConfigurationArgoCdRbacRoleMappingIdentityArray []CapabilityConfigurationArgoCdRbacRoleMappingIdentityInput + +func (CapabilityConfigurationArgoCdRbacRoleMappingIdentityArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]CapabilityConfigurationArgoCdRbacRoleMappingIdentity)(nil)).Elem() +} + +func (i CapabilityConfigurationArgoCdRbacRoleMappingIdentityArray) ToCapabilityConfigurationArgoCdRbacRoleMappingIdentityArrayOutput() CapabilityConfigurationArgoCdRbacRoleMappingIdentityArrayOutput { + return i.ToCapabilityConfigurationArgoCdRbacRoleMappingIdentityArrayOutputWithContext(context.Background()) +} + +func (i CapabilityConfigurationArgoCdRbacRoleMappingIdentityArray) ToCapabilityConfigurationArgoCdRbacRoleMappingIdentityArrayOutputWithContext(ctx context.Context) CapabilityConfigurationArgoCdRbacRoleMappingIdentityArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(CapabilityConfigurationArgoCdRbacRoleMappingIdentityArrayOutput) +} + +type CapabilityConfigurationArgoCdRbacRoleMappingIdentityOutput struct{ *pulumi.OutputState } + +func (CapabilityConfigurationArgoCdRbacRoleMappingIdentityOutput) ElementType() reflect.Type { + return reflect.TypeOf((*CapabilityConfigurationArgoCdRbacRoleMappingIdentity)(nil)).Elem() +} + +func (o CapabilityConfigurationArgoCdRbacRoleMappingIdentityOutput) ToCapabilityConfigurationArgoCdRbacRoleMappingIdentityOutput() CapabilityConfigurationArgoCdRbacRoleMappingIdentityOutput { + return o +} + +func (o CapabilityConfigurationArgoCdRbacRoleMappingIdentityOutput) ToCapabilityConfigurationArgoCdRbacRoleMappingIdentityOutputWithContext(ctx context.Context) CapabilityConfigurationArgoCdRbacRoleMappingIdentityOutput { + return o +} + +// Identity ID. +func (o CapabilityConfigurationArgoCdRbacRoleMappingIdentityOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v CapabilityConfigurationArgoCdRbacRoleMappingIdentity) string { return v.Id }).(pulumi.StringOutput) +} + +// Identity type. Valid values: `SSO_USER`, `SSO_GROUP`. +func (o CapabilityConfigurationArgoCdRbacRoleMappingIdentityOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v CapabilityConfigurationArgoCdRbacRoleMappingIdentity) string { return v.Type }).(pulumi.StringOutput) +} + +type CapabilityConfigurationArgoCdRbacRoleMappingIdentityArrayOutput struct{ *pulumi.OutputState } + +func (CapabilityConfigurationArgoCdRbacRoleMappingIdentityArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]CapabilityConfigurationArgoCdRbacRoleMappingIdentity)(nil)).Elem() +} + +func (o CapabilityConfigurationArgoCdRbacRoleMappingIdentityArrayOutput) ToCapabilityConfigurationArgoCdRbacRoleMappingIdentityArrayOutput() CapabilityConfigurationArgoCdRbacRoleMappingIdentityArrayOutput { + return o +} + +func (o CapabilityConfigurationArgoCdRbacRoleMappingIdentityArrayOutput) ToCapabilityConfigurationArgoCdRbacRoleMappingIdentityArrayOutputWithContext(ctx context.Context) CapabilityConfigurationArgoCdRbacRoleMappingIdentityArrayOutput { + return o +} + +func (o CapabilityConfigurationArgoCdRbacRoleMappingIdentityArrayOutput) Index(i pulumi.IntInput) CapabilityConfigurationArgoCdRbacRoleMappingIdentityOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) CapabilityConfigurationArgoCdRbacRoleMappingIdentity { + return vs[0].([]CapabilityConfigurationArgoCdRbacRoleMappingIdentity)[vs[1].(int)] + }).(CapabilityConfigurationArgoCdRbacRoleMappingIdentityOutput) +} + +type CapabilityTimeouts struct { + // A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + Create *string `pulumi:"create"` + // A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs. + Delete *string `pulumi:"delete"` + // A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + Update *string `pulumi:"update"` +} + +// CapabilityTimeoutsInput is an input type that accepts CapabilityTimeoutsArgs and CapabilityTimeoutsOutput values. +// You can construct a concrete instance of `CapabilityTimeoutsInput` via: +// +// CapabilityTimeoutsArgs{...} +type CapabilityTimeoutsInput interface { + pulumi.Input + + ToCapabilityTimeoutsOutput() CapabilityTimeoutsOutput + ToCapabilityTimeoutsOutputWithContext(context.Context) CapabilityTimeoutsOutput +} + +type CapabilityTimeoutsArgs struct { + // A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + Create pulumi.StringPtrInput `pulumi:"create"` + // A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs. + Delete pulumi.StringPtrInput `pulumi:"delete"` + // A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + Update pulumi.StringPtrInput `pulumi:"update"` +} + +func (CapabilityTimeoutsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*CapabilityTimeouts)(nil)).Elem() +} + +func (i CapabilityTimeoutsArgs) ToCapabilityTimeoutsOutput() CapabilityTimeoutsOutput { + return i.ToCapabilityTimeoutsOutputWithContext(context.Background()) +} + +func (i CapabilityTimeoutsArgs) ToCapabilityTimeoutsOutputWithContext(ctx context.Context) CapabilityTimeoutsOutput { + return pulumi.ToOutputWithContext(ctx, i).(CapabilityTimeoutsOutput) +} + +func (i CapabilityTimeoutsArgs) ToCapabilityTimeoutsPtrOutput() CapabilityTimeoutsPtrOutput { + return i.ToCapabilityTimeoutsPtrOutputWithContext(context.Background()) +} + +func (i CapabilityTimeoutsArgs) ToCapabilityTimeoutsPtrOutputWithContext(ctx context.Context) CapabilityTimeoutsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CapabilityTimeoutsOutput).ToCapabilityTimeoutsPtrOutputWithContext(ctx) +} + +// CapabilityTimeoutsPtrInput is an input type that accepts CapabilityTimeoutsArgs, CapabilityTimeoutsPtr and CapabilityTimeoutsPtrOutput values. +// You can construct a concrete instance of `CapabilityTimeoutsPtrInput` via: +// +// CapabilityTimeoutsArgs{...} +// +// or: +// +// nil +type CapabilityTimeoutsPtrInput interface { + pulumi.Input + + ToCapabilityTimeoutsPtrOutput() CapabilityTimeoutsPtrOutput + ToCapabilityTimeoutsPtrOutputWithContext(context.Context) CapabilityTimeoutsPtrOutput +} + +type capabilityTimeoutsPtrType CapabilityTimeoutsArgs + +func CapabilityTimeoutsPtr(v *CapabilityTimeoutsArgs) CapabilityTimeoutsPtrInput { + return (*capabilityTimeoutsPtrType)(v) +} + +func (*capabilityTimeoutsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**CapabilityTimeouts)(nil)).Elem() +} + +func (i *capabilityTimeoutsPtrType) ToCapabilityTimeoutsPtrOutput() CapabilityTimeoutsPtrOutput { + return i.ToCapabilityTimeoutsPtrOutputWithContext(context.Background()) +} + +func (i *capabilityTimeoutsPtrType) ToCapabilityTimeoutsPtrOutputWithContext(ctx context.Context) CapabilityTimeoutsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CapabilityTimeoutsPtrOutput) +} + +type CapabilityTimeoutsOutput struct{ *pulumi.OutputState } + +func (CapabilityTimeoutsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*CapabilityTimeouts)(nil)).Elem() +} + +func (o CapabilityTimeoutsOutput) ToCapabilityTimeoutsOutput() CapabilityTimeoutsOutput { + return o +} + +func (o CapabilityTimeoutsOutput) ToCapabilityTimeoutsOutputWithContext(ctx context.Context) CapabilityTimeoutsOutput { + return o +} + +func (o CapabilityTimeoutsOutput) ToCapabilityTimeoutsPtrOutput() CapabilityTimeoutsPtrOutput { + return o.ToCapabilityTimeoutsPtrOutputWithContext(context.Background()) +} + +func (o CapabilityTimeoutsOutput) ToCapabilityTimeoutsPtrOutputWithContext(ctx context.Context) CapabilityTimeoutsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v CapabilityTimeouts) *CapabilityTimeouts { + return &v + }).(CapabilityTimeoutsPtrOutput) +} + +// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). +func (o CapabilityTimeoutsOutput) Create() pulumi.StringPtrOutput { + return o.ApplyT(func(v CapabilityTimeouts) *string { return v.Create }).(pulumi.StringPtrOutput) +} + +// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs. +func (o CapabilityTimeoutsOutput) Delete() pulumi.StringPtrOutput { + return o.ApplyT(func(v CapabilityTimeouts) *string { return v.Delete }).(pulumi.StringPtrOutput) +} + +// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). +func (o CapabilityTimeoutsOutput) Update() pulumi.StringPtrOutput { + return o.ApplyT(func(v CapabilityTimeouts) *string { return v.Update }).(pulumi.StringPtrOutput) +} + +type CapabilityTimeoutsPtrOutput struct{ *pulumi.OutputState } + +func (CapabilityTimeoutsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**CapabilityTimeouts)(nil)).Elem() +} + +func (o CapabilityTimeoutsPtrOutput) ToCapabilityTimeoutsPtrOutput() CapabilityTimeoutsPtrOutput { + return o +} + +func (o CapabilityTimeoutsPtrOutput) ToCapabilityTimeoutsPtrOutputWithContext(ctx context.Context) CapabilityTimeoutsPtrOutput { + return o +} + +func (o CapabilityTimeoutsPtrOutput) Elem() CapabilityTimeoutsOutput { + return o.ApplyT(func(v *CapabilityTimeouts) CapabilityTimeouts { + if v != nil { + return *v + } + var ret CapabilityTimeouts + return ret + }).(CapabilityTimeoutsOutput) +} + +// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). +func (o CapabilityTimeoutsPtrOutput) Create() pulumi.StringPtrOutput { + return o.ApplyT(func(v *CapabilityTimeouts) *string { + if v == nil { + return nil + } + return v.Create + }).(pulumi.StringPtrOutput) +} + +// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs. +func (o CapabilityTimeoutsPtrOutput) Delete() pulumi.StringPtrOutput { + return o.ApplyT(func(v *CapabilityTimeouts) *string { + if v == nil { + return nil + } + return v.Delete + }).(pulumi.StringPtrOutput) +} + +// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). +func (o CapabilityTimeoutsPtrOutput) Update() pulumi.StringPtrOutput { + return o.ApplyT(func(v *CapabilityTimeouts) *string { + if v == nil { + return nil + } + return v.Update + }).(pulumi.StringPtrOutput) +} + type ClusterAccessConfig struct { // The authentication mode for the cluster. Valid values are `CONFIG_MAP`, `API` or `API_AND_CONFIG_MAP` AuthenticationMode *string `pulumi:"authenticationMode"` @@ -743,6 +1794,143 @@ func (o ClusterComputeConfigPtrOutput) NodeRoleArn() pulumi.StringPtrOutput { }).(pulumi.StringPtrOutput) } +type ClusterControlPlaneScalingConfig struct { + // The control plane scaling tier. Valid values are `standard`, `tier-xl`, `tier-2xl`, or `tier-4xl`. Defaults to `standard`. For more information about each tier, see [EKS Provisioned Control Plane](https://docs.aws.amazon.com/eks/latest/userguide/eks-provisioned-control-plane-getting-started.html). + Tier *string `pulumi:"tier"` +} + +// ClusterControlPlaneScalingConfigInput is an input type that accepts ClusterControlPlaneScalingConfigArgs and ClusterControlPlaneScalingConfigOutput values. +// You can construct a concrete instance of `ClusterControlPlaneScalingConfigInput` via: +// +// ClusterControlPlaneScalingConfigArgs{...} +type ClusterControlPlaneScalingConfigInput interface { + pulumi.Input + + ToClusterControlPlaneScalingConfigOutput() ClusterControlPlaneScalingConfigOutput + ToClusterControlPlaneScalingConfigOutputWithContext(context.Context) ClusterControlPlaneScalingConfigOutput +} + +type ClusterControlPlaneScalingConfigArgs struct { + // The control plane scaling tier. Valid values are `standard`, `tier-xl`, `tier-2xl`, or `tier-4xl`. Defaults to `standard`. For more information about each tier, see [EKS Provisioned Control Plane](https://docs.aws.amazon.com/eks/latest/userguide/eks-provisioned-control-plane-getting-started.html). + Tier pulumi.StringPtrInput `pulumi:"tier"` +} + +func (ClusterControlPlaneScalingConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ClusterControlPlaneScalingConfig)(nil)).Elem() +} + +func (i ClusterControlPlaneScalingConfigArgs) ToClusterControlPlaneScalingConfigOutput() ClusterControlPlaneScalingConfigOutput { + return i.ToClusterControlPlaneScalingConfigOutputWithContext(context.Background()) +} + +func (i ClusterControlPlaneScalingConfigArgs) ToClusterControlPlaneScalingConfigOutputWithContext(ctx context.Context) ClusterControlPlaneScalingConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClusterControlPlaneScalingConfigOutput) +} + +func (i ClusterControlPlaneScalingConfigArgs) ToClusterControlPlaneScalingConfigPtrOutput() ClusterControlPlaneScalingConfigPtrOutput { + return i.ToClusterControlPlaneScalingConfigPtrOutputWithContext(context.Background()) +} + +func (i ClusterControlPlaneScalingConfigArgs) ToClusterControlPlaneScalingConfigPtrOutputWithContext(ctx context.Context) ClusterControlPlaneScalingConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClusterControlPlaneScalingConfigOutput).ToClusterControlPlaneScalingConfigPtrOutputWithContext(ctx) +} + +// ClusterControlPlaneScalingConfigPtrInput is an input type that accepts ClusterControlPlaneScalingConfigArgs, ClusterControlPlaneScalingConfigPtr and ClusterControlPlaneScalingConfigPtrOutput values. +// You can construct a concrete instance of `ClusterControlPlaneScalingConfigPtrInput` via: +// +// ClusterControlPlaneScalingConfigArgs{...} +// +// or: +// +// nil +type ClusterControlPlaneScalingConfigPtrInput interface { + pulumi.Input + + ToClusterControlPlaneScalingConfigPtrOutput() ClusterControlPlaneScalingConfigPtrOutput + ToClusterControlPlaneScalingConfigPtrOutputWithContext(context.Context) ClusterControlPlaneScalingConfigPtrOutput +} + +type clusterControlPlaneScalingConfigPtrType ClusterControlPlaneScalingConfigArgs + +func ClusterControlPlaneScalingConfigPtr(v *ClusterControlPlaneScalingConfigArgs) ClusterControlPlaneScalingConfigPtrInput { + return (*clusterControlPlaneScalingConfigPtrType)(v) +} + +func (*clusterControlPlaneScalingConfigPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**ClusterControlPlaneScalingConfig)(nil)).Elem() +} + +func (i *clusterControlPlaneScalingConfigPtrType) ToClusterControlPlaneScalingConfigPtrOutput() ClusterControlPlaneScalingConfigPtrOutput { + return i.ToClusterControlPlaneScalingConfigPtrOutputWithContext(context.Background()) +} + +func (i *clusterControlPlaneScalingConfigPtrType) ToClusterControlPlaneScalingConfigPtrOutputWithContext(ctx context.Context) ClusterControlPlaneScalingConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClusterControlPlaneScalingConfigPtrOutput) +} + +type ClusterControlPlaneScalingConfigOutput struct{ *pulumi.OutputState } + +func (ClusterControlPlaneScalingConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ClusterControlPlaneScalingConfig)(nil)).Elem() +} + +func (o ClusterControlPlaneScalingConfigOutput) ToClusterControlPlaneScalingConfigOutput() ClusterControlPlaneScalingConfigOutput { + return o +} + +func (o ClusterControlPlaneScalingConfigOutput) ToClusterControlPlaneScalingConfigOutputWithContext(ctx context.Context) ClusterControlPlaneScalingConfigOutput { + return o +} + +func (o ClusterControlPlaneScalingConfigOutput) ToClusterControlPlaneScalingConfigPtrOutput() ClusterControlPlaneScalingConfigPtrOutput { + return o.ToClusterControlPlaneScalingConfigPtrOutputWithContext(context.Background()) +} + +func (o ClusterControlPlaneScalingConfigOutput) ToClusterControlPlaneScalingConfigPtrOutputWithContext(ctx context.Context) ClusterControlPlaneScalingConfigPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v ClusterControlPlaneScalingConfig) *ClusterControlPlaneScalingConfig { + return &v + }).(ClusterControlPlaneScalingConfigPtrOutput) +} + +// The control plane scaling tier. Valid values are `standard`, `tier-xl`, `tier-2xl`, or `tier-4xl`. Defaults to `standard`. For more information about each tier, see [EKS Provisioned Control Plane](https://docs.aws.amazon.com/eks/latest/userguide/eks-provisioned-control-plane-getting-started.html). +func (o ClusterControlPlaneScalingConfigOutput) Tier() pulumi.StringPtrOutput { + return o.ApplyT(func(v ClusterControlPlaneScalingConfig) *string { return v.Tier }).(pulumi.StringPtrOutput) +} + +type ClusterControlPlaneScalingConfigPtrOutput struct{ *pulumi.OutputState } + +func (ClusterControlPlaneScalingConfigPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ClusterControlPlaneScalingConfig)(nil)).Elem() +} + +func (o ClusterControlPlaneScalingConfigPtrOutput) ToClusterControlPlaneScalingConfigPtrOutput() ClusterControlPlaneScalingConfigPtrOutput { + return o +} + +func (o ClusterControlPlaneScalingConfigPtrOutput) ToClusterControlPlaneScalingConfigPtrOutputWithContext(ctx context.Context) ClusterControlPlaneScalingConfigPtrOutput { + return o +} + +func (o ClusterControlPlaneScalingConfigPtrOutput) Elem() ClusterControlPlaneScalingConfigOutput { + return o.ApplyT(func(v *ClusterControlPlaneScalingConfig) ClusterControlPlaneScalingConfig { + if v != nil { + return *v + } + var ret ClusterControlPlaneScalingConfig + return ret + }).(ClusterControlPlaneScalingConfigOutput) +} + +// The control plane scaling tier. Valid values are `standard`, `tier-xl`, `tier-2xl`, or `tier-4xl`. Defaults to `standard`. For more information about each tier, see [EKS Provisioned Control Plane](https://docs.aws.amazon.com/eks/latest/userguide/eks-provisioned-control-plane-getting-started.html). +func (o ClusterControlPlaneScalingConfigPtrOutput) Tier() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ClusterControlPlaneScalingConfig) *string { + if v == nil { + return nil + } + return v.Tier + }).(pulumi.StringPtrOutput) +} + type ClusterEncryptionConfig struct { // Configuration block with provider for encryption. Detailed below. Provider ClusterEncryptionConfigProvider `pulumi:"provider"` @@ -4739,6 +5927,8 @@ type NodeGroupUpdateConfig struct { MaxUnavailable *int `pulumi:"maxUnavailable"` // Desired max percentage of unavailable worker nodes during node group update. MaxUnavailablePercentage *int `pulumi:"maxUnavailablePercentage"` + // Strategy to use for updating the node group. Valid values: `MINIMAL` and `DEFAULT`. + UpdateStrategy *string `pulumi:"updateStrategy"` } // NodeGroupUpdateConfigInput is an input type that accepts NodeGroupUpdateConfigArgs and NodeGroupUpdateConfigOutput values. @@ -4757,6 +5947,8 @@ type NodeGroupUpdateConfigArgs struct { MaxUnavailable pulumi.IntPtrInput `pulumi:"maxUnavailable"` // Desired max percentage of unavailable worker nodes during node group update. MaxUnavailablePercentage pulumi.IntPtrInput `pulumi:"maxUnavailablePercentage"` + // Strategy to use for updating the node group. Valid values: `MINIMAL` and `DEFAULT`. + UpdateStrategy pulumi.StringPtrInput `pulumi:"updateStrategy"` } func (NodeGroupUpdateConfigArgs) ElementType() reflect.Type { @@ -4846,6 +6038,11 @@ func (o NodeGroupUpdateConfigOutput) MaxUnavailablePercentage() pulumi.IntPtrOut return o.ApplyT(func(v NodeGroupUpdateConfig) *int { return v.MaxUnavailablePercentage }).(pulumi.IntPtrOutput) } +// Strategy to use for updating the node group. Valid values: `MINIMAL` and `DEFAULT`. +func (o NodeGroupUpdateConfigOutput) UpdateStrategy() pulumi.StringPtrOutput { + return o.ApplyT(func(v NodeGroupUpdateConfig) *string { return v.UpdateStrategy }).(pulumi.StringPtrOutput) +} + type NodeGroupUpdateConfigPtrOutput struct{ *pulumi.OutputState } func (NodeGroupUpdateConfigPtrOutput) ElementType() reflect.Type { @@ -4890,6 +6087,16 @@ func (o NodeGroupUpdateConfigPtrOutput) MaxUnavailablePercentage() pulumi.IntPtr }).(pulumi.IntPtrOutput) } +// Strategy to use for updating the node group. Valid values: `MINIMAL` and `DEFAULT`. +func (o NodeGroupUpdateConfigPtrOutput) UpdateStrategy() pulumi.StringPtrOutput { + return o.ApplyT(func(v *NodeGroupUpdateConfig) *string { + if v == nil { + return nil + } + return v.UpdateStrategy + }).(pulumi.StringPtrOutput) +} + type GetAddonPodIdentityAssociation struct { // ARN of the IAM role associated with the EKS add-on. RoleArn string `pulumi:"roleArn"` @@ -5314,6 +6521,103 @@ func (o GetClusterComputeConfigArrayOutput) Index(i pulumi.IntInput) GetClusterC }).(GetClusterComputeConfigOutput) } +type GetClusterControlPlaneScalingConfig struct { + // The control plane scaling tier. Valid values are `standard`, `tier-xl`, `tier-2xl`, or `tier-4xl`. + Tier string `pulumi:"tier"` +} + +// GetClusterControlPlaneScalingConfigInput is an input type that accepts GetClusterControlPlaneScalingConfigArgs and GetClusterControlPlaneScalingConfigOutput values. +// You can construct a concrete instance of `GetClusterControlPlaneScalingConfigInput` via: +// +// GetClusterControlPlaneScalingConfigArgs{...} +type GetClusterControlPlaneScalingConfigInput interface { + pulumi.Input + + ToGetClusterControlPlaneScalingConfigOutput() GetClusterControlPlaneScalingConfigOutput + ToGetClusterControlPlaneScalingConfigOutputWithContext(context.Context) GetClusterControlPlaneScalingConfigOutput +} + +type GetClusterControlPlaneScalingConfigArgs struct { + // The control plane scaling tier. Valid values are `standard`, `tier-xl`, `tier-2xl`, or `tier-4xl`. + Tier pulumi.StringInput `pulumi:"tier"` +} + +func (GetClusterControlPlaneScalingConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetClusterControlPlaneScalingConfig)(nil)).Elem() +} + +func (i GetClusterControlPlaneScalingConfigArgs) ToGetClusterControlPlaneScalingConfigOutput() GetClusterControlPlaneScalingConfigOutput { + return i.ToGetClusterControlPlaneScalingConfigOutputWithContext(context.Background()) +} + +func (i GetClusterControlPlaneScalingConfigArgs) ToGetClusterControlPlaneScalingConfigOutputWithContext(ctx context.Context) GetClusterControlPlaneScalingConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetClusterControlPlaneScalingConfigOutput) +} + +// GetClusterControlPlaneScalingConfigArrayInput is an input type that accepts GetClusterControlPlaneScalingConfigArray and GetClusterControlPlaneScalingConfigArrayOutput values. +// You can construct a concrete instance of `GetClusterControlPlaneScalingConfigArrayInput` via: +// +// GetClusterControlPlaneScalingConfigArray{ GetClusterControlPlaneScalingConfigArgs{...} } +type GetClusterControlPlaneScalingConfigArrayInput interface { + pulumi.Input + + ToGetClusterControlPlaneScalingConfigArrayOutput() GetClusterControlPlaneScalingConfigArrayOutput + ToGetClusterControlPlaneScalingConfigArrayOutputWithContext(context.Context) GetClusterControlPlaneScalingConfigArrayOutput +} + +type GetClusterControlPlaneScalingConfigArray []GetClusterControlPlaneScalingConfigInput + +func (GetClusterControlPlaneScalingConfigArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetClusterControlPlaneScalingConfig)(nil)).Elem() +} + +func (i GetClusterControlPlaneScalingConfigArray) ToGetClusterControlPlaneScalingConfigArrayOutput() GetClusterControlPlaneScalingConfigArrayOutput { + return i.ToGetClusterControlPlaneScalingConfigArrayOutputWithContext(context.Background()) +} + +func (i GetClusterControlPlaneScalingConfigArray) ToGetClusterControlPlaneScalingConfigArrayOutputWithContext(ctx context.Context) GetClusterControlPlaneScalingConfigArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetClusterControlPlaneScalingConfigArrayOutput) +} + +type GetClusterControlPlaneScalingConfigOutput struct{ *pulumi.OutputState } + +func (GetClusterControlPlaneScalingConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetClusterControlPlaneScalingConfig)(nil)).Elem() +} + +func (o GetClusterControlPlaneScalingConfigOutput) ToGetClusterControlPlaneScalingConfigOutput() GetClusterControlPlaneScalingConfigOutput { + return o +} + +func (o GetClusterControlPlaneScalingConfigOutput) ToGetClusterControlPlaneScalingConfigOutputWithContext(ctx context.Context) GetClusterControlPlaneScalingConfigOutput { + return o +} + +// The control plane scaling tier. Valid values are `standard`, `tier-xl`, `tier-2xl`, or `tier-4xl`. +func (o GetClusterControlPlaneScalingConfigOutput) Tier() pulumi.StringOutput { + return o.ApplyT(func(v GetClusterControlPlaneScalingConfig) string { return v.Tier }).(pulumi.StringOutput) +} + +type GetClusterControlPlaneScalingConfigArrayOutput struct{ *pulumi.OutputState } + +func (GetClusterControlPlaneScalingConfigArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetClusterControlPlaneScalingConfig)(nil)).Elem() +} + +func (o GetClusterControlPlaneScalingConfigArrayOutput) ToGetClusterControlPlaneScalingConfigArrayOutput() GetClusterControlPlaneScalingConfigArrayOutput { + return o +} + +func (o GetClusterControlPlaneScalingConfigArrayOutput) ToGetClusterControlPlaneScalingConfigArrayOutputWithContext(ctx context.Context) GetClusterControlPlaneScalingConfigArrayOutput { + return o +} + +func (o GetClusterControlPlaneScalingConfigArrayOutput) Index(i pulumi.IntInput) GetClusterControlPlaneScalingConfigOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetClusterControlPlaneScalingConfig { + return vs[0].([]GetClusterControlPlaneScalingConfig)[vs[1].(int)] + }).(GetClusterControlPlaneScalingConfigOutput) +} + type GetClusterIdentity struct { // Nested attribute containing [OpenID Connect](https://openid.net/connect/) identity provider information for the cluster. Oidcs []GetClusterIdentityOidc `pulumi:"oidcs"` @@ -7572,17 +8876,139 @@ func (o GetNodeGroupTaintArrayOutput) Index(i pulumi.IntInput) GetNodeGroupTaint }).(GetNodeGroupTaintOutput) } +type GetNodeGroupUpdateConfig struct { + MaxUnavailable int `pulumi:"maxUnavailable"` + MaxUnavailablePercentage int `pulumi:"maxUnavailablePercentage"` + UpdateStrategy string `pulumi:"updateStrategy"` +} + +// GetNodeGroupUpdateConfigInput is an input type that accepts GetNodeGroupUpdateConfigArgs and GetNodeGroupUpdateConfigOutput values. +// You can construct a concrete instance of `GetNodeGroupUpdateConfigInput` via: +// +// GetNodeGroupUpdateConfigArgs{...} +type GetNodeGroupUpdateConfigInput interface { + pulumi.Input + + ToGetNodeGroupUpdateConfigOutput() GetNodeGroupUpdateConfigOutput + ToGetNodeGroupUpdateConfigOutputWithContext(context.Context) GetNodeGroupUpdateConfigOutput +} + +type GetNodeGroupUpdateConfigArgs struct { + MaxUnavailable pulumi.IntInput `pulumi:"maxUnavailable"` + MaxUnavailablePercentage pulumi.IntInput `pulumi:"maxUnavailablePercentage"` + UpdateStrategy pulumi.StringInput `pulumi:"updateStrategy"` +} + +func (GetNodeGroupUpdateConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetNodeGroupUpdateConfig)(nil)).Elem() +} + +func (i GetNodeGroupUpdateConfigArgs) ToGetNodeGroupUpdateConfigOutput() GetNodeGroupUpdateConfigOutput { + return i.ToGetNodeGroupUpdateConfigOutputWithContext(context.Background()) +} + +func (i GetNodeGroupUpdateConfigArgs) ToGetNodeGroupUpdateConfigOutputWithContext(ctx context.Context) GetNodeGroupUpdateConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetNodeGroupUpdateConfigOutput) +} + +// GetNodeGroupUpdateConfigArrayInput is an input type that accepts GetNodeGroupUpdateConfigArray and GetNodeGroupUpdateConfigArrayOutput values. +// You can construct a concrete instance of `GetNodeGroupUpdateConfigArrayInput` via: +// +// GetNodeGroupUpdateConfigArray{ GetNodeGroupUpdateConfigArgs{...} } +type GetNodeGroupUpdateConfigArrayInput interface { + pulumi.Input + + ToGetNodeGroupUpdateConfigArrayOutput() GetNodeGroupUpdateConfigArrayOutput + ToGetNodeGroupUpdateConfigArrayOutputWithContext(context.Context) GetNodeGroupUpdateConfigArrayOutput +} + +type GetNodeGroupUpdateConfigArray []GetNodeGroupUpdateConfigInput + +func (GetNodeGroupUpdateConfigArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetNodeGroupUpdateConfig)(nil)).Elem() +} + +func (i GetNodeGroupUpdateConfigArray) ToGetNodeGroupUpdateConfigArrayOutput() GetNodeGroupUpdateConfigArrayOutput { + return i.ToGetNodeGroupUpdateConfigArrayOutputWithContext(context.Background()) +} + +func (i GetNodeGroupUpdateConfigArray) ToGetNodeGroupUpdateConfigArrayOutputWithContext(ctx context.Context) GetNodeGroupUpdateConfigArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetNodeGroupUpdateConfigArrayOutput) +} + +type GetNodeGroupUpdateConfigOutput struct{ *pulumi.OutputState } + +func (GetNodeGroupUpdateConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetNodeGroupUpdateConfig)(nil)).Elem() +} + +func (o GetNodeGroupUpdateConfigOutput) ToGetNodeGroupUpdateConfigOutput() GetNodeGroupUpdateConfigOutput { + return o +} + +func (o GetNodeGroupUpdateConfigOutput) ToGetNodeGroupUpdateConfigOutputWithContext(ctx context.Context) GetNodeGroupUpdateConfigOutput { + return o +} + +func (o GetNodeGroupUpdateConfigOutput) MaxUnavailable() pulumi.IntOutput { + return o.ApplyT(func(v GetNodeGroupUpdateConfig) int { return v.MaxUnavailable }).(pulumi.IntOutput) +} + +func (o GetNodeGroupUpdateConfigOutput) MaxUnavailablePercentage() pulumi.IntOutput { + return o.ApplyT(func(v GetNodeGroupUpdateConfig) int { return v.MaxUnavailablePercentage }).(pulumi.IntOutput) +} + +func (o GetNodeGroupUpdateConfigOutput) UpdateStrategy() pulumi.StringOutput { + return o.ApplyT(func(v GetNodeGroupUpdateConfig) string { return v.UpdateStrategy }).(pulumi.StringOutput) +} + +type GetNodeGroupUpdateConfigArrayOutput struct{ *pulumi.OutputState } + +func (GetNodeGroupUpdateConfigArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetNodeGroupUpdateConfig)(nil)).Elem() +} + +func (o GetNodeGroupUpdateConfigArrayOutput) ToGetNodeGroupUpdateConfigArrayOutput() GetNodeGroupUpdateConfigArrayOutput { + return o +} + +func (o GetNodeGroupUpdateConfigArrayOutput) ToGetNodeGroupUpdateConfigArrayOutputWithContext(ctx context.Context) GetNodeGroupUpdateConfigArrayOutput { + return o +} + +func (o GetNodeGroupUpdateConfigArrayOutput) Index(i pulumi.IntInput) GetNodeGroupUpdateConfigOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetNodeGroupUpdateConfig { + return vs[0].([]GetNodeGroupUpdateConfig)[vs[1].(int)] + }).(GetNodeGroupUpdateConfigOutput) +} + func init() { pulumi.RegisterInputType(reflect.TypeOf((*AccessPolicyAssociationAccessScopeInput)(nil)).Elem(), AccessPolicyAssociationAccessScopeArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*AccessPolicyAssociationAccessScopePtrInput)(nil)).Elem(), AccessPolicyAssociationAccessScopeArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*AddonPodIdentityAssociationInput)(nil)).Elem(), AddonPodIdentityAssociationArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*AddonPodIdentityAssociationArrayInput)(nil)).Elem(), AddonPodIdentityAssociationArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*CapabilityConfigurationInput)(nil)).Elem(), CapabilityConfigurationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CapabilityConfigurationPtrInput)(nil)).Elem(), CapabilityConfigurationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CapabilityConfigurationArgoCdInput)(nil)).Elem(), CapabilityConfigurationArgoCdArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CapabilityConfigurationArgoCdPtrInput)(nil)).Elem(), CapabilityConfigurationArgoCdArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CapabilityConfigurationArgoCdAwsIdcInput)(nil)).Elem(), CapabilityConfigurationArgoCdAwsIdcArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CapabilityConfigurationArgoCdAwsIdcPtrInput)(nil)).Elem(), CapabilityConfigurationArgoCdAwsIdcArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CapabilityConfigurationArgoCdNetworkAccessInput)(nil)).Elem(), CapabilityConfigurationArgoCdNetworkAccessArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CapabilityConfigurationArgoCdNetworkAccessPtrInput)(nil)).Elem(), CapabilityConfigurationArgoCdNetworkAccessArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CapabilityConfigurationArgoCdRbacRoleMappingInput)(nil)).Elem(), CapabilityConfigurationArgoCdRbacRoleMappingArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CapabilityConfigurationArgoCdRbacRoleMappingArrayInput)(nil)).Elem(), CapabilityConfigurationArgoCdRbacRoleMappingArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*CapabilityConfigurationArgoCdRbacRoleMappingIdentityInput)(nil)).Elem(), CapabilityConfigurationArgoCdRbacRoleMappingIdentityArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CapabilityConfigurationArgoCdRbacRoleMappingIdentityArrayInput)(nil)).Elem(), CapabilityConfigurationArgoCdRbacRoleMappingIdentityArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*CapabilityTimeoutsInput)(nil)).Elem(), CapabilityTimeoutsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CapabilityTimeoutsPtrInput)(nil)).Elem(), CapabilityTimeoutsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ClusterAccessConfigInput)(nil)).Elem(), ClusterAccessConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ClusterAccessConfigPtrInput)(nil)).Elem(), ClusterAccessConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ClusterCertificateAuthorityInput)(nil)).Elem(), ClusterCertificateAuthorityArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ClusterCertificateAuthorityPtrInput)(nil)).Elem(), ClusterCertificateAuthorityArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ClusterComputeConfigInput)(nil)).Elem(), ClusterComputeConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ClusterComputeConfigPtrInput)(nil)).Elem(), ClusterComputeConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ClusterControlPlaneScalingConfigInput)(nil)).Elem(), ClusterControlPlaneScalingConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ClusterControlPlaneScalingConfigPtrInput)(nil)).Elem(), ClusterControlPlaneScalingConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ClusterEncryptionConfigInput)(nil)).Elem(), ClusterEncryptionConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ClusterEncryptionConfigPtrInput)(nil)).Elem(), ClusterEncryptionConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ClusterEncryptionConfigProviderInput)(nil)).Elem(), ClusterEncryptionConfigProviderArgs{}) @@ -7645,6 +9071,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*GetClusterCertificateAuthorityArrayInput)(nil)).Elem(), GetClusterCertificateAuthorityArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetClusterComputeConfigInput)(nil)).Elem(), GetClusterComputeConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetClusterComputeConfigArrayInput)(nil)).Elem(), GetClusterComputeConfigArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetClusterControlPlaneScalingConfigInput)(nil)).Elem(), GetClusterControlPlaneScalingConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetClusterControlPlaneScalingConfigArrayInput)(nil)).Elem(), GetClusterControlPlaneScalingConfigArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetClusterIdentityInput)(nil)).Elem(), GetClusterIdentityArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetClusterIdentityArrayInput)(nil)).Elem(), GetClusterIdentityArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetClusterIdentityOidcInput)(nil)).Elem(), GetClusterIdentityOidcArgs{}) @@ -7686,16 +9114,34 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*GetNodeGroupScalingConfigArrayInput)(nil)).Elem(), GetNodeGroupScalingConfigArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetNodeGroupTaintInput)(nil)).Elem(), GetNodeGroupTaintArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetNodeGroupTaintArrayInput)(nil)).Elem(), GetNodeGroupTaintArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetNodeGroupUpdateConfigInput)(nil)).Elem(), GetNodeGroupUpdateConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetNodeGroupUpdateConfigArrayInput)(nil)).Elem(), GetNodeGroupUpdateConfigArray{}) pulumi.RegisterOutputType(AccessPolicyAssociationAccessScopeOutput{}) pulumi.RegisterOutputType(AccessPolicyAssociationAccessScopePtrOutput{}) pulumi.RegisterOutputType(AddonPodIdentityAssociationOutput{}) pulumi.RegisterOutputType(AddonPodIdentityAssociationArrayOutput{}) + pulumi.RegisterOutputType(CapabilityConfigurationOutput{}) + pulumi.RegisterOutputType(CapabilityConfigurationPtrOutput{}) + pulumi.RegisterOutputType(CapabilityConfigurationArgoCdOutput{}) + pulumi.RegisterOutputType(CapabilityConfigurationArgoCdPtrOutput{}) + pulumi.RegisterOutputType(CapabilityConfigurationArgoCdAwsIdcOutput{}) + pulumi.RegisterOutputType(CapabilityConfigurationArgoCdAwsIdcPtrOutput{}) + pulumi.RegisterOutputType(CapabilityConfigurationArgoCdNetworkAccessOutput{}) + pulumi.RegisterOutputType(CapabilityConfigurationArgoCdNetworkAccessPtrOutput{}) + pulumi.RegisterOutputType(CapabilityConfigurationArgoCdRbacRoleMappingOutput{}) + pulumi.RegisterOutputType(CapabilityConfigurationArgoCdRbacRoleMappingArrayOutput{}) + pulumi.RegisterOutputType(CapabilityConfigurationArgoCdRbacRoleMappingIdentityOutput{}) + pulumi.RegisterOutputType(CapabilityConfigurationArgoCdRbacRoleMappingIdentityArrayOutput{}) + pulumi.RegisterOutputType(CapabilityTimeoutsOutput{}) + pulumi.RegisterOutputType(CapabilityTimeoutsPtrOutput{}) pulumi.RegisterOutputType(ClusterAccessConfigOutput{}) pulumi.RegisterOutputType(ClusterAccessConfigPtrOutput{}) pulumi.RegisterOutputType(ClusterCertificateAuthorityOutput{}) pulumi.RegisterOutputType(ClusterCertificateAuthorityPtrOutput{}) pulumi.RegisterOutputType(ClusterComputeConfigOutput{}) pulumi.RegisterOutputType(ClusterComputeConfigPtrOutput{}) + pulumi.RegisterOutputType(ClusterControlPlaneScalingConfigOutput{}) + pulumi.RegisterOutputType(ClusterControlPlaneScalingConfigPtrOutput{}) pulumi.RegisterOutputType(ClusterEncryptionConfigOutput{}) pulumi.RegisterOutputType(ClusterEncryptionConfigPtrOutput{}) pulumi.RegisterOutputType(ClusterEncryptionConfigProviderOutput{}) @@ -7758,6 +9204,8 @@ func init() { pulumi.RegisterOutputType(GetClusterCertificateAuthorityArrayOutput{}) pulumi.RegisterOutputType(GetClusterComputeConfigOutput{}) pulumi.RegisterOutputType(GetClusterComputeConfigArrayOutput{}) + pulumi.RegisterOutputType(GetClusterControlPlaneScalingConfigOutput{}) + pulumi.RegisterOutputType(GetClusterControlPlaneScalingConfigArrayOutput{}) pulumi.RegisterOutputType(GetClusterIdentityOutput{}) pulumi.RegisterOutputType(GetClusterIdentityArrayOutput{}) pulumi.RegisterOutputType(GetClusterIdentityOidcOutput{}) @@ -7799,4 +9247,6 @@ func init() { pulumi.RegisterOutputType(GetNodeGroupScalingConfigArrayOutput{}) pulumi.RegisterOutputType(GetNodeGroupTaintOutput{}) pulumi.RegisterOutputType(GetNodeGroupTaintArrayOutput{}) + pulumi.RegisterOutputType(GetNodeGroupUpdateConfigOutput{}) + pulumi.RegisterOutputType(GetNodeGroupUpdateConfigArrayOutput{}) } diff --git a/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/iam/init.go b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/iam/init.go index d882c8038..5430e645b 100644 --- a/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/iam/init.go +++ b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/iam/init.go @@ -45,6 +45,8 @@ func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi r = &OpenIdConnectProvider{} case "aws:iam/organizationsFeatures:OrganizationsFeatures": r = &OrganizationsFeatures{} + case "aws:iam/outboundWebIdentityFederation:OutboundWebIdentityFederation": + r = &OutboundWebIdentityFederation{} case "aws:iam/policy:Policy": r = &Policy{} case "aws:iam/policyAttachment:PolicyAttachment": @@ -162,6 +164,11 @@ func init() { "iam/organizationsFeatures", &module{version}, ) + pulumi.RegisterResourceModule( + "aws", + "iam/outboundWebIdentityFederation", + &module{version}, + ) pulumi.RegisterResourceModule( "aws", "iam/policy", diff --git a/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/iam/openIdConnectProvider.go b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/iam/openIdConnectProvider.go index cf4778426..19ef267c3 100644 --- a/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/iam/openIdConnectProvider.go +++ b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/iam/openIdConnectProvider.go @@ -87,8 +87,6 @@ import ( // // Using `pulumi import`, import IAM OpenID Connect Providers using the `arn`. For example: // -// console -// // % pulumi import aws_iam_openid_connect_provider.default arn:aws:iam::123456789012:oidc-provider/accounts.google.com type OpenIdConnectProvider struct { pulumi.CustomResourceState diff --git a/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/iam/outboundWebIdentityFederation.go b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/iam/outboundWebIdentityFederation.go new file mode 100644 index 000000000..628056b55 --- /dev/null +++ b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/iam/outboundWebIdentityFederation.go @@ -0,0 +1,243 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package iam + +import ( + "context" + "reflect" + + "github.com/pulumi/pulumi-aws/sdk/v7/go/aws/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// ## Example Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-aws/sdk/v7/go/aws/iam" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := iam.NewOutboundWebIdentityFederation(ctx, "example", nil) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// ## Import +// +// In Terraform v1.12.0 and later, the `import` block can be used with the `identity` attribute. For example: +// +// Using `pulumi import`, import IAM Outbound Web Identity Federation resources using the AWS account ID. For example: +// +// ```sh +// $ pulumi import aws:iam/outboundWebIdentityFederation:OutboundWebIdentityFederation example 123456789012 +// ``` +type OutboundWebIdentityFederation struct { + pulumi.CustomResourceState + + // A unique issuer URL for your AWS account that hosts the OpenID Connect (OIDC) discovery endpoints. + IssuerIdentifier pulumi.StringOutput `pulumi:"issuerIdentifier"` +} + +// NewOutboundWebIdentityFederation registers a new resource with the given unique name, arguments, and options. +func NewOutboundWebIdentityFederation(ctx *pulumi.Context, + name string, args *OutboundWebIdentityFederationArgs, opts ...pulumi.ResourceOption) (*OutboundWebIdentityFederation, error) { + if args == nil { + args = &OutboundWebIdentityFederationArgs{} + } + + opts = internal.PkgResourceDefaultOpts(opts) + var resource OutboundWebIdentityFederation + err := ctx.RegisterResource("aws:iam/outboundWebIdentityFederation:OutboundWebIdentityFederation", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetOutboundWebIdentityFederation gets an existing OutboundWebIdentityFederation 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 GetOutboundWebIdentityFederation(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *OutboundWebIdentityFederationState, opts ...pulumi.ResourceOption) (*OutboundWebIdentityFederation, error) { + var resource OutboundWebIdentityFederation + err := ctx.ReadResource("aws:iam/outboundWebIdentityFederation:OutboundWebIdentityFederation", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering OutboundWebIdentityFederation resources. +type outboundWebIdentityFederationState struct { + // A unique issuer URL for your AWS account that hosts the OpenID Connect (OIDC) discovery endpoints. + IssuerIdentifier *string `pulumi:"issuerIdentifier"` +} + +type OutboundWebIdentityFederationState struct { + // A unique issuer URL for your AWS account that hosts the OpenID Connect (OIDC) discovery endpoints. + IssuerIdentifier pulumi.StringPtrInput +} + +func (OutboundWebIdentityFederationState) ElementType() reflect.Type { + return reflect.TypeOf((*outboundWebIdentityFederationState)(nil)).Elem() +} + +type outboundWebIdentityFederationArgs struct { +} + +// The set of arguments for constructing a OutboundWebIdentityFederation resource. +type OutboundWebIdentityFederationArgs struct { +} + +func (OutboundWebIdentityFederationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*outboundWebIdentityFederationArgs)(nil)).Elem() +} + +type OutboundWebIdentityFederationInput interface { + pulumi.Input + + ToOutboundWebIdentityFederationOutput() OutboundWebIdentityFederationOutput + ToOutboundWebIdentityFederationOutputWithContext(ctx context.Context) OutboundWebIdentityFederationOutput +} + +func (*OutboundWebIdentityFederation) ElementType() reflect.Type { + return reflect.TypeOf((**OutboundWebIdentityFederation)(nil)).Elem() +} + +func (i *OutboundWebIdentityFederation) ToOutboundWebIdentityFederationOutput() OutboundWebIdentityFederationOutput { + return i.ToOutboundWebIdentityFederationOutputWithContext(context.Background()) +} + +func (i *OutboundWebIdentityFederation) ToOutboundWebIdentityFederationOutputWithContext(ctx context.Context) OutboundWebIdentityFederationOutput { + return pulumi.ToOutputWithContext(ctx, i).(OutboundWebIdentityFederationOutput) +} + +// OutboundWebIdentityFederationArrayInput is an input type that accepts OutboundWebIdentityFederationArray and OutboundWebIdentityFederationArrayOutput values. +// You can construct a concrete instance of `OutboundWebIdentityFederationArrayInput` via: +// +// OutboundWebIdentityFederationArray{ OutboundWebIdentityFederationArgs{...} } +type OutboundWebIdentityFederationArrayInput interface { + pulumi.Input + + ToOutboundWebIdentityFederationArrayOutput() OutboundWebIdentityFederationArrayOutput + ToOutboundWebIdentityFederationArrayOutputWithContext(context.Context) OutboundWebIdentityFederationArrayOutput +} + +type OutboundWebIdentityFederationArray []OutboundWebIdentityFederationInput + +func (OutboundWebIdentityFederationArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*OutboundWebIdentityFederation)(nil)).Elem() +} + +func (i OutboundWebIdentityFederationArray) ToOutboundWebIdentityFederationArrayOutput() OutboundWebIdentityFederationArrayOutput { + return i.ToOutboundWebIdentityFederationArrayOutputWithContext(context.Background()) +} + +func (i OutboundWebIdentityFederationArray) ToOutboundWebIdentityFederationArrayOutputWithContext(ctx context.Context) OutboundWebIdentityFederationArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(OutboundWebIdentityFederationArrayOutput) +} + +// OutboundWebIdentityFederationMapInput is an input type that accepts OutboundWebIdentityFederationMap and OutboundWebIdentityFederationMapOutput values. +// You can construct a concrete instance of `OutboundWebIdentityFederationMapInput` via: +// +// OutboundWebIdentityFederationMap{ "key": OutboundWebIdentityFederationArgs{...} } +type OutboundWebIdentityFederationMapInput interface { + pulumi.Input + + ToOutboundWebIdentityFederationMapOutput() OutboundWebIdentityFederationMapOutput + ToOutboundWebIdentityFederationMapOutputWithContext(context.Context) OutboundWebIdentityFederationMapOutput +} + +type OutboundWebIdentityFederationMap map[string]OutboundWebIdentityFederationInput + +func (OutboundWebIdentityFederationMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*OutboundWebIdentityFederation)(nil)).Elem() +} + +func (i OutboundWebIdentityFederationMap) ToOutboundWebIdentityFederationMapOutput() OutboundWebIdentityFederationMapOutput { + return i.ToOutboundWebIdentityFederationMapOutputWithContext(context.Background()) +} + +func (i OutboundWebIdentityFederationMap) ToOutboundWebIdentityFederationMapOutputWithContext(ctx context.Context) OutboundWebIdentityFederationMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(OutboundWebIdentityFederationMapOutput) +} + +type OutboundWebIdentityFederationOutput struct{ *pulumi.OutputState } + +func (OutboundWebIdentityFederationOutput) ElementType() reflect.Type { + return reflect.TypeOf((**OutboundWebIdentityFederation)(nil)).Elem() +} + +func (o OutboundWebIdentityFederationOutput) ToOutboundWebIdentityFederationOutput() OutboundWebIdentityFederationOutput { + return o +} + +func (o OutboundWebIdentityFederationOutput) ToOutboundWebIdentityFederationOutputWithContext(ctx context.Context) OutboundWebIdentityFederationOutput { + return o +} + +// A unique issuer URL for your AWS account that hosts the OpenID Connect (OIDC) discovery endpoints. +func (o OutboundWebIdentityFederationOutput) IssuerIdentifier() pulumi.StringOutput { + return o.ApplyT(func(v *OutboundWebIdentityFederation) pulumi.StringOutput { return v.IssuerIdentifier }).(pulumi.StringOutput) +} + +type OutboundWebIdentityFederationArrayOutput struct{ *pulumi.OutputState } + +func (OutboundWebIdentityFederationArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*OutboundWebIdentityFederation)(nil)).Elem() +} + +func (o OutboundWebIdentityFederationArrayOutput) ToOutboundWebIdentityFederationArrayOutput() OutboundWebIdentityFederationArrayOutput { + return o +} + +func (o OutboundWebIdentityFederationArrayOutput) ToOutboundWebIdentityFederationArrayOutputWithContext(ctx context.Context) OutboundWebIdentityFederationArrayOutput { + return o +} + +func (o OutboundWebIdentityFederationArrayOutput) Index(i pulumi.IntInput) OutboundWebIdentityFederationOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *OutboundWebIdentityFederation { + return vs[0].([]*OutboundWebIdentityFederation)[vs[1].(int)] + }).(OutboundWebIdentityFederationOutput) +} + +type OutboundWebIdentityFederationMapOutput struct{ *pulumi.OutputState } + +func (OutboundWebIdentityFederationMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*OutboundWebIdentityFederation)(nil)).Elem() +} + +func (o OutboundWebIdentityFederationMapOutput) ToOutboundWebIdentityFederationMapOutput() OutboundWebIdentityFederationMapOutput { + return o +} + +func (o OutboundWebIdentityFederationMapOutput) ToOutboundWebIdentityFederationMapOutputWithContext(ctx context.Context) OutboundWebIdentityFederationMapOutput { + return o +} + +func (o OutboundWebIdentityFederationMapOutput) MapIndex(k pulumi.StringInput) OutboundWebIdentityFederationOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *OutboundWebIdentityFederation { + return vs[0].(map[string]*OutboundWebIdentityFederation)[vs[1].(string)] + }).(OutboundWebIdentityFederationOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*OutboundWebIdentityFederationInput)(nil)).Elem(), &OutboundWebIdentityFederation{}) + pulumi.RegisterInputType(reflect.TypeOf((*OutboundWebIdentityFederationArrayInput)(nil)).Elem(), OutboundWebIdentityFederationArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*OutboundWebIdentityFederationMapInput)(nil)).Elem(), OutboundWebIdentityFederationMap{}) + pulumi.RegisterOutputType(OutboundWebIdentityFederationOutput{}) + pulumi.RegisterOutputType(OutboundWebIdentityFederationArrayOutput{}) + pulumi.RegisterOutputType(OutboundWebIdentityFederationMapOutput{}) +} diff --git a/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/iam/policy.go b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/iam/policy.go index 2c7c5efee..d2eeec5c9 100644 --- a/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/iam/policy.go +++ b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/iam/policy.go @@ -73,8 +73,6 @@ import ( // // Using `pulumi import`, import IAM Policies using the `arn`. For example: // -// console -// // % pulumi import aws_iam_policy.administrator arn:aws:iam::123456789012:policy/UsersManageOwnCredentials type Policy struct { pulumi.CustomResourceState diff --git a/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/iam/role.go b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/iam/role.go index 9c208b992..9e20084aa 100644 --- a/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/iam/role.go +++ b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/iam/role.go @@ -358,8 +358,6 @@ import ( // // Using `pulumi import`, import IAM Roles using the `name`. For example: // -// console -// // % pulumi import aws_iam_role.example developer_name type Role struct { pulumi.CustomResourceState diff --git a/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/iam/rolePolicy.go b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/iam/rolePolicy.go index d66c6eaeb..a7e3a6b81 100644 --- a/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/iam/rolePolicy.go +++ b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/iam/rolePolicy.go @@ -104,8 +104,6 @@ import ( // // Using `pulumi import`, import IAM Role Policies using the `role_name:role_policy_name`. For example: // -// console -// // % pulumi import aws_iam_role_policy.example role_of_mypolicy_name:mypolicy_name type RolePolicy struct { pulumi.CustomResourceState diff --git a/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/iam/rolePolicyAttachment.go b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/iam/rolePolicyAttachment.go index f0b1e847a..a53453756 100644 --- a/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/iam/rolePolicyAttachment.go +++ b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/iam/rolePolicyAttachment.go @@ -113,8 +113,6 @@ import ( // // Using `pulumi import`, import IAM role policy attachments using the role name and policy arn separated by `/`. For example: // -// console -// // % pulumi import aws_iam_role_policy_attachment.example test-role/arn:aws:iam::xxxxxxxxxxxx:policy/test-policy type RolePolicyAttachment struct { pulumi.CustomResourceState diff --git a/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/iam/samlProvider.go b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/iam/samlProvider.go index 9fff768e4..0dd4b1486 100644 --- a/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/iam/samlProvider.go +++ b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/iam/samlProvider.go @@ -58,8 +58,6 @@ import ( // // Using `pulumi import`, import IAM SAML Providers using the `arn`. For example: // -// console -// // % pulumi import aws_iam_saml_provider.default arn:aws:iam::123456789012:saml-provider/SAMLADFS type SamlProvider struct { pulumi.CustomResourceState diff --git a/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/iam/serviceLinkedRole.go b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/iam/serviceLinkedRole.go index 938c744f5..c5578f3e3 100644 --- a/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/iam/serviceLinkedRole.go +++ b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/iam/serviceLinkedRole.go @@ -50,8 +50,6 @@ import ( // // Using `pulumi import`, import IAM service-linked roles using role ARN. For example: // -// console -// // % pulumi import aws_iam_service_linked_role.elasticbeanstalk arn:aws:iam::123456789012:role/aws-service-role/elasticbeanstalk.amazonaws.com/AWSServiceRoleForElasticBeanstalk type ServiceLinkedRole struct { pulumi.CustomResourceState diff --git a/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/internal/pulumiUtilities.go b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/internal/pulumiUtilities.go index 68574c65b..e8daef496 100644 --- a/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/internal/pulumiUtilities.go +++ b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/internal/pulumiUtilities.go @@ -165,7 +165,7 @@ func callPlainInner( func PkgResourceDefaultOpts(opts []pulumi.ResourceOption) []pulumi.ResourceOption { defaults := []pulumi.ResourceOption{} - version := semver.MustParse("7.12.0") + version := semver.MustParse("7.14.0") if !version.Equals(semver.Version{}) { defaults = append(defaults, pulumi.Version(version.String())) } @@ -176,7 +176,7 @@ func PkgResourceDefaultOpts(opts []pulumi.ResourceOption) []pulumi.ResourceOptio func PkgInvokeDefaultOpts(opts []pulumi.InvokeOption) []pulumi.InvokeOption { defaults := []pulumi.InvokeOption{} - version := semver.MustParse("7.12.0") + version := semver.MustParse("7.14.0") if !version.Equals(semver.Version{}) { defaults = append(defaults, pulumi.Version(version.String())) } diff --git a/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/lb/getLoadBalancer.go b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/lb/getLoadBalancer.go index 9bea5e54f..b34bf6e19 100644 --- a/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/lb/getLoadBalancer.go +++ b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/lb/getLoadBalancer.go @@ -81,24 +81,25 @@ type LookupLoadBalancerArgs struct { // A collection of values returned by getLoadBalancer. type LookupLoadBalancerResult struct { - AccessLogs GetLoadBalancerAccessLogs `pulumi:"accessLogs"` - Arn string `pulumi:"arn"` - ArnSuffix string `pulumi:"arnSuffix"` - ClientKeepAlive int `pulumi:"clientKeepAlive"` - ConnectionLogs []GetLoadBalancerConnectionLog `pulumi:"connectionLogs"` - CustomerOwnedIpv4Pool string `pulumi:"customerOwnedIpv4Pool"` - DesyncMitigationMode string `pulumi:"desyncMitigationMode"` - DnsName string `pulumi:"dnsName"` - DnsRecordClientRoutingPolicy string `pulumi:"dnsRecordClientRoutingPolicy"` - DropInvalidHeaderFields bool `pulumi:"dropInvalidHeaderFields"` - EnableCrossZoneLoadBalancing bool `pulumi:"enableCrossZoneLoadBalancing"` - EnableDeletionProtection bool `pulumi:"enableDeletionProtection"` - EnableHttp2 bool `pulumi:"enableHttp2"` - EnableTlsVersionAndCipherSuiteHeaders bool `pulumi:"enableTlsVersionAndCipherSuiteHeaders"` - EnableWafFailOpen bool `pulumi:"enableWafFailOpen"` - EnableXffClientPort bool `pulumi:"enableXffClientPort"` - EnableZonalShift bool `pulumi:"enableZonalShift"` - EnforceSecurityGroupInboundRulesOnPrivateLinkTraffic string `pulumi:"enforceSecurityGroupInboundRulesOnPrivateLinkTraffic"` + AccessLogs GetLoadBalancerAccessLogs `pulumi:"accessLogs"` + Arn string `pulumi:"arn"` + ArnSuffix string `pulumi:"arnSuffix"` + ClientKeepAlive int `pulumi:"clientKeepAlive"` + ConnectionLogs []GetLoadBalancerConnectionLog `pulumi:"connectionLogs"` + CustomerOwnedIpv4Pool string `pulumi:"customerOwnedIpv4Pool"` + DesyncMitigationMode string `pulumi:"desyncMitigationMode"` + DnsName string `pulumi:"dnsName"` + DnsRecordClientRoutingPolicy string `pulumi:"dnsRecordClientRoutingPolicy"` + DropInvalidHeaderFields bool `pulumi:"dropInvalidHeaderFields"` + EnableCrossZoneLoadBalancing bool `pulumi:"enableCrossZoneLoadBalancing"` + EnableDeletionProtection bool `pulumi:"enableDeletionProtection"` + EnableHttp2 bool `pulumi:"enableHttp2"` + EnableTlsVersionAndCipherSuiteHeaders bool `pulumi:"enableTlsVersionAndCipherSuiteHeaders"` + EnableWafFailOpen bool `pulumi:"enableWafFailOpen"` + EnableXffClientPort bool `pulumi:"enableXffClientPort"` + EnableZonalShift bool `pulumi:"enableZonalShift"` + EnforceSecurityGroupInboundRulesOnPrivateLinkTraffic string `pulumi:"enforceSecurityGroupInboundRulesOnPrivateLinkTraffic"` + HealthCheckLogs []GetLoadBalancerHealthCheckLog `pulumi:"healthCheckLogs"` // The provider-assigned unique ID for this managed resource. Id string `pulumi:"id"` IdleTimeout int `pulumi:"idleTimeout"` @@ -233,6 +234,10 @@ func (o LookupLoadBalancerResultOutput) EnforceSecurityGroupInboundRulesOnPrivat return o.ApplyT(func(v LookupLoadBalancerResult) string { return v.EnforceSecurityGroupInboundRulesOnPrivateLinkTraffic }).(pulumi.StringOutput) } +func (o LookupLoadBalancerResultOutput) HealthCheckLogs() GetLoadBalancerHealthCheckLogArrayOutput { + return o.ApplyT(func(v LookupLoadBalancerResult) []GetLoadBalancerHealthCheckLog { return v.HealthCheckLogs }).(GetLoadBalancerHealthCheckLogArrayOutput) +} + // The provider-assigned unique ID for this managed resource. func (o LookupLoadBalancerResultOutput) Id() pulumi.StringOutput { return o.ApplyT(func(v LookupLoadBalancerResult) string { return v.Id }).(pulumi.StringOutput) diff --git a/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/lb/getTargetGroup.go b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/lb/getTargetGroup.go index 269bdecf3..58e2e63fe 100644 --- a/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/lb/getTargetGroup.go +++ b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/lb/getTargetGroup.go @@ -104,6 +104,7 @@ type LookupTargetGroupResult struct { SlowStart int `pulumi:"slowStart"` Stickiness GetTargetGroupStickiness `pulumi:"stickiness"` Tags map[string]string `pulumi:"tags"` + TargetControlPort int `pulumi:"targetControlPort"` TargetType string `pulumi:"targetType"` VpcId string `pulumi:"vpcId"` } @@ -236,6 +237,10 @@ func (o LookupTargetGroupResultOutput) Tags() pulumi.StringMapOutput { return o.ApplyT(func(v LookupTargetGroupResult) map[string]string { return v.Tags }).(pulumi.StringMapOutput) } +func (o LookupTargetGroupResultOutput) TargetControlPort() pulumi.IntOutput { + return o.ApplyT(func(v LookupTargetGroupResult) int { return v.TargetControlPort }).(pulumi.IntOutput) +} + func (o LookupTargetGroupResultOutput) TargetType() pulumi.StringOutput { return o.ApplyT(func(v LookupTargetGroupResult) string { return v.TargetType }).(pulumi.StringOutput) } diff --git a/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/lb/listener.go b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/lb/listener.go index b338fde49..229579769 100644 --- a/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/lb/listener.go +++ b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/lb/listener.go @@ -358,6 +358,66 @@ import ( // // ``` // +// ### JWT Validation Action +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-aws/sdk/v7/go/aws/lb" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := lb.NewListener(ctx, "test", &lb.ListenerArgs{ +// LoadBalancerArn: pulumi.Any(testAwsLb.Id), +// Protocol: pulumi.String("HTTPS"), +// Port: pulumi.Int(443), +// SslPolicy: pulumi.String("ELBSecurityPolicy-2016-08"), +// CertificateArn: pulumi.Any(testAwsIamServerCertificate.Arn), +// DefaultActions: lb.ListenerDefaultActionArray{ +// &lb.ListenerDefaultActionArgs{ +// Type: pulumi.String("jwt-validation"), +// JwtValidation: &lb.ListenerDefaultActionJwtValidationArgs{ +// Issuer: pulumi.String("https://example.com"), +// JwksEndpoint: pulumi.String("https://example.com/.well-known/jwks.json"), +// AdditionalClaims: lb.ListenerDefaultActionJwtValidationAdditionalClaimArray{ +// &lb.ListenerDefaultActionJwtValidationAdditionalClaimArgs{ +// Format: pulumi.String("string-array"), +// Name: pulumi.String("claim_name1"), +// Values: pulumi.StringArray{ +// pulumi.String("value1"), +// pulumi.String("value2"), +// }, +// }, +// &lb.ListenerDefaultActionJwtValidationAdditionalClaimArgs{ +// Format: pulumi.String("single-string"), +// Name: pulumi.String("claim_name2"), +// Values: pulumi.StringArray{ +// pulumi.String("value1"), +// }, +// }, +// }, +// }, +// }, +// &lb.ListenerDefaultActionArgs{ +// TargetGroupArn: pulumi.Any(testAwsLbTargetGroup.Id), +// Type: pulumi.String("forward"), +// }, +// }, +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// // ### Gateway Load Balancer Listener // // ```go @@ -471,8 +531,6 @@ import ( // // Using `pulumi import`, import listeners using their ARN. For example: // -// console -// // % pulumi import aws_lb_listener.front_end arn:aws:elasticloadbalancing:us-west-2:187416307283:listener/app/front-end-alb/8e4497da625e2d8a/9ab28ade35828f96 type Listener struct { pulumi.CustomResourceState diff --git a/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/lb/listenerRule.go b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/lb/listenerRule.go index 0d0116e7f..247f4ffe6 100644 --- a/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/lb/listenerRule.go +++ b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/lb/listenerRule.go @@ -15,295 +15,6 @@ import ( // Provides a Load Balancer Listener Rule resource. // // > **Note:** `alb.ListenerRule` is known as `lb.ListenerRule`. The functionality is identical. -// -// ## Example Usage -// -// ```go -// package main -// -// import ( -// -// "github.com/pulumi/pulumi-aws/sdk/v7/go/aws/cognito" -// "github.com/pulumi/pulumi-aws/sdk/v7/go/aws/lb" -// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" -// -// ) -// -// func main() { -// pulumi.Run(func(ctx *pulumi.Context) error { -// _, err := lb.NewLoadBalancer(ctx, "front_end", nil) -// if err != nil { -// return err -// } -// frontEndListener, err := lb.NewListener(ctx, "front_end", nil) -// if err != nil { -// return err -// } -// _, err = lb.NewListenerRule(ctx, "static", &lb.ListenerRuleArgs{ -// ListenerArn: frontEndListener.Arn, -// Priority: pulumi.Int(100), -// Actions: lb.ListenerRuleActionArray{ -// &lb.ListenerRuleActionArgs{ -// Type: pulumi.String("forward"), -// TargetGroupArn: pulumi.Any(staticAwsLbTargetGroup.Arn), -// }, -// }, -// Conditions: lb.ListenerRuleConditionArray{ -// &lb.ListenerRuleConditionArgs{ -// PathPattern: &lb.ListenerRuleConditionPathPatternArgs{ -// Values: pulumi.StringArray{ -// pulumi.String("/static/*"), -// }, -// }, -// }, -// &lb.ListenerRuleConditionArgs{ -// HostHeader: &lb.ListenerRuleConditionHostHeaderArgs{ -// Values: pulumi.StringArray{ -// pulumi.String("example.com"), -// }, -// }, -// }, -// }, -// }) -// if err != nil { -// return err -// } -// // Forward action -// _, err = lb.NewListenerRule(ctx, "host_based_weighted_routing", &lb.ListenerRuleArgs{ -// ListenerArn: frontEndListener.Arn, -// Priority: pulumi.Int(99), -// Actions: lb.ListenerRuleActionArray{ -// &lb.ListenerRuleActionArgs{ -// Type: pulumi.String("forward"), -// TargetGroupArn: pulumi.Any(staticAwsLbTargetGroup.Arn), -// }, -// }, -// Conditions: lb.ListenerRuleConditionArray{ -// &lb.ListenerRuleConditionArgs{ -// HostHeader: &lb.ListenerRuleConditionHostHeaderArgs{ -// Values: pulumi.StringArray{ -// pulumi.String("my-service.*.mycompany.io"), -// }, -// }, -// }, -// }, -// }) -// if err != nil { -// return err -// } -// // Weighted Forward action -// _, err = lb.NewListenerRule(ctx, "host_based_routing", &lb.ListenerRuleArgs{ -// ListenerArn: frontEndListener.Arn, -// Priority: pulumi.Int(99), -// Actions: lb.ListenerRuleActionArray{ -// &lb.ListenerRuleActionArgs{ -// Type: pulumi.String("forward"), -// Forward: &lb.ListenerRuleActionForwardArgs{ -// TargetGroups: lb.ListenerRuleActionForwardTargetGroupArray{ -// &lb.ListenerRuleActionForwardTargetGroupArgs{ -// Arn: pulumi.Any(main.Arn), -// Weight: pulumi.Int(80), -// }, -// &lb.ListenerRuleActionForwardTargetGroupArgs{ -// Arn: pulumi.Any(canary.Arn), -// Weight: pulumi.Int(20), -// }, -// }, -// Stickiness: &lb.ListenerRuleActionForwardStickinessArgs{ -// Enabled: pulumi.Bool(true), -// Duration: pulumi.Int(600), -// }, -// }, -// }, -// }, -// Conditions: lb.ListenerRuleConditionArray{ -// &lb.ListenerRuleConditionArgs{ -// HostHeader: &lb.ListenerRuleConditionHostHeaderArgs{ -// Values: pulumi.StringArray{ -// pulumi.String("my-service.*.mycompany.io"), -// }, -// }, -// }, -// }, -// }) -// if err != nil { -// return err -// } -// // Redirect action -// _, err = lb.NewListenerRule(ctx, "redirect_http_to_https", &lb.ListenerRuleArgs{ -// ListenerArn: frontEndListener.Arn, -// Actions: lb.ListenerRuleActionArray{ -// &lb.ListenerRuleActionArgs{ -// Type: pulumi.String("redirect"), -// Redirect: &lb.ListenerRuleActionRedirectArgs{ -// Port: pulumi.String("443"), -// Protocol: pulumi.String("HTTPS"), -// StatusCode: pulumi.String("HTTP_301"), -// }, -// }, -// }, -// Conditions: lb.ListenerRuleConditionArray{ -// &lb.ListenerRuleConditionArgs{ -// HttpHeader: &lb.ListenerRuleConditionHttpHeaderArgs{ -// HttpHeaderName: pulumi.String("X-Forwarded-For"), -// Values: pulumi.StringArray{ -// pulumi.String("192.168.1.*"), -// }, -// }, -// }, -// }, -// }) -// if err != nil { -// return err -// } -// // Fixed-response action -// _, err = lb.NewListenerRule(ctx, "health_check", &lb.ListenerRuleArgs{ -// ListenerArn: frontEndListener.Arn, -// Actions: lb.ListenerRuleActionArray{ -// &lb.ListenerRuleActionArgs{ -// Type: pulumi.String("fixed-response"), -// FixedResponse: &lb.ListenerRuleActionFixedResponseArgs{ -// ContentType: pulumi.String("text/plain"), -// MessageBody: pulumi.String("HEALTHY"), -// StatusCode: pulumi.String("200"), -// }, -// }, -// }, -// Conditions: lb.ListenerRuleConditionArray{ -// &lb.ListenerRuleConditionArgs{ -// QueryStrings: lb.ListenerRuleConditionQueryStringArray{ -// &lb.ListenerRuleConditionQueryStringArgs{ -// Key: pulumi.String("health"), -// Value: pulumi.String("check"), -// }, -// &lb.ListenerRuleConditionQueryStringArgs{ -// Value: pulumi.String("bar"), -// }, -// }, -// }, -// }, -// }) -// if err != nil { -// return err -// } -// // Authenticate-cognito Action -// pool, err := cognito.NewUserPool(ctx, "pool", nil) -// if err != nil { -// return err -// } -// client, err := cognito.NewUserPoolClient(ctx, "client", nil) -// if err != nil { -// return err -// } -// domain, err := cognito.NewUserPoolDomain(ctx, "domain", nil) -// if err != nil { -// return err -// } -// _, err = lb.NewListenerRule(ctx, "admin", &lb.ListenerRuleArgs{ -// ListenerArn: frontEndListener.Arn, -// Actions: lb.ListenerRuleActionArray{ -// &lb.ListenerRuleActionArgs{ -// Type: pulumi.String("authenticate-cognito"), -// AuthenticateCognito: &lb.ListenerRuleActionAuthenticateCognitoArgs{ -// UserPoolArn: pool.Arn, -// UserPoolClientId: client.ID(), -// UserPoolDomain: domain.Domain, -// }, -// }, -// &lb.ListenerRuleActionArgs{ -// Type: pulumi.String("forward"), -// TargetGroupArn: pulumi.Any(staticAwsLbTargetGroup.Arn), -// }, -// }, -// }) -// if err != nil { -// return err -// } -// // Authenticate-oidc Action -// _, err = lb.NewListenerRule(ctx, "oidc", &lb.ListenerRuleArgs{ -// ListenerArn: frontEndListener.Arn, -// Actions: lb.ListenerRuleActionArray{ -// &lb.ListenerRuleActionArgs{ -// Type: pulumi.String("authenticate-oidc"), -// AuthenticateOidc: &lb.ListenerRuleActionAuthenticateOidcArgs{ -// AuthorizationEndpoint: pulumi.String("https://example.com/authorization_endpoint"), -// ClientId: pulumi.String("client_id"), -// ClientSecret: pulumi.String("client_secret"), -// Issuer: pulumi.String("https://example.com"), -// TokenEndpoint: pulumi.String("https://example.com/token_endpoint"), -// UserInfoEndpoint: pulumi.String("https://example.com/user_info_endpoint"), -// }, -// }, -// &lb.ListenerRuleActionArgs{ -// Type: pulumi.String("forward"), -// TargetGroupArn: pulumi.Any(staticAwsLbTargetGroup.Arn), -// }, -// }, -// }) -// if err != nil { -// return err -// } -// // With transform -// _, err = lb.NewListenerRule(ctx, "transform", &lb.ListenerRuleArgs{ -// ListenerArn: frontEndListener.Arn, -// Actions: lb.ListenerRuleActionArray{ -// &lb.ListenerRuleActionArgs{ -// Type: pulumi.String("forward"), -// TargetGroupArn: pulumi.Any(staticAwsLbTargetGroup.Arn), -// }, -// }, -// Conditions: lb.ListenerRuleConditionArray{ -// &lb.ListenerRuleConditionArgs{ -// PathPattern: &lb.ListenerRuleConditionPathPatternArgs{ -// Values: pulumi.StringArray{ -// pulumi.String("*"), -// }, -// }, -// }, -// }, -// Transforms: lb.ListenerRuleTransformArray{ -// &lb.ListenerRuleTransformArgs{ -// Type: pulumi.String("host-header-rewrite"), -// HostHeaderRewriteConfig: &lb.ListenerRuleTransformHostHeaderRewriteConfigArgs{ -// Rewrite: &lb.ListenerRuleTransformHostHeaderRewriteConfigRewriteArgs{ -// Regex: pulumi.String("^mywebsite-(.+).com$"), -// Replace: pulumi.String("internal.dev.$1.myweb.com"), -// }, -// }, -// }, -// &lb.ListenerRuleTransformArgs{ -// Type: pulumi.String("url-rewrite"), -// UrlRewriteConfig: &lb.ListenerRuleTransformUrlRewriteConfigArgs{ -// Rewrite: &lb.ListenerRuleTransformUrlRewriteConfigRewriteArgs{ -// Regex: pulumi.String("^/dp/([A-Za-z0-9]+)/?$"), -// Replace: pulumi.String("/product.php?id=$1"), -// }, -// }, -// }, -// }, -// }) -// if err != nil { -// return err -// } -// return nil -// }) -// } -// -// ``` -// -// ## Import -// -// ### Identity Schema -// -// #### Required -// -// - `arn` (String) Amazon Resource Name (ARN) of the load balancer listener rule. -// -// Using `pulumi import`, import rules using their ARN. For example: -// -// console -// -// % pulumi import aws_lb_listener_rule.front_end arn:aws:elasticloadbalancing:us-west-2:187416307283:listener-rule/app/test/8e4497da625e2d8a/9ab28ade35828f96/67b3d2d36dd7c26b type ListenerRule struct { pulumi.CustomResourceState diff --git a/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/lb/loadBalancer.go b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/lb/loadBalancer.go index 2929412f8..b2d518f22 100644 --- a/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/lb/loadBalancer.go +++ b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/lb/loadBalancer.go @@ -105,8 +105,6 @@ import ( // // Using `pulumi import`, import LBs using their ARN. For example: // -// console -// // % pulumi import aws_lb.bar arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/app/my-load-balancer/50dc6c495c0c9188 type LoadBalancer struct { pulumi.CustomResourceState @@ -148,6 +146,8 @@ type LoadBalancer struct { EnableZonalShift pulumi.BoolPtrOutput `pulumi:"enableZonalShift"` // Whether inbound security group rules are enforced for traffic originating from a PrivateLink. Only valid for Load Balancers of type `network`. The possible values are `on` and `off`. EnforceSecurityGroupInboundRulesOnPrivateLinkTraffic pulumi.StringOutput `pulumi:"enforceSecurityGroupInboundRulesOnPrivateLinkTraffic"` + // Health Check Logs block. See below. Only valid for Load Balancers of type `application`. + HealthCheckLogs LoadBalancerHealthCheckLogsPtrOutput `pulumi:"healthCheckLogs"` // Time in seconds that the connection is allowed to be idle. Only valid for Load Balancers of type `application`. Default: 60. IdleTimeout pulumi.IntPtrOutput `pulumi:"idleTimeout"` // If true, the LB will be internal. Defaults to `false`. @@ -264,6 +264,8 @@ type loadBalancerState struct { EnableZonalShift *bool `pulumi:"enableZonalShift"` // Whether inbound security group rules are enforced for traffic originating from a PrivateLink. Only valid for Load Balancers of type `network`. The possible values are `on` and `off`. EnforceSecurityGroupInboundRulesOnPrivateLinkTraffic *string `pulumi:"enforceSecurityGroupInboundRulesOnPrivateLinkTraffic"` + // Health Check Logs block. See below. Only valid for Load Balancers of type `application`. + HealthCheckLogs *LoadBalancerHealthCheckLogs `pulumi:"healthCheckLogs"` // Time in seconds that the connection is allowed to be idle. Only valid for Load Balancers of type `application`. Default: 60. IdleTimeout *int `pulumi:"idleTimeout"` // If true, the LB will be internal. Defaults to `false`. @@ -345,6 +347,8 @@ type LoadBalancerState struct { EnableZonalShift pulumi.BoolPtrInput // Whether inbound security group rules are enforced for traffic originating from a PrivateLink. Only valid for Load Balancers of type `network`. The possible values are `on` and `off`. EnforceSecurityGroupInboundRulesOnPrivateLinkTraffic pulumi.StringPtrInput + // Health Check Logs block. See below. Only valid for Load Balancers of type `application`. + HealthCheckLogs LoadBalancerHealthCheckLogsPtrInput // Time in seconds that the connection is allowed to be idle. Only valid for Load Balancers of type `application`. Default: 60. IdleTimeout pulumi.IntPtrInput // If true, the LB will be internal. Defaults to `false`. @@ -423,6 +427,8 @@ type loadBalancerArgs struct { EnableZonalShift *bool `pulumi:"enableZonalShift"` // Whether inbound security group rules are enforced for traffic originating from a PrivateLink. Only valid for Load Balancers of type `network`. The possible values are `on` and `off`. EnforceSecurityGroupInboundRulesOnPrivateLinkTraffic *string `pulumi:"enforceSecurityGroupInboundRulesOnPrivateLinkTraffic"` + // Health Check Logs block. See below. Only valid for Load Balancers of type `application`. + HealthCheckLogs *LoadBalancerHealthCheckLogs `pulumi:"healthCheckLogs"` // Time in seconds that the connection is allowed to be idle. Only valid for Load Balancers of type `application`. Default: 60. IdleTimeout *int `pulumi:"idleTimeout"` // If true, the LB will be internal. Defaults to `false`. @@ -493,6 +499,8 @@ type LoadBalancerArgs struct { EnableZonalShift pulumi.BoolPtrInput // Whether inbound security group rules are enforced for traffic originating from a PrivateLink. Only valid for Load Balancers of type `network`. The possible values are `on` and `off`. EnforceSecurityGroupInboundRulesOnPrivateLinkTraffic pulumi.StringPtrInput + // Health Check Logs block. See below. Only valid for Load Balancers of type `application`. + HealthCheckLogs LoadBalancerHealthCheckLogsPtrInput // Time in seconds that the connection is allowed to be idle. Only valid for Load Balancers of type `application`. Default: 60. IdleTimeout pulumi.IntPtrInput // If true, the LB will be internal. Defaults to `false`. @@ -711,6 +719,11 @@ func (o LoadBalancerOutput) EnforceSecurityGroupInboundRulesOnPrivateLinkTraffic }).(pulumi.StringOutput) } +// Health Check Logs block. See below. Only valid for Load Balancers of type `application`. +func (o LoadBalancerOutput) HealthCheckLogs() LoadBalancerHealthCheckLogsPtrOutput { + return o.ApplyT(func(v *LoadBalancer) LoadBalancerHealthCheckLogsPtrOutput { return v.HealthCheckLogs }).(LoadBalancerHealthCheckLogsPtrOutput) +} + // Time in seconds that the connection is allowed to be idle. Only valid for Load Balancers of type `application`. Default: 60. func (o LoadBalancerOutput) IdleTimeout() pulumi.IntPtrOutput { return o.ApplyT(func(v *LoadBalancer) pulumi.IntPtrOutput { return v.IdleTimeout }).(pulumi.IntPtrOutput) diff --git a/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/lb/pulumiTypes.go b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/lb/pulumiTypes.go index 47fda1e81..0029a36aa 100644 --- a/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/lb/pulumiTypes.go +++ b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/lb/pulumiTypes.go @@ -22,13 +22,15 @@ type ListenerDefaultAction struct { FixedResponse *ListenerDefaultActionFixedResponse `pulumi:"fixedResponse"` // Configuration block for creating an action that distributes requests among one or more target groups. Specify only if `type` is `forward`. See below. Forward *ListenerDefaultActionForward `pulumi:"forward"` + // Configuration block for creating a JWT validation action. Required if `type` is `jwt-validation`. + JwtValidation *ListenerDefaultActionJwtValidation `pulumi:"jwtValidation"` // Order for the action. The action with the lowest value for order is performed first. Valid values are between `1` and `50000`. Defaults to the position in the list of actions. Order *int `pulumi:"order"` // Configuration block for creating a redirect action. Required if `type` is `redirect`. See below. Redirect *ListenerDefaultActionRedirect `pulumi:"redirect"` // ARN of the Target Group to which to route traffic. Specify only if `type` is `forward` and you want to route to a single target group. To route to one or more target groups, use a `forward` block instead. Can be specified with `forward` but ARNs must match. TargetGroupArn *string `pulumi:"targetGroupArn"` - // Type of routing action. Valid values are `forward`, `redirect`, `fixed-response`, `authenticate-cognito` and `authenticate-oidc`. + // Type of routing action. Valid values are `forward`, `redirect`, `fixed-response`, `authenticate-cognito`, `authenticate-oidc` and `jwt-validation`. // // The following arguments are optional: Type string `pulumi:"type"` @@ -54,13 +56,15 @@ type ListenerDefaultActionArgs struct { FixedResponse ListenerDefaultActionFixedResponsePtrInput `pulumi:"fixedResponse"` // Configuration block for creating an action that distributes requests among one or more target groups. Specify only if `type` is `forward`. See below. Forward ListenerDefaultActionForwardPtrInput `pulumi:"forward"` + // Configuration block for creating a JWT validation action. Required if `type` is `jwt-validation`. + JwtValidation ListenerDefaultActionJwtValidationPtrInput `pulumi:"jwtValidation"` // Order for the action. The action with the lowest value for order is performed first. Valid values are between `1` and `50000`. Defaults to the position in the list of actions. Order pulumi.IntPtrInput `pulumi:"order"` // Configuration block for creating a redirect action. Required if `type` is `redirect`. See below. Redirect ListenerDefaultActionRedirectPtrInput `pulumi:"redirect"` // ARN of the Target Group to which to route traffic. Specify only if `type` is `forward` and you want to route to a single target group. To route to one or more target groups, use a `forward` block instead. Can be specified with `forward` but ARNs must match. TargetGroupArn pulumi.StringPtrInput `pulumi:"targetGroupArn"` - // Type of routing action. Valid values are `forward`, `redirect`, `fixed-response`, `authenticate-cognito` and `authenticate-oidc`. + // Type of routing action. Valid values are `forward`, `redirect`, `fixed-response`, `authenticate-cognito`, `authenticate-oidc` and `jwt-validation`. // // The following arguments are optional: Type pulumi.StringInput `pulumi:"type"` @@ -137,6 +141,11 @@ func (o ListenerDefaultActionOutput) Forward() ListenerDefaultActionForwardPtrOu return o.ApplyT(func(v ListenerDefaultAction) *ListenerDefaultActionForward { return v.Forward }).(ListenerDefaultActionForwardPtrOutput) } +// Configuration block for creating a JWT validation action. Required if `type` is `jwt-validation`. +func (o ListenerDefaultActionOutput) JwtValidation() ListenerDefaultActionJwtValidationPtrOutput { + return o.ApplyT(func(v ListenerDefaultAction) *ListenerDefaultActionJwtValidation { return v.JwtValidation }).(ListenerDefaultActionJwtValidationPtrOutput) +} + // Order for the action. The action with the lowest value for order is performed first. Valid values are between `1` and `50000`. Defaults to the position in the list of actions. func (o ListenerDefaultActionOutput) Order() pulumi.IntPtrOutput { return o.ApplyT(func(v ListenerDefaultAction) *int { return v.Order }).(pulumi.IntPtrOutput) @@ -152,7 +161,7 @@ func (o ListenerDefaultActionOutput) TargetGroupArn() pulumi.StringPtrOutput { return o.ApplyT(func(v ListenerDefaultAction) *string { return v.TargetGroupArn }).(pulumi.StringPtrOutput) } -// Type of routing action. Valid values are `forward`, `redirect`, `fixed-response`, `authenticate-cognito` and `authenticate-oidc`. +// Type of routing action. Valid values are `forward`, `redirect`, `fixed-response`, `authenticate-cognito`, `authenticate-oidc` and `jwt-validation`. // // The following arguments are optional: func (o ListenerDefaultActionOutput) Type() pulumi.StringOutput { @@ -1419,6 +1428,306 @@ func (o ListenerDefaultActionForwardTargetGroupArrayOutput) Index(i pulumi.IntIn }).(ListenerDefaultActionForwardTargetGroupOutput) } +type ListenerDefaultActionJwtValidation struct { + // Repeatable configuration block for additional claims to validate. + AdditionalClaims []ListenerDefaultActionJwtValidationAdditionalClaim `pulumi:"additionalClaims"` + // Issuer of the JWT. + Issuer string `pulumi:"issuer"` + // JSON Web Key Set (JWKS) endpoint. This endpoint contains JSON Web Keys (JWK) that are used to validate signatures from the provider. This must be a full URL, including the HTTPS protocol, the domain, and the path. + // + // The following arguments are optional: + JwksEndpoint string `pulumi:"jwksEndpoint"` +} + +// ListenerDefaultActionJwtValidationInput is an input type that accepts ListenerDefaultActionJwtValidationArgs and ListenerDefaultActionJwtValidationOutput values. +// You can construct a concrete instance of `ListenerDefaultActionJwtValidationInput` via: +// +// ListenerDefaultActionJwtValidationArgs{...} +type ListenerDefaultActionJwtValidationInput interface { + pulumi.Input + + ToListenerDefaultActionJwtValidationOutput() ListenerDefaultActionJwtValidationOutput + ToListenerDefaultActionJwtValidationOutputWithContext(context.Context) ListenerDefaultActionJwtValidationOutput +} + +type ListenerDefaultActionJwtValidationArgs struct { + // Repeatable configuration block for additional claims to validate. + AdditionalClaims ListenerDefaultActionJwtValidationAdditionalClaimArrayInput `pulumi:"additionalClaims"` + // Issuer of the JWT. + Issuer pulumi.StringInput `pulumi:"issuer"` + // JSON Web Key Set (JWKS) endpoint. This endpoint contains JSON Web Keys (JWK) that are used to validate signatures from the provider. This must be a full URL, including the HTTPS protocol, the domain, and the path. + // + // The following arguments are optional: + JwksEndpoint pulumi.StringInput `pulumi:"jwksEndpoint"` +} + +func (ListenerDefaultActionJwtValidationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ListenerDefaultActionJwtValidation)(nil)).Elem() +} + +func (i ListenerDefaultActionJwtValidationArgs) ToListenerDefaultActionJwtValidationOutput() ListenerDefaultActionJwtValidationOutput { + return i.ToListenerDefaultActionJwtValidationOutputWithContext(context.Background()) +} + +func (i ListenerDefaultActionJwtValidationArgs) ToListenerDefaultActionJwtValidationOutputWithContext(ctx context.Context) ListenerDefaultActionJwtValidationOutput { + return pulumi.ToOutputWithContext(ctx, i).(ListenerDefaultActionJwtValidationOutput) +} + +func (i ListenerDefaultActionJwtValidationArgs) ToListenerDefaultActionJwtValidationPtrOutput() ListenerDefaultActionJwtValidationPtrOutput { + return i.ToListenerDefaultActionJwtValidationPtrOutputWithContext(context.Background()) +} + +func (i ListenerDefaultActionJwtValidationArgs) ToListenerDefaultActionJwtValidationPtrOutputWithContext(ctx context.Context) ListenerDefaultActionJwtValidationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ListenerDefaultActionJwtValidationOutput).ToListenerDefaultActionJwtValidationPtrOutputWithContext(ctx) +} + +// ListenerDefaultActionJwtValidationPtrInput is an input type that accepts ListenerDefaultActionJwtValidationArgs, ListenerDefaultActionJwtValidationPtr and ListenerDefaultActionJwtValidationPtrOutput values. +// You can construct a concrete instance of `ListenerDefaultActionJwtValidationPtrInput` via: +// +// ListenerDefaultActionJwtValidationArgs{...} +// +// or: +// +// nil +type ListenerDefaultActionJwtValidationPtrInput interface { + pulumi.Input + + ToListenerDefaultActionJwtValidationPtrOutput() ListenerDefaultActionJwtValidationPtrOutput + ToListenerDefaultActionJwtValidationPtrOutputWithContext(context.Context) ListenerDefaultActionJwtValidationPtrOutput +} + +type listenerDefaultActionJwtValidationPtrType ListenerDefaultActionJwtValidationArgs + +func ListenerDefaultActionJwtValidationPtr(v *ListenerDefaultActionJwtValidationArgs) ListenerDefaultActionJwtValidationPtrInput { + return (*listenerDefaultActionJwtValidationPtrType)(v) +} + +func (*listenerDefaultActionJwtValidationPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**ListenerDefaultActionJwtValidation)(nil)).Elem() +} + +func (i *listenerDefaultActionJwtValidationPtrType) ToListenerDefaultActionJwtValidationPtrOutput() ListenerDefaultActionJwtValidationPtrOutput { + return i.ToListenerDefaultActionJwtValidationPtrOutputWithContext(context.Background()) +} + +func (i *listenerDefaultActionJwtValidationPtrType) ToListenerDefaultActionJwtValidationPtrOutputWithContext(ctx context.Context) ListenerDefaultActionJwtValidationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ListenerDefaultActionJwtValidationPtrOutput) +} + +type ListenerDefaultActionJwtValidationOutput struct{ *pulumi.OutputState } + +func (ListenerDefaultActionJwtValidationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ListenerDefaultActionJwtValidation)(nil)).Elem() +} + +func (o ListenerDefaultActionJwtValidationOutput) ToListenerDefaultActionJwtValidationOutput() ListenerDefaultActionJwtValidationOutput { + return o +} + +func (o ListenerDefaultActionJwtValidationOutput) ToListenerDefaultActionJwtValidationOutputWithContext(ctx context.Context) ListenerDefaultActionJwtValidationOutput { + return o +} + +func (o ListenerDefaultActionJwtValidationOutput) ToListenerDefaultActionJwtValidationPtrOutput() ListenerDefaultActionJwtValidationPtrOutput { + return o.ToListenerDefaultActionJwtValidationPtrOutputWithContext(context.Background()) +} + +func (o ListenerDefaultActionJwtValidationOutput) ToListenerDefaultActionJwtValidationPtrOutputWithContext(ctx context.Context) ListenerDefaultActionJwtValidationPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v ListenerDefaultActionJwtValidation) *ListenerDefaultActionJwtValidation { + return &v + }).(ListenerDefaultActionJwtValidationPtrOutput) +} + +// Repeatable configuration block for additional claims to validate. +func (o ListenerDefaultActionJwtValidationOutput) AdditionalClaims() ListenerDefaultActionJwtValidationAdditionalClaimArrayOutput { + return o.ApplyT(func(v ListenerDefaultActionJwtValidation) []ListenerDefaultActionJwtValidationAdditionalClaim { + return v.AdditionalClaims + }).(ListenerDefaultActionJwtValidationAdditionalClaimArrayOutput) +} + +// Issuer of the JWT. +func (o ListenerDefaultActionJwtValidationOutput) Issuer() pulumi.StringOutput { + return o.ApplyT(func(v ListenerDefaultActionJwtValidation) string { return v.Issuer }).(pulumi.StringOutput) +} + +// JSON Web Key Set (JWKS) endpoint. This endpoint contains JSON Web Keys (JWK) that are used to validate signatures from the provider. This must be a full URL, including the HTTPS protocol, the domain, and the path. +// +// The following arguments are optional: +func (o ListenerDefaultActionJwtValidationOutput) JwksEndpoint() pulumi.StringOutput { + return o.ApplyT(func(v ListenerDefaultActionJwtValidation) string { return v.JwksEndpoint }).(pulumi.StringOutput) +} + +type ListenerDefaultActionJwtValidationPtrOutput struct{ *pulumi.OutputState } + +func (ListenerDefaultActionJwtValidationPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ListenerDefaultActionJwtValidation)(nil)).Elem() +} + +func (o ListenerDefaultActionJwtValidationPtrOutput) ToListenerDefaultActionJwtValidationPtrOutput() ListenerDefaultActionJwtValidationPtrOutput { + return o +} + +func (o ListenerDefaultActionJwtValidationPtrOutput) ToListenerDefaultActionJwtValidationPtrOutputWithContext(ctx context.Context) ListenerDefaultActionJwtValidationPtrOutput { + return o +} + +func (o ListenerDefaultActionJwtValidationPtrOutput) Elem() ListenerDefaultActionJwtValidationOutput { + return o.ApplyT(func(v *ListenerDefaultActionJwtValidation) ListenerDefaultActionJwtValidation { + if v != nil { + return *v + } + var ret ListenerDefaultActionJwtValidation + return ret + }).(ListenerDefaultActionJwtValidationOutput) +} + +// Repeatable configuration block for additional claims to validate. +func (o ListenerDefaultActionJwtValidationPtrOutput) AdditionalClaims() ListenerDefaultActionJwtValidationAdditionalClaimArrayOutput { + return o.ApplyT(func(v *ListenerDefaultActionJwtValidation) []ListenerDefaultActionJwtValidationAdditionalClaim { + if v == nil { + return nil + } + return v.AdditionalClaims + }).(ListenerDefaultActionJwtValidationAdditionalClaimArrayOutput) +} + +// Issuer of the JWT. +func (o ListenerDefaultActionJwtValidationPtrOutput) Issuer() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ListenerDefaultActionJwtValidation) *string { + if v == nil { + return nil + } + return &v.Issuer + }).(pulumi.StringPtrOutput) +} + +// JSON Web Key Set (JWKS) endpoint. This endpoint contains JSON Web Keys (JWK) that are used to validate signatures from the provider. This must be a full URL, including the HTTPS protocol, the domain, and the path. +// +// The following arguments are optional: +func (o ListenerDefaultActionJwtValidationPtrOutput) JwksEndpoint() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ListenerDefaultActionJwtValidation) *string { + if v == nil { + return nil + } + return &v.JwksEndpoint + }).(pulumi.StringPtrOutput) +} + +type ListenerDefaultActionJwtValidationAdditionalClaim struct { + // Format of the claim value. Valid values are `single-string`, `string-array` and `space-separated-values`. + Format string `pulumi:"format"` + // Name of the claim to validate. `exp`, `iss`, `nbf`, or `iat` cannot be specified because they are validated by default. + Name string `pulumi:"name"` + // List of expected values of the claim. + Values []string `pulumi:"values"` +} + +// ListenerDefaultActionJwtValidationAdditionalClaimInput is an input type that accepts ListenerDefaultActionJwtValidationAdditionalClaimArgs and ListenerDefaultActionJwtValidationAdditionalClaimOutput values. +// You can construct a concrete instance of `ListenerDefaultActionJwtValidationAdditionalClaimInput` via: +// +// ListenerDefaultActionJwtValidationAdditionalClaimArgs{...} +type ListenerDefaultActionJwtValidationAdditionalClaimInput interface { + pulumi.Input + + ToListenerDefaultActionJwtValidationAdditionalClaimOutput() ListenerDefaultActionJwtValidationAdditionalClaimOutput + ToListenerDefaultActionJwtValidationAdditionalClaimOutputWithContext(context.Context) ListenerDefaultActionJwtValidationAdditionalClaimOutput +} + +type ListenerDefaultActionJwtValidationAdditionalClaimArgs struct { + // Format of the claim value. Valid values are `single-string`, `string-array` and `space-separated-values`. + Format pulumi.StringInput `pulumi:"format"` + // Name of the claim to validate. `exp`, `iss`, `nbf`, or `iat` cannot be specified because they are validated by default. + Name pulumi.StringInput `pulumi:"name"` + // List of expected values of the claim. + Values pulumi.StringArrayInput `pulumi:"values"` +} + +func (ListenerDefaultActionJwtValidationAdditionalClaimArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ListenerDefaultActionJwtValidationAdditionalClaim)(nil)).Elem() +} + +func (i ListenerDefaultActionJwtValidationAdditionalClaimArgs) ToListenerDefaultActionJwtValidationAdditionalClaimOutput() ListenerDefaultActionJwtValidationAdditionalClaimOutput { + return i.ToListenerDefaultActionJwtValidationAdditionalClaimOutputWithContext(context.Background()) +} + +func (i ListenerDefaultActionJwtValidationAdditionalClaimArgs) ToListenerDefaultActionJwtValidationAdditionalClaimOutputWithContext(ctx context.Context) ListenerDefaultActionJwtValidationAdditionalClaimOutput { + return pulumi.ToOutputWithContext(ctx, i).(ListenerDefaultActionJwtValidationAdditionalClaimOutput) +} + +// ListenerDefaultActionJwtValidationAdditionalClaimArrayInput is an input type that accepts ListenerDefaultActionJwtValidationAdditionalClaimArray and ListenerDefaultActionJwtValidationAdditionalClaimArrayOutput values. +// You can construct a concrete instance of `ListenerDefaultActionJwtValidationAdditionalClaimArrayInput` via: +// +// ListenerDefaultActionJwtValidationAdditionalClaimArray{ ListenerDefaultActionJwtValidationAdditionalClaimArgs{...} } +type ListenerDefaultActionJwtValidationAdditionalClaimArrayInput interface { + pulumi.Input + + ToListenerDefaultActionJwtValidationAdditionalClaimArrayOutput() ListenerDefaultActionJwtValidationAdditionalClaimArrayOutput + ToListenerDefaultActionJwtValidationAdditionalClaimArrayOutputWithContext(context.Context) ListenerDefaultActionJwtValidationAdditionalClaimArrayOutput +} + +type ListenerDefaultActionJwtValidationAdditionalClaimArray []ListenerDefaultActionJwtValidationAdditionalClaimInput + +func (ListenerDefaultActionJwtValidationAdditionalClaimArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]ListenerDefaultActionJwtValidationAdditionalClaim)(nil)).Elem() +} + +func (i ListenerDefaultActionJwtValidationAdditionalClaimArray) ToListenerDefaultActionJwtValidationAdditionalClaimArrayOutput() ListenerDefaultActionJwtValidationAdditionalClaimArrayOutput { + return i.ToListenerDefaultActionJwtValidationAdditionalClaimArrayOutputWithContext(context.Background()) +} + +func (i ListenerDefaultActionJwtValidationAdditionalClaimArray) ToListenerDefaultActionJwtValidationAdditionalClaimArrayOutputWithContext(ctx context.Context) ListenerDefaultActionJwtValidationAdditionalClaimArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ListenerDefaultActionJwtValidationAdditionalClaimArrayOutput) +} + +type ListenerDefaultActionJwtValidationAdditionalClaimOutput struct{ *pulumi.OutputState } + +func (ListenerDefaultActionJwtValidationAdditionalClaimOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ListenerDefaultActionJwtValidationAdditionalClaim)(nil)).Elem() +} + +func (o ListenerDefaultActionJwtValidationAdditionalClaimOutput) ToListenerDefaultActionJwtValidationAdditionalClaimOutput() ListenerDefaultActionJwtValidationAdditionalClaimOutput { + return o +} + +func (o ListenerDefaultActionJwtValidationAdditionalClaimOutput) ToListenerDefaultActionJwtValidationAdditionalClaimOutputWithContext(ctx context.Context) ListenerDefaultActionJwtValidationAdditionalClaimOutput { + return o +} + +// Format of the claim value. Valid values are `single-string`, `string-array` and `space-separated-values`. +func (o ListenerDefaultActionJwtValidationAdditionalClaimOutput) Format() pulumi.StringOutput { + return o.ApplyT(func(v ListenerDefaultActionJwtValidationAdditionalClaim) string { return v.Format }).(pulumi.StringOutput) +} + +// Name of the claim to validate. `exp`, `iss`, `nbf`, or `iat` cannot be specified because they are validated by default. +func (o ListenerDefaultActionJwtValidationAdditionalClaimOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v ListenerDefaultActionJwtValidationAdditionalClaim) string { return v.Name }).(pulumi.StringOutput) +} + +// List of expected values of the claim. +func (o ListenerDefaultActionJwtValidationAdditionalClaimOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v ListenerDefaultActionJwtValidationAdditionalClaim) []string { return v.Values }).(pulumi.StringArrayOutput) +} + +type ListenerDefaultActionJwtValidationAdditionalClaimArrayOutput struct{ *pulumi.OutputState } + +func (ListenerDefaultActionJwtValidationAdditionalClaimArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]ListenerDefaultActionJwtValidationAdditionalClaim)(nil)).Elem() +} + +func (o ListenerDefaultActionJwtValidationAdditionalClaimArrayOutput) ToListenerDefaultActionJwtValidationAdditionalClaimArrayOutput() ListenerDefaultActionJwtValidationAdditionalClaimArrayOutput { + return o +} + +func (o ListenerDefaultActionJwtValidationAdditionalClaimArrayOutput) ToListenerDefaultActionJwtValidationAdditionalClaimArrayOutputWithContext(ctx context.Context) ListenerDefaultActionJwtValidationAdditionalClaimArrayOutput { + return o +} + +func (o ListenerDefaultActionJwtValidationAdditionalClaimArrayOutput) Index(i pulumi.IntInput) ListenerDefaultActionJwtValidationAdditionalClaimOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) ListenerDefaultActionJwtValidationAdditionalClaim { + return vs[0].([]ListenerDefaultActionJwtValidationAdditionalClaim)[vs[1].(int)] + }).(ListenerDefaultActionJwtValidationAdditionalClaimOutput) +} + type ListenerDefaultActionRedirect struct { // Hostname. This component is not percent-encoded. The hostname can contain `#{host}`. Defaults to `#{host}`. Host *string `pulumi:"host"` @@ -1868,6 +2177,8 @@ type ListenerRuleAction struct { // Specify only if `type` is `forward`. // Cannot be specified with `targetGroupArn`. Forward *ListenerRuleActionForward `pulumi:"forward"` + // Information for creating a JWT validation action. Required if `type` is `jwt-validation`. + JwtValidation *ListenerRuleActionJwtValidation `pulumi:"jwtValidation"` // Order for the action. // The action with the lowest value for order is performed first. // Valid values are between `1` and `50000`. @@ -1880,7 +2191,7 @@ type ListenerRuleAction struct { // To route to one or more target groups, use a `forward` block instead. // Cannot be specified with `forward`. TargetGroupArn *string `pulumi:"targetGroupArn"` - // The type of routing action. Valid values are `forward`, `redirect`, `fixed-response`, `authenticate-cognito` and `authenticate-oidc`. + // The type of routing action. Valid values are `forward`, `redirect`, `fixed-response`, `authenticate-cognito`, `authenticate-oidc` and `jwt-validation`. Type string `pulumi:"type"` } @@ -1906,6 +2217,8 @@ type ListenerRuleActionArgs struct { // Specify only if `type` is `forward`. // Cannot be specified with `targetGroupArn`. Forward ListenerRuleActionForwardPtrInput `pulumi:"forward"` + // Information for creating a JWT validation action. Required if `type` is `jwt-validation`. + JwtValidation ListenerRuleActionJwtValidationPtrInput `pulumi:"jwtValidation"` // Order for the action. // The action with the lowest value for order is performed first. // Valid values are between `1` and `50000`. @@ -1918,7 +2231,7 @@ type ListenerRuleActionArgs struct { // To route to one or more target groups, use a `forward` block instead. // Cannot be specified with `forward`. TargetGroupArn pulumi.StringPtrInput `pulumi:"targetGroupArn"` - // The type of routing action. Valid values are `forward`, `redirect`, `fixed-response`, `authenticate-cognito` and `authenticate-oidc`. + // The type of routing action. Valid values are `forward`, `redirect`, `fixed-response`, `authenticate-cognito`, `authenticate-oidc` and `jwt-validation`. Type pulumi.StringInput `pulumi:"type"` } @@ -1995,6 +2308,11 @@ func (o ListenerRuleActionOutput) Forward() ListenerRuleActionForwardPtrOutput { return o.ApplyT(func(v ListenerRuleAction) *ListenerRuleActionForward { return v.Forward }).(ListenerRuleActionForwardPtrOutput) } +// Information for creating a JWT validation action. Required if `type` is `jwt-validation`. +func (o ListenerRuleActionOutput) JwtValidation() ListenerRuleActionJwtValidationPtrOutput { + return o.ApplyT(func(v ListenerRuleAction) *ListenerRuleActionJwtValidation { return v.JwtValidation }).(ListenerRuleActionJwtValidationPtrOutput) +} + // Order for the action. // The action with the lowest value for order is performed first. // Valid values are between `1` and `50000`. @@ -2016,7 +2334,7 @@ func (o ListenerRuleActionOutput) TargetGroupArn() pulumi.StringPtrOutput { return o.ApplyT(func(v ListenerRuleAction) *string { return v.TargetGroupArn }).(pulumi.StringPtrOutput) } -// The type of routing action. Valid values are `forward`, `redirect`, `fixed-response`, `authenticate-cognito` and `authenticate-oidc`. +// The type of routing action. Valid values are `forward`, `redirect`, `fixed-response`, `authenticate-cognito`, `authenticate-oidc` and `jwt-validation`. func (o ListenerRuleActionOutput) Type() pulumi.StringOutput { return o.ApplyT(func(v ListenerRuleAction) string { return v.Type }).(pulumi.StringOutput) } @@ -3235,165 +3553,457 @@ func (o ListenerRuleActionForwardTargetGroupArrayOutput) Index(i pulumi.IntInput }).(ListenerRuleActionForwardTargetGroupOutput) } -type ListenerRuleActionRedirect struct { - // The hostname. This component is not percent-encoded. The hostname can contain `#{host}`. Defaults to `#{host}`. - Host *string `pulumi:"host"` - // The absolute path, starting with the leading "/". This component is not percent-encoded. The path can contain #{host}, #{path}, and #{port}. Defaults to `/#{path}`. - Path *string `pulumi:"path"` - // The port. Specify a value from `1` to `65535` or `#{port}`. Defaults to `#{port}`. - Port *string `pulumi:"port"` - // The protocol. Valid values are `HTTP`, `HTTPS`, or `#{protocol}`. Defaults to `#{protocol}`. - Protocol *string `pulumi:"protocol"` - // The query parameters, URL-encoded when necessary, but not percent-encoded. Do not include the leading "?". Defaults to `#{query}`. - Query *string `pulumi:"query"` - // The HTTP redirect code. The redirect is either permanent (`HTTP_301`) or temporary (`HTTP_302`). - StatusCode string `pulumi:"statusCode"` +type ListenerRuleActionJwtValidation struct { + // Repeatable configuration block for additional claims to validate. + AdditionalClaims []ListenerRuleActionJwtValidationAdditionalClaim `pulumi:"additionalClaims"` + // Issuer of the JWT. + Issuer string `pulumi:"issuer"` + // JSON Web Key Set (JWKS) endpoint. This endpoint contains JSON Web Keys (JWK) that are used to validate signatures from the provider. This must be a full URL, including the HTTPS protocol, the domain, and the path. + JwksEndpoint string `pulumi:"jwksEndpoint"` } -// ListenerRuleActionRedirectInput is an input type that accepts ListenerRuleActionRedirectArgs and ListenerRuleActionRedirectOutput values. -// You can construct a concrete instance of `ListenerRuleActionRedirectInput` via: +// ListenerRuleActionJwtValidationInput is an input type that accepts ListenerRuleActionJwtValidationArgs and ListenerRuleActionJwtValidationOutput values. +// You can construct a concrete instance of `ListenerRuleActionJwtValidationInput` via: // -// ListenerRuleActionRedirectArgs{...} -type ListenerRuleActionRedirectInput interface { +// ListenerRuleActionJwtValidationArgs{...} +type ListenerRuleActionJwtValidationInput interface { pulumi.Input - ToListenerRuleActionRedirectOutput() ListenerRuleActionRedirectOutput - ToListenerRuleActionRedirectOutputWithContext(context.Context) ListenerRuleActionRedirectOutput + ToListenerRuleActionJwtValidationOutput() ListenerRuleActionJwtValidationOutput + ToListenerRuleActionJwtValidationOutputWithContext(context.Context) ListenerRuleActionJwtValidationOutput } -type ListenerRuleActionRedirectArgs struct { - // The hostname. This component is not percent-encoded. The hostname can contain `#{host}`. Defaults to `#{host}`. - Host pulumi.StringPtrInput `pulumi:"host"` - // The absolute path, starting with the leading "/". This component is not percent-encoded. The path can contain #{host}, #{path}, and #{port}. Defaults to `/#{path}`. - Path pulumi.StringPtrInput `pulumi:"path"` - // The port. Specify a value from `1` to `65535` or `#{port}`. Defaults to `#{port}`. - Port pulumi.StringPtrInput `pulumi:"port"` - // The protocol. Valid values are `HTTP`, `HTTPS`, or `#{protocol}`. Defaults to `#{protocol}`. - Protocol pulumi.StringPtrInput `pulumi:"protocol"` - // The query parameters, URL-encoded when necessary, but not percent-encoded. Do not include the leading "?". Defaults to `#{query}`. - Query pulumi.StringPtrInput `pulumi:"query"` - // The HTTP redirect code. The redirect is either permanent (`HTTP_301`) or temporary (`HTTP_302`). - StatusCode pulumi.StringInput `pulumi:"statusCode"` +type ListenerRuleActionJwtValidationArgs struct { + // Repeatable configuration block for additional claims to validate. + AdditionalClaims ListenerRuleActionJwtValidationAdditionalClaimArrayInput `pulumi:"additionalClaims"` + // Issuer of the JWT. + Issuer pulumi.StringInput `pulumi:"issuer"` + // JSON Web Key Set (JWKS) endpoint. This endpoint contains JSON Web Keys (JWK) that are used to validate signatures from the provider. This must be a full URL, including the HTTPS protocol, the domain, and the path. + JwksEndpoint pulumi.StringInput `pulumi:"jwksEndpoint"` } -func (ListenerRuleActionRedirectArgs) ElementType() reflect.Type { - return reflect.TypeOf((*ListenerRuleActionRedirect)(nil)).Elem() +func (ListenerRuleActionJwtValidationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ListenerRuleActionJwtValidation)(nil)).Elem() } -func (i ListenerRuleActionRedirectArgs) ToListenerRuleActionRedirectOutput() ListenerRuleActionRedirectOutput { - return i.ToListenerRuleActionRedirectOutputWithContext(context.Background()) +func (i ListenerRuleActionJwtValidationArgs) ToListenerRuleActionJwtValidationOutput() ListenerRuleActionJwtValidationOutput { + return i.ToListenerRuleActionJwtValidationOutputWithContext(context.Background()) } -func (i ListenerRuleActionRedirectArgs) ToListenerRuleActionRedirectOutputWithContext(ctx context.Context) ListenerRuleActionRedirectOutput { - return pulumi.ToOutputWithContext(ctx, i).(ListenerRuleActionRedirectOutput) +func (i ListenerRuleActionJwtValidationArgs) ToListenerRuleActionJwtValidationOutputWithContext(ctx context.Context) ListenerRuleActionJwtValidationOutput { + return pulumi.ToOutputWithContext(ctx, i).(ListenerRuleActionJwtValidationOutput) } -func (i ListenerRuleActionRedirectArgs) ToListenerRuleActionRedirectPtrOutput() ListenerRuleActionRedirectPtrOutput { - return i.ToListenerRuleActionRedirectPtrOutputWithContext(context.Background()) +func (i ListenerRuleActionJwtValidationArgs) ToListenerRuleActionJwtValidationPtrOutput() ListenerRuleActionJwtValidationPtrOutput { + return i.ToListenerRuleActionJwtValidationPtrOutputWithContext(context.Background()) } -func (i ListenerRuleActionRedirectArgs) ToListenerRuleActionRedirectPtrOutputWithContext(ctx context.Context) ListenerRuleActionRedirectPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(ListenerRuleActionRedirectOutput).ToListenerRuleActionRedirectPtrOutputWithContext(ctx) +func (i ListenerRuleActionJwtValidationArgs) ToListenerRuleActionJwtValidationPtrOutputWithContext(ctx context.Context) ListenerRuleActionJwtValidationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ListenerRuleActionJwtValidationOutput).ToListenerRuleActionJwtValidationPtrOutputWithContext(ctx) } -// ListenerRuleActionRedirectPtrInput is an input type that accepts ListenerRuleActionRedirectArgs, ListenerRuleActionRedirectPtr and ListenerRuleActionRedirectPtrOutput values. -// You can construct a concrete instance of `ListenerRuleActionRedirectPtrInput` via: +// ListenerRuleActionJwtValidationPtrInput is an input type that accepts ListenerRuleActionJwtValidationArgs, ListenerRuleActionJwtValidationPtr and ListenerRuleActionJwtValidationPtrOutput values. +// You can construct a concrete instance of `ListenerRuleActionJwtValidationPtrInput` via: // -// ListenerRuleActionRedirectArgs{...} +// ListenerRuleActionJwtValidationArgs{...} // // or: // // nil -type ListenerRuleActionRedirectPtrInput interface { +type ListenerRuleActionJwtValidationPtrInput interface { pulumi.Input - ToListenerRuleActionRedirectPtrOutput() ListenerRuleActionRedirectPtrOutput - ToListenerRuleActionRedirectPtrOutputWithContext(context.Context) ListenerRuleActionRedirectPtrOutput + ToListenerRuleActionJwtValidationPtrOutput() ListenerRuleActionJwtValidationPtrOutput + ToListenerRuleActionJwtValidationPtrOutputWithContext(context.Context) ListenerRuleActionJwtValidationPtrOutput } -type listenerRuleActionRedirectPtrType ListenerRuleActionRedirectArgs +type listenerRuleActionJwtValidationPtrType ListenerRuleActionJwtValidationArgs -func ListenerRuleActionRedirectPtr(v *ListenerRuleActionRedirectArgs) ListenerRuleActionRedirectPtrInput { - return (*listenerRuleActionRedirectPtrType)(v) +func ListenerRuleActionJwtValidationPtr(v *ListenerRuleActionJwtValidationArgs) ListenerRuleActionJwtValidationPtrInput { + return (*listenerRuleActionJwtValidationPtrType)(v) } -func (*listenerRuleActionRedirectPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**ListenerRuleActionRedirect)(nil)).Elem() +func (*listenerRuleActionJwtValidationPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**ListenerRuleActionJwtValidation)(nil)).Elem() } -func (i *listenerRuleActionRedirectPtrType) ToListenerRuleActionRedirectPtrOutput() ListenerRuleActionRedirectPtrOutput { - return i.ToListenerRuleActionRedirectPtrOutputWithContext(context.Background()) +func (i *listenerRuleActionJwtValidationPtrType) ToListenerRuleActionJwtValidationPtrOutput() ListenerRuleActionJwtValidationPtrOutput { + return i.ToListenerRuleActionJwtValidationPtrOutputWithContext(context.Background()) } -func (i *listenerRuleActionRedirectPtrType) ToListenerRuleActionRedirectPtrOutputWithContext(ctx context.Context) ListenerRuleActionRedirectPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(ListenerRuleActionRedirectPtrOutput) +func (i *listenerRuleActionJwtValidationPtrType) ToListenerRuleActionJwtValidationPtrOutputWithContext(ctx context.Context) ListenerRuleActionJwtValidationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ListenerRuleActionJwtValidationPtrOutput) } -type ListenerRuleActionRedirectOutput struct{ *pulumi.OutputState } +type ListenerRuleActionJwtValidationOutput struct{ *pulumi.OutputState } -func (ListenerRuleActionRedirectOutput) ElementType() reflect.Type { - return reflect.TypeOf((*ListenerRuleActionRedirect)(nil)).Elem() +func (ListenerRuleActionJwtValidationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ListenerRuleActionJwtValidation)(nil)).Elem() } -func (o ListenerRuleActionRedirectOutput) ToListenerRuleActionRedirectOutput() ListenerRuleActionRedirectOutput { +func (o ListenerRuleActionJwtValidationOutput) ToListenerRuleActionJwtValidationOutput() ListenerRuleActionJwtValidationOutput { return o } -func (o ListenerRuleActionRedirectOutput) ToListenerRuleActionRedirectOutputWithContext(ctx context.Context) ListenerRuleActionRedirectOutput { +func (o ListenerRuleActionJwtValidationOutput) ToListenerRuleActionJwtValidationOutputWithContext(ctx context.Context) ListenerRuleActionJwtValidationOutput { return o } -func (o ListenerRuleActionRedirectOutput) ToListenerRuleActionRedirectPtrOutput() ListenerRuleActionRedirectPtrOutput { - return o.ToListenerRuleActionRedirectPtrOutputWithContext(context.Background()) +func (o ListenerRuleActionJwtValidationOutput) ToListenerRuleActionJwtValidationPtrOutput() ListenerRuleActionJwtValidationPtrOutput { + return o.ToListenerRuleActionJwtValidationPtrOutputWithContext(context.Background()) } -func (o ListenerRuleActionRedirectOutput) ToListenerRuleActionRedirectPtrOutputWithContext(ctx context.Context) ListenerRuleActionRedirectPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v ListenerRuleActionRedirect) *ListenerRuleActionRedirect { +func (o ListenerRuleActionJwtValidationOutput) ToListenerRuleActionJwtValidationPtrOutputWithContext(ctx context.Context) ListenerRuleActionJwtValidationPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v ListenerRuleActionJwtValidation) *ListenerRuleActionJwtValidation { return &v - }).(ListenerRuleActionRedirectPtrOutput) -} - -// The hostname. This component is not percent-encoded. The hostname can contain `#{host}`. Defaults to `#{host}`. -func (o ListenerRuleActionRedirectOutput) Host() pulumi.StringPtrOutput { - return o.ApplyT(func(v ListenerRuleActionRedirect) *string { return v.Host }).(pulumi.StringPtrOutput) + }).(ListenerRuleActionJwtValidationPtrOutput) } -// The absolute path, starting with the leading "/". This component is not percent-encoded. The path can contain #{host}, #{path}, and #{port}. Defaults to `/#{path}`. -func (o ListenerRuleActionRedirectOutput) Path() pulumi.StringPtrOutput { - return o.ApplyT(func(v ListenerRuleActionRedirect) *string { return v.Path }).(pulumi.StringPtrOutput) +// Repeatable configuration block for additional claims to validate. +func (o ListenerRuleActionJwtValidationOutput) AdditionalClaims() ListenerRuleActionJwtValidationAdditionalClaimArrayOutput { + return o.ApplyT(func(v ListenerRuleActionJwtValidation) []ListenerRuleActionJwtValidationAdditionalClaim { + return v.AdditionalClaims + }).(ListenerRuleActionJwtValidationAdditionalClaimArrayOutput) } -// The port. Specify a value from `1` to `65535` or `#{port}`. Defaults to `#{port}`. -func (o ListenerRuleActionRedirectOutput) Port() pulumi.StringPtrOutput { - return o.ApplyT(func(v ListenerRuleActionRedirect) *string { return v.Port }).(pulumi.StringPtrOutput) +// Issuer of the JWT. +func (o ListenerRuleActionJwtValidationOutput) Issuer() pulumi.StringOutput { + return o.ApplyT(func(v ListenerRuleActionJwtValidation) string { return v.Issuer }).(pulumi.StringOutput) } -// The protocol. Valid values are `HTTP`, `HTTPS`, or `#{protocol}`. Defaults to `#{protocol}`. -func (o ListenerRuleActionRedirectOutput) Protocol() pulumi.StringPtrOutput { - return o.ApplyT(func(v ListenerRuleActionRedirect) *string { return v.Protocol }).(pulumi.StringPtrOutput) +// JSON Web Key Set (JWKS) endpoint. This endpoint contains JSON Web Keys (JWK) that are used to validate signatures from the provider. This must be a full URL, including the HTTPS protocol, the domain, and the path. +func (o ListenerRuleActionJwtValidationOutput) JwksEndpoint() pulumi.StringOutput { + return o.ApplyT(func(v ListenerRuleActionJwtValidation) string { return v.JwksEndpoint }).(pulumi.StringOutput) } -// The query parameters, URL-encoded when necessary, but not percent-encoded. Do not include the leading "?". Defaults to `#{query}`. -func (o ListenerRuleActionRedirectOutput) Query() pulumi.StringPtrOutput { - return o.ApplyT(func(v ListenerRuleActionRedirect) *string { return v.Query }).(pulumi.StringPtrOutput) -} +type ListenerRuleActionJwtValidationPtrOutput struct{ *pulumi.OutputState } -// The HTTP redirect code. The redirect is either permanent (`HTTP_301`) or temporary (`HTTP_302`). -func (o ListenerRuleActionRedirectOutput) StatusCode() pulumi.StringOutput { - return o.ApplyT(func(v ListenerRuleActionRedirect) string { return v.StatusCode }).(pulumi.StringOutput) +func (ListenerRuleActionJwtValidationPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ListenerRuleActionJwtValidation)(nil)).Elem() } -type ListenerRuleActionRedirectPtrOutput struct{ *pulumi.OutputState } - -func (ListenerRuleActionRedirectPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**ListenerRuleActionRedirect)(nil)).Elem() +func (o ListenerRuleActionJwtValidationPtrOutput) ToListenerRuleActionJwtValidationPtrOutput() ListenerRuleActionJwtValidationPtrOutput { + return o } -func (o ListenerRuleActionRedirectPtrOutput) ToListenerRuleActionRedirectPtrOutput() ListenerRuleActionRedirectPtrOutput { +func (o ListenerRuleActionJwtValidationPtrOutput) ToListenerRuleActionJwtValidationPtrOutputWithContext(ctx context.Context) ListenerRuleActionJwtValidationPtrOutput { return o } -func (o ListenerRuleActionRedirectPtrOutput) ToListenerRuleActionRedirectPtrOutputWithContext(ctx context.Context) ListenerRuleActionRedirectPtrOutput { +func (o ListenerRuleActionJwtValidationPtrOutput) Elem() ListenerRuleActionJwtValidationOutput { + return o.ApplyT(func(v *ListenerRuleActionJwtValidation) ListenerRuleActionJwtValidation { + if v != nil { + return *v + } + var ret ListenerRuleActionJwtValidation + return ret + }).(ListenerRuleActionJwtValidationOutput) +} + +// Repeatable configuration block for additional claims to validate. +func (o ListenerRuleActionJwtValidationPtrOutput) AdditionalClaims() ListenerRuleActionJwtValidationAdditionalClaimArrayOutput { + return o.ApplyT(func(v *ListenerRuleActionJwtValidation) []ListenerRuleActionJwtValidationAdditionalClaim { + if v == nil { + return nil + } + return v.AdditionalClaims + }).(ListenerRuleActionJwtValidationAdditionalClaimArrayOutput) +} + +// Issuer of the JWT. +func (o ListenerRuleActionJwtValidationPtrOutput) Issuer() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ListenerRuleActionJwtValidation) *string { + if v == nil { + return nil + } + return &v.Issuer + }).(pulumi.StringPtrOutput) +} + +// JSON Web Key Set (JWKS) endpoint. This endpoint contains JSON Web Keys (JWK) that are used to validate signatures from the provider. This must be a full URL, including the HTTPS protocol, the domain, and the path. +func (o ListenerRuleActionJwtValidationPtrOutput) JwksEndpoint() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ListenerRuleActionJwtValidation) *string { + if v == nil { + return nil + } + return &v.JwksEndpoint + }).(pulumi.StringPtrOutput) +} + +type ListenerRuleActionJwtValidationAdditionalClaim struct { + // Format of the claim value. Valid values are `single-string`, `string-array` and `space-separated-values`. + Format string `pulumi:"format"` + // Name of the claim to validate. `exp`, `iss`, `nbf`, or `iat` cannot be specified because they are validated by default. + Name string `pulumi:"name"` + // List of expected values of the claim. + Values []string `pulumi:"values"` +} + +// ListenerRuleActionJwtValidationAdditionalClaimInput is an input type that accepts ListenerRuleActionJwtValidationAdditionalClaimArgs and ListenerRuleActionJwtValidationAdditionalClaimOutput values. +// You can construct a concrete instance of `ListenerRuleActionJwtValidationAdditionalClaimInput` via: +// +// ListenerRuleActionJwtValidationAdditionalClaimArgs{...} +type ListenerRuleActionJwtValidationAdditionalClaimInput interface { + pulumi.Input + + ToListenerRuleActionJwtValidationAdditionalClaimOutput() ListenerRuleActionJwtValidationAdditionalClaimOutput + ToListenerRuleActionJwtValidationAdditionalClaimOutputWithContext(context.Context) ListenerRuleActionJwtValidationAdditionalClaimOutput +} + +type ListenerRuleActionJwtValidationAdditionalClaimArgs struct { + // Format of the claim value. Valid values are `single-string`, `string-array` and `space-separated-values`. + Format pulumi.StringInput `pulumi:"format"` + // Name of the claim to validate. `exp`, `iss`, `nbf`, or `iat` cannot be specified because they are validated by default. + Name pulumi.StringInput `pulumi:"name"` + // List of expected values of the claim. + Values pulumi.StringArrayInput `pulumi:"values"` +} + +func (ListenerRuleActionJwtValidationAdditionalClaimArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ListenerRuleActionJwtValidationAdditionalClaim)(nil)).Elem() +} + +func (i ListenerRuleActionJwtValidationAdditionalClaimArgs) ToListenerRuleActionJwtValidationAdditionalClaimOutput() ListenerRuleActionJwtValidationAdditionalClaimOutput { + return i.ToListenerRuleActionJwtValidationAdditionalClaimOutputWithContext(context.Background()) +} + +func (i ListenerRuleActionJwtValidationAdditionalClaimArgs) ToListenerRuleActionJwtValidationAdditionalClaimOutputWithContext(ctx context.Context) ListenerRuleActionJwtValidationAdditionalClaimOutput { + return pulumi.ToOutputWithContext(ctx, i).(ListenerRuleActionJwtValidationAdditionalClaimOutput) +} + +// ListenerRuleActionJwtValidationAdditionalClaimArrayInput is an input type that accepts ListenerRuleActionJwtValidationAdditionalClaimArray and ListenerRuleActionJwtValidationAdditionalClaimArrayOutput values. +// You can construct a concrete instance of `ListenerRuleActionJwtValidationAdditionalClaimArrayInput` via: +// +// ListenerRuleActionJwtValidationAdditionalClaimArray{ ListenerRuleActionJwtValidationAdditionalClaimArgs{...} } +type ListenerRuleActionJwtValidationAdditionalClaimArrayInput interface { + pulumi.Input + + ToListenerRuleActionJwtValidationAdditionalClaimArrayOutput() ListenerRuleActionJwtValidationAdditionalClaimArrayOutput + ToListenerRuleActionJwtValidationAdditionalClaimArrayOutputWithContext(context.Context) ListenerRuleActionJwtValidationAdditionalClaimArrayOutput +} + +type ListenerRuleActionJwtValidationAdditionalClaimArray []ListenerRuleActionJwtValidationAdditionalClaimInput + +func (ListenerRuleActionJwtValidationAdditionalClaimArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]ListenerRuleActionJwtValidationAdditionalClaim)(nil)).Elem() +} + +func (i ListenerRuleActionJwtValidationAdditionalClaimArray) ToListenerRuleActionJwtValidationAdditionalClaimArrayOutput() ListenerRuleActionJwtValidationAdditionalClaimArrayOutput { + return i.ToListenerRuleActionJwtValidationAdditionalClaimArrayOutputWithContext(context.Background()) +} + +func (i ListenerRuleActionJwtValidationAdditionalClaimArray) ToListenerRuleActionJwtValidationAdditionalClaimArrayOutputWithContext(ctx context.Context) ListenerRuleActionJwtValidationAdditionalClaimArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ListenerRuleActionJwtValidationAdditionalClaimArrayOutput) +} + +type ListenerRuleActionJwtValidationAdditionalClaimOutput struct{ *pulumi.OutputState } + +func (ListenerRuleActionJwtValidationAdditionalClaimOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ListenerRuleActionJwtValidationAdditionalClaim)(nil)).Elem() +} + +func (o ListenerRuleActionJwtValidationAdditionalClaimOutput) ToListenerRuleActionJwtValidationAdditionalClaimOutput() ListenerRuleActionJwtValidationAdditionalClaimOutput { + return o +} + +func (o ListenerRuleActionJwtValidationAdditionalClaimOutput) ToListenerRuleActionJwtValidationAdditionalClaimOutputWithContext(ctx context.Context) ListenerRuleActionJwtValidationAdditionalClaimOutput { + return o +} + +// Format of the claim value. Valid values are `single-string`, `string-array` and `space-separated-values`. +func (o ListenerRuleActionJwtValidationAdditionalClaimOutput) Format() pulumi.StringOutput { + return o.ApplyT(func(v ListenerRuleActionJwtValidationAdditionalClaim) string { return v.Format }).(pulumi.StringOutput) +} + +// Name of the claim to validate. `exp`, `iss`, `nbf`, or `iat` cannot be specified because they are validated by default. +func (o ListenerRuleActionJwtValidationAdditionalClaimOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v ListenerRuleActionJwtValidationAdditionalClaim) string { return v.Name }).(pulumi.StringOutput) +} + +// List of expected values of the claim. +func (o ListenerRuleActionJwtValidationAdditionalClaimOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v ListenerRuleActionJwtValidationAdditionalClaim) []string { return v.Values }).(pulumi.StringArrayOutput) +} + +type ListenerRuleActionJwtValidationAdditionalClaimArrayOutput struct{ *pulumi.OutputState } + +func (ListenerRuleActionJwtValidationAdditionalClaimArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]ListenerRuleActionJwtValidationAdditionalClaim)(nil)).Elem() +} + +func (o ListenerRuleActionJwtValidationAdditionalClaimArrayOutput) ToListenerRuleActionJwtValidationAdditionalClaimArrayOutput() ListenerRuleActionJwtValidationAdditionalClaimArrayOutput { + return o +} + +func (o ListenerRuleActionJwtValidationAdditionalClaimArrayOutput) ToListenerRuleActionJwtValidationAdditionalClaimArrayOutputWithContext(ctx context.Context) ListenerRuleActionJwtValidationAdditionalClaimArrayOutput { + return o +} + +func (o ListenerRuleActionJwtValidationAdditionalClaimArrayOutput) Index(i pulumi.IntInput) ListenerRuleActionJwtValidationAdditionalClaimOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) ListenerRuleActionJwtValidationAdditionalClaim { + return vs[0].([]ListenerRuleActionJwtValidationAdditionalClaim)[vs[1].(int)] + }).(ListenerRuleActionJwtValidationAdditionalClaimOutput) +} + +type ListenerRuleActionRedirect struct { + // The hostname. This component is not percent-encoded. The hostname can contain `#{host}`. Defaults to `#{host}`. + Host *string `pulumi:"host"` + // The absolute path, starting with the leading "/". This component is not percent-encoded. The path can contain #{host}, #{path}, and #{port}. Defaults to `/#{path}`. + Path *string `pulumi:"path"` + // The port. Specify a value from `1` to `65535` or `#{port}`. Defaults to `#{port}`. + Port *string `pulumi:"port"` + // The protocol. Valid values are `HTTP`, `HTTPS`, or `#{protocol}`. Defaults to `#{protocol}`. + Protocol *string `pulumi:"protocol"` + // The query parameters, URL-encoded when necessary, but not percent-encoded. Do not include the leading "?". Defaults to `#{query}`. + Query *string `pulumi:"query"` + // The HTTP redirect code. The redirect is either permanent (`HTTP_301`) or temporary (`HTTP_302`). + StatusCode string `pulumi:"statusCode"` +} + +// ListenerRuleActionRedirectInput is an input type that accepts ListenerRuleActionRedirectArgs and ListenerRuleActionRedirectOutput values. +// You can construct a concrete instance of `ListenerRuleActionRedirectInput` via: +// +// ListenerRuleActionRedirectArgs{...} +type ListenerRuleActionRedirectInput interface { + pulumi.Input + + ToListenerRuleActionRedirectOutput() ListenerRuleActionRedirectOutput + ToListenerRuleActionRedirectOutputWithContext(context.Context) ListenerRuleActionRedirectOutput +} + +type ListenerRuleActionRedirectArgs struct { + // The hostname. This component is not percent-encoded. The hostname can contain `#{host}`. Defaults to `#{host}`. + Host pulumi.StringPtrInput `pulumi:"host"` + // The absolute path, starting with the leading "/". This component is not percent-encoded. The path can contain #{host}, #{path}, and #{port}. Defaults to `/#{path}`. + Path pulumi.StringPtrInput `pulumi:"path"` + // The port. Specify a value from `1` to `65535` or `#{port}`. Defaults to `#{port}`. + Port pulumi.StringPtrInput `pulumi:"port"` + // The protocol. Valid values are `HTTP`, `HTTPS`, or `#{protocol}`. Defaults to `#{protocol}`. + Protocol pulumi.StringPtrInput `pulumi:"protocol"` + // The query parameters, URL-encoded when necessary, but not percent-encoded. Do not include the leading "?". Defaults to `#{query}`. + Query pulumi.StringPtrInput `pulumi:"query"` + // The HTTP redirect code. The redirect is either permanent (`HTTP_301`) or temporary (`HTTP_302`). + StatusCode pulumi.StringInput `pulumi:"statusCode"` +} + +func (ListenerRuleActionRedirectArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ListenerRuleActionRedirect)(nil)).Elem() +} + +func (i ListenerRuleActionRedirectArgs) ToListenerRuleActionRedirectOutput() ListenerRuleActionRedirectOutput { + return i.ToListenerRuleActionRedirectOutputWithContext(context.Background()) +} + +func (i ListenerRuleActionRedirectArgs) ToListenerRuleActionRedirectOutputWithContext(ctx context.Context) ListenerRuleActionRedirectOutput { + return pulumi.ToOutputWithContext(ctx, i).(ListenerRuleActionRedirectOutput) +} + +func (i ListenerRuleActionRedirectArgs) ToListenerRuleActionRedirectPtrOutput() ListenerRuleActionRedirectPtrOutput { + return i.ToListenerRuleActionRedirectPtrOutputWithContext(context.Background()) +} + +func (i ListenerRuleActionRedirectArgs) ToListenerRuleActionRedirectPtrOutputWithContext(ctx context.Context) ListenerRuleActionRedirectPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ListenerRuleActionRedirectOutput).ToListenerRuleActionRedirectPtrOutputWithContext(ctx) +} + +// ListenerRuleActionRedirectPtrInput is an input type that accepts ListenerRuleActionRedirectArgs, ListenerRuleActionRedirectPtr and ListenerRuleActionRedirectPtrOutput values. +// You can construct a concrete instance of `ListenerRuleActionRedirectPtrInput` via: +// +// ListenerRuleActionRedirectArgs{...} +// +// or: +// +// nil +type ListenerRuleActionRedirectPtrInput interface { + pulumi.Input + + ToListenerRuleActionRedirectPtrOutput() ListenerRuleActionRedirectPtrOutput + ToListenerRuleActionRedirectPtrOutputWithContext(context.Context) ListenerRuleActionRedirectPtrOutput +} + +type listenerRuleActionRedirectPtrType ListenerRuleActionRedirectArgs + +func ListenerRuleActionRedirectPtr(v *ListenerRuleActionRedirectArgs) ListenerRuleActionRedirectPtrInput { + return (*listenerRuleActionRedirectPtrType)(v) +} + +func (*listenerRuleActionRedirectPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**ListenerRuleActionRedirect)(nil)).Elem() +} + +func (i *listenerRuleActionRedirectPtrType) ToListenerRuleActionRedirectPtrOutput() ListenerRuleActionRedirectPtrOutput { + return i.ToListenerRuleActionRedirectPtrOutputWithContext(context.Background()) +} + +func (i *listenerRuleActionRedirectPtrType) ToListenerRuleActionRedirectPtrOutputWithContext(ctx context.Context) ListenerRuleActionRedirectPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ListenerRuleActionRedirectPtrOutput) +} + +type ListenerRuleActionRedirectOutput struct{ *pulumi.OutputState } + +func (ListenerRuleActionRedirectOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ListenerRuleActionRedirect)(nil)).Elem() +} + +func (o ListenerRuleActionRedirectOutput) ToListenerRuleActionRedirectOutput() ListenerRuleActionRedirectOutput { + return o +} + +func (o ListenerRuleActionRedirectOutput) ToListenerRuleActionRedirectOutputWithContext(ctx context.Context) ListenerRuleActionRedirectOutput { + return o +} + +func (o ListenerRuleActionRedirectOutput) ToListenerRuleActionRedirectPtrOutput() ListenerRuleActionRedirectPtrOutput { + return o.ToListenerRuleActionRedirectPtrOutputWithContext(context.Background()) +} + +func (o ListenerRuleActionRedirectOutput) ToListenerRuleActionRedirectPtrOutputWithContext(ctx context.Context) ListenerRuleActionRedirectPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v ListenerRuleActionRedirect) *ListenerRuleActionRedirect { + return &v + }).(ListenerRuleActionRedirectPtrOutput) +} + +// The hostname. This component is not percent-encoded. The hostname can contain `#{host}`. Defaults to `#{host}`. +func (o ListenerRuleActionRedirectOutput) Host() pulumi.StringPtrOutput { + return o.ApplyT(func(v ListenerRuleActionRedirect) *string { return v.Host }).(pulumi.StringPtrOutput) +} + +// The absolute path, starting with the leading "/". This component is not percent-encoded. The path can contain #{host}, #{path}, and #{port}. Defaults to `/#{path}`. +func (o ListenerRuleActionRedirectOutput) Path() pulumi.StringPtrOutput { + return o.ApplyT(func(v ListenerRuleActionRedirect) *string { return v.Path }).(pulumi.StringPtrOutput) +} + +// The port. Specify a value from `1` to `65535` or `#{port}`. Defaults to `#{port}`. +func (o ListenerRuleActionRedirectOutput) Port() pulumi.StringPtrOutput { + return o.ApplyT(func(v ListenerRuleActionRedirect) *string { return v.Port }).(pulumi.StringPtrOutput) +} + +// The protocol. Valid values are `HTTP`, `HTTPS`, or `#{protocol}`. Defaults to `#{protocol}`. +func (o ListenerRuleActionRedirectOutput) Protocol() pulumi.StringPtrOutput { + return o.ApplyT(func(v ListenerRuleActionRedirect) *string { return v.Protocol }).(pulumi.StringPtrOutput) +} + +// The query parameters, URL-encoded when necessary, but not percent-encoded. Do not include the leading "?". Defaults to `#{query}`. +func (o ListenerRuleActionRedirectOutput) Query() pulumi.StringPtrOutput { + return o.ApplyT(func(v ListenerRuleActionRedirect) *string { return v.Query }).(pulumi.StringPtrOutput) +} + +// The HTTP redirect code. The redirect is either permanent (`HTTP_301`) or temporary (`HTTP_302`). +func (o ListenerRuleActionRedirectOutput) StatusCode() pulumi.StringOutput { + return o.ApplyT(func(v ListenerRuleActionRedirect) string { return v.StatusCode }).(pulumi.StringOutput) +} + +type ListenerRuleActionRedirectPtrOutput struct{ *pulumi.OutputState } + +func (ListenerRuleActionRedirectPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ListenerRuleActionRedirect)(nil)).Elem() +} + +func (o ListenerRuleActionRedirectPtrOutput) ToListenerRuleActionRedirectPtrOutput() ListenerRuleActionRedirectPtrOutput { + return o +} + +func (o ListenerRuleActionRedirectPtrOutput) ToListenerRuleActionRedirectPtrOutputWithContext(ctx context.Context) ListenerRuleActionRedirectPtrOutput { return o } @@ -5327,8 +5937,183 @@ func (o LoadBalancerAccessLogsPtrOutput) Elem() LoadBalancerAccessLogsOutput { } // S3 bucket name to store the logs in. -func (o LoadBalancerAccessLogsPtrOutput) Bucket() pulumi.StringPtrOutput { - return o.ApplyT(func(v *LoadBalancerAccessLogs) *string { +func (o LoadBalancerAccessLogsPtrOutput) Bucket() pulumi.StringPtrOutput { + return o.ApplyT(func(v *LoadBalancerAccessLogs) *string { + if v == nil { + return nil + } + return &v.Bucket + }).(pulumi.StringPtrOutput) +} + +// Boolean to enable / disable `accessLogs`. Defaults to `false`, even when `bucket` is specified. +func (o LoadBalancerAccessLogsPtrOutput) Enabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *LoadBalancerAccessLogs) *bool { + if v == nil { + return nil + } + return v.Enabled + }).(pulumi.BoolPtrOutput) +} + +// S3 bucket prefix. Logs are stored in the root if not configured. +func (o LoadBalancerAccessLogsPtrOutput) Prefix() pulumi.StringPtrOutput { + return o.ApplyT(func(v *LoadBalancerAccessLogs) *string { + if v == nil { + return nil + } + return v.Prefix + }).(pulumi.StringPtrOutput) +} + +type LoadBalancerConnectionLogs struct { + // S3 bucket name to store the logs in. + Bucket string `pulumi:"bucket"` + // Boolean to enable / disable `connectionLogs`. Defaults to `false`, even when `bucket` is specified. + Enabled *bool `pulumi:"enabled"` + // S3 bucket prefix. Logs are stored in the root if not configured. + Prefix *string `pulumi:"prefix"` +} + +// LoadBalancerConnectionLogsInput is an input type that accepts LoadBalancerConnectionLogsArgs and LoadBalancerConnectionLogsOutput values. +// You can construct a concrete instance of `LoadBalancerConnectionLogsInput` via: +// +// LoadBalancerConnectionLogsArgs{...} +type LoadBalancerConnectionLogsInput interface { + pulumi.Input + + ToLoadBalancerConnectionLogsOutput() LoadBalancerConnectionLogsOutput + ToLoadBalancerConnectionLogsOutputWithContext(context.Context) LoadBalancerConnectionLogsOutput +} + +type LoadBalancerConnectionLogsArgs struct { + // S3 bucket name to store the logs in. + Bucket pulumi.StringInput `pulumi:"bucket"` + // Boolean to enable / disable `connectionLogs`. Defaults to `false`, even when `bucket` is specified. + Enabled pulumi.BoolPtrInput `pulumi:"enabled"` + // S3 bucket prefix. Logs are stored in the root if not configured. + Prefix pulumi.StringPtrInput `pulumi:"prefix"` +} + +func (LoadBalancerConnectionLogsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LoadBalancerConnectionLogs)(nil)).Elem() +} + +func (i LoadBalancerConnectionLogsArgs) ToLoadBalancerConnectionLogsOutput() LoadBalancerConnectionLogsOutput { + return i.ToLoadBalancerConnectionLogsOutputWithContext(context.Background()) +} + +func (i LoadBalancerConnectionLogsArgs) ToLoadBalancerConnectionLogsOutputWithContext(ctx context.Context) LoadBalancerConnectionLogsOutput { + return pulumi.ToOutputWithContext(ctx, i).(LoadBalancerConnectionLogsOutput) +} + +func (i LoadBalancerConnectionLogsArgs) ToLoadBalancerConnectionLogsPtrOutput() LoadBalancerConnectionLogsPtrOutput { + return i.ToLoadBalancerConnectionLogsPtrOutputWithContext(context.Background()) +} + +func (i LoadBalancerConnectionLogsArgs) ToLoadBalancerConnectionLogsPtrOutputWithContext(ctx context.Context) LoadBalancerConnectionLogsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(LoadBalancerConnectionLogsOutput).ToLoadBalancerConnectionLogsPtrOutputWithContext(ctx) +} + +// LoadBalancerConnectionLogsPtrInput is an input type that accepts LoadBalancerConnectionLogsArgs, LoadBalancerConnectionLogsPtr and LoadBalancerConnectionLogsPtrOutput values. +// You can construct a concrete instance of `LoadBalancerConnectionLogsPtrInput` via: +// +// LoadBalancerConnectionLogsArgs{...} +// +// or: +// +// nil +type LoadBalancerConnectionLogsPtrInput interface { + pulumi.Input + + ToLoadBalancerConnectionLogsPtrOutput() LoadBalancerConnectionLogsPtrOutput + ToLoadBalancerConnectionLogsPtrOutputWithContext(context.Context) LoadBalancerConnectionLogsPtrOutput +} + +type loadBalancerConnectionLogsPtrType LoadBalancerConnectionLogsArgs + +func LoadBalancerConnectionLogsPtr(v *LoadBalancerConnectionLogsArgs) LoadBalancerConnectionLogsPtrInput { + return (*loadBalancerConnectionLogsPtrType)(v) +} + +func (*loadBalancerConnectionLogsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**LoadBalancerConnectionLogs)(nil)).Elem() +} + +func (i *loadBalancerConnectionLogsPtrType) ToLoadBalancerConnectionLogsPtrOutput() LoadBalancerConnectionLogsPtrOutput { + return i.ToLoadBalancerConnectionLogsPtrOutputWithContext(context.Background()) +} + +func (i *loadBalancerConnectionLogsPtrType) ToLoadBalancerConnectionLogsPtrOutputWithContext(ctx context.Context) LoadBalancerConnectionLogsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(LoadBalancerConnectionLogsPtrOutput) +} + +type LoadBalancerConnectionLogsOutput struct{ *pulumi.OutputState } + +func (LoadBalancerConnectionLogsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LoadBalancerConnectionLogs)(nil)).Elem() +} + +func (o LoadBalancerConnectionLogsOutput) ToLoadBalancerConnectionLogsOutput() LoadBalancerConnectionLogsOutput { + return o +} + +func (o LoadBalancerConnectionLogsOutput) ToLoadBalancerConnectionLogsOutputWithContext(ctx context.Context) LoadBalancerConnectionLogsOutput { + return o +} + +func (o LoadBalancerConnectionLogsOutput) ToLoadBalancerConnectionLogsPtrOutput() LoadBalancerConnectionLogsPtrOutput { + return o.ToLoadBalancerConnectionLogsPtrOutputWithContext(context.Background()) +} + +func (o LoadBalancerConnectionLogsOutput) ToLoadBalancerConnectionLogsPtrOutputWithContext(ctx context.Context) LoadBalancerConnectionLogsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v LoadBalancerConnectionLogs) *LoadBalancerConnectionLogs { + return &v + }).(LoadBalancerConnectionLogsPtrOutput) +} + +// S3 bucket name to store the logs in. +func (o LoadBalancerConnectionLogsOutput) Bucket() pulumi.StringOutput { + return o.ApplyT(func(v LoadBalancerConnectionLogs) string { return v.Bucket }).(pulumi.StringOutput) +} + +// Boolean to enable / disable `connectionLogs`. Defaults to `false`, even when `bucket` is specified. +func (o LoadBalancerConnectionLogsOutput) Enabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v LoadBalancerConnectionLogs) *bool { return v.Enabled }).(pulumi.BoolPtrOutput) +} + +// S3 bucket prefix. Logs are stored in the root if not configured. +func (o LoadBalancerConnectionLogsOutput) Prefix() pulumi.StringPtrOutput { + return o.ApplyT(func(v LoadBalancerConnectionLogs) *string { return v.Prefix }).(pulumi.StringPtrOutput) +} + +type LoadBalancerConnectionLogsPtrOutput struct{ *pulumi.OutputState } + +func (LoadBalancerConnectionLogsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**LoadBalancerConnectionLogs)(nil)).Elem() +} + +func (o LoadBalancerConnectionLogsPtrOutput) ToLoadBalancerConnectionLogsPtrOutput() LoadBalancerConnectionLogsPtrOutput { + return o +} + +func (o LoadBalancerConnectionLogsPtrOutput) ToLoadBalancerConnectionLogsPtrOutputWithContext(ctx context.Context) LoadBalancerConnectionLogsPtrOutput { + return o +} + +func (o LoadBalancerConnectionLogsPtrOutput) Elem() LoadBalancerConnectionLogsOutput { + return o.ApplyT(func(v *LoadBalancerConnectionLogs) LoadBalancerConnectionLogs { + if v != nil { + return *v + } + var ret LoadBalancerConnectionLogs + return ret + }).(LoadBalancerConnectionLogsOutput) +} + +// S3 bucket name to store the logs in. +func (o LoadBalancerConnectionLogsPtrOutput) Bucket() pulumi.StringPtrOutput { + return o.ApplyT(func(v *LoadBalancerConnectionLogs) *string { if v == nil { return nil } @@ -5336,9 +6121,9 @@ func (o LoadBalancerAccessLogsPtrOutput) Bucket() pulumi.StringPtrOutput { }).(pulumi.StringPtrOutput) } -// Boolean to enable / disable `accessLogs`. Defaults to `false`, even when `bucket` is specified. -func (o LoadBalancerAccessLogsPtrOutput) Enabled() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *LoadBalancerAccessLogs) *bool { +// Boolean to enable / disable `connectionLogs`. Defaults to `false`, even when `bucket` is specified. +func (o LoadBalancerConnectionLogsPtrOutput) Enabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *LoadBalancerConnectionLogs) *bool { if v == nil { return nil } @@ -5347,8 +6132,8 @@ func (o LoadBalancerAccessLogsPtrOutput) Enabled() pulumi.BoolPtrOutput { } // S3 bucket prefix. Logs are stored in the root if not configured. -func (o LoadBalancerAccessLogsPtrOutput) Prefix() pulumi.StringPtrOutput { - return o.ApplyT(func(v *LoadBalancerAccessLogs) *string { +func (o LoadBalancerConnectionLogsPtrOutput) Prefix() pulumi.StringPtrOutput { + return o.ApplyT(func(v *LoadBalancerConnectionLogs) *string { if v == nil { return nil } @@ -5356,154 +6141,154 @@ func (o LoadBalancerAccessLogsPtrOutput) Prefix() pulumi.StringPtrOutput { }).(pulumi.StringPtrOutput) } -type LoadBalancerConnectionLogs struct { +type LoadBalancerHealthCheckLogs struct { // S3 bucket name to store the logs in. Bucket string `pulumi:"bucket"` - // Boolean to enable / disable `connectionLogs`. Defaults to `false`, even when `bucket` is specified. + // Boolean to enable / disable `healthCheckLogs`. Defaults to `false`, even when `bucket` is specified. Enabled *bool `pulumi:"enabled"` // S3 bucket prefix. Logs are stored in the root if not configured. Prefix *string `pulumi:"prefix"` } -// LoadBalancerConnectionLogsInput is an input type that accepts LoadBalancerConnectionLogsArgs and LoadBalancerConnectionLogsOutput values. -// You can construct a concrete instance of `LoadBalancerConnectionLogsInput` via: +// LoadBalancerHealthCheckLogsInput is an input type that accepts LoadBalancerHealthCheckLogsArgs and LoadBalancerHealthCheckLogsOutput values. +// You can construct a concrete instance of `LoadBalancerHealthCheckLogsInput` via: // -// LoadBalancerConnectionLogsArgs{...} -type LoadBalancerConnectionLogsInput interface { +// LoadBalancerHealthCheckLogsArgs{...} +type LoadBalancerHealthCheckLogsInput interface { pulumi.Input - ToLoadBalancerConnectionLogsOutput() LoadBalancerConnectionLogsOutput - ToLoadBalancerConnectionLogsOutputWithContext(context.Context) LoadBalancerConnectionLogsOutput + ToLoadBalancerHealthCheckLogsOutput() LoadBalancerHealthCheckLogsOutput + ToLoadBalancerHealthCheckLogsOutputWithContext(context.Context) LoadBalancerHealthCheckLogsOutput } -type LoadBalancerConnectionLogsArgs struct { +type LoadBalancerHealthCheckLogsArgs struct { // S3 bucket name to store the logs in. Bucket pulumi.StringInput `pulumi:"bucket"` - // Boolean to enable / disable `connectionLogs`. Defaults to `false`, even when `bucket` is specified. + // Boolean to enable / disable `healthCheckLogs`. Defaults to `false`, even when `bucket` is specified. Enabled pulumi.BoolPtrInput `pulumi:"enabled"` // S3 bucket prefix. Logs are stored in the root if not configured. Prefix pulumi.StringPtrInput `pulumi:"prefix"` } -func (LoadBalancerConnectionLogsArgs) ElementType() reflect.Type { - return reflect.TypeOf((*LoadBalancerConnectionLogs)(nil)).Elem() +func (LoadBalancerHealthCheckLogsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LoadBalancerHealthCheckLogs)(nil)).Elem() } -func (i LoadBalancerConnectionLogsArgs) ToLoadBalancerConnectionLogsOutput() LoadBalancerConnectionLogsOutput { - return i.ToLoadBalancerConnectionLogsOutputWithContext(context.Background()) +func (i LoadBalancerHealthCheckLogsArgs) ToLoadBalancerHealthCheckLogsOutput() LoadBalancerHealthCheckLogsOutput { + return i.ToLoadBalancerHealthCheckLogsOutputWithContext(context.Background()) } -func (i LoadBalancerConnectionLogsArgs) ToLoadBalancerConnectionLogsOutputWithContext(ctx context.Context) LoadBalancerConnectionLogsOutput { - return pulumi.ToOutputWithContext(ctx, i).(LoadBalancerConnectionLogsOutput) +func (i LoadBalancerHealthCheckLogsArgs) ToLoadBalancerHealthCheckLogsOutputWithContext(ctx context.Context) LoadBalancerHealthCheckLogsOutput { + return pulumi.ToOutputWithContext(ctx, i).(LoadBalancerHealthCheckLogsOutput) } -func (i LoadBalancerConnectionLogsArgs) ToLoadBalancerConnectionLogsPtrOutput() LoadBalancerConnectionLogsPtrOutput { - return i.ToLoadBalancerConnectionLogsPtrOutputWithContext(context.Background()) +func (i LoadBalancerHealthCheckLogsArgs) ToLoadBalancerHealthCheckLogsPtrOutput() LoadBalancerHealthCheckLogsPtrOutput { + return i.ToLoadBalancerHealthCheckLogsPtrOutputWithContext(context.Background()) } -func (i LoadBalancerConnectionLogsArgs) ToLoadBalancerConnectionLogsPtrOutputWithContext(ctx context.Context) LoadBalancerConnectionLogsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(LoadBalancerConnectionLogsOutput).ToLoadBalancerConnectionLogsPtrOutputWithContext(ctx) +func (i LoadBalancerHealthCheckLogsArgs) ToLoadBalancerHealthCheckLogsPtrOutputWithContext(ctx context.Context) LoadBalancerHealthCheckLogsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(LoadBalancerHealthCheckLogsOutput).ToLoadBalancerHealthCheckLogsPtrOutputWithContext(ctx) } -// LoadBalancerConnectionLogsPtrInput is an input type that accepts LoadBalancerConnectionLogsArgs, LoadBalancerConnectionLogsPtr and LoadBalancerConnectionLogsPtrOutput values. -// You can construct a concrete instance of `LoadBalancerConnectionLogsPtrInput` via: +// LoadBalancerHealthCheckLogsPtrInput is an input type that accepts LoadBalancerHealthCheckLogsArgs, LoadBalancerHealthCheckLogsPtr and LoadBalancerHealthCheckLogsPtrOutput values. +// You can construct a concrete instance of `LoadBalancerHealthCheckLogsPtrInput` via: // -// LoadBalancerConnectionLogsArgs{...} +// LoadBalancerHealthCheckLogsArgs{...} // // or: // // nil -type LoadBalancerConnectionLogsPtrInput interface { +type LoadBalancerHealthCheckLogsPtrInput interface { pulumi.Input - ToLoadBalancerConnectionLogsPtrOutput() LoadBalancerConnectionLogsPtrOutput - ToLoadBalancerConnectionLogsPtrOutputWithContext(context.Context) LoadBalancerConnectionLogsPtrOutput + ToLoadBalancerHealthCheckLogsPtrOutput() LoadBalancerHealthCheckLogsPtrOutput + ToLoadBalancerHealthCheckLogsPtrOutputWithContext(context.Context) LoadBalancerHealthCheckLogsPtrOutput } -type loadBalancerConnectionLogsPtrType LoadBalancerConnectionLogsArgs +type loadBalancerHealthCheckLogsPtrType LoadBalancerHealthCheckLogsArgs -func LoadBalancerConnectionLogsPtr(v *LoadBalancerConnectionLogsArgs) LoadBalancerConnectionLogsPtrInput { - return (*loadBalancerConnectionLogsPtrType)(v) +func LoadBalancerHealthCheckLogsPtr(v *LoadBalancerHealthCheckLogsArgs) LoadBalancerHealthCheckLogsPtrInput { + return (*loadBalancerHealthCheckLogsPtrType)(v) } -func (*loadBalancerConnectionLogsPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**LoadBalancerConnectionLogs)(nil)).Elem() +func (*loadBalancerHealthCheckLogsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**LoadBalancerHealthCheckLogs)(nil)).Elem() } -func (i *loadBalancerConnectionLogsPtrType) ToLoadBalancerConnectionLogsPtrOutput() LoadBalancerConnectionLogsPtrOutput { - return i.ToLoadBalancerConnectionLogsPtrOutputWithContext(context.Background()) +func (i *loadBalancerHealthCheckLogsPtrType) ToLoadBalancerHealthCheckLogsPtrOutput() LoadBalancerHealthCheckLogsPtrOutput { + return i.ToLoadBalancerHealthCheckLogsPtrOutputWithContext(context.Background()) } -func (i *loadBalancerConnectionLogsPtrType) ToLoadBalancerConnectionLogsPtrOutputWithContext(ctx context.Context) LoadBalancerConnectionLogsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(LoadBalancerConnectionLogsPtrOutput) +func (i *loadBalancerHealthCheckLogsPtrType) ToLoadBalancerHealthCheckLogsPtrOutputWithContext(ctx context.Context) LoadBalancerHealthCheckLogsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(LoadBalancerHealthCheckLogsPtrOutput) } -type LoadBalancerConnectionLogsOutput struct{ *pulumi.OutputState } +type LoadBalancerHealthCheckLogsOutput struct{ *pulumi.OutputState } -func (LoadBalancerConnectionLogsOutput) ElementType() reflect.Type { - return reflect.TypeOf((*LoadBalancerConnectionLogs)(nil)).Elem() +func (LoadBalancerHealthCheckLogsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LoadBalancerHealthCheckLogs)(nil)).Elem() } -func (o LoadBalancerConnectionLogsOutput) ToLoadBalancerConnectionLogsOutput() LoadBalancerConnectionLogsOutput { +func (o LoadBalancerHealthCheckLogsOutput) ToLoadBalancerHealthCheckLogsOutput() LoadBalancerHealthCheckLogsOutput { return o } -func (o LoadBalancerConnectionLogsOutput) ToLoadBalancerConnectionLogsOutputWithContext(ctx context.Context) LoadBalancerConnectionLogsOutput { +func (o LoadBalancerHealthCheckLogsOutput) ToLoadBalancerHealthCheckLogsOutputWithContext(ctx context.Context) LoadBalancerHealthCheckLogsOutput { return o } -func (o LoadBalancerConnectionLogsOutput) ToLoadBalancerConnectionLogsPtrOutput() LoadBalancerConnectionLogsPtrOutput { - return o.ToLoadBalancerConnectionLogsPtrOutputWithContext(context.Background()) +func (o LoadBalancerHealthCheckLogsOutput) ToLoadBalancerHealthCheckLogsPtrOutput() LoadBalancerHealthCheckLogsPtrOutput { + return o.ToLoadBalancerHealthCheckLogsPtrOutputWithContext(context.Background()) } -func (o LoadBalancerConnectionLogsOutput) ToLoadBalancerConnectionLogsPtrOutputWithContext(ctx context.Context) LoadBalancerConnectionLogsPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v LoadBalancerConnectionLogs) *LoadBalancerConnectionLogs { +func (o LoadBalancerHealthCheckLogsOutput) ToLoadBalancerHealthCheckLogsPtrOutputWithContext(ctx context.Context) LoadBalancerHealthCheckLogsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v LoadBalancerHealthCheckLogs) *LoadBalancerHealthCheckLogs { return &v - }).(LoadBalancerConnectionLogsPtrOutput) + }).(LoadBalancerHealthCheckLogsPtrOutput) } // S3 bucket name to store the logs in. -func (o LoadBalancerConnectionLogsOutput) Bucket() pulumi.StringOutput { - return o.ApplyT(func(v LoadBalancerConnectionLogs) string { return v.Bucket }).(pulumi.StringOutput) +func (o LoadBalancerHealthCheckLogsOutput) Bucket() pulumi.StringOutput { + return o.ApplyT(func(v LoadBalancerHealthCheckLogs) string { return v.Bucket }).(pulumi.StringOutput) } -// Boolean to enable / disable `connectionLogs`. Defaults to `false`, even when `bucket` is specified. -func (o LoadBalancerConnectionLogsOutput) Enabled() pulumi.BoolPtrOutput { - return o.ApplyT(func(v LoadBalancerConnectionLogs) *bool { return v.Enabled }).(pulumi.BoolPtrOutput) +// Boolean to enable / disable `healthCheckLogs`. Defaults to `false`, even when `bucket` is specified. +func (o LoadBalancerHealthCheckLogsOutput) Enabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v LoadBalancerHealthCheckLogs) *bool { return v.Enabled }).(pulumi.BoolPtrOutput) } // S3 bucket prefix. Logs are stored in the root if not configured. -func (o LoadBalancerConnectionLogsOutput) Prefix() pulumi.StringPtrOutput { - return o.ApplyT(func(v LoadBalancerConnectionLogs) *string { return v.Prefix }).(pulumi.StringPtrOutput) +func (o LoadBalancerHealthCheckLogsOutput) Prefix() pulumi.StringPtrOutput { + return o.ApplyT(func(v LoadBalancerHealthCheckLogs) *string { return v.Prefix }).(pulumi.StringPtrOutput) } -type LoadBalancerConnectionLogsPtrOutput struct{ *pulumi.OutputState } +type LoadBalancerHealthCheckLogsPtrOutput struct{ *pulumi.OutputState } -func (LoadBalancerConnectionLogsPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**LoadBalancerConnectionLogs)(nil)).Elem() +func (LoadBalancerHealthCheckLogsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**LoadBalancerHealthCheckLogs)(nil)).Elem() } -func (o LoadBalancerConnectionLogsPtrOutput) ToLoadBalancerConnectionLogsPtrOutput() LoadBalancerConnectionLogsPtrOutput { +func (o LoadBalancerHealthCheckLogsPtrOutput) ToLoadBalancerHealthCheckLogsPtrOutput() LoadBalancerHealthCheckLogsPtrOutput { return o } -func (o LoadBalancerConnectionLogsPtrOutput) ToLoadBalancerConnectionLogsPtrOutputWithContext(ctx context.Context) LoadBalancerConnectionLogsPtrOutput { +func (o LoadBalancerHealthCheckLogsPtrOutput) ToLoadBalancerHealthCheckLogsPtrOutputWithContext(ctx context.Context) LoadBalancerHealthCheckLogsPtrOutput { return o } -func (o LoadBalancerConnectionLogsPtrOutput) Elem() LoadBalancerConnectionLogsOutput { - return o.ApplyT(func(v *LoadBalancerConnectionLogs) LoadBalancerConnectionLogs { +func (o LoadBalancerHealthCheckLogsPtrOutput) Elem() LoadBalancerHealthCheckLogsOutput { + return o.ApplyT(func(v *LoadBalancerHealthCheckLogs) LoadBalancerHealthCheckLogs { if v != nil { return *v } - var ret LoadBalancerConnectionLogs + var ret LoadBalancerHealthCheckLogs return ret - }).(LoadBalancerConnectionLogsOutput) + }).(LoadBalancerHealthCheckLogsOutput) } // S3 bucket name to store the logs in. -func (o LoadBalancerConnectionLogsPtrOutput) Bucket() pulumi.StringPtrOutput { - return o.ApplyT(func(v *LoadBalancerConnectionLogs) *string { +func (o LoadBalancerHealthCheckLogsPtrOutput) Bucket() pulumi.StringPtrOutput { + return o.ApplyT(func(v *LoadBalancerHealthCheckLogs) *string { if v == nil { return nil } @@ -5511,9 +6296,9 @@ func (o LoadBalancerConnectionLogsPtrOutput) Bucket() pulumi.StringPtrOutput { }).(pulumi.StringPtrOutput) } -// Boolean to enable / disable `connectionLogs`. Defaults to `false`, even when `bucket` is specified. -func (o LoadBalancerConnectionLogsPtrOutput) Enabled() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *LoadBalancerConnectionLogs) *bool { +// Boolean to enable / disable `healthCheckLogs`. Defaults to `false`, even when `bucket` is specified. +func (o LoadBalancerHealthCheckLogsPtrOutput) Enabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *LoadBalancerHealthCheckLogs) *bool { if v == nil { return nil } @@ -5522,8 +6307,8 @@ func (o LoadBalancerConnectionLogsPtrOutput) Enabled() pulumi.BoolPtrOutput { } // S3 bucket prefix. Logs are stored in the root if not configured. -func (o LoadBalancerConnectionLogsPtrOutput) Prefix() pulumi.StringPtrOutput { - return o.ApplyT(func(v *LoadBalancerConnectionLogs) *string { +func (o LoadBalancerHealthCheckLogsPtrOutput) Prefix() pulumi.StringPtrOutput { + return o.ApplyT(func(v *LoadBalancerHealthCheckLogs) *string { if v == nil { return nil } @@ -7163,6 +7948,7 @@ type GetListenerDefaultAction struct { AuthenticateOidcs []GetListenerDefaultActionAuthenticateOidc `pulumi:"authenticateOidcs"` FixedResponses []GetListenerDefaultActionFixedResponse `pulumi:"fixedResponses"` Forwards []GetListenerDefaultActionForward `pulumi:"forwards"` + JwtValidations []GetListenerDefaultActionJwtValidation `pulumi:"jwtValidations"` Order int `pulumi:"order"` Redirects []GetListenerDefaultActionRedirect `pulumi:"redirects"` TargetGroupArn string `pulumi:"targetGroupArn"` @@ -7185,6 +7971,7 @@ type GetListenerDefaultActionArgs struct { AuthenticateOidcs GetListenerDefaultActionAuthenticateOidcArrayInput `pulumi:"authenticateOidcs"` FixedResponses GetListenerDefaultActionFixedResponseArrayInput `pulumi:"fixedResponses"` Forwards GetListenerDefaultActionForwardArrayInput `pulumi:"forwards"` + JwtValidations GetListenerDefaultActionJwtValidationArrayInput `pulumi:"jwtValidations"` Order pulumi.IntInput `pulumi:"order"` Redirects GetListenerDefaultActionRedirectArrayInput `pulumi:"redirects"` TargetGroupArn pulumi.StringInput `pulumi:"targetGroupArn"` @@ -7262,6 +8049,10 @@ func (o GetListenerDefaultActionOutput) Forwards() GetListenerDefaultActionForwa return o.ApplyT(func(v GetListenerDefaultAction) []GetListenerDefaultActionForward { return v.Forwards }).(GetListenerDefaultActionForwardArrayOutput) } +func (o GetListenerDefaultActionOutput) JwtValidations() GetListenerDefaultActionJwtValidationArrayOutput { + return o.ApplyT(func(v GetListenerDefaultAction) []GetListenerDefaultActionJwtValidation { return v.JwtValidations }).(GetListenerDefaultActionJwtValidationArrayOutput) +} + func (o GetListenerDefaultActionOutput) Order() pulumi.IntOutput { return o.ApplyT(func(v GetListenerDefaultAction) int { return v.Order }).(pulumi.IntOutput) } @@ -7860,149 +8651,363 @@ func (i GetListenerDefaultActionForwardStickinessArray) ToGetListenerDefaultActi return pulumi.ToOutputWithContext(ctx, i).(GetListenerDefaultActionForwardStickinessArrayOutput) } -type GetListenerDefaultActionForwardStickinessOutput struct{ *pulumi.OutputState } +type GetListenerDefaultActionForwardStickinessOutput struct{ *pulumi.OutputState } + +func (GetListenerDefaultActionForwardStickinessOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetListenerDefaultActionForwardStickiness)(nil)).Elem() +} + +func (o GetListenerDefaultActionForwardStickinessOutput) ToGetListenerDefaultActionForwardStickinessOutput() GetListenerDefaultActionForwardStickinessOutput { + return o +} + +func (o GetListenerDefaultActionForwardStickinessOutput) ToGetListenerDefaultActionForwardStickinessOutputWithContext(ctx context.Context) GetListenerDefaultActionForwardStickinessOutput { + return o +} + +func (o GetListenerDefaultActionForwardStickinessOutput) Duration() pulumi.IntOutput { + return o.ApplyT(func(v GetListenerDefaultActionForwardStickiness) int { return v.Duration }).(pulumi.IntOutput) +} + +func (o GetListenerDefaultActionForwardStickinessOutput) Enabled() pulumi.BoolOutput { + return o.ApplyT(func(v GetListenerDefaultActionForwardStickiness) bool { return v.Enabled }).(pulumi.BoolOutput) +} + +type GetListenerDefaultActionForwardStickinessArrayOutput struct{ *pulumi.OutputState } + +func (GetListenerDefaultActionForwardStickinessArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetListenerDefaultActionForwardStickiness)(nil)).Elem() +} + +func (o GetListenerDefaultActionForwardStickinessArrayOutput) ToGetListenerDefaultActionForwardStickinessArrayOutput() GetListenerDefaultActionForwardStickinessArrayOutput { + return o +} + +func (o GetListenerDefaultActionForwardStickinessArrayOutput) ToGetListenerDefaultActionForwardStickinessArrayOutputWithContext(ctx context.Context) GetListenerDefaultActionForwardStickinessArrayOutput { + return o +} + +func (o GetListenerDefaultActionForwardStickinessArrayOutput) Index(i pulumi.IntInput) GetListenerDefaultActionForwardStickinessOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetListenerDefaultActionForwardStickiness { + return vs[0].([]GetListenerDefaultActionForwardStickiness)[vs[1].(int)] + }).(GetListenerDefaultActionForwardStickinessOutput) +} + +type GetListenerDefaultActionForwardTargetGroup struct { + // ARN of the listener. Required if `loadBalancerArn` and `port` is not set. + Arn string `pulumi:"arn"` + Weight int `pulumi:"weight"` +} + +// GetListenerDefaultActionForwardTargetGroupInput is an input type that accepts GetListenerDefaultActionForwardTargetGroupArgs and GetListenerDefaultActionForwardTargetGroupOutput values. +// You can construct a concrete instance of `GetListenerDefaultActionForwardTargetGroupInput` via: +// +// GetListenerDefaultActionForwardTargetGroupArgs{...} +type GetListenerDefaultActionForwardTargetGroupInput interface { + pulumi.Input + + ToGetListenerDefaultActionForwardTargetGroupOutput() GetListenerDefaultActionForwardTargetGroupOutput + ToGetListenerDefaultActionForwardTargetGroupOutputWithContext(context.Context) GetListenerDefaultActionForwardTargetGroupOutput +} + +type GetListenerDefaultActionForwardTargetGroupArgs struct { + // ARN of the listener. Required if `loadBalancerArn` and `port` is not set. + Arn pulumi.StringInput `pulumi:"arn"` + Weight pulumi.IntInput `pulumi:"weight"` +} + +func (GetListenerDefaultActionForwardTargetGroupArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetListenerDefaultActionForwardTargetGroup)(nil)).Elem() +} + +func (i GetListenerDefaultActionForwardTargetGroupArgs) ToGetListenerDefaultActionForwardTargetGroupOutput() GetListenerDefaultActionForwardTargetGroupOutput { + return i.ToGetListenerDefaultActionForwardTargetGroupOutputWithContext(context.Background()) +} + +func (i GetListenerDefaultActionForwardTargetGroupArgs) ToGetListenerDefaultActionForwardTargetGroupOutputWithContext(ctx context.Context) GetListenerDefaultActionForwardTargetGroupOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetListenerDefaultActionForwardTargetGroupOutput) +} + +// GetListenerDefaultActionForwardTargetGroupArrayInput is an input type that accepts GetListenerDefaultActionForwardTargetGroupArray and GetListenerDefaultActionForwardTargetGroupArrayOutput values. +// You can construct a concrete instance of `GetListenerDefaultActionForwardTargetGroupArrayInput` via: +// +// GetListenerDefaultActionForwardTargetGroupArray{ GetListenerDefaultActionForwardTargetGroupArgs{...} } +type GetListenerDefaultActionForwardTargetGroupArrayInput interface { + pulumi.Input + + ToGetListenerDefaultActionForwardTargetGroupArrayOutput() GetListenerDefaultActionForwardTargetGroupArrayOutput + ToGetListenerDefaultActionForwardTargetGroupArrayOutputWithContext(context.Context) GetListenerDefaultActionForwardTargetGroupArrayOutput +} + +type GetListenerDefaultActionForwardTargetGroupArray []GetListenerDefaultActionForwardTargetGroupInput + +func (GetListenerDefaultActionForwardTargetGroupArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetListenerDefaultActionForwardTargetGroup)(nil)).Elem() +} + +func (i GetListenerDefaultActionForwardTargetGroupArray) ToGetListenerDefaultActionForwardTargetGroupArrayOutput() GetListenerDefaultActionForwardTargetGroupArrayOutput { + return i.ToGetListenerDefaultActionForwardTargetGroupArrayOutputWithContext(context.Background()) +} + +func (i GetListenerDefaultActionForwardTargetGroupArray) ToGetListenerDefaultActionForwardTargetGroupArrayOutputWithContext(ctx context.Context) GetListenerDefaultActionForwardTargetGroupArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetListenerDefaultActionForwardTargetGroupArrayOutput) +} + +type GetListenerDefaultActionForwardTargetGroupOutput struct{ *pulumi.OutputState } + +func (GetListenerDefaultActionForwardTargetGroupOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetListenerDefaultActionForwardTargetGroup)(nil)).Elem() +} + +func (o GetListenerDefaultActionForwardTargetGroupOutput) ToGetListenerDefaultActionForwardTargetGroupOutput() GetListenerDefaultActionForwardTargetGroupOutput { + return o +} + +func (o GetListenerDefaultActionForwardTargetGroupOutput) ToGetListenerDefaultActionForwardTargetGroupOutputWithContext(ctx context.Context) GetListenerDefaultActionForwardTargetGroupOutput { + return o +} + +// ARN of the listener. Required if `loadBalancerArn` and `port` is not set. +func (o GetListenerDefaultActionForwardTargetGroupOutput) Arn() pulumi.StringOutput { + return o.ApplyT(func(v GetListenerDefaultActionForwardTargetGroup) string { return v.Arn }).(pulumi.StringOutput) +} + +func (o GetListenerDefaultActionForwardTargetGroupOutput) Weight() pulumi.IntOutput { + return o.ApplyT(func(v GetListenerDefaultActionForwardTargetGroup) int { return v.Weight }).(pulumi.IntOutput) +} + +type GetListenerDefaultActionForwardTargetGroupArrayOutput struct{ *pulumi.OutputState } + +func (GetListenerDefaultActionForwardTargetGroupArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetListenerDefaultActionForwardTargetGroup)(nil)).Elem() +} + +func (o GetListenerDefaultActionForwardTargetGroupArrayOutput) ToGetListenerDefaultActionForwardTargetGroupArrayOutput() GetListenerDefaultActionForwardTargetGroupArrayOutput { + return o +} + +func (o GetListenerDefaultActionForwardTargetGroupArrayOutput) ToGetListenerDefaultActionForwardTargetGroupArrayOutputWithContext(ctx context.Context) GetListenerDefaultActionForwardTargetGroupArrayOutput { + return o +} + +func (o GetListenerDefaultActionForwardTargetGroupArrayOutput) Index(i pulumi.IntInput) GetListenerDefaultActionForwardTargetGroupOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetListenerDefaultActionForwardTargetGroup { + return vs[0].([]GetListenerDefaultActionForwardTargetGroup)[vs[1].(int)] + }).(GetListenerDefaultActionForwardTargetGroupOutput) +} + +type GetListenerDefaultActionJwtValidation struct { + AdditionalClaims []GetListenerDefaultActionJwtValidationAdditionalClaim `pulumi:"additionalClaims"` + Issuer string `pulumi:"issuer"` + JwksEndpoint string `pulumi:"jwksEndpoint"` +} + +// GetListenerDefaultActionJwtValidationInput is an input type that accepts GetListenerDefaultActionJwtValidationArgs and GetListenerDefaultActionJwtValidationOutput values. +// You can construct a concrete instance of `GetListenerDefaultActionJwtValidationInput` via: +// +// GetListenerDefaultActionJwtValidationArgs{...} +type GetListenerDefaultActionJwtValidationInput interface { + pulumi.Input + + ToGetListenerDefaultActionJwtValidationOutput() GetListenerDefaultActionJwtValidationOutput + ToGetListenerDefaultActionJwtValidationOutputWithContext(context.Context) GetListenerDefaultActionJwtValidationOutput +} + +type GetListenerDefaultActionJwtValidationArgs struct { + AdditionalClaims GetListenerDefaultActionJwtValidationAdditionalClaimArrayInput `pulumi:"additionalClaims"` + Issuer pulumi.StringInput `pulumi:"issuer"` + JwksEndpoint pulumi.StringInput `pulumi:"jwksEndpoint"` +} + +func (GetListenerDefaultActionJwtValidationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetListenerDefaultActionJwtValidation)(nil)).Elem() +} + +func (i GetListenerDefaultActionJwtValidationArgs) ToGetListenerDefaultActionJwtValidationOutput() GetListenerDefaultActionJwtValidationOutput { + return i.ToGetListenerDefaultActionJwtValidationOutputWithContext(context.Background()) +} + +func (i GetListenerDefaultActionJwtValidationArgs) ToGetListenerDefaultActionJwtValidationOutputWithContext(ctx context.Context) GetListenerDefaultActionJwtValidationOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetListenerDefaultActionJwtValidationOutput) +} + +// GetListenerDefaultActionJwtValidationArrayInput is an input type that accepts GetListenerDefaultActionJwtValidationArray and GetListenerDefaultActionJwtValidationArrayOutput values. +// You can construct a concrete instance of `GetListenerDefaultActionJwtValidationArrayInput` via: +// +// GetListenerDefaultActionJwtValidationArray{ GetListenerDefaultActionJwtValidationArgs{...} } +type GetListenerDefaultActionJwtValidationArrayInput interface { + pulumi.Input + + ToGetListenerDefaultActionJwtValidationArrayOutput() GetListenerDefaultActionJwtValidationArrayOutput + ToGetListenerDefaultActionJwtValidationArrayOutputWithContext(context.Context) GetListenerDefaultActionJwtValidationArrayOutput +} + +type GetListenerDefaultActionJwtValidationArray []GetListenerDefaultActionJwtValidationInput + +func (GetListenerDefaultActionJwtValidationArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetListenerDefaultActionJwtValidation)(nil)).Elem() +} + +func (i GetListenerDefaultActionJwtValidationArray) ToGetListenerDefaultActionJwtValidationArrayOutput() GetListenerDefaultActionJwtValidationArrayOutput { + return i.ToGetListenerDefaultActionJwtValidationArrayOutputWithContext(context.Background()) +} + +func (i GetListenerDefaultActionJwtValidationArray) ToGetListenerDefaultActionJwtValidationArrayOutputWithContext(ctx context.Context) GetListenerDefaultActionJwtValidationArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetListenerDefaultActionJwtValidationArrayOutput) +} + +type GetListenerDefaultActionJwtValidationOutput struct{ *pulumi.OutputState } -func (GetListenerDefaultActionForwardStickinessOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetListenerDefaultActionForwardStickiness)(nil)).Elem() +func (GetListenerDefaultActionJwtValidationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetListenerDefaultActionJwtValidation)(nil)).Elem() } -func (o GetListenerDefaultActionForwardStickinessOutput) ToGetListenerDefaultActionForwardStickinessOutput() GetListenerDefaultActionForwardStickinessOutput { +func (o GetListenerDefaultActionJwtValidationOutput) ToGetListenerDefaultActionJwtValidationOutput() GetListenerDefaultActionJwtValidationOutput { return o } -func (o GetListenerDefaultActionForwardStickinessOutput) ToGetListenerDefaultActionForwardStickinessOutputWithContext(ctx context.Context) GetListenerDefaultActionForwardStickinessOutput { +func (o GetListenerDefaultActionJwtValidationOutput) ToGetListenerDefaultActionJwtValidationOutputWithContext(ctx context.Context) GetListenerDefaultActionJwtValidationOutput { return o } -func (o GetListenerDefaultActionForwardStickinessOutput) Duration() pulumi.IntOutput { - return o.ApplyT(func(v GetListenerDefaultActionForwardStickiness) int { return v.Duration }).(pulumi.IntOutput) +func (o GetListenerDefaultActionJwtValidationOutput) AdditionalClaims() GetListenerDefaultActionJwtValidationAdditionalClaimArrayOutput { + return o.ApplyT(func(v GetListenerDefaultActionJwtValidation) []GetListenerDefaultActionJwtValidationAdditionalClaim { + return v.AdditionalClaims + }).(GetListenerDefaultActionJwtValidationAdditionalClaimArrayOutput) } -func (o GetListenerDefaultActionForwardStickinessOutput) Enabled() pulumi.BoolOutput { - return o.ApplyT(func(v GetListenerDefaultActionForwardStickiness) bool { return v.Enabled }).(pulumi.BoolOutput) +func (o GetListenerDefaultActionJwtValidationOutput) Issuer() pulumi.StringOutput { + return o.ApplyT(func(v GetListenerDefaultActionJwtValidation) string { return v.Issuer }).(pulumi.StringOutput) } -type GetListenerDefaultActionForwardStickinessArrayOutput struct{ *pulumi.OutputState } +func (o GetListenerDefaultActionJwtValidationOutput) JwksEndpoint() pulumi.StringOutput { + return o.ApplyT(func(v GetListenerDefaultActionJwtValidation) string { return v.JwksEndpoint }).(pulumi.StringOutput) +} -func (GetListenerDefaultActionForwardStickinessArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetListenerDefaultActionForwardStickiness)(nil)).Elem() +type GetListenerDefaultActionJwtValidationArrayOutput struct{ *pulumi.OutputState } + +func (GetListenerDefaultActionJwtValidationArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetListenerDefaultActionJwtValidation)(nil)).Elem() } -func (o GetListenerDefaultActionForwardStickinessArrayOutput) ToGetListenerDefaultActionForwardStickinessArrayOutput() GetListenerDefaultActionForwardStickinessArrayOutput { +func (o GetListenerDefaultActionJwtValidationArrayOutput) ToGetListenerDefaultActionJwtValidationArrayOutput() GetListenerDefaultActionJwtValidationArrayOutput { return o } -func (o GetListenerDefaultActionForwardStickinessArrayOutput) ToGetListenerDefaultActionForwardStickinessArrayOutputWithContext(ctx context.Context) GetListenerDefaultActionForwardStickinessArrayOutput { +func (o GetListenerDefaultActionJwtValidationArrayOutput) ToGetListenerDefaultActionJwtValidationArrayOutputWithContext(ctx context.Context) GetListenerDefaultActionJwtValidationArrayOutput { return o } -func (o GetListenerDefaultActionForwardStickinessArrayOutput) Index(i pulumi.IntInput) GetListenerDefaultActionForwardStickinessOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetListenerDefaultActionForwardStickiness { - return vs[0].([]GetListenerDefaultActionForwardStickiness)[vs[1].(int)] - }).(GetListenerDefaultActionForwardStickinessOutput) +func (o GetListenerDefaultActionJwtValidationArrayOutput) Index(i pulumi.IntInput) GetListenerDefaultActionJwtValidationOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetListenerDefaultActionJwtValidation { + return vs[0].([]GetListenerDefaultActionJwtValidation)[vs[1].(int)] + }).(GetListenerDefaultActionJwtValidationOutput) } -type GetListenerDefaultActionForwardTargetGroup struct { - // ARN of the listener. Required if `loadBalancerArn` and `port` is not set. - Arn string `pulumi:"arn"` - Weight int `pulumi:"weight"` +type GetListenerDefaultActionJwtValidationAdditionalClaim struct { + Format string `pulumi:"format"` + Name string `pulumi:"name"` + Values []string `pulumi:"values"` } -// GetListenerDefaultActionForwardTargetGroupInput is an input type that accepts GetListenerDefaultActionForwardTargetGroupArgs and GetListenerDefaultActionForwardTargetGroupOutput values. -// You can construct a concrete instance of `GetListenerDefaultActionForwardTargetGroupInput` via: +// GetListenerDefaultActionJwtValidationAdditionalClaimInput is an input type that accepts GetListenerDefaultActionJwtValidationAdditionalClaimArgs and GetListenerDefaultActionJwtValidationAdditionalClaimOutput values. +// You can construct a concrete instance of `GetListenerDefaultActionJwtValidationAdditionalClaimInput` via: // -// GetListenerDefaultActionForwardTargetGroupArgs{...} -type GetListenerDefaultActionForwardTargetGroupInput interface { +// GetListenerDefaultActionJwtValidationAdditionalClaimArgs{...} +type GetListenerDefaultActionJwtValidationAdditionalClaimInput interface { pulumi.Input - ToGetListenerDefaultActionForwardTargetGroupOutput() GetListenerDefaultActionForwardTargetGroupOutput - ToGetListenerDefaultActionForwardTargetGroupOutputWithContext(context.Context) GetListenerDefaultActionForwardTargetGroupOutput + ToGetListenerDefaultActionJwtValidationAdditionalClaimOutput() GetListenerDefaultActionJwtValidationAdditionalClaimOutput + ToGetListenerDefaultActionJwtValidationAdditionalClaimOutputWithContext(context.Context) GetListenerDefaultActionJwtValidationAdditionalClaimOutput } -type GetListenerDefaultActionForwardTargetGroupArgs struct { - // ARN of the listener. Required if `loadBalancerArn` and `port` is not set. - Arn pulumi.StringInput `pulumi:"arn"` - Weight pulumi.IntInput `pulumi:"weight"` +type GetListenerDefaultActionJwtValidationAdditionalClaimArgs struct { + Format pulumi.StringInput `pulumi:"format"` + Name pulumi.StringInput `pulumi:"name"` + Values pulumi.StringArrayInput `pulumi:"values"` } -func (GetListenerDefaultActionForwardTargetGroupArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetListenerDefaultActionForwardTargetGroup)(nil)).Elem() +func (GetListenerDefaultActionJwtValidationAdditionalClaimArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetListenerDefaultActionJwtValidationAdditionalClaim)(nil)).Elem() } -func (i GetListenerDefaultActionForwardTargetGroupArgs) ToGetListenerDefaultActionForwardTargetGroupOutput() GetListenerDefaultActionForwardTargetGroupOutput { - return i.ToGetListenerDefaultActionForwardTargetGroupOutputWithContext(context.Background()) +func (i GetListenerDefaultActionJwtValidationAdditionalClaimArgs) ToGetListenerDefaultActionJwtValidationAdditionalClaimOutput() GetListenerDefaultActionJwtValidationAdditionalClaimOutput { + return i.ToGetListenerDefaultActionJwtValidationAdditionalClaimOutputWithContext(context.Background()) } -func (i GetListenerDefaultActionForwardTargetGroupArgs) ToGetListenerDefaultActionForwardTargetGroupOutputWithContext(ctx context.Context) GetListenerDefaultActionForwardTargetGroupOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetListenerDefaultActionForwardTargetGroupOutput) +func (i GetListenerDefaultActionJwtValidationAdditionalClaimArgs) ToGetListenerDefaultActionJwtValidationAdditionalClaimOutputWithContext(ctx context.Context) GetListenerDefaultActionJwtValidationAdditionalClaimOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetListenerDefaultActionJwtValidationAdditionalClaimOutput) } -// GetListenerDefaultActionForwardTargetGroupArrayInput is an input type that accepts GetListenerDefaultActionForwardTargetGroupArray and GetListenerDefaultActionForwardTargetGroupArrayOutput values. -// You can construct a concrete instance of `GetListenerDefaultActionForwardTargetGroupArrayInput` via: +// GetListenerDefaultActionJwtValidationAdditionalClaimArrayInput is an input type that accepts GetListenerDefaultActionJwtValidationAdditionalClaimArray and GetListenerDefaultActionJwtValidationAdditionalClaimArrayOutput values. +// You can construct a concrete instance of `GetListenerDefaultActionJwtValidationAdditionalClaimArrayInput` via: // -// GetListenerDefaultActionForwardTargetGroupArray{ GetListenerDefaultActionForwardTargetGroupArgs{...} } -type GetListenerDefaultActionForwardTargetGroupArrayInput interface { +// GetListenerDefaultActionJwtValidationAdditionalClaimArray{ GetListenerDefaultActionJwtValidationAdditionalClaimArgs{...} } +type GetListenerDefaultActionJwtValidationAdditionalClaimArrayInput interface { pulumi.Input - ToGetListenerDefaultActionForwardTargetGroupArrayOutput() GetListenerDefaultActionForwardTargetGroupArrayOutput - ToGetListenerDefaultActionForwardTargetGroupArrayOutputWithContext(context.Context) GetListenerDefaultActionForwardTargetGroupArrayOutput + ToGetListenerDefaultActionJwtValidationAdditionalClaimArrayOutput() GetListenerDefaultActionJwtValidationAdditionalClaimArrayOutput + ToGetListenerDefaultActionJwtValidationAdditionalClaimArrayOutputWithContext(context.Context) GetListenerDefaultActionJwtValidationAdditionalClaimArrayOutput } -type GetListenerDefaultActionForwardTargetGroupArray []GetListenerDefaultActionForwardTargetGroupInput +type GetListenerDefaultActionJwtValidationAdditionalClaimArray []GetListenerDefaultActionJwtValidationAdditionalClaimInput -func (GetListenerDefaultActionForwardTargetGroupArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetListenerDefaultActionForwardTargetGroup)(nil)).Elem() +func (GetListenerDefaultActionJwtValidationAdditionalClaimArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetListenerDefaultActionJwtValidationAdditionalClaim)(nil)).Elem() } -func (i GetListenerDefaultActionForwardTargetGroupArray) ToGetListenerDefaultActionForwardTargetGroupArrayOutput() GetListenerDefaultActionForwardTargetGroupArrayOutput { - return i.ToGetListenerDefaultActionForwardTargetGroupArrayOutputWithContext(context.Background()) +func (i GetListenerDefaultActionJwtValidationAdditionalClaimArray) ToGetListenerDefaultActionJwtValidationAdditionalClaimArrayOutput() GetListenerDefaultActionJwtValidationAdditionalClaimArrayOutput { + return i.ToGetListenerDefaultActionJwtValidationAdditionalClaimArrayOutputWithContext(context.Background()) } -func (i GetListenerDefaultActionForwardTargetGroupArray) ToGetListenerDefaultActionForwardTargetGroupArrayOutputWithContext(ctx context.Context) GetListenerDefaultActionForwardTargetGroupArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetListenerDefaultActionForwardTargetGroupArrayOutput) +func (i GetListenerDefaultActionJwtValidationAdditionalClaimArray) ToGetListenerDefaultActionJwtValidationAdditionalClaimArrayOutputWithContext(ctx context.Context) GetListenerDefaultActionJwtValidationAdditionalClaimArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetListenerDefaultActionJwtValidationAdditionalClaimArrayOutput) } -type GetListenerDefaultActionForwardTargetGroupOutput struct{ *pulumi.OutputState } +type GetListenerDefaultActionJwtValidationAdditionalClaimOutput struct{ *pulumi.OutputState } -func (GetListenerDefaultActionForwardTargetGroupOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetListenerDefaultActionForwardTargetGroup)(nil)).Elem() +func (GetListenerDefaultActionJwtValidationAdditionalClaimOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetListenerDefaultActionJwtValidationAdditionalClaim)(nil)).Elem() } -func (o GetListenerDefaultActionForwardTargetGroupOutput) ToGetListenerDefaultActionForwardTargetGroupOutput() GetListenerDefaultActionForwardTargetGroupOutput { +func (o GetListenerDefaultActionJwtValidationAdditionalClaimOutput) ToGetListenerDefaultActionJwtValidationAdditionalClaimOutput() GetListenerDefaultActionJwtValidationAdditionalClaimOutput { return o } -func (o GetListenerDefaultActionForwardTargetGroupOutput) ToGetListenerDefaultActionForwardTargetGroupOutputWithContext(ctx context.Context) GetListenerDefaultActionForwardTargetGroupOutput { +func (o GetListenerDefaultActionJwtValidationAdditionalClaimOutput) ToGetListenerDefaultActionJwtValidationAdditionalClaimOutputWithContext(ctx context.Context) GetListenerDefaultActionJwtValidationAdditionalClaimOutput { return o } -// ARN of the listener. Required if `loadBalancerArn` and `port` is not set. -func (o GetListenerDefaultActionForwardTargetGroupOutput) Arn() pulumi.StringOutput { - return o.ApplyT(func(v GetListenerDefaultActionForwardTargetGroup) string { return v.Arn }).(pulumi.StringOutput) +func (o GetListenerDefaultActionJwtValidationAdditionalClaimOutput) Format() pulumi.StringOutput { + return o.ApplyT(func(v GetListenerDefaultActionJwtValidationAdditionalClaim) string { return v.Format }).(pulumi.StringOutput) } -func (o GetListenerDefaultActionForwardTargetGroupOutput) Weight() pulumi.IntOutput { - return o.ApplyT(func(v GetListenerDefaultActionForwardTargetGroup) int { return v.Weight }).(pulumi.IntOutput) +func (o GetListenerDefaultActionJwtValidationAdditionalClaimOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetListenerDefaultActionJwtValidationAdditionalClaim) string { return v.Name }).(pulumi.StringOutput) } -type GetListenerDefaultActionForwardTargetGroupArrayOutput struct{ *pulumi.OutputState } +func (o GetListenerDefaultActionJwtValidationAdditionalClaimOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetListenerDefaultActionJwtValidationAdditionalClaim) []string { return v.Values }).(pulumi.StringArrayOutput) +} -func (GetListenerDefaultActionForwardTargetGroupArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetListenerDefaultActionForwardTargetGroup)(nil)).Elem() +type GetListenerDefaultActionJwtValidationAdditionalClaimArrayOutput struct{ *pulumi.OutputState } + +func (GetListenerDefaultActionJwtValidationAdditionalClaimArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetListenerDefaultActionJwtValidationAdditionalClaim)(nil)).Elem() } -func (o GetListenerDefaultActionForwardTargetGroupArrayOutput) ToGetListenerDefaultActionForwardTargetGroupArrayOutput() GetListenerDefaultActionForwardTargetGroupArrayOutput { +func (o GetListenerDefaultActionJwtValidationAdditionalClaimArrayOutput) ToGetListenerDefaultActionJwtValidationAdditionalClaimArrayOutput() GetListenerDefaultActionJwtValidationAdditionalClaimArrayOutput { return o } -func (o GetListenerDefaultActionForwardTargetGroupArrayOutput) ToGetListenerDefaultActionForwardTargetGroupArrayOutputWithContext(ctx context.Context) GetListenerDefaultActionForwardTargetGroupArrayOutput { +func (o GetListenerDefaultActionJwtValidationAdditionalClaimArrayOutput) ToGetListenerDefaultActionJwtValidationAdditionalClaimArrayOutputWithContext(ctx context.Context) GetListenerDefaultActionJwtValidationAdditionalClaimArrayOutput { return o } -func (o GetListenerDefaultActionForwardTargetGroupArrayOutput) Index(i pulumi.IntInput) GetListenerDefaultActionForwardTargetGroupOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetListenerDefaultActionForwardTargetGroup { - return vs[0].([]GetListenerDefaultActionForwardTargetGroup)[vs[1].(int)] - }).(GetListenerDefaultActionForwardTargetGroupOutput) +func (o GetListenerDefaultActionJwtValidationAdditionalClaimArrayOutput) Index(i pulumi.IntInput) GetListenerDefaultActionJwtValidationAdditionalClaimOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetListenerDefaultActionJwtValidationAdditionalClaim { + return vs[0].([]GetListenerDefaultActionJwtValidationAdditionalClaim)[vs[1].(int)] + }).(GetListenerDefaultActionJwtValidationAdditionalClaimOutput) } type GetListenerDefaultActionRedirect struct { @@ -8257,6 +9262,9 @@ type GetListenerRuleAction struct { // An action to forward the request. // Detailed below. Forwards []GetListenerRuleActionForward `pulumi:"forwards"` + // An action to validate using JWT. + // Detailed below. + JwtValidations []GetListenerRuleActionJwtValidation `pulumi:"jwtValidations"` // The evaluation order of the action. Order int `pulumi:"order"` // An action to redirect the request. @@ -8290,6 +9298,9 @@ type GetListenerRuleActionArgs struct { // An action to forward the request. // Detailed below. Forwards GetListenerRuleActionForwardArrayInput `pulumi:"forwards"` + // An action to validate using JWT. + // Detailed below. + JwtValidations GetListenerRuleActionJwtValidationArrayInput `pulumi:"jwtValidations"` // The evaluation order of the action. Order pulumi.IntInput `pulumi:"order"` // An action to redirect the request. @@ -8376,6 +9387,12 @@ func (o GetListenerRuleActionOutput) Forwards() GetListenerRuleActionForwardArra return o.ApplyT(func(v GetListenerRuleAction) []GetListenerRuleActionForward { return v.Forwards }).(GetListenerRuleActionForwardArrayOutput) } +// An action to validate using JWT. +// Detailed below. +func (o GetListenerRuleActionOutput) JwtValidations() GetListenerRuleActionJwtValidationArrayOutput { + return o.ApplyT(func(v GetListenerRuleAction) []GetListenerRuleActionJwtValidation { return v.JwtValidations }).(GetListenerRuleActionJwtValidationArrayOutput) +} + // The evaluation order of the action. func (o GetListenerRuleActionOutput) Order() pulumi.IntOutput { return o.ApplyT(func(v GetListenerRuleAction) int { return v.Order }).(pulumi.IntOutput) @@ -8585,7 +9602,7 @@ type GetListenerRuleActionAuthenticateOidc struct { AuthorizationEndpoint string `pulumi:"authorizationEndpoint"` // OAuth 2.0 client identifier. ClientId string `pulumi:"clientId"` - // OIDC issuer identifier of the IdP. + // Issuer of the JWT. Issuer string `pulumi:"issuer"` // Behavior when the client is not authenticated. OnUnauthenticatedRequest string `pulumi:"onUnauthenticatedRequest"` @@ -8620,7 +9637,7 @@ type GetListenerRuleActionAuthenticateOidcArgs struct { AuthorizationEndpoint pulumi.StringInput `pulumi:"authorizationEndpoint"` // OAuth 2.0 client identifier. ClientId pulumi.StringInput `pulumi:"clientId"` - // OIDC issuer identifier of the IdP. + // Issuer of the JWT. Issuer pulumi.StringInput `pulumi:"issuer"` // Behavior when the client is not authenticated. OnUnauthenticatedRequest pulumi.StringInput `pulumi:"onUnauthenticatedRequest"` @@ -8705,7 +9722,7 @@ func (o GetListenerRuleActionAuthenticateOidcOutput) ClientId() pulumi.StringOut return o.ApplyT(func(v GetListenerRuleActionAuthenticateOidc) string { return v.ClientId }).(pulumi.StringOutput) } -// OIDC issuer identifier of the IdP. +// Issuer of the JWT. func (o GetListenerRuleActionAuthenticateOidcOutput) Issuer() pulumi.StringOutput { return o.ApplyT(func(v GetListenerRuleActionAuthenticateOidc) string { return v.Issuer }).(pulumi.StringOutput) } @@ -9202,6 +10219,238 @@ func (o GetListenerRuleActionForwardTargetGroupArrayOutput) Index(i pulumi.IntIn }).(GetListenerRuleActionForwardTargetGroupOutput) } +type GetListenerRuleActionJwtValidation struct { + // Additional claims to validate. + AdditionalClaims []GetListenerRuleActionJwtValidationAdditionalClaim `pulumi:"additionalClaims"` + // Issuer of the JWT. + Issuer string `pulumi:"issuer"` + // JSON Web Key Set (JWKS) endpoint. + JwksEndpoint string `pulumi:"jwksEndpoint"` +} + +// GetListenerRuleActionJwtValidationInput is an input type that accepts GetListenerRuleActionJwtValidationArgs and GetListenerRuleActionJwtValidationOutput values. +// You can construct a concrete instance of `GetListenerRuleActionJwtValidationInput` via: +// +// GetListenerRuleActionJwtValidationArgs{...} +type GetListenerRuleActionJwtValidationInput interface { + pulumi.Input + + ToGetListenerRuleActionJwtValidationOutput() GetListenerRuleActionJwtValidationOutput + ToGetListenerRuleActionJwtValidationOutputWithContext(context.Context) GetListenerRuleActionJwtValidationOutput +} + +type GetListenerRuleActionJwtValidationArgs struct { + // Additional claims to validate. + AdditionalClaims GetListenerRuleActionJwtValidationAdditionalClaimArrayInput `pulumi:"additionalClaims"` + // Issuer of the JWT. + Issuer pulumi.StringInput `pulumi:"issuer"` + // JSON Web Key Set (JWKS) endpoint. + JwksEndpoint pulumi.StringInput `pulumi:"jwksEndpoint"` +} + +func (GetListenerRuleActionJwtValidationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetListenerRuleActionJwtValidation)(nil)).Elem() +} + +func (i GetListenerRuleActionJwtValidationArgs) ToGetListenerRuleActionJwtValidationOutput() GetListenerRuleActionJwtValidationOutput { + return i.ToGetListenerRuleActionJwtValidationOutputWithContext(context.Background()) +} + +func (i GetListenerRuleActionJwtValidationArgs) ToGetListenerRuleActionJwtValidationOutputWithContext(ctx context.Context) GetListenerRuleActionJwtValidationOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetListenerRuleActionJwtValidationOutput) +} + +// GetListenerRuleActionJwtValidationArrayInput is an input type that accepts GetListenerRuleActionJwtValidationArray and GetListenerRuleActionJwtValidationArrayOutput values. +// You can construct a concrete instance of `GetListenerRuleActionJwtValidationArrayInput` via: +// +// GetListenerRuleActionJwtValidationArray{ GetListenerRuleActionJwtValidationArgs{...} } +type GetListenerRuleActionJwtValidationArrayInput interface { + pulumi.Input + + ToGetListenerRuleActionJwtValidationArrayOutput() GetListenerRuleActionJwtValidationArrayOutput + ToGetListenerRuleActionJwtValidationArrayOutputWithContext(context.Context) GetListenerRuleActionJwtValidationArrayOutput +} + +type GetListenerRuleActionJwtValidationArray []GetListenerRuleActionJwtValidationInput + +func (GetListenerRuleActionJwtValidationArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetListenerRuleActionJwtValidation)(nil)).Elem() +} + +func (i GetListenerRuleActionJwtValidationArray) ToGetListenerRuleActionJwtValidationArrayOutput() GetListenerRuleActionJwtValidationArrayOutput { + return i.ToGetListenerRuleActionJwtValidationArrayOutputWithContext(context.Background()) +} + +func (i GetListenerRuleActionJwtValidationArray) ToGetListenerRuleActionJwtValidationArrayOutputWithContext(ctx context.Context) GetListenerRuleActionJwtValidationArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetListenerRuleActionJwtValidationArrayOutput) +} + +type GetListenerRuleActionJwtValidationOutput struct{ *pulumi.OutputState } + +func (GetListenerRuleActionJwtValidationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetListenerRuleActionJwtValidation)(nil)).Elem() +} + +func (o GetListenerRuleActionJwtValidationOutput) ToGetListenerRuleActionJwtValidationOutput() GetListenerRuleActionJwtValidationOutput { + return o +} + +func (o GetListenerRuleActionJwtValidationOutput) ToGetListenerRuleActionJwtValidationOutputWithContext(ctx context.Context) GetListenerRuleActionJwtValidationOutput { + return o +} + +// Additional claims to validate. +func (o GetListenerRuleActionJwtValidationOutput) AdditionalClaims() GetListenerRuleActionJwtValidationAdditionalClaimArrayOutput { + return o.ApplyT(func(v GetListenerRuleActionJwtValidation) []GetListenerRuleActionJwtValidationAdditionalClaim { + return v.AdditionalClaims + }).(GetListenerRuleActionJwtValidationAdditionalClaimArrayOutput) +} + +// Issuer of the JWT. +func (o GetListenerRuleActionJwtValidationOutput) Issuer() pulumi.StringOutput { + return o.ApplyT(func(v GetListenerRuleActionJwtValidation) string { return v.Issuer }).(pulumi.StringOutput) +} + +// JSON Web Key Set (JWKS) endpoint. +func (o GetListenerRuleActionJwtValidationOutput) JwksEndpoint() pulumi.StringOutput { + return o.ApplyT(func(v GetListenerRuleActionJwtValidation) string { return v.JwksEndpoint }).(pulumi.StringOutput) +} + +type GetListenerRuleActionJwtValidationArrayOutput struct{ *pulumi.OutputState } + +func (GetListenerRuleActionJwtValidationArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetListenerRuleActionJwtValidation)(nil)).Elem() +} + +func (o GetListenerRuleActionJwtValidationArrayOutput) ToGetListenerRuleActionJwtValidationArrayOutput() GetListenerRuleActionJwtValidationArrayOutput { + return o +} + +func (o GetListenerRuleActionJwtValidationArrayOutput) ToGetListenerRuleActionJwtValidationArrayOutputWithContext(ctx context.Context) GetListenerRuleActionJwtValidationArrayOutput { + return o +} + +func (o GetListenerRuleActionJwtValidationArrayOutput) Index(i pulumi.IntInput) GetListenerRuleActionJwtValidationOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetListenerRuleActionJwtValidation { + return vs[0].([]GetListenerRuleActionJwtValidation)[vs[1].(int)] + }).(GetListenerRuleActionJwtValidationOutput) +} + +type GetListenerRuleActionJwtValidationAdditionalClaim struct { + // Format of the claim value. + Format string `pulumi:"format"` + // Name of the claim to validate. + Name string `pulumi:"name"` + // Set of `key`-`value` pairs indicating the query string parameters to match. + Values []string `pulumi:"values"` +} + +// GetListenerRuleActionJwtValidationAdditionalClaimInput is an input type that accepts GetListenerRuleActionJwtValidationAdditionalClaimArgs and GetListenerRuleActionJwtValidationAdditionalClaimOutput values. +// You can construct a concrete instance of `GetListenerRuleActionJwtValidationAdditionalClaimInput` via: +// +// GetListenerRuleActionJwtValidationAdditionalClaimArgs{...} +type GetListenerRuleActionJwtValidationAdditionalClaimInput interface { + pulumi.Input + + ToGetListenerRuleActionJwtValidationAdditionalClaimOutput() GetListenerRuleActionJwtValidationAdditionalClaimOutput + ToGetListenerRuleActionJwtValidationAdditionalClaimOutputWithContext(context.Context) GetListenerRuleActionJwtValidationAdditionalClaimOutput +} + +type GetListenerRuleActionJwtValidationAdditionalClaimArgs struct { + // Format of the claim value. + Format pulumi.StringInput `pulumi:"format"` + // Name of the claim to validate. + Name pulumi.StringInput `pulumi:"name"` + // Set of `key`-`value` pairs indicating the query string parameters to match. + Values pulumi.StringArrayInput `pulumi:"values"` +} + +func (GetListenerRuleActionJwtValidationAdditionalClaimArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetListenerRuleActionJwtValidationAdditionalClaim)(nil)).Elem() +} + +func (i GetListenerRuleActionJwtValidationAdditionalClaimArgs) ToGetListenerRuleActionJwtValidationAdditionalClaimOutput() GetListenerRuleActionJwtValidationAdditionalClaimOutput { + return i.ToGetListenerRuleActionJwtValidationAdditionalClaimOutputWithContext(context.Background()) +} + +func (i GetListenerRuleActionJwtValidationAdditionalClaimArgs) ToGetListenerRuleActionJwtValidationAdditionalClaimOutputWithContext(ctx context.Context) GetListenerRuleActionJwtValidationAdditionalClaimOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetListenerRuleActionJwtValidationAdditionalClaimOutput) +} + +// GetListenerRuleActionJwtValidationAdditionalClaimArrayInput is an input type that accepts GetListenerRuleActionJwtValidationAdditionalClaimArray and GetListenerRuleActionJwtValidationAdditionalClaimArrayOutput values. +// You can construct a concrete instance of `GetListenerRuleActionJwtValidationAdditionalClaimArrayInput` via: +// +// GetListenerRuleActionJwtValidationAdditionalClaimArray{ GetListenerRuleActionJwtValidationAdditionalClaimArgs{...} } +type GetListenerRuleActionJwtValidationAdditionalClaimArrayInput interface { + pulumi.Input + + ToGetListenerRuleActionJwtValidationAdditionalClaimArrayOutput() GetListenerRuleActionJwtValidationAdditionalClaimArrayOutput + ToGetListenerRuleActionJwtValidationAdditionalClaimArrayOutputWithContext(context.Context) GetListenerRuleActionJwtValidationAdditionalClaimArrayOutput +} + +type GetListenerRuleActionJwtValidationAdditionalClaimArray []GetListenerRuleActionJwtValidationAdditionalClaimInput + +func (GetListenerRuleActionJwtValidationAdditionalClaimArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetListenerRuleActionJwtValidationAdditionalClaim)(nil)).Elem() +} + +func (i GetListenerRuleActionJwtValidationAdditionalClaimArray) ToGetListenerRuleActionJwtValidationAdditionalClaimArrayOutput() GetListenerRuleActionJwtValidationAdditionalClaimArrayOutput { + return i.ToGetListenerRuleActionJwtValidationAdditionalClaimArrayOutputWithContext(context.Background()) +} + +func (i GetListenerRuleActionJwtValidationAdditionalClaimArray) ToGetListenerRuleActionJwtValidationAdditionalClaimArrayOutputWithContext(ctx context.Context) GetListenerRuleActionJwtValidationAdditionalClaimArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetListenerRuleActionJwtValidationAdditionalClaimArrayOutput) +} + +type GetListenerRuleActionJwtValidationAdditionalClaimOutput struct{ *pulumi.OutputState } + +func (GetListenerRuleActionJwtValidationAdditionalClaimOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetListenerRuleActionJwtValidationAdditionalClaim)(nil)).Elem() +} + +func (o GetListenerRuleActionJwtValidationAdditionalClaimOutput) ToGetListenerRuleActionJwtValidationAdditionalClaimOutput() GetListenerRuleActionJwtValidationAdditionalClaimOutput { + return o +} + +func (o GetListenerRuleActionJwtValidationAdditionalClaimOutput) ToGetListenerRuleActionJwtValidationAdditionalClaimOutputWithContext(ctx context.Context) GetListenerRuleActionJwtValidationAdditionalClaimOutput { + return o +} + +// Format of the claim value. +func (o GetListenerRuleActionJwtValidationAdditionalClaimOutput) Format() pulumi.StringOutput { + return o.ApplyT(func(v GetListenerRuleActionJwtValidationAdditionalClaim) string { return v.Format }).(pulumi.StringOutput) +} + +// Name of the claim to validate. +func (o GetListenerRuleActionJwtValidationAdditionalClaimOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetListenerRuleActionJwtValidationAdditionalClaim) string { return v.Name }).(pulumi.StringOutput) +} + +// Set of `key`-`value` pairs indicating the query string parameters to match. +func (o GetListenerRuleActionJwtValidationAdditionalClaimOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetListenerRuleActionJwtValidationAdditionalClaim) []string { return v.Values }).(pulumi.StringArrayOutput) +} + +type GetListenerRuleActionJwtValidationAdditionalClaimArrayOutput struct{ *pulumi.OutputState } + +func (GetListenerRuleActionJwtValidationAdditionalClaimArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetListenerRuleActionJwtValidationAdditionalClaim)(nil)).Elem() +} + +func (o GetListenerRuleActionJwtValidationAdditionalClaimArrayOutput) ToGetListenerRuleActionJwtValidationAdditionalClaimArrayOutput() GetListenerRuleActionJwtValidationAdditionalClaimArrayOutput { + return o +} + +func (o GetListenerRuleActionJwtValidationAdditionalClaimArrayOutput) ToGetListenerRuleActionJwtValidationAdditionalClaimArrayOutputWithContext(ctx context.Context) GetListenerRuleActionJwtValidationAdditionalClaimArrayOutput { + return o +} + +func (o GetListenerRuleActionJwtValidationAdditionalClaimArrayOutput) Index(i pulumi.IntInput) GetListenerRuleActionJwtValidationAdditionalClaimOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetListenerRuleActionJwtValidationAdditionalClaim { + return vs[0].([]GetListenerRuleActionJwtValidationAdditionalClaim)[vs[1].(int)] + }).(GetListenerRuleActionJwtValidationAdditionalClaimOutput) +} + type GetListenerRuleActionRedirect struct { // The hostname. Host string `pulumi:"host"` @@ -10922,6 +12171,112 @@ func (o GetLoadBalancerConnectionLogArrayOutput) Index(i pulumi.IntInput) GetLoa }).(GetLoadBalancerConnectionLogOutput) } +type GetLoadBalancerHealthCheckLog struct { + Bucket string `pulumi:"bucket"` + Enabled bool `pulumi:"enabled"` + Prefix string `pulumi:"prefix"` +} + +// GetLoadBalancerHealthCheckLogInput is an input type that accepts GetLoadBalancerHealthCheckLogArgs and GetLoadBalancerHealthCheckLogOutput values. +// You can construct a concrete instance of `GetLoadBalancerHealthCheckLogInput` via: +// +// GetLoadBalancerHealthCheckLogArgs{...} +type GetLoadBalancerHealthCheckLogInput interface { + pulumi.Input + + ToGetLoadBalancerHealthCheckLogOutput() GetLoadBalancerHealthCheckLogOutput + ToGetLoadBalancerHealthCheckLogOutputWithContext(context.Context) GetLoadBalancerHealthCheckLogOutput +} + +type GetLoadBalancerHealthCheckLogArgs struct { + Bucket pulumi.StringInput `pulumi:"bucket"` + Enabled pulumi.BoolInput `pulumi:"enabled"` + Prefix pulumi.StringInput `pulumi:"prefix"` +} + +func (GetLoadBalancerHealthCheckLogArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetLoadBalancerHealthCheckLog)(nil)).Elem() +} + +func (i GetLoadBalancerHealthCheckLogArgs) ToGetLoadBalancerHealthCheckLogOutput() GetLoadBalancerHealthCheckLogOutput { + return i.ToGetLoadBalancerHealthCheckLogOutputWithContext(context.Background()) +} + +func (i GetLoadBalancerHealthCheckLogArgs) ToGetLoadBalancerHealthCheckLogOutputWithContext(ctx context.Context) GetLoadBalancerHealthCheckLogOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetLoadBalancerHealthCheckLogOutput) +} + +// GetLoadBalancerHealthCheckLogArrayInput is an input type that accepts GetLoadBalancerHealthCheckLogArray and GetLoadBalancerHealthCheckLogArrayOutput values. +// You can construct a concrete instance of `GetLoadBalancerHealthCheckLogArrayInput` via: +// +// GetLoadBalancerHealthCheckLogArray{ GetLoadBalancerHealthCheckLogArgs{...} } +type GetLoadBalancerHealthCheckLogArrayInput interface { + pulumi.Input + + ToGetLoadBalancerHealthCheckLogArrayOutput() GetLoadBalancerHealthCheckLogArrayOutput + ToGetLoadBalancerHealthCheckLogArrayOutputWithContext(context.Context) GetLoadBalancerHealthCheckLogArrayOutput +} + +type GetLoadBalancerHealthCheckLogArray []GetLoadBalancerHealthCheckLogInput + +func (GetLoadBalancerHealthCheckLogArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetLoadBalancerHealthCheckLog)(nil)).Elem() +} + +func (i GetLoadBalancerHealthCheckLogArray) ToGetLoadBalancerHealthCheckLogArrayOutput() GetLoadBalancerHealthCheckLogArrayOutput { + return i.ToGetLoadBalancerHealthCheckLogArrayOutputWithContext(context.Background()) +} + +func (i GetLoadBalancerHealthCheckLogArray) ToGetLoadBalancerHealthCheckLogArrayOutputWithContext(ctx context.Context) GetLoadBalancerHealthCheckLogArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetLoadBalancerHealthCheckLogArrayOutput) +} + +type GetLoadBalancerHealthCheckLogOutput struct{ *pulumi.OutputState } + +func (GetLoadBalancerHealthCheckLogOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetLoadBalancerHealthCheckLog)(nil)).Elem() +} + +func (o GetLoadBalancerHealthCheckLogOutput) ToGetLoadBalancerHealthCheckLogOutput() GetLoadBalancerHealthCheckLogOutput { + return o +} + +func (o GetLoadBalancerHealthCheckLogOutput) ToGetLoadBalancerHealthCheckLogOutputWithContext(ctx context.Context) GetLoadBalancerHealthCheckLogOutput { + return o +} + +func (o GetLoadBalancerHealthCheckLogOutput) Bucket() pulumi.StringOutput { + return o.ApplyT(func(v GetLoadBalancerHealthCheckLog) string { return v.Bucket }).(pulumi.StringOutput) +} + +func (o GetLoadBalancerHealthCheckLogOutput) Enabled() pulumi.BoolOutput { + return o.ApplyT(func(v GetLoadBalancerHealthCheckLog) bool { return v.Enabled }).(pulumi.BoolOutput) +} + +func (o GetLoadBalancerHealthCheckLogOutput) Prefix() pulumi.StringOutput { + return o.ApplyT(func(v GetLoadBalancerHealthCheckLog) string { return v.Prefix }).(pulumi.StringOutput) +} + +type GetLoadBalancerHealthCheckLogArrayOutput struct{ *pulumi.OutputState } + +func (GetLoadBalancerHealthCheckLogArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetLoadBalancerHealthCheckLog)(nil)).Elem() +} + +func (o GetLoadBalancerHealthCheckLogArrayOutput) ToGetLoadBalancerHealthCheckLogArrayOutput() GetLoadBalancerHealthCheckLogArrayOutput { + return o +} + +func (o GetLoadBalancerHealthCheckLogArrayOutput) ToGetLoadBalancerHealthCheckLogArrayOutputWithContext(ctx context.Context) GetLoadBalancerHealthCheckLogArrayOutput { + return o +} + +func (o GetLoadBalancerHealthCheckLogArrayOutput) Index(i pulumi.IntInput) GetLoadBalancerHealthCheckLogOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetLoadBalancerHealthCheckLog { + return vs[0].([]GetLoadBalancerHealthCheckLog)[vs[1].(int)] + }).(GetLoadBalancerHealthCheckLogOutput) +} + type GetLoadBalancerIpamPool struct { Ipv4IpamPoolId string `pulumi:"ipv4IpamPoolId"` } @@ -11313,6 +12668,10 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*ListenerDefaultActionForwardStickinessPtrInput)(nil)).Elem(), ListenerDefaultActionForwardStickinessArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ListenerDefaultActionForwardTargetGroupInput)(nil)).Elem(), ListenerDefaultActionForwardTargetGroupArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ListenerDefaultActionForwardTargetGroupArrayInput)(nil)).Elem(), ListenerDefaultActionForwardTargetGroupArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*ListenerDefaultActionJwtValidationInput)(nil)).Elem(), ListenerDefaultActionJwtValidationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ListenerDefaultActionJwtValidationPtrInput)(nil)).Elem(), ListenerDefaultActionJwtValidationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ListenerDefaultActionJwtValidationAdditionalClaimInput)(nil)).Elem(), ListenerDefaultActionJwtValidationAdditionalClaimArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ListenerDefaultActionJwtValidationAdditionalClaimArrayInput)(nil)).Elem(), ListenerDefaultActionJwtValidationAdditionalClaimArray{}) pulumi.RegisterInputType(reflect.TypeOf((*ListenerDefaultActionRedirectInput)(nil)).Elem(), ListenerDefaultActionRedirectArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ListenerDefaultActionRedirectPtrInput)(nil)).Elem(), ListenerDefaultActionRedirectArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ListenerMutualAuthenticationInput)(nil)).Elem(), ListenerMutualAuthenticationArgs{}) @@ -11331,6 +12690,10 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*ListenerRuleActionForwardStickinessPtrInput)(nil)).Elem(), ListenerRuleActionForwardStickinessArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ListenerRuleActionForwardTargetGroupInput)(nil)).Elem(), ListenerRuleActionForwardTargetGroupArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ListenerRuleActionForwardTargetGroupArrayInput)(nil)).Elem(), ListenerRuleActionForwardTargetGroupArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*ListenerRuleActionJwtValidationInput)(nil)).Elem(), ListenerRuleActionJwtValidationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ListenerRuleActionJwtValidationPtrInput)(nil)).Elem(), ListenerRuleActionJwtValidationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ListenerRuleActionJwtValidationAdditionalClaimInput)(nil)).Elem(), ListenerRuleActionJwtValidationAdditionalClaimArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ListenerRuleActionJwtValidationAdditionalClaimArrayInput)(nil)).Elem(), ListenerRuleActionJwtValidationAdditionalClaimArray{}) pulumi.RegisterInputType(reflect.TypeOf((*ListenerRuleActionRedirectInput)(nil)).Elem(), ListenerRuleActionRedirectArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ListenerRuleActionRedirectPtrInput)(nil)).Elem(), ListenerRuleActionRedirectArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ListenerRuleConditionInput)(nil)).Elem(), ListenerRuleConditionArgs{}) @@ -11361,6 +12724,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*LoadBalancerAccessLogsPtrInput)(nil)).Elem(), LoadBalancerAccessLogsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*LoadBalancerConnectionLogsInput)(nil)).Elem(), LoadBalancerConnectionLogsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*LoadBalancerConnectionLogsPtrInput)(nil)).Elem(), LoadBalancerConnectionLogsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*LoadBalancerHealthCheckLogsInput)(nil)).Elem(), LoadBalancerHealthCheckLogsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*LoadBalancerHealthCheckLogsPtrInput)(nil)).Elem(), LoadBalancerHealthCheckLogsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*LoadBalancerIpamPoolsInput)(nil)).Elem(), LoadBalancerIpamPoolsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*LoadBalancerIpamPoolsPtrInput)(nil)).Elem(), LoadBalancerIpamPoolsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*LoadBalancerMinimumLoadBalancerCapacityInput)(nil)).Elem(), LoadBalancerMinimumLoadBalancerCapacityArgs{}) @@ -11395,6 +12760,10 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*GetListenerDefaultActionForwardStickinessArrayInput)(nil)).Elem(), GetListenerDefaultActionForwardStickinessArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetListenerDefaultActionForwardTargetGroupInput)(nil)).Elem(), GetListenerDefaultActionForwardTargetGroupArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetListenerDefaultActionForwardTargetGroupArrayInput)(nil)).Elem(), GetListenerDefaultActionForwardTargetGroupArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetListenerDefaultActionJwtValidationInput)(nil)).Elem(), GetListenerDefaultActionJwtValidationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetListenerDefaultActionJwtValidationArrayInput)(nil)).Elem(), GetListenerDefaultActionJwtValidationArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetListenerDefaultActionJwtValidationAdditionalClaimInput)(nil)).Elem(), GetListenerDefaultActionJwtValidationAdditionalClaimArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetListenerDefaultActionJwtValidationAdditionalClaimArrayInput)(nil)).Elem(), GetListenerDefaultActionJwtValidationAdditionalClaimArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetListenerDefaultActionRedirectInput)(nil)).Elem(), GetListenerDefaultActionRedirectArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetListenerDefaultActionRedirectArrayInput)(nil)).Elem(), GetListenerDefaultActionRedirectArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetListenerMutualAuthenticationInput)(nil)).Elem(), GetListenerMutualAuthenticationArgs{}) @@ -11413,6 +12782,10 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*GetListenerRuleActionForwardStickinessArrayInput)(nil)).Elem(), GetListenerRuleActionForwardStickinessArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetListenerRuleActionForwardTargetGroupInput)(nil)).Elem(), GetListenerRuleActionForwardTargetGroupArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetListenerRuleActionForwardTargetGroupArrayInput)(nil)).Elem(), GetListenerRuleActionForwardTargetGroupArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetListenerRuleActionJwtValidationInput)(nil)).Elem(), GetListenerRuleActionJwtValidationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetListenerRuleActionJwtValidationArrayInput)(nil)).Elem(), GetListenerRuleActionJwtValidationArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetListenerRuleActionJwtValidationAdditionalClaimInput)(nil)).Elem(), GetListenerRuleActionJwtValidationAdditionalClaimArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetListenerRuleActionJwtValidationAdditionalClaimArrayInput)(nil)).Elem(), GetListenerRuleActionJwtValidationAdditionalClaimArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetListenerRuleActionRedirectInput)(nil)).Elem(), GetListenerRuleActionRedirectArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetListenerRuleActionRedirectArrayInput)(nil)).Elem(), GetListenerRuleActionRedirectArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetListenerRuleConditionInput)(nil)).Elem(), GetListenerRuleConditionArgs{}) @@ -11444,6 +12817,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*GetLoadBalancerAccessLogsInput)(nil)).Elem(), GetLoadBalancerAccessLogsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetLoadBalancerConnectionLogInput)(nil)).Elem(), GetLoadBalancerConnectionLogArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetLoadBalancerConnectionLogArrayInput)(nil)).Elem(), GetLoadBalancerConnectionLogArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetLoadBalancerHealthCheckLogInput)(nil)).Elem(), GetLoadBalancerHealthCheckLogArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetLoadBalancerHealthCheckLogArrayInput)(nil)).Elem(), GetLoadBalancerHealthCheckLogArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetLoadBalancerIpamPoolInput)(nil)).Elem(), GetLoadBalancerIpamPoolArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetLoadBalancerIpamPoolArrayInput)(nil)).Elem(), GetLoadBalancerIpamPoolArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetLoadBalancerSubnetMappingInput)(nil)).Elem(), GetLoadBalancerSubnetMappingArgs{}) @@ -11464,6 +12839,10 @@ func init() { pulumi.RegisterOutputType(ListenerDefaultActionForwardStickinessPtrOutput{}) pulumi.RegisterOutputType(ListenerDefaultActionForwardTargetGroupOutput{}) pulumi.RegisterOutputType(ListenerDefaultActionForwardTargetGroupArrayOutput{}) + pulumi.RegisterOutputType(ListenerDefaultActionJwtValidationOutput{}) + pulumi.RegisterOutputType(ListenerDefaultActionJwtValidationPtrOutput{}) + pulumi.RegisterOutputType(ListenerDefaultActionJwtValidationAdditionalClaimOutput{}) + pulumi.RegisterOutputType(ListenerDefaultActionJwtValidationAdditionalClaimArrayOutput{}) pulumi.RegisterOutputType(ListenerDefaultActionRedirectOutput{}) pulumi.RegisterOutputType(ListenerDefaultActionRedirectPtrOutput{}) pulumi.RegisterOutputType(ListenerMutualAuthenticationOutput{}) @@ -11482,6 +12861,10 @@ func init() { pulumi.RegisterOutputType(ListenerRuleActionForwardStickinessPtrOutput{}) pulumi.RegisterOutputType(ListenerRuleActionForwardTargetGroupOutput{}) pulumi.RegisterOutputType(ListenerRuleActionForwardTargetGroupArrayOutput{}) + pulumi.RegisterOutputType(ListenerRuleActionJwtValidationOutput{}) + pulumi.RegisterOutputType(ListenerRuleActionJwtValidationPtrOutput{}) + pulumi.RegisterOutputType(ListenerRuleActionJwtValidationAdditionalClaimOutput{}) + pulumi.RegisterOutputType(ListenerRuleActionJwtValidationAdditionalClaimArrayOutput{}) pulumi.RegisterOutputType(ListenerRuleActionRedirectOutput{}) pulumi.RegisterOutputType(ListenerRuleActionRedirectPtrOutput{}) pulumi.RegisterOutputType(ListenerRuleConditionOutput{}) @@ -11512,6 +12895,8 @@ func init() { pulumi.RegisterOutputType(LoadBalancerAccessLogsPtrOutput{}) pulumi.RegisterOutputType(LoadBalancerConnectionLogsOutput{}) pulumi.RegisterOutputType(LoadBalancerConnectionLogsPtrOutput{}) + pulumi.RegisterOutputType(LoadBalancerHealthCheckLogsOutput{}) + pulumi.RegisterOutputType(LoadBalancerHealthCheckLogsPtrOutput{}) pulumi.RegisterOutputType(LoadBalancerIpamPoolsOutput{}) pulumi.RegisterOutputType(LoadBalancerIpamPoolsPtrOutput{}) pulumi.RegisterOutputType(LoadBalancerMinimumLoadBalancerCapacityOutput{}) @@ -11546,6 +12931,10 @@ func init() { pulumi.RegisterOutputType(GetListenerDefaultActionForwardStickinessArrayOutput{}) pulumi.RegisterOutputType(GetListenerDefaultActionForwardTargetGroupOutput{}) pulumi.RegisterOutputType(GetListenerDefaultActionForwardTargetGroupArrayOutput{}) + pulumi.RegisterOutputType(GetListenerDefaultActionJwtValidationOutput{}) + pulumi.RegisterOutputType(GetListenerDefaultActionJwtValidationArrayOutput{}) + pulumi.RegisterOutputType(GetListenerDefaultActionJwtValidationAdditionalClaimOutput{}) + pulumi.RegisterOutputType(GetListenerDefaultActionJwtValidationAdditionalClaimArrayOutput{}) pulumi.RegisterOutputType(GetListenerDefaultActionRedirectOutput{}) pulumi.RegisterOutputType(GetListenerDefaultActionRedirectArrayOutput{}) pulumi.RegisterOutputType(GetListenerMutualAuthenticationOutput{}) @@ -11564,6 +12953,10 @@ func init() { pulumi.RegisterOutputType(GetListenerRuleActionForwardStickinessArrayOutput{}) pulumi.RegisterOutputType(GetListenerRuleActionForwardTargetGroupOutput{}) pulumi.RegisterOutputType(GetListenerRuleActionForwardTargetGroupArrayOutput{}) + pulumi.RegisterOutputType(GetListenerRuleActionJwtValidationOutput{}) + pulumi.RegisterOutputType(GetListenerRuleActionJwtValidationArrayOutput{}) + pulumi.RegisterOutputType(GetListenerRuleActionJwtValidationAdditionalClaimOutput{}) + pulumi.RegisterOutputType(GetListenerRuleActionJwtValidationAdditionalClaimArrayOutput{}) pulumi.RegisterOutputType(GetListenerRuleActionRedirectOutput{}) pulumi.RegisterOutputType(GetListenerRuleActionRedirectArrayOutput{}) pulumi.RegisterOutputType(GetListenerRuleConditionOutput{}) @@ -11595,6 +12988,8 @@ func init() { pulumi.RegisterOutputType(GetLoadBalancerAccessLogsOutput{}) pulumi.RegisterOutputType(GetLoadBalancerConnectionLogOutput{}) pulumi.RegisterOutputType(GetLoadBalancerConnectionLogArrayOutput{}) + pulumi.RegisterOutputType(GetLoadBalancerHealthCheckLogOutput{}) + pulumi.RegisterOutputType(GetLoadBalancerHealthCheckLogArrayOutput{}) pulumi.RegisterOutputType(GetLoadBalancerIpamPoolOutput{}) pulumi.RegisterOutputType(GetLoadBalancerIpamPoolArrayOutput{}) pulumi.RegisterOutputType(GetLoadBalancerSubnetMappingOutput{}) diff --git a/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/lb/targetGroup.go b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/lb/targetGroup.go index d4653d4e0..a23665394 100644 --- a/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/lb/targetGroup.go +++ b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/lb/targetGroup.go @@ -230,8 +230,6 @@ import ( // // Using `pulumi import`, import Target Groups using their ARN. For example: // -// console -// // % pulumi import aws_lb_target_group.app_front_end arn:aws:elasticloadbalancing:us-west-2:187416307283:targetgroup/app-front-end/20cfe21448b66314 type TargetGroup struct { pulumi.CustomResourceState @@ -285,6 +283,8 @@ type TargetGroup struct { Tags pulumi.StringMapOutput `pulumi:"tags"` // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"` + // Port on which the target control agent and application load balancer exchange management traffic for the target optimizer feature. Only applicable for Application Load Balancer target groups when `targetType` is `instance` or `ip`. + TargetControlPort pulumi.IntPtrOutput `pulumi:"targetControlPort"` // Target failover block. Only applicable for Gateway Load Balancer target groups. See targetFailover for more information. TargetFailovers TargetGroupTargetFailoverArrayOutput `pulumi:"targetFailovers"` // Target health requirements block. See targetGroupHealth for more information. @@ -392,6 +392,8 @@ type targetGroupState struct { Tags map[string]string `pulumi:"tags"` // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. TagsAll map[string]string `pulumi:"tagsAll"` + // Port on which the target control agent and application load balancer exchange management traffic for the target optimizer feature. Only applicable for Application Load Balancer target groups when `targetType` is `instance` or `ip`. + TargetControlPort *int `pulumi:"targetControlPort"` // Target failover block. Only applicable for Gateway Load Balancer target groups. See targetFailover for more information. TargetFailovers []TargetGroupTargetFailover `pulumi:"targetFailovers"` // Target health requirements block. See targetGroupHealth for more information. @@ -464,6 +466,8 @@ type TargetGroupState struct { Tags pulumi.StringMapInput // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. TagsAll pulumi.StringMapInput + // Port on which the target control agent and application load balancer exchange management traffic for the target optimizer feature. Only applicable for Application Load Balancer target groups when `targetType` is `instance` or `ip`. + TargetControlPort pulumi.IntPtrInput // Target failover block. Only applicable for Gateway Load Balancer target groups. See targetFailover for more information. TargetFailovers TargetGroupTargetFailoverArrayInput // Target health requirements block. See targetGroupHealth for more information. @@ -532,6 +536,8 @@ type targetGroupArgs struct { Stickiness *TargetGroupStickiness `pulumi:"stickiness"` // 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"` + // Port on which the target control agent and application load balancer exchange management traffic for the target optimizer feature. Only applicable for Application Load Balancer target groups when `targetType` is `instance` or `ip`. + TargetControlPort *int `pulumi:"targetControlPort"` // Target failover block. Only applicable for Gateway Load Balancer target groups. See targetFailover for more information. TargetFailovers []TargetGroupTargetFailover `pulumi:"targetFailovers"` // Target health requirements block. See targetGroupHealth for more information. @@ -597,6 +603,8 @@ type TargetGroupArgs struct { Stickiness TargetGroupStickinessPtrInput // 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 + // Port on which the target control agent and application load balancer exchange management traffic for the target optimizer feature. Only applicable for Application Load Balancer target groups when `targetType` is `instance` or `ip`. + TargetControlPort pulumi.IntPtrInput // Target failover block. Only applicable for Gateway Load Balancer target groups. See targetFailover for more information. TargetFailovers TargetGroupTargetFailoverArrayInput // Target health requirements block. See targetGroupHealth for more information. @@ -824,6 +832,11 @@ func (o TargetGroupOutput) TagsAll() pulumi.StringMapOutput { return o.ApplyT(func(v *TargetGroup) pulumi.StringMapOutput { return v.TagsAll }).(pulumi.StringMapOutput) } +// Port on which the target control agent and application load balancer exchange management traffic for the target optimizer feature. Only applicable for Application Load Balancer target groups when `targetType` is `instance` or `ip`. +func (o TargetGroupOutput) TargetControlPort() pulumi.IntPtrOutput { + return o.ApplyT(func(v *TargetGroup) pulumi.IntPtrOutput { return v.TargetControlPort }).(pulumi.IntPtrOutput) +} + // Target failover block. Only applicable for Gateway Load Balancer target groups. See targetFailover for more information. func (o TargetGroupOutput) TargetFailovers() TargetGroupTargetFailoverArrayOutput { return o.ApplyT(func(v *TargetGroup) TargetGroupTargetFailoverArrayOutput { return v.TargetFailovers }).(TargetGroupTargetFailoverArrayOutput) diff --git a/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/lb/trustStore.go b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/lb/trustStore.go index 0b8a5a9c1..bc5b40740 100644 --- a/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/lb/trustStore.go +++ b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/lb/trustStore.go @@ -70,8 +70,6 @@ import ( // // Using `pulumi import`, import Target Groups using their ARN. For example: // -// console -// // % pulumi import aws_lb_trust_store.example arn:aws:elasticloadbalancing:us-west-2:187416307283:truststore/my-trust-store/20cfe21448b66314 type TrustStore struct { pulumi.CustomResourceState diff --git a/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/provider.go b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/provider.go index 3a0f81ed3..0c46e080d 100644 --- a/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/provider.go +++ b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/provider.go @@ -49,6 +49,8 @@ type Provider struct { // The region where AWS STS operations will take place. Examples // are us-east-1 and us-west-2. StsRegion pulumi.StringPtrOutput `pulumi:"stsRegion"` + // The severity with which to enforce organizational tagging policies on resources managed by this provider instance. At this time this only includes compliance with required tag keys by resource type. Valid values are "error", "warning", and "disabled". When unset or "disabled", tag policy compliance will not be enforced by the provider. Can also be configured with the TF_AWS_TAG_POLICY_COMPLIANCE environment variable. + TagPolicyCompliance pulumi.StringPtrOutput `pulumi:"tagPolicyCompliance"` // session token. A session token is only required if you are // using temporary security credentials. Token pulumi.StringPtrOutput `pulumi:"token"` @@ -160,6 +162,8 @@ type providerArgs struct { // The region where AWS STS operations will take place. Examples // are us-east-1 and us-west-2. StsRegion *string `pulumi:"stsRegion"` + // The severity with which to enforce organizational tagging policies on resources managed by this provider instance. At this time this only includes compliance with required tag keys by resource type. Valid values are "error", "warning", and "disabled". When unset or "disabled", tag policy compliance will not be enforced by the provider. Can also be configured with the TF_AWS_TAG_POLICY_COMPLIANCE environment variable. + TagPolicyCompliance *string `pulumi:"tagPolicyCompliance"` // session token. A session token is only required if you are // using temporary security credentials. Token *string `pulumi:"token"` @@ -236,6 +240,8 @@ type ProviderArgs struct { // The region where AWS STS operations will take place. Examples // are us-east-1 and us-west-2. StsRegion pulumi.StringPtrInput + // The severity with which to enforce organizational tagging policies on resources managed by this provider instance. At this time this only includes compliance with required tag keys by resource type. Valid values are "error", "warning", and "disabled". When unset or "disabled", tag policy compliance will not be enforced by the provider. Can also be configured with the TF_AWS_TAG_POLICY_COMPLIANCE environment variable. + TagPolicyCompliance pulumi.StringPtrInput // session token. A session token is only required if you are // using temporary security credentials. Token pulumi.StringPtrInput @@ -377,6 +383,11 @@ func (o ProviderOutput) StsRegion() pulumi.StringPtrOutput { return o.ApplyT(func(v *Provider) pulumi.StringPtrOutput { return v.StsRegion }).(pulumi.StringPtrOutput) } +// The severity with which to enforce organizational tagging policies on resources managed by this provider instance. At this time this only includes compliance with required tag keys by resource type. Valid values are "error", "warning", and "disabled". When unset or "disabled", tag policy compliance will not be enforced by the provider. Can also be configured with the TF_AWS_TAG_POLICY_COMPLIANCE environment variable. +func (o ProviderOutput) TagPolicyCompliance() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Provider) pulumi.StringPtrOutput { return v.TagPolicyCompliance }).(pulumi.StringPtrOutput) +} + // session token. A session token is only required if you are // using temporary security credentials. func (o ProviderOutput) Token() pulumi.StringPtrOutput { diff --git a/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/pulumi-plugin.json b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/pulumi-plugin.json index c9599b4c1..29620dea3 100644 --- a/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/pulumi-plugin.json +++ b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/pulumi-plugin.json @@ -1,5 +1,5 @@ { "resource": true, "name": "aws", - "version": "7.12.0" + "version": "7.14.0" } diff --git a/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/pulumiEnums.go b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/pulumiEnums.go index 100605938..56b3df49d 100644 --- a/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/pulumiEnums.go +++ b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/pulumiEnums.go @@ -16,6 +16,7 @@ type Region string const ( RegionAFSouth1 = Region("af-south-1") RegionAPEast1 = Region("ap-east-1") + RegionAPEast2 = Region("ap-east-2") RegionAPNortheast1 = Region("ap-northeast-1") RegionAPNortheast2 = Region("ap-northeast-2") RegionAPNortheast3 = Region("ap-northeast-3") @@ -180,6 +181,7 @@ func (o RegionPtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulum // // RegionAFSouth1 // RegionAPEast1 +// RegionAPEast2 // RegionAPNortheast1 // RegionAPNortheast2 // RegionAPNortheast3 diff --git a/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/pulumiTypes.go b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/pulumiTypes.go index 5c600e261..f1afac6d0 100644 --- a/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/pulumiTypes.go +++ b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/pulumiTypes.go @@ -612,6 +612,8 @@ type ProviderEndpoint struct { // Use this to override the default service endpoint URL Arcregionswitch *string `pulumi:"arcregionswitch"` // Use this to override the default service endpoint URL + Arczonalshift *string `pulumi:"arczonalshift"` + // Use this to override the default service endpoint URL Athena *string `pulumi:"athena"` // Use this to override the default service endpoint URL Auditmanager *string `pulumi:"auditmanager"` @@ -924,8 +926,6 @@ type ProviderEndpoint struct { // Use this to override the default service endpoint URL Logs *string `pulumi:"logs"` // Use this to override the default service endpoint URL - Lookoutmetrics *string `pulumi:"lookoutmetrics"` - // Use this to override the default service endpoint URL M2 *string `pulumi:"m2"` // Use this to override the default service endpoint URL Macie2 *string `pulumi:"macie2"` @@ -956,6 +956,8 @@ type ProviderEndpoint struct { // Use this to override the default service endpoint URL Mwaa *string `pulumi:"mwaa"` // Use this to override the default service endpoint URL + Mwaaserverless *string `pulumi:"mwaaserverless"` + // Use this to override the default service endpoint URL Neptune *string `pulumi:"neptune"` // Use this to override the default service endpoint URL Neptunegraph *string `pulumi:"neptunegraph"` @@ -1024,6 +1026,10 @@ type ProviderEndpoint struct { // Use this to override the default service endpoint URL Rds *string `pulumi:"rds"` // Use this to override the default service endpoint URL + Rdsdata *string `pulumi:"rdsdata"` + // Use this to override the default service endpoint URL + Rdsdataservice *string `pulumi:"rdsdataservice"` + // Use this to override the default service endpoint URL Recyclebin *string `pulumi:"recyclebin"` // Use this to override the default service endpoint URL Redshift *string `pulumi:"redshift"` @@ -1234,6 +1240,8 @@ type ProviderEndpointArgs struct { // Use this to override the default service endpoint URL Arcregionswitch pulumi.StringPtrInput `pulumi:"arcregionswitch"` // Use this to override the default service endpoint URL + Arczonalshift pulumi.StringPtrInput `pulumi:"arczonalshift"` + // Use this to override the default service endpoint URL Athena pulumi.StringPtrInput `pulumi:"athena"` // Use this to override the default service endpoint URL Auditmanager pulumi.StringPtrInput `pulumi:"auditmanager"` @@ -1546,8 +1554,6 @@ type ProviderEndpointArgs struct { // Use this to override the default service endpoint URL Logs pulumi.StringPtrInput `pulumi:"logs"` // Use this to override the default service endpoint URL - Lookoutmetrics pulumi.StringPtrInput `pulumi:"lookoutmetrics"` - // Use this to override the default service endpoint URL M2 pulumi.StringPtrInput `pulumi:"m2"` // Use this to override the default service endpoint URL Macie2 pulumi.StringPtrInput `pulumi:"macie2"` @@ -1578,6 +1584,8 @@ type ProviderEndpointArgs struct { // Use this to override the default service endpoint URL Mwaa pulumi.StringPtrInput `pulumi:"mwaa"` // Use this to override the default service endpoint URL + Mwaaserverless pulumi.StringPtrInput `pulumi:"mwaaserverless"` + // Use this to override the default service endpoint URL Neptune pulumi.StringPtrInput `pulumi:"neptune"` // Use this to override the default service endpoint URL Neptunegraph pulumi.StringPtrInput `pulumi:"neptunegraph"` @@ -1646,6 +1654,10 @@ type ProviderEndpointArgs struct { // Use this to override the default service endpoint URL Rds pulumi.StringPtrInput `pulumi:"rds"` // Use this to override the default service endpoint URL + Rdsdata pulumi.StringPtrInput `pulumi:"rdsdata"` + // Use this to override the default service endpoint URL + Rdsdataservice pulumi.StringPtrInput `pulumi:"rdsdataservice"` + // Use this to override the default service endpoint URL Recyclebin pulumi.StringPtrInput `pulumi:"recyclebin"` // Use this to override the default service endpoint URL Redshift pulumi.StringPtrInput `pulumi:"redshift"` @@ -1966,6 +1978,11 @@ func (o ProviderEndpointOutput) Arcregionswitch() pulumi.StringPtrOutput { return o.ApplyT(func(v ProviderEndpoint) *string { return v.Arcregionswitch }).(pulumi.StringPtrOutput) } +// Use this to override the default service endpoint URL +func (o ProviderEndpointOutput) Arczonalshift() pulumi.StringPtrOutput { + return o.ApplyT(func(v ProviderEndpoint) *string { return v.Arczonalshift }).(pulumi.StringPtrOutput) +} + // Use this to override the default service endpoint URL func (o ProviderEndpointOutput) Athena() pulumi.StringPtrOutput { return o.ApplyT(func(v ProviderEndpoint) *string { return v.Athena }).(pulumi.StringPtrOutput) @@ -2746,11 +2763,6 @@ func (o ProviderEndpointOutput) Logs() pulumi.StringPtrOutput { return o.ApplyT(func(v ProviderEndpoint) *string { return v.Logs }).(pulumi.StringPtrOutput) } -// Use this to override the default service endpoint URL -func (o ProviderEndpointOutput) Lookoutmetrics() pulumi.StringPtrOutput { - return o.ApplyT(func(v ProviderEndpoint) *string { return v.Lookoutmetrics }).(pulumi.StringPtrOutput) -} - // Use this to override the default service endpoint URL func (o ProviderEndpointOutput) M2() pulumi.StringPtrOutput { return o.ApplyT(func(v ProviderEndpoint) *string { return v.M2 }).(pulumi.StringPtrOutput) @@ -2826,6 +2838,11 @@ func (o ProviderEndpointOutput) Mwaa() pulumi.StringPtrOutput { return o.ApplyT(func(v ProviderEndpoint) *string { return v.Mwaa }).(pulumi.StringPtrOutput) } +// Use this to override the default service endpoint URL +func (o ProviderEndpointOutput) Mwaaserverless() pulumi.StringPtrOutput { + return o.ApplyT(func(v ProviderEndpoint) *string { return v.Mwaaserverless }).(pulumi.StringPtrOutput) +} + // Use this to override the default service endpoint URL func (o ProviderEndpointOutput) Neptune() pulumi.StringPtrOutput { return o.ApplyT(func(v ProviderEndpoint) *string { return v.Neptune }).(pulumi.StringPtrOutput) @@ -2996,6 +3013,16 @@ func (o ProviderEndpointOutput) Rds() pulumi.StringPtrOutput { return o.ApplyT(func(v ProviderEndpoint) *string { return v.Rds }).(pulumi.StringPtrOutput) } +// Use this to override the default service endpoint URL +func (o ProviderEndpointOutput) Rdsdata() pulumi.StringPtrOutput { + return o.ApplyT(func(v ProviderEndpoint) *string { return v.Rdsdata }).(pulumi.StringPtrOutput) +} + +// Use this to override the default service endpoint URL +func (o ProviderEndpointOutput) Rdsdataservice() pulumi.StringPtrOutput { + return o.ApplyT(func(v ProviderEndpoint) *string { return v.Rdsdataservice }).(pulumi.StringPtrOutput) +} + // Use this to override the default service endpoint URL func (o ProviderEndpointOutput) Recyclebin() pulumi.StringPtrOutput { return o.ApplyT(func(v ProviderEndpoint) *string { return v.Recyclebin }).(pulumi.StringPtrOutput) diff --git a/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3/bucket.go b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3/bucket.go index 4356974dd..39d326e22 100644 --- a/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3/bucket.go +++ b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3/bucket.go @@ -17,6 +17,8 @@ import ( // // > Object Lock can be enabled by using the `objectLockEnable` attribute or by using the `s3.BucketObjectLockConfiguration` resource. Please note, that by using the resource, Object Lock can be enabled/disabled without destroying and recreating the bucket. // +// > To support ABAC (Attribute Based Access Control) in general purpose buckets, this resource will now attempt to send tags in the create request and use the S3 Control tagging APIs [`TagResource`](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_TagResource.html), [`UntagResource`](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_UntagResource.html), and [`ListTagsForResource`](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_ListTagsForResource.html) for read and update operations. The calling principal must have the corresponding `s3:TagResource`, `s3:UntagResource`, and `s3:ListTagsForResource` [IAM permissions](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazons3.html#amazons3-actions-as-permissions). If the principal lacks the appropriate permissions, the provider will fall back to tagging after creation and using the S3 tagging APIs [`PutBucketTagging`](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketTagging.html), [`DeleteBucketTagging`](https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketTagging.html), and [`GetBucketTagging`](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketTagging.html) instead. With ABAC enabled, tag modifications may fail with the fall back behavior. See the [AWS documentation](https://docs.aws.amazon.com/AmazonS3/latest/userguide/buckets-tagging-enable-abac.html) for additional details on enabling ABAC in general purpose buckets. +// // ## Example Usage // // ### Private Bucket With Tags @@ -65,8 +67,6 @@ import ( // // Using `pulumi import`, import S3 bucket using the `bucket`. For example: // -// console -// // % pulumi import aws_s3_bucket.example bucket-name type Bucket struct { pulumi.CustomResourceState diff --git a/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3/bucketAbac.go b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3/bucketAbac.go new file mode 100644 index 000000000..49b463323 --- /dev/null +++ b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3/bucketAbac.go @@ -0,0 +1,331 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package s3 + +import ( + "context" + "reflect" + + "errors" + "github.com/pulumi/pulumi-aws/sdk/v7/go/aws/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Manages ABAC (Attribute Based Access Control) for an AWS S3 (Simple Storage) Bucket. +// See the [AWS documentation](https://docs.aws.amazon.com/AmazonS3/latest/userguide/buckets-tagging-enable-abac.html) on enabling ABAC for general purpose buckets for additional information. +// +// ## Example Usage +// +// ### Basic Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// example, err := s3.NewBucket(ctx, "example", &s3.BucketArgs{ +// Bucket: pulumi.String("bucket-name"), +// }) +// if err != nil { +// return err +// } +// _, err = s3.NewBucketAbac(ctx, "example", &s3.BucketAbacArgs{ +// Bucket: example.Bucket, +// AbacStatus: &s3.BucketAbacAbacStatusArgs{ +// Status: pulumi.String("Enabled"), +// }, +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// ## Import +// +// If the owner (account ID) of the source bucket differs from the account used to configure the Terraform AWS Provider, import using the `bucket` and `expected_bucket_owner` separated by a comma (`,`): +// +// Using `pulumi import`, import S3 (Simple Storage) Bucket ABAC using the `bucket` or `bucket` and `expected_bucket_owner` separated by a comma (`,`). For example: +// +// If the owner (account ID) of the source bucket is the same account used to configure the Terraform AWS Provider, import using the `bucket`: +// +// ```sh +// $ pulumi import aws:s3/bucketAbac:BucketAbac example bucket-name +// ``` +// If the owner (account ID) of the source bucket differs from the account used to configure the Terraform AWS Provider, import using the `bucket` and `expected_bucket_owner` separated by a comma (`,`): +// +// ```sh +// $ pulumi import aws:s3/bucketAbac:BucketAbac example bucket-name,123456789012 +// ``` +type BucketAbac struct { + pulumi.CustomResourceState + + // ABAC status configuration. See `abacStatus` Block for details. + // + // The following arguments are optional: + AbacStatus BucketAbacAbacStatusPtrOutput `pulumi:"abacStatus"` + // General purpose bucket that you want to create the metadata configuration for. + Bucket pulumi.StringOutput `pulumi:"bucket"` + // Account ID of the expected bucket owner. + ExpectedBucketOwner pulumi.StringPtrOutput `pulumi:"expectedBucketOwner"` + // Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration. + Region pulumi.StringOutput `pulumi:"region"` +} + +// NewBucketAbac registers a new resource with the given unique name, arguments, and options. +func NewBucketAbac(ctx *pulumi.Context, + name string, args *BucketAbacArgs, opts ...pulumi.ResourceOption) (*BucketAbac, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Bucket == nil { + return nil, errors.New("invalid value for required argument 'Bucket'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource BucketAbac + err := ctx.RegisterResource("aws:s3/bucketAbac:BucketAbac", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetBucketAbac gets an existing BucketAbac 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 GetBucketAbac(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *BucketAbacState, opts ...pulumi.ResourceOption) (*BucketAbac, error) { + var resource BucketAbac + err := ctx.ReadResource("aws:s3/bucketAbac:BucketAbac", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering BucketAbac resources. +type bucketAbacState struct { + // ABAC status configuration. See `abacStatus` Block for details. + // + // The following arguments are optional: + AbacStatus *BucketAbacAbacStatus `pulumi:"abacStatus"` + // General purpose bucket that you want to create the metadata configuration for. + Bucket *string `pulumi:"bucket"` + // Account ID of the expected bucket owner. + ExpectedBucketOwner *string `pulumi:"expectedBucketOwner"` + // Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration. + Region *string `pulumi:"region"` +} + +type BucketAbacState struct { + // ABAC status configuration. See `abacStatus` Block for details. + // + // The following arguments are optional: + AbacStatus BucketAbacAbacStatusPtrInput + // General purpose bucket that you want to create the metadata configuration for. + Bucket pulumi.StringPtrInput + // Account ID of the expected bucket owner. + ExpectedBucketOwner pulumi.StringPtrInput + // Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration. + Region pulumi.StringPtrInput +} + +func (BucketAbacState) ElementType() reflect.Type { + return reflect.TypeOf((*bucketAbacState)(nil)).Elem() +} + +type bucketAbacArgs struct { + // ABAC status configuration. See `abacStatus` Block for details. + // + // The following arguments are optional: + AbacStatus *BucketAbacAbacStatus `pulumi:"abacStatus"` + // General purpose bucket that you want to create the metadata configuration for. + Bucket string `pulumi:"bucket"` + // Account ID of the expected bucket owner. + ExpectedBucketOwner *string `pulumi:"expectedBucketOwner"` + // Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration. + Region *string `pulumi:"region"` +} + +// The set of arguments for constructing a BucketAbac resource. +type BucketAbacArgs struct { + // ABAC status configuration. See `abacStatus` Block for details. + // + // The following arguments are optional: + AbacStatus BucketAbacAbacStatusPtrInput + // General purpose bucket that you want to create the metadata configuration for. + Bucket pulumi.StringInput + // Account ID of the expected bucket owner. + ExpectedBucketOwner pulumi.StringPtrInput + // Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration. + Region pulumi.StringPtrInput +} + +func (BucketAbacArgs) ElementType() reflect.Type { + return reflect.TypeOf((*bucketAbacArgs)(nil)).Elem() +} + +type BucketAbacInput interface { + pulumi.Input + + ToBucketAbacOutput() BucketAbacOutput + ToBucketAbacOutputWithContext(ctx context.Context) BucketAbacOutput +} + +func (*BucketAbac) ElementType() reflect.Type { + return reflect.TypeOf((**BucketAbac)(nil)).Elem() +} + +func (i *BucketAbac) ToBucketAbacOutput() BucketAbacOutput { + return i.ToBucketAbacOutputWithContext(context.Background()) +} + +func (i *BucketAbac) ToBucketAbacOutputWithContext(ctx context.Context) BucketAbacOutput { + return pulumi.ToOutputWithContext(ctx, i).(BucketAbacOutput) +} + +// BucketAbacArrayInput is an input type that accepts BucketAbacArray and BucketAbacArrayOutput values. +// You can construct a concrete instance of `BucketAbacArrayInput` via: +// +// BucketAbacArray{ BucketAbacArgs{...} } +type BucketAbacArrayInput interface { + pulumi.Input + + ToBucketAbacArrayOutput() BucketAbacArrayOutput + ToBucketAbacArrayOutputWithContext(context.Context) BucketAbacArrayOutput +} + +type BucketAbacArray []BucketAbacInput + +func (BucketAbacArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*BucketAbac)(nil)).Elem() +} + +func (i BucketAbacArray) ToBucketAbacArrayOutput() BucketAbacArrayOutput { + return i.ToBucketAbacArrayOutputWithContext(context.Background()) +} + +func (i BucketAbacArray) ToBucketAbacArrayOutputWithContext(ctx context.Context) BucketAbacArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(BucketAbacArrayOutput) +} + +// BucketAbacMapInput is an input type that accepts BucketAbacMap and BucketAbacMapOutput values. +// You can construct a concrete instance of `BucketAbacMapInput` via: +// +// BucketAbacMap{ "key": BucketAbacArgs{...} } +type BucketAbacMapInput interface { + pulumi.Input + + ToBucketAbacMapOutput() BucketAbacMapOutput + ToBucketAbacMapOutputWithContext(context.Context) BucketAbacMapOutput +} + +type BucketAbacMap map[string]BucketAbacInput + +func (BucketAbacMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*BucketAbac)(nil)).Elem() +} + +func (i BucketAbacMap) ToBucketAbacMapOutput() BucketAbacMapOutput { + return i.ToBucketAbacMapOutputWithContext(context.Background()) +} + +func (i BucketAbacMap) ToBucketAbacMapOutputWithContext(ctx context.Context) BucketAbacMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(BucketAbacMapOutput) +} + +type BucketAbacOutput struct{ *pulumi.OutputState } + +func (BucketAbacOutput) ElementType() reflect.Type { + return reflect.TypeOf((**BucketAbac)(nil)).Elem() +} + +func (o BucketAbacOutput) ToBucketAbacOutput() BucketAbacOutput { + return o +} + +func (o BucketAbacOutput) ToBucketAbacOutputWithContext(ctx context.Context) BucketAbacOutput { + return o +} + +// ABAC status configuration. See `abacStatus` Block for details. +// +// The following arguments are optional: +func (o BucketAbacOutput) AbacStatus() BucketAbacAbacStatusPtrOutput { + return o.ApplyT(func(v *BucketAbac) BucketAbacAbacStatusPtrOutput { return v.AbacStatus }).(BucketAbacAbacStatusPtrOutput) +} + +// General purpose bucket that you want to create the metadata configuration for. +func (o BucketAbacOutput) Bucket() pulumi.StringOutput { + return o.ApplyT(func(v *BucketAbac) pulumi.StringOutput { return v.Bucket }).(pulumi.StringOutput) +} + +// Account ID of the expected bucket owner. +func (o BucketAbacOutput) ExpectedBucketOwner() pulumi.StringPtrOutput { + return o.ApplyT(func(v *BucketAbac) pulumi.StringPtrOutput { return v.ExpectedBucketOwner }).(pulumi.StringPtrOutput) +} + +// Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration. +func (o BucketAbacOutput) Region() pulumi.StringOutput { + return o.ApplyT(func(v *BucketAbac) pulumi.StringOutput { return v.Region }).(pulumi.StringOutput) +} + +type BucketAbacArrayOutput struct{ *pulumi.OutputState } + +func (BucketAbacArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*BucketAbac)(nil)).Elem() +} + +func (o BucketAbacArrayOutput) ToBucketAbacArrayOutput() BucketAbacArrayOutput { + return o +} + +func (o BucketAbacArrayOutput) ToBucketAbacArrayOutputWithContext(ctx context.Context) BucketAbacArrayOutput { + return o +} + +func (o BucketAbacArrayOutput) Index(i pulumi.IntInput) BucketAbacOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *BucketAbac { + return vs[0].([]*BucketAbac)[vs[1].(int)] + }).(BucketAbacOutput) +} + +type BucketAbacMapOutput struct{ *pulumi.OutputState } + +func (BucketAbacMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*BucketAbac)(nil)).Elem() +} + +func (o BucketAbacMapOutput) ToBucketAbacMapOutput() BucketAbacMapOutput { + return o +} + +func (o BucketAbacMapOutput) ToBucketAbacMapOutputWithContext(ctx context.Context) BucketAbacMapOutput { + return o +} + +func (o BucketAbacMapOutput) MapIndex(k pulumi.StringInput) BucketAbacOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *BucketAbac { + return vs[0].(map[string]*BucketAbac)[vs[1].(string)] + }).(BucketAbacOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*BucketAbacInput)(nil)).Elem(), &BucketAbac{}) + pulumi.RegisterInputType(reflect.TypeOf((*BucketAbacArrayInput)(nil)).Elem(), BucketAbacArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*BucketAbacMapInput)(nil)).Elem(), BucketAbacMap{}) + pulumi.RegisterOutputType(BucketAbacOutput{}) + pulumi.RegisterOutputType(BucketAbacArrayOutput{}) + pulumi.RegisterOutputType(BucketAbacMapOutput{}) +} diff --git a/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3/bucketAcl.go b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3/bucketAcl.go index 36efe5fe4..a276a5468 100644 --- a/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3/bucketAcl.go +++ b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3/bucketAcl.go @@ -254,26 +254,18 @@ import ( // // [canned ACL][1] (i.e. predefined grant), import using the `bucket`: // -// console -// // % pulumi import aws_s3_bucket_acl.example bucket-name // // If the owner (account ID) of the source bucket is the _same_ account used to configure the AWS Provider, and the source bucket is **configured** with a [canned ACL][1] (i.e. predefined grant), import using the `bucket` and `acl` separated by a comma (`,`): // -// console -// // % pulumi import aws_s3_bucket_acl.example bucket-name,private // // If the owner (account ID) of the source bucket _differs_ from the account used to configure the AWS Provider, and the source bucket is **not configured** with a [canned ACL][1] (i.e. predefined grant), imported using the `bucket` and `expected_bucket_owner` separated by a comma (`,`): // -// console -// // % pulumi import aws_s3_bucket_acl.example bucket-name,123456789012 // // If the owner (account ID) of the source bucket _differs_ from the account used to configure the AWS Provider, and the source bucket is **configured** with a [canned ACL][1] (i.e. predefined grant), imported using the `bucket`, `expected_bucket_owner`, and `acl` separated by commas (`,`): // -// console -// // % pulumi import aws_s3_bucket_acl.example bucket-name,123456789012,private // // [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html#canned-acl diff --git a/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3/bucketAclV2.go b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3/bucketAclV2.go index 2041d62ac..c4cb1e537 100644 --- a/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3/bucketAclV2.go +++ b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3/bucketAclV2.go @@ -254,26 +254,18 @@ import ( // // [canned ACL][1] (i.e. predefined grant), import using the `bucket`: // -// console -// // % pulumi import aws_s3_bucket_acl.example bucket-name // // If the owner (account ID) of the source bucket is the _same_ account used to configure the AWS Provider, and the source bucket is **configured** with a [canned ACL][1] (i.e. predefined grant), import using the `bucket` and `acl` separated by a comma (`,`): // -// console -// // % pulumi import aws_s3_bucket_acl.example bucket-name,private // // If the owner (account ID) of the source bucket _differs_ from the account used to configure the AWS Provider, and the source bucket is **not configured** with a [canned ACL][1] (i.e. predefined grant), imported using the `bucket` and `expected_bucket_owner` separated by a comma (`,`): // -// console -// // % pulumi import aws_s3_bucket_acl.example bucket-name,123456789012 // // If the owner (account ID) of the source bucket _differs_ from the account used to configure the AWS Provider, and the source bucket is **configured** with a [canned ACL][1] (i.e. predefined grant), imported using the `bucket`, `expected_bucket_owner`, and `acl` separated by commas (`,`): // -// console -// // % pulumi import aws_s3_bucket_acl.example bucket-name,123456789012,private // // Deprecated: aws.s3/bucketaclv2.BucketAclV2 has been deprecated in favor of aws.s3/bucketacl.BucketAcl diff --git a/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3/bucketCorsConfiguration.go b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3/bucketCorsConfiguration.go index 14fc84c55..3c55b6ed4 100644 --- a/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3/bucketCorsConfiguration.go +++ b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3/bucketCorsConfiguration.go @@ -108,14 +108,10 @@ import ( // // If the owner (account ID) of the source bucket is the same account used to configure the AWS Provider, import using the `bucket`: // -// console -// // % pulumi import aws_s3_bucket_cors_configuration.example bucket-name // // If the owner (account ID) of the source bucket differs from the account used to configure the AWS Provider, import using the `bucket` and `expected_bucket_owner` separated by a comma (`,`): // -// console -// // % pulumi import aws_s3_bucket_cors_configuration.example bucket-name,123456789012 type BucketCorsConfiguration struct { pulumi.CustomResourceState diff --git a/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3/bucketCorsConfigurationV2.go b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3/bucketCorsConfigurationV2.go index d7924b1f8..05036c406 100644 --- a/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3/bucketCorsConfigurationV2.go +++ b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3/bucketCorsConfigurationV2.go @@ -108,14 +108,10 @@ import ( // // If the owner (account ID) of the source bucket is the same account used to configure the AWS Provider, import using the `bucket`: // -// console -// // % pulumi import aws_s3_bucket_cors_configuration.example bucket-name // // If the owner (account ID) of the source bucket differs from the account used to configure the AWS Provider, import using the `bucket` and `expected_bucket_owner` separated by a comma (`,`): // -// console -// // % pulumi import aws_s3_bucket_cors_configuration.example bucket-name,123456789012 // // Deprecated: aws.s3/bucketcorsconfigurationv2.BucketCorsConfigurationV2 has been deprecated in favor of aws.s3/bucketcorsconfiguration.BucketCorsConfiguration diff --git a/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3/bucketLogging.go b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3/bucketLogging.go index 0e2799a22..b2b5c9e08 100644 --- a/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3/bucketLogging.go +++ b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3/bucketLogging.go @@ -202,14 +202,10 @@ import ( // // If the owner (account ID) of the source bucket is the same account used to configure the AWS Provider, import using the `bucket`: // -// console -// // % pulumi import aws_s3_bucket_logging.example bucket-name // // If the owner (account ID) of the source bucket differs from the account used to configure the AWS Provider, import using the `bucket` and `expected_bucket_owner` separated by a comma (`,`): // -// console -// // % pulumi import aws_s3_bucket_logging.example bucket-name,123456789012 type BucketLogging struct { pulumi.CustomResourceState diff --git a/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3/bucketLoggingV2.go b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3/bucketLoggingV2.go index 24097942d..a7cc5609f 100644 --- a/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3/bucketLoggingV2.go +++ b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3/bucketLoggingV2.go @@ -202,14 +202,10 @@ import ( // // If the owner (account ID) of the source bucket is the same account used to configure the AWS Provider, import using the `bucket`: // -// console -// // % pulumi import aws_s3_bucket_logging.example bucket-name // // If the owner (account ID) of the source bucket differs from the account used to configure the AWS Provider, import using the `bucket` and `expected_bucket_owner` separated by a comma (`,`): // -// console -// // % pulumi import aws_s3_bucket_logging.example bucket-name,123456789012 // // Deprecated: aws.s3/bucketloggingv2.BucketLoggingV2 has been deprecated in favor of aws.s3/bucketlogging.BucketLogging diff --git a/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3/bucketObject.go b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3/bucketObject.go index 0aa8df293..e4170bd33 100644 --- a/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3/bucketObject.go +++ b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3/bucketObject.go @@ -275,14 +275,10 @@ import ( // // Import using the `id`, which is the bucket name and the key together: // -// console -// // % pulumi import aws_s3_bucket_object.example some-bucket-name/some/key.txt // // Import using S3 URL syntax: // -// console -// // % pulumi import aws_s3_bucket_object.example s3://some-bucket-name/some/key.txt type BucketObject struct { pulumi.CustomResourceState diff --git a/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3/bucketObjectv2.go b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3/bucketObjectv2.go index eb2b0b747..b3b9dabb0 100644 --- a/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3/bucketObjectv2.go +++ b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3/bucketObjectv2.go @@ -322,14 +322,10 @@ import ( // // Import using the `id`, which is the bucket name and the key together: // -// console -// // % pulumi import aws_s3_object.example some-bucket-name/some/key.txt // // Import using S3 URL syntax: // -// console -// // % pulumi import aws_s3_object.example s3://some-bucket-name/some/key.txt type BucketObjectv2 struct { pulumi.CustomResourceState diff --git a/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3/bucketPolicy.go b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3/bucketPolicy.go index 9296c5f0b..3d85ffda2 100644 --- a/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3/bucketPolicy.go +++ b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3/bucketPolicy.go @@ -98,8 +98,6 @@ import ( // // Using `pulumi import`, import S3 bucket policies using the bucket name. For example: // -// console -// // % pulumi import aws_s3_bucket_policy.example my-tf-test-bucket type BucketPolicy struct { pulumi.CustomResourceState diff --git a/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3/bucketServerSideEncryptionConfiguration.go b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3/bucketServerSideEncryptionConfiguration.go index 67b0e6152..3acad14ba 100644 --- a/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3/bucketServerSideEncryptionConfiguration.go +++ b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3/bucketServerSideEncryptionConfiguration.go @@ -16,6 +16,8 @@ import ( // // > **NOTE:** Destroying an `s3.BucketServerSideEncryptionConfiguration` resource resets the bucket to [Amazon S3 bucket default encryption](https://docs.aws.amazon.com/AmazonS3/latest/userguide/default-encryption-faq.html). // +// > **NOTE:** Starting in March 2026, Amazon S3 will automatically block server-side encryption with customer-provided keys (SSE-C) for all new buckets. Use the `blockedEncryptionTypes` argument to manage this behavior. For more information, see the [SSE-C changes FAQ](https://docs.aws.amazon.com/AmazonS3/latest/userguide/default-s3-c-encryption-setting-faq.html). +// // ## Example Usage // // ```go @@ -64,6 +66,58 @@ import ( // // ``` // +// ### Blocking SSE-C Uploads +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-aws/sdk/v7/go/aws/kms" +// "github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// mykey, err := kms.NewKey(ctx, "mykey", &kms.KeyArgs{ +// Description: pulumi.String("This key is used to encrypt bucket objects"), +// DeletionWindowInDays: pulumi.Int(10), +// }) +// if err != nil { +// return err +// } +// mybucket, err := s3.NewBucket(ctx, "mybucket", &s3.BucketArgs{ +// Bucket: pulumi.String("mybucket"), +// }) +// if err != nil { +// return err +// } +// _, err = s3.NewBucketServerSideEncryptionConfiguration(ctx, "example", &s3.BucketServerSideEncryptionConfigurationArgs{ +// Bucket: mybucket.ID(), +// Rules: s3.BucketServerSideEncryptionConfigurationRuleArray{ +// &s3.BucketServerSideEncryptionConfigurationRuleArgs{ +// ApplyServerSideEncryptionByDefault: &s3.BucketServerSideEncryptionConfigurationRuleApplyServerSideEncryptionByDefaultArgs{ +// KmsMasterKeyId: mykey.Arn, +// SseAlgorithm: pulumi.String("aws:kms"), +// }, +// BucketKeyEnabled: pulumi.Bool(true), +// BlockedEncryptionTypes: pulumi.StringArray{ +// pulumi.String("SSE-C"), +// }, +// }, +// }, +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// // ## Import // // ### Identity Schema @@ -96,14 +150,10 @@ import ( // // If the owner (account ID) of the source bucket is the same account used to configure the AWS Provider, import using the `bucket`: // -// console -// // % pulumi import aws_s3_bucket_server_side_encryption_configuration.example bucket-name // // If the owner (account ID) of the source bucket differs from the account used to configure the AWS Provider, import using the `bucket` and `expected_bucket_owner` separated by a comma (`,`): // -// console -// // % pulumi import aws_s3_bucket_server_side_encryption_configuration.example bucket-name,123456789012 type BucketServerSideEncryptionConfiguration struct { pulumi.CustomResourceState diff --git a/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3/bucketServerSideEncryptionConfigurationV2.go b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3/bucketServerSideEncryptionConfigurationV2.go index 301017858..0b2e17962 100644 --- a/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3/bucketServerSideEncryptionConfigurationV2.go +++ b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3/bucketServerSideEncryptionConfigurationV2.go @@ -16,6 +16,8 @@ import ( // // > **NOTE:** Destroying an `s3.BucketServerSideEncryptionConfiguration` resource resets the bucket to [Amazon S3 bucket default encryption](https://docs.aws.amazon.com/AmazonS3/latest/userguide/default-encryption-faq.html). // +// > **NOTE:** Starting in March 2026, Amazon S3 will automatically block server-side encryption with customer-provided keys (SSE-C) for all new buckets. Use the `blockedEncryptionTypes` argument to manage this behavior. For more information, see the [SSE-C changes FAQ](https://docs.aws.amazon.com/AmazonS3/latest/userguide/default-s3-c-encryption-setting-faq.html). +// // ## Example Usage // // ```go @@ -64,6 +66,58 @@ import ( // // ``` // +// ### Blocking SSE-C Uploads +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-aws/sdk/v7/go/aws/kms" +// "github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// mykey, err := kms.NewKey(ctx, "mykey", &kms.KeyArgs{ +// Description: pulumi.String("This key is used to encrypt bucket objects"), +// DeletionWindowInDays: pulumi.Int(10), +// }) +// if err != nil { +// return err +// } +// mybucket, err := s3.NewBucket(ctx, "mybucket", &s3.BucketArgs{ +// Bucket: pulumi.String("mybucket"), +// }) +// if err != nil { +// return err +// } +// _, err = s3.NewBucketServerSideEncryptionConfiguration(ctx, "example", &s3.BucketServerSideEncryptionConfigurationArgs{ +// Bucket: mybucket.ID(), +// Rules: s3.BucketServerSideEncryptionConfigurationRuleArray{ +// &s3.BucketServerSideEncryptionConfigurationRuleArgs{ +// ApplyServerSideEncryptionByDefault: &s3.BucketServerSideEncryptionConfigurationRuleApplyServerSideEncryptionByDefaultArgs{ +// KmsMasterKeyId: mykey.Arn, +// SseAlgorithm: pulumi.String("aws:kms"), +// }, +// BucketKeyEnabled: pulumi.Bool(true), +// BlockedEncryptionTypes: pulumi.StringArray{ +// pulumi.String("SSE-C"), +// }, +// }, +// }, +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// // ## Import // // ### Identity Schema @@ -96,14 +150,10 @@ import ( // // If the owner (account ID) of the source bucket is the same account used to configure the AWS Provider, import using the `bucket`: // -// console -// // % pulumi import aws_s3_bucket_server_side_encryption_configuration.example bucket-name // // If the owner (account ID) of the source bucket differs from the account used to configure the AWS Provider, import using the `bucket` and `expected_bucket_owner` separated by a comma (`,`): // -// console -// // % pulumi import aws_s3_bucket_server_side_encryption_configuration.example bucket-name,123456789012 // // Deprecated: aws.s3/bucketserversideencryptionconfigurationv2.BucketServerSideEncryptionConfigurationV2 has been deprecated in favor of aws.s3/bucketserversideencryptionconfiguration.BucketServerSideEncryptionConfiguration diff --git a/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3/bucketV2.go b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3/bucketV2.go index 0a8a42541..8bfc75569 100644 --- a/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3/bucketV2.go +++ b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3/bucketV2.go @@ -17,6 +17,8 @@ import ( // // > Object Lock can be enabled by using the `objectLockEnable` attribute or by using the `s3.BucketObjectLockConfiguration` resource. Please note, that by using the resource, Object Lock can be enabled/disabled without destroying and recreating the bucket. // +// > To support ABAC (Attribute Based Access Control) in general purpose buckets, this resource will now attempt to send tags in the create request and use the S3 Control tagging APIs [`TagResource`](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_TagResource.html), [`UntagResource`](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_UntagResource.html), and [`ListTagsForResource`](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_ListTagsForResource.html) for read and update operations. The calling principal must have the corresponding `s3:TagResource`, `s3:UntagResource`, and `s3:ListTagsForResource` [IAM permissions](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazons3.html#amazons3-actions-as-permissions). If the principal lacks the appropriate permissions, the provider will fall back to tagging after creation and using the S3 tagging APIs [`PutBucketTagging`](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketTagging.html), [`DeleteBucketTagging`](https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketTagging.html), and [`GetBucketTagging`](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketTagging.html) instead. With ABAC enabled, tag modifications may fail with the fall back behavior. See the [AWS documentation](https://docs.aws.amazon.com/AmazonS3/latest/userguide/buckets-tagging-enable-abac.html) for additional details on enabling ABAC in general purpose buckets. +// // ## Example Usage // // ### Private Bucket With Tags @@ -65,8 +67,6 @@ import ( // // Using `pulumi import`, import S3 bucket using the `bucket`. For example: // -// console -// // % pulumi import aws_s3_bucket.example bucket-name // // Deprecated: s3.BucketV2 has been deprecated in favor of s3.Bucket diff --git a/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3/bucketVersioning.go b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3/bucketVersioning.go index 48107f34e..1256ff6eb 100644 --- a/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3/bucketVersioning.go +++ b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3/bucketVersioning.go @@ -189,14 +189,10 @@ import ( // // If the owner (account ID) of the source bucket is the same account used to configure the AWS Provider, import using the `bucket`: // -// console -// // % pulumi import aws_s3_bucket_versioning.example bucket-name // // If the owner (account ID) of the source bucket differs from the account used to configure the AWS Provider, import using the `bucket` and `expected_bucket_owner` separated by a comma (`,`): // -// console -// // % pulumi import aws_s3_bucket_versioning.example bucket-name,123456789012 type BucketVersioning struct { pulumi.CustomResourceState diff --git a/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3/bucketVersioningV2.go b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3/bucketVersioningV2.go index 1e6484cc3..472ba39e4 100644 --- a/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3/bucketVersioningV2.go +++ b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3/bucketVersioningV2.go @@ -189,14 +189,10 @@ import ( // // If the owner (account ID) of the source bucket is the same account used to configure the AWS Provider, import using the `bucket`: // -// console -// // % pulumi import aws_s3_bucket_versioning.example bucket-name // // If the owner (account ID) of the source bucket differs from the account used to configure the AWS Provider, import using the `bucket` and `expected_bucket_owner` separated by a comma (`,`): // -// console -// // % pulumi import aws_s3_bucket_versioning.example bucket-name,123456789012 // // Deprecated: aws.s3/bucketversioningv2.BucketVersioningV2 has been deprecated in favor of aws.s3/bucketversioning.BucketVersioning diff --git a/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3/bucketWebsiteConfiguration.go b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3/bucketWebsiteConfiguration.go index 3b04001b7..37f54053c 100644 --- a/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3/bucketWebsiteConfiguration.go +++ b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3/bucketWebsiteConfiguration.go @@ -135,14 +135,10 @@ import ( // // If the owner (account ID) of the source bucket is the same account used to configure the AWS Provider, import using the `bucket`: // -// console -// // % pulumi import aws_s3_bucket_website_configuration.example bucket-name // // If the owner (account ID) of the source bucket differs from the account used to configure the AWS Provider, import using the `bucket` and `expected_bucket_owner` separated by a comma (`,`): // -// console -// // % pulumi import aws_s3_bucket_website_configuration.example bucket-name,123456789012 type BucketWebsiteConfiguration struct { pulumi.CustomResourceState diff --git a/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3/bucketWebsiteConfigurationV2.go b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3/bucketWebsiteConfigurationV2.go index 5547abed0..598e3c54b 100644 --- a/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3/bucketWebsiteConfigurationV2.go +++ b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3/bucketWebsiteConfigurationV2.go @@ -135,14 +135,10 @@ import ( // // If the owner (account ID) of the source bucket is the same account used to configure the AWS Provider, import using the `bucket`: // -// console -// // % pulumi import aws_s3_bucket_website_configuration.example bucket-name // // If the owner (account ID) of the source bucket differs from the account used to configure the AWS Provider, import using the `bucket` and `expected_bucket_owner` separated by a comma (`,`): // -// console -// // % pulumi import aws_s3_bucket_website_configuration.example bucket-name,123456789012 // // Deprecated: aws.s3/bucketwebsiteconfigurationv2.BucketWebsiteConfigurationV2 has been deprecated in favor of aws.s3/bucketwebsiteconfiguration.BucketWebsiteConfiguration diff --git a/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3/init.go b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3/init.go index 3dd350ad8..503407b32 100644 --- a/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3/init.go +++ b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3/init.go @@ -29,6 +29,8 @@ func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi r = &AnalyticsConfiguration{} case "aws:s3/bucket:Bucket": r = &Bucket{} + case "aws:s3/bucketAbac:BucketAbac": + r = &BucketAbac{} case "aws:s3/bucketAccelerateConfiguration:BucketAccelerateConfiguration": r = &BucketAccelerateConfiguration{} case "aws:s3/bucketAccelerateConfigurationV2:BucketAccelerateConfigurationV2": @@ -97,6 +99,12 @@ func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi r = &Inventory{} case "aws:s3/objectCopy:ObjectCopy": r = &ObjectCopy{} + case "aws:s3/vectorsIndex:VectorsIndex": + r = &VectorsIndex{} + case "aws:s3/vectorsVectorBucket:VectorsVectorBucket": + r = &VectorsVectorBucket{} + case "aws:s3/vectorsVectorBucketPolicy:VectorsVectorBucketPolicy": + r = &VectorsVectorBucketPolicy{} default: return nil, fmt.Errorf("unknown resource type: %s", typ) } @@ -130,6 +138,11 @@ func init() { "s3/bucket", &module{version}, ) + pulumi.RegisterResourceModule( + "aws", + "s3/bucketAbac", + &module{version}, + ) pulumi.RegisterResourceModule( "aws", "s3/bucketAccelerateConfiguration", @@ -300,4 +313,19 @@ func init() { "s3/objectCopy", &module{version}, ) + pulumi.RegisterResourceModule( + "aws", + "s3/vectorsIndex", + &module{version}, + ) + pulumi.RegisterResourceModule( + "aws", + "s3/vectorsVectorBucket", + &module{version}, + ) + pulumi.RegisterResourceModule( + "aws", + "s3/vectorsVectorBucketPolicy", + &module{version}, + ) } diff --git a/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3/pulumiTypes.go b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3/pulumiTypes.go index a9f7ea155..a7caf6d93 100644 --- a/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3/pulumiTypes.go +++ b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3/pulumiTypes.go @@ -1163,6 +1163,151 @@ func (o AnalyticsConfigurationStorageClassAnalysisDataExportDestinationS3BucketD }).(pulumi.StringPtrOutput) } +type BucketAbacAbacStatus struct { + // ABAC status of the general purpose bucket. + // Valid values are `Enabled` and `Disabled`. + // By default, ABAC is disabled for all Amazon S3 general purpose buckets. + Status string `pulumi:"status"` +} + +// BucketAbacAbacStatusInput is an input type that accepts BucketAbacAbacStatusArgs and BucketAbacAbacStatusOutput values. +// You can construct a concrete instance of `BucketAbacAbacStatusInput` via: +// +// BucketAbacAbacStatusArgs{...} +type BucketAbacAbacStatusInput interface { + pulumi.Input + + ToBucketAbacAbacStatusOutput() BucketAbacAbacStatusOutput + ToBucketAbacAbacStatusOutputWithContext(context.Context) BucketAbacAbacStatusOutput +} + +type BucketAbacAbacStatusArgs struct { + // ABAC status of the general purpose bucket. + // Valid values are `Enabled` and `Disabled`. + // By default, ABAC is disabled for all Amazon S3 general purpose buckets. + Status pulumi.StringInput `pulumi:"status"` +} + +func (BucketAbacAbacStatusArgs) ElementType() reflect.Type { + return reflect.TypeOf((*BucketAbacAbacStatus)(nil)).Elem() +} + +func (i BucketAbacAbacStatusArgs) ToBucketAbacAbacStatusOutput() BucketAbacAbacStatusOutput { + return i.ToBucketAbacAbacStatusOutputWithContext(context.Background()) +} + +func (i BucketAbacAbacStatusArgs) ToBucketAbacAbacStatusOutputWithContext(ctx context.Context) BucketAbacAbacStatusOutput { + return pulumi.ToOutputWithContext(ctx, i).(BucketAbacAbacStatusOutput) +} + +func (i BucketAbacAbacStatusArgs) ToBucketAbacAbacStatusPtrOutput() BucketAbacAbacStatusPtrOutput { + return i.ToBucketAbacAbacStatusPtrOutputWithContext(context.Background()) +} + +func (i BucketAbacAbacStatusArgs) ToBucketAbacAbacStatusPtrOutputWithContext(ctx context.Context) BucketAbacAbacStatusPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(BucketAbacAbacStatusOutput).ToBucketAbacAbacStatusPtrOutputWithContext(ctx) +} + +// BucketAbacAbacStatusPtrInput is an input type that accepts BucketAbacAbacStatusArgs, BucketAbacAbacStatusPtr and BucketAbacAbacStatusPtrOutput values. +// You can construct a concrete instance of `BucketAbacAbacStatusPtrInput` via: +// +// BucketAbacAbacStatusArgs{...} +// +// or: +// +// nil +type BucketAbacAbacStatusPtrInput interface { + pulumi.Input + + ToBucketAbacAbacStatusPtrOutput() BucketAbacAbacStatusPtrOutput + ToBucketAbacAbacStatusPtrOutputWithContext(context.Context) BucketAbacAbacStatusPtrOutput +} + +type bucketAbacAbacStatusPtrType BucketAbacAbacStatusArgs + +func BucketAbacAbacStatusPtr(v *BucketAbacAbacStatusArgs) BucketAbacAbacStatusPtrInput { + return (*bucketAbacAbacStatusPtrType)(v) +} + +func (*bucketAbacAbacStatusPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**BucketAbacAbacStatus)(nil)).Elem() +} + +func (i *bucketAbacAbacStatusPtrType) ToBucketAbacAbacStatusPtrOutput() BucketAbacAbacStatusPtrOutput { + return i.ToBucketAbacAbacStatusPtrOutputWithContext(context.Background()) +} + +func (i *bucketAbacAbacStatusPtrType) ToBucketAbacAbacStatusPtrOutputWithContext(ctx context.Context) BucketAbacAbacStatusPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(BucketAbacAbacStatusPtrOutput) +} + +type BucketAbacAbacStatusOutput struct{ *pulumi.OutputState } + +func (BucketAbacAbacStatusOutput) ElementType() reflect.Type { + return reflect.TypeOf((*BucketAbacAbacStatus)(nil)).Elem() +} + +func (o BucketAbacAbacStatusOutput) ToBucketAbacAbacStatusOutput() BucketAbacAbacStatusOutput { + return o +} + +func (o BucketAbacAbacStatusOutput) ToBucketAbacAbacStatusOutputWithContext(ctx context.Context) BucketAbacAbacStatusOutput { + return o +} + +func (o BucketAbacAbacStatusOutput) ToBucketAbacAbacStatusPtrOutput() BucketAbacAbacStatusPtrOutput { + return o.ToBucketAbacAbacStatusPtrOutputWithContext(context.Background()) +} + +func (o BucketAbacAbacStatusOutput) ToBucketAbacAbacStatusPtrOutputWithContext(ctx context.Context) BucketAbacAbacStatusPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v BucketAbacAbacStatus) *BucketAbacAbacStatus { + return &v + }).(BucketAbacAbacStatusPtrOutput) +} + +// ABAC status of the general purpose bucket. +// Valid values are `Enabled` and `Disabled`. +// By default, ABAC is disabled for all Amazon S3 general purpose buckets. +func (o BucketAbacAbacStatusOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v BucketAbacAbacStatus) string { return v.Status }).(pulumi.StringOutput) +} + +type BucketAbacAbacStatusPtrOutput struct{ *pulumi.OutputState } + +func (BucketAbacAbacStatusPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**BucketAbacAbacStatus)(nil)).Elem() +} + +func (o BucketAbacAbacStatusPtrOutput) ToBucketAbacAbacStatusPtrOutput() BucketAbacAbacStatusPtrOutput { + return o +} + +func (o BucketAbacAbacStatusPtrOutput) ToBucketAbacAbacStatusPtrOutputWithContext(ctx context.Context) BucketAbacAbacStatusPtrOutput { + return o +} + +func (o BucketAbacAbacStatusPtrOutput) Elem() BucketAbacAbacStatusOutput { + return o.ApplyT(func(v *BucketAbacAbacStatus) BucketAbacAbacStatus { + if v != nil { + return *v + } + var ret BucketAbacAbacStatus + return ret + }).(BucketAbacAbacStatusOutput) +} + +// ABAC status of the general purpose bucket. +// Valid values are `Enabled` and `Disabled`. +// By default, ABAC is disabled for all Amazon S3 general purpose buckets. +func (o BucketAbacAbacStatusPtrOutput) Status() pulumi.StringPtrOutput { + return o.ApplyT(func(v *BucketAbacAbacStatus) *string { + if v == nil { + return nil + } + return &v.Status + }).(pulumi.StringPtrOutput) +} + type BucketAclAccessControlPolicy struct { // Set of `grant` configuration blocks. See below. Grants []BucketAclAccessControlPolicyGrant `pulumi:"grants"` @@ -15540,6 +15685,8 @@ func (o BucketServerSideEncryptionConfigurationTypePtrOutput) Rule() BucketServe type BucketServerSideEncryptionConfigurationRule struct { // Single object for setting server-side encryption by default. See below. ApplyServerSideEncryptionByDefault *BucketServerSideEncryptionConfigurationRuleApplyServerSideEncryptionByDefault `pulumi:"applyServerSideEncryptionByDefault"` + // List of server-side encryption types to block for object uploads. Valid values are `SSE-C` (blocks uploads using server-side encryption with customer-provided keys) and `NONE` (unblocks all encryption types). Starting in March 2026, Amazon S3 will automatically block SSE-C uploads for all new buckets. + BlockedEncryptionTypes []string `pulumi:"blockedEncryptionTypes"` // Whether or not to use [Amazon S3 Bucket Keys](https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-key.html) for SSE-KMS. BucketKeyEnabled *bool `pulumi:"bucketKeyEnabled"` } @@ -15558,6 +15705,8 @@ type BucketServerSideEncryptionConfigurationRuleInput interface { type BucketServerSideEncryptionConfigurationRuleArgs struct { // Single object for setting server-side encryption by default. See below. ApplyServerSideEncryptionByDefault BucketServerSideEncryptionConfigurationRuleApplyServerSideEncryptionByDefaultPtrInput `pulumi:"applyServerSideEncryptionByDefault"` + // List of server-side encryption types to block for object uploads. Valid values are `SSE-C` (blocks uploads using server-side encryption with customer-provided keys) and `NONE` (unblocks all encryption types). Starting in March 2026, Amazon S3 will automatically block SSE-C uploads for all new buckets. + BlockedEncryptionTypes pulumi.StringArrayInput `pulumi:"blockedEncryptionTypes"` // Whether or not to use [Amazon S3 Bucket Keys](https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-key.html) for SSE-KMS. BucketKeyEnabled pulumi.BoolPtrInput `pulumi:"bucketKeyEnabled"` } @@ -15671,6 +15820,11 @@ func (o BucketServerSideEncryptionConfigurationRuleOutput) ApplyServerSideEncryp }).(BucketServerSideEncryptionConfigurationRuleApplyServerSideEncryptionByDefaultPtrOutput) } +// List of server-side encryption types to block for object uploads. Valid values are `SSE-C` (blocks uploads using server-side encryption with customer-provided keys) and `NONE` (unblocks all encryption types). Starting in March 2026, Amazon S3 will automatically block SSE-C uploads for all new buckets. +func (o BucketServerSideEncryptionConfigurationRuleOutput) BlockedEncryptionTypes() pulumi.StringArrayOutput { + return o.ApplyT(func(v BucketServerSideEncryptionConfigurationRule) []string { return v.BlockedEncryptionTypes }).(pulumi.StringArrayOutput) +} + // Whether or not to use [Amazon S3 Bucket Keys](https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-key.html) for SSE-KMS. func (o BucketServerSideEncryptionConfigurationRuleOutput) BucketKeyEnabled() pulumi.BoolPtrOutput { return o.ApplyT(func(v BucketServerSideEncryptionConfigurationRule) *bool { return v.BucketKeyEnabled }).(pulumi.BoolPtrOutput) @@ -15710,6 +15864,16 @@ func (o BucketServerSideEncryptionConfigurationRulePtrOutput) ApplyServerSideEnc }).(BucketServerSideEncryptionConfigurationRuleApplyServerSideEncryptionByDefaultPtrOutput) } +// List of server-side encryption types to block for object uploads. Valid values are `SSE-C` (blocks uploads using server-side encryption with customer-provided keys) and `NONE` (unblocks all encryption types). Starting in March 2026, Amazon S3 will automatically block SSE-C uploads for all new buckets. +func (o BucketServerSideEncryptionConfigurationRulePtrOutput) BlockedEncryptionTypes() pulumi.StringArrayOutput { + return o.ApplyT(func(v *BucketServerSideEncryptionConfigurationRule) []string { + if v == nil { + return nil + } + return v.BlockedEncryptionTypes + }).(pulumi.StringArrayOutput) +} + // Whether or not to use [Amazon S3 Bucket Keys](https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-key.html) for SSE-KMS. func (o BucketServerSideEncryptionConfigurationRulePtrOutput) BucketKeyEnabled() pulumi.BoolPtrOutput { return o.ApplyT(func(v *BucketServerSideEncryptionConfigurationRule) *bool { @@ -15903,6 +16067,8 @@ func (o BucketServerSideEncryptionConfigurationRuleApplyServerSideEncryptionByDe type BucketServerSideEncryptionConfigurationV2Rule struct { // Single object for setting server-side encryption by default. See below. ApplyServerSideEncryptionByDefault *BucketServerSideEncryptionConfigurationV2RuleApplyServerSideEncryptionByDefault `pulumi:"applyServerSideEncryptionByDefault"` + // List of server-side encryption types to block for object uploads. Valid values are `SSE-C` (blocks uploads using server-side encryption with customer-provided keys) and `NONE` (unblocks all encryption types). Starting in March 2026, Amazon S3 will automatically block SSE-C uploads for all new buckets. + BlockedEncryptionTypes []string `pulumi:"blockedEncryptionTypes"` // Whether or not to use [Amazon S3 Bucket Keys](https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-key.html) for SSE-KMS. BucketKeyEnabled *bool `pulumi:"bucketKeyEnabled"` } @@ -15921,6 +16087,8 @@ type BucketServerSideEncryptionConfigurationV2RuleInput interface { type BucketServerSideEncryptionConfigurationV2RuleArgs struct { // Single object for setting server-side encryption by default. See below. ApplyServerSideEncryptionByDefault BucketServerSideEncryptionConfigurationV2RuleApplyServerSideEncryptionByDefaultPtrInput `pulumi:"applyServerSideEncryptionByDefault"` + // List of server-side encryption types to block for object uploads. Valid values are `SSE-C` (blocks uploads using server-side encryption with customer-provided keys) and `NONE` (unblocks all encryption types). Starting in March 2026, Amazon S3 will automatically block SSE-C uploads for all new buckets. + BlockedEncryptionTypes pulumi.StringArrayInput `pulumi:"blockedEncryptionTypes"` // Whether or not to use [Amazon S3 Bucket Keys](https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-key.html) for SSE-KMS. BucketKeyEnabled pulumi.BoolPtrInput `pulumi:"bucketKeyEnabled"` } @@ -15983,6 +16151,11 @@ func (o BucketServerSideEncryptionConfigurationV2RuleOutput) ApplyServerSideEncr }).(BucketServerSideEncryptionConfigurationV2RuleApplyServerSideEncryptionByDefaultPtrOutput) } +// List of server-side encryption types to block for object uploads. Valid values are `SSE-C` (blocks uploads using server-side encryption with customer-provided keys) and `NONE` (unblocks all encryption types). Starting in March 2026, Amazon S3 will automatically block SSE-C uploads for all new buckets. +func (o BucketServerSideEncryptionConfigurationV2RuleOutput) BlockedEncryptionTypes() pulumi.StringArrayOutput { + return o.ApplyT(func(v BucketServerSideEncryptionConfigurationV2Rule) []string { return v.BlockedEncryptionTypes }).(pulumi.StringArrayOutput) +} + // Whether or not to use [Amazon S3 Bucket Keys](https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-key.html) for SSE-KMS. func (o BucketServerSideEncryptionConfigurationV2RuleOutput) BucketKeyEnabled() pulumi.BoolPtrOutput { return o.ApplyT(func(v BucketServerSideEncryptionConfigurationV2Rule) *bool { return v.BucketKeyEnabled }).(pulumi.BoolPtrOutput) @@ -23148,6 +23321,352 @@ func (o PolicyDocumentPtrOutput) Version() iam.PolicyDocumentVersionPtrOutput { }).(iam.PolicyDocumentVersionPtrOutput) } +type VectorsIndexEncryptionConfiguration struct { + KmsKeyArn string `pulumi:"kmsKeyArn"` + // Type of encryption to use. Valid values: `AES256`, `aws:kms`. Defaults to `AES256`. + SseType string `pulumi:"sseType"` +} + +// VectorsIndexEncryptionConfigurationInput is an input type that accepts VectorsIndexEncryptionConfigurationArgs and VectorsIndexEncryptionConfigurationOutput values. +// You can construct a concrete instance of `VectorsIndexEncryptionConfigurationInput` via: +// +// VectorsIndexEncryptionConfigurationArgs{...} +type VectorsIndexEncryptionConfigurationInput interface { + pulumi.Input + + ToVectorsIndexEncryptionConfigurationOutput() VectorsIndexEncryptionConfigurationOutput + ToVectorsIndexEncryptionConfigurationOutputWithContext(context.Context) VectorsIndexEncryptionConfigurationOutput +} + +type VectorsIndexEncryptionConfigurationArgs struct { + KmsKeyArn pulumi.StringInput `pulumi:"kmsKeyArn"` + // Type of encryption to use. Valid values: `AES256`, `aws:kms`. Defaults to `AES256`. + SseType pulumi.StringInput `pulumi:"sseType"` +} + +func (VectorsIndexEncryptionConfigurationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VectorsIndexEncryptionConfiguration)(nil)).Elem() +} + +func (i VectorsIndexEncryptionConfigurationArgs) ToVectorsIndexEncryptionConfigurationOutput() VectorsIndexEncryptionConfigurationOutput { + return i.ToVectorsIndexEncryptionConfigurationOutputWithContext(context.Background()) +} + +func (i VectorsIndexEncryptionConfigurationArgs) ToVectorsIndexEncryptionConfigurationOutputWithContext(ctx context.Context) VectorsIndexEncryptionConfigurationOutput { + return pulumi.ToOutputWithContext(ctx, i).(VectorsIndexEncryptionConfigurationOutput) +} + +// VectorsIndexEncryptionConfigurationArrayInput is an input type that accepts VectorsIndexEncryptionConfigurationArray and VectorsIndexEncryptionConfigurationArrayOutput values. +// You can construct a concrete instance of `VectorsIndexEncryptionConfigurationArrayInput` via: +// +// VectorsIndexEncryptionConfigurationArray{ VectorsIndexEncryptionConfigurationArgs{...} } +type VectorsIndexEncryptionConfigurationArrayInput interface { + pulumi.Input + + ToVectorsIndexEncryptionConfigurationArrayOutput() VectorsIndexEncryptionConfigurationArrayOutput + ToVectorsIndexEncryptionConfigurationArrayOutputWithContext(context.Context) VectorsIndexEncryptionConfigurationArrayOutput +} + +type VectorsIndexEncryptionConfigurationArray []VectorsIndexEncryptionConfigurationInput + +func (VectorsIndexEncryptionConfigurationArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]VectorsIndexEncryptionConfiguration)(nil)).Elem() +} + +func (i VectorsIndexEncryptionConfigurationArray) ToVectorsIndexEncryptionConfigurationArrayOutput() VectorsIndexEncryptionConfigurationArrayOutput { + return i.ToVectorsIndexEncryptionConfigurationArrayOutputWithContext(context.Background()) +} + +func (i VectorsIndexEncryptionConfigurationArray) ToVectorsIndexEncryptionConfigurationArrayOutputWithContext(ctx context.Context) VectorsIndexEncryptionConfigurationArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(VectorsIndexEncryptionConfigurationArrayOutput) +} + +type VectorsIndexEncryptionConfigurationOutput struct{ *pulumi.OutputState } + +func (VectorsIndexEncryptionConfigurationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VectorsIndexEncryptionConfiguration)(nil)).Elem() +} + +func (o VectorsIndexEncryptionConfigurationOutput) ToVectorsIndexEncryptionConfigurationOutput() VectorsIndexEncryptionConfigurationOutput { + return o +} + +func (o VectorsIndexEncryptionConfigurationOutput) ToVectorsIndexEncryptionConfigurationOutputWithContext(ctx context.Context) VectorsIndexEncryptionConfigurationOutput { + return o +} + +func (o VectorsIndexEncryptionConfigurationOutput) KmsKeyArn() pulumi.StringOutput { + return o.ApplyT(func(v VectorsIndexEncryptionConfiguration) string { return v.KmsKeyArn }).(pulumi.StringOutput) +} + +// Type of encryption to use. Valid values: `AES256`, `aws:kms`. Defaults to `AES256`. +func (o VectorsIndexEncryptionConfigurationOutput) SseType() pulumi.StringOutput { + return o.ApplyT(func(v VectorsIndexEncryptionConfiguration) string { return v.SseType }).(pulumi.StringOutput) +} + +type VectorsIndexEncryptionConfigurationArrayOutput struct{ *pulumi.OutputState } + +func (VectorsIndexEncryptionConfigurationArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]VectorsIndexEncryptionConfiguration)(nil)).Elem() +} + +func (o VectorsIndexEncryptionConfigurationArrayOutput) ToVectorsIndexEncryptionConfigurationArrayOutput() VectorsIndexEncryptionConfigurationArrayOutput { + return o +} + +func (o VectorsIndexEncryptionConfigurationArrayOutput) ToVectorsIndexEncryptionConfigurationArrayOutputWithContext(ctx context.Context) VectorsIndexEncryptionConfigurationArrayOutput { + return o +} + +func (o VectorsIndexEncryptionConfigurationArrayOutput) Index(i pulumi.IntInput) VectorsIndexEncryptionConfigurationOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) VectorsIndexEncryptionConfiguration { + return vs[0].([]VectorsIndexEncryptionConfiguration)[vs[1].(int)] + }).(VectorsIndexEncryptionConfigurationOutput) +} + +type VectorsIndexMetadataConfiguration struct { + // List of non-filterable metadata keys. + NonFilterableMetadataKeys []string `pulumi:"nonFilterableMetadataKeys"` +} + +// VectorsIndexMetadataConfigurationInput is an input type that accepts VectorsIndexMetadataConfigurationArgs and VectorsIndexMetadataConfigurationOutput values. +// You can construct a concrete instance of `VectorsIndexMetadataConfigurationInput` via: +// +// VectorsIndexMetadataConfigurationArgs{...} +type VectorsIndexMetadataConfigurationInput interface { + pulumi.Input + + ToVectorsIndexMetadataConfigurationOutput() VectorsIndexMetadataConfigurationOutput + ToVectorsIndexMetadataConfigurationOutputWithContext(context.Context) VectorsIndexMetadataConfigurationOutput +} + +type VectorsIndexMetadataConfigurationArgs struct { + // List of non-filterable metadata keys. + NonFilterableMetadataKeys pulumi.StringArrayInput `pulumi:"nonFilterableMetadataKeys"` +} + +func (VectorsIndexMetadataConfigurationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VectorsIndexMetadataConfiguration)(nil)).Elem() +} + +func (i VectorsIndexMetadataConfigurationArgs) ToVectorsIndexMetadataConfigurationOutput() VectorsIndexMetadataConfigurationOutput { + return i.ToVectorsIndexMetadataConfigurationOutputWithContext(context.Background()) +} + +func (i VectorsIndexMetadataConfigurationArgs) ToVectorsIndexMetadataConfigurationOutputWithContext(ctx context.Context) VectorsIndexMetadataConfigurationOutput { + return pulumi.ToOutputWithContext(ctx, i).(VectorsIndexMetadataConfigurationOutput) +} + +func (i VectorsIndexMetadataConfigurationArgs) ToVectorsIndexMetadataConfigurationPtrOutput() VectorsIndexMetadataConfigurationPtrOutput { + return i.ToVectorsIndexMetadataConfigurationPtrOutputWithContext(context.Background()) +} + +func (i VectorsIndexMetadataConfigurationArgs) ToVectorsIndexMetadataConfigurationPtrOutputWithContext(ctx context.Context) VectorsIndexMetadataConfigurationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VectorsIndexMetadataConfigurationOutput).ToVectorsIndexMetadataConfigurationPtrOutputWithContext(ctx) +} + +// VectorsIndexMetadataConfigurationPtrInput is an input type that accepts VectorsIndexMetadataConfigurationArgs, VectorsIndexMetadataConfigurationPtr and VectorsIndexMetadataConfigurationPtrOutput values. +// You can construct a concrete instance of `VectorsIndexMetadataConfigurationPtrInput` via: +// +// VectorsIndexMetadataConfigurationArgs{...} +// +// or: +// +// nil +type VectorsIndexMetadataConfigurationPtrInput interface { + pulumi.Input + + ToVectorsIndexMetadataConfigurationPtrOutput() VectorsIndexMetadataConfigurationPtrOutput + ToVectorsIndexMetadataConfigurationPtrOutputWithContext(context.Context) VectorsIndexMetadataConfigurationPtrOutput +} + +type vectorsIndexMetadataConfigurationPtrType VectorsIndexMetadataConfigurationArgs + +func VectorsIndexMetadataConfigurationPtr(v *VectorsIndexMetadataConfigurationArgs) VectorsIndexMetadataConfigurationPtrInput { + return (*vectorsIndexMetadataConfigurationPtrType)(v) +} + +func (*vectorsIndexMetadataConfigurationPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VectorsIndexMetadataConfiguration)(nil)).Elem() +} + +func (i *vectorsIndexMetadataConfigurationPtrType) ToVectorsIndexMetadataConfigurationPtrOutput() VectorsIndexMetadataConfigurationPtrOutput { + return i.ToVectorsIndexMetadataConfigurationPtrOutputWithContext(context.Background()) +} + +func (i *vectorsIndexMetadataConfigurationPtrType) ToVectorsIndexMetadataConfigurationPtrOutputWithContext(ctx context.Context) VectorsIndexMetadataConfigurationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VectorsIndexMetadataConfigurationPtrOutput) +} + +type VectorsIndexMetadataConfigurationOutput struct{ *pulumi.OutputState } + +func (VectorsIndexMetadataConfigurationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VectorsIndexMetadataConfiguration)(nil)).Elem() +} + +func (o VectorsIndexMetadataConfigurationOutput) ToVectorsIndexMetadataConfigurationOutput() VectorsIndexMetadataConfigurationOutput { + return o +} + +func (o VectorsIndexMetadataConfigurationOutput) ToVectorsIndexMetadataConfigurationOutputWithContext(ctx context.Context) VectorsIndexMetadataConfigurationOutput { + return o +} + +func (o VectorsIndexMetadataConfigurationOutput) ToVectorsIndexMetadataConfigurationPtrOutput() VectorsIndexMetadataConfigurationPtrOutput { + return o.ToVectorsIndexMetadataConfigurationPtrOutputWithContext(context.Background()) +} + +func (o VectorsIndexMetadataConfigurationOutput) ToVectorsIndexMetadataConfigurationPtrOutputWithContext(ctx context.Context) VectorsIndexMetadataConfigurationPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VectorsIndexMetadataConfiguration) *VectorsIndexMetadataConfiguration { + return &v + }).(VectorsIndexMetadataConfigurationPtrOutput) +} + +// List of non-filterable metadata keys. +func (o VectorsIndexMetadataConfigurationOutput) NonFilterableMetadataKeys() pulumi.StringArrayOutput { + return o.ApplyT(func(v VectorsIndexMetadataConfiguration) []string { return v.NonFilterableMetadataKeys }).(pulumi.StringArrayOutput) +} + +type VectorsIndexMetadataConfigurationPtrOutput struct{ *pulumi.OutputState } + +func (VectorsIndexMetadataConfigurationPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VectorsIndexMetadataConfiguration)(nil)).Elem() +} + +func (o VectorsIndexMetadataConfigurationPtrOutput) ToVectorsIndexMetadataConfigurationPtrOutput() VectorsIndexMetadataConfigurationPtrOutput { + return o +} + +func (o VectorsIndexMetadataConfigurationPtrOutput) ToVectorsIndexMetadataConfigurationPtrOutputWithContext(ctx context.Context) VectorsIndexMetadataConfigurationPtrOutput { + return o +} + +func (o VectorsIndexMetadataConfigurationPtrOutput) Elem() VectorsIndexMetadataConfigurationOutput { + return o.ApplyT(func(v *VectorsIndexMetadataConfiguration) VectorsIndexMetadataConfiguration { + if v != nil { + return *v + } + var ret VectorsIndexMetadataConfiguration + return ret + }).(VectorsIndexMetadataConfigurationOutput) +} + +// List of non-filterable metadata keys. +func (o VectorsIndexMetadataConfigurationPtrOutput) NonFilterableMetadataKeys() pulumi.StringArrayOutput { + return o.ApplyT(func(v *VectorsIndexMetadataConfiguration) []string { + if v == nil { + return nil + } + return v.NonFilterableMetadataKeys + }).(pulumi.StringArrayOutput) +} + +type VectorsVectorBucketEncryptionConfiguration struct { + // AWS KMS CMK ARN to use for the default encryption of the vector bucket. Allowed if and only if `sseType` is set to `aws:kms`. + KmsKeyArn string `pulumi:"kmsKeyArn"` + // Server-side encryption type to use for the default encryption of the vector bucket. Valid values: `AES256`, `aws:kms`. + SseType string `pulumi:"sseType"` +} + +// VectorsVectorBucketEncryptionConfigurationInput is an input type that accepts VectorsVectorBucketEncryptionConfigurationArgs and VectorsVectorBucketEncryptionConfigurationOutput values. +// You can construct a concrete instance of `VectorsVectorBucketEncryptionConfigurationInput` via: +// +// VectorsVectorBucketEncryptionConfigurationArgs{...} +type VectorsVectorBucketEncryptionConfigurationInput interface { + pulumi.Input + + ToVectorsVectorBucketEncryptionConfigurationOutput() VectorsVectorBucketEncryptionConfigurationOutput + ToVectorsVectorBucketEncryptionConfigurationOutputWithContext(context.Context) VectorsVectorBucketEncryptionConfigurationOutput +} + +type VectorsVectorBucketEncryptionConfigurationArgs struct { + // AWS KMS CMK ARN to use for the default encryption of the vector bucket. Allowed if and only if `sseType` is set to `aws:kms`. + KmsKeyArn pulumi.StringInput `pulumi:"kmsKeyArn"` + // Server-side encryption type to use for the default encryption of the vector bucket. Valid values: `AES256`, `aws:kms`. + SseType pulumi.StringInput `pulumi:"sseType"` +} + +func (VectorsVectorBucketEncryptionConfigurationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VectorsVectorBucketEncryptionConfiguration)(nil)).Elem() +} + +func (i VectorsVectorBucketEncryptionConfigurationArgs) ToVectorsVectorBucketEncryptionConfigurationOutput() VectorsVectorBucketEncryptionConfigurationOutput { + return i.ToVectorsVectorBucketEncryptionConfigurationOutputWithContext(context.Background()) +} + +func (i VectorsVectorBucketEncryptionConfigurationArgs) ToVectorsVectorBucketEncryptionConfigurationOutputWithContext(ctx context.Context) VectorsVectorBucketEncryptionConfigurationOutput { + return pulumi.ToOutputWithContext(ctx, i).(VectorsVectorBucketEncryptionConfigurationOutput) +} + +// VectorsVectorBucketEncryptionConfigurationArrayInput is an input type that accepts VectorsVectorBucketEncryptionConfigurationArray and VectorsVectorBucketEncryptionConfigurationArrayOutput values. +// You can construct a concrete instance of `VectorsVectorBucketEncryptionConfigurationArrayInput` via: +// +// VectorsVectorBucketEncryptionConfigurationArray{ VectorsVectorBucketEncryptionConfigurationArgs{...} } +type VectorsVectorBucketEncryptionConfigurationArrayInput interface { + pulumi.Input + + ToVectorsVectorBucketEncryptionConfigurationArrayOutput() VectorsVectorBucketEncryptionConfigurationArrayOutput + ToVectorsVectorBucketEncryptionConfigurationArrayOutputWithContext(context.Context) VectorsVectorBucketEncryptionConfigurationArrayOutput +} + +type VectorsVectorBucketEncryptionConfigurationArray []VectorsVectorBucketEncryptionConfigurationInput + +func (VectorsVectorBucketEncryptionConfigurationArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]VectorsVectorBucketEncryptionConfiguration)(nil)).Elem() +} + +func (i VectorsVectorBucketEncryptionConfigurationArray) ToVectorsVectorBucketEncryptionConfigurationArrayOutput() VectorsVectorBucketEncryptionConfigurationArrayOutput { + return i.ToVectorsVectorBucketEncryptionConfigurationArrayOutputWithContext(context.Background()) +} + +func (i VectorsVectorBucketEncryptionConfigurationArray) ToVectorsVectorBucketEncryptionConfigurationArrayOutputWithContext(ctx context.Context) VectorsVectorBucketEncryptionConfigurationArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(VectorsVectorBucketEncryptionConfigurationArrayOutput) +} + +type VectorsVectorBucketEncryptionConfigurationOutput struct{ *pulumi.OutputState } + +func (VectorsVectorBucketEncryptionConfigurationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VectorsVectorBucketEncryptionConfiguration)(nil)).Elem() +} + +func (o VectorsVectorBucketEncryptionConfigurationOutput) ToVectorsVectorBucketEncryptionConfigurationOutput() VectorsVectorBucketEncryptionConfigurationOutput { + return o +} + +func (o VectorsVectorBucketEncryptionConfigurationOutput) ToVectorsVectorBucketEncryptionConfigurationOutputWithContext(ctx context.Context) VectorsVectorBucketEncryptionConfigurationOutput { + return o +} + +// AWS KMS CMK ARN to use for the default encryption of the vector bucket. Allowed if and only if `sseType` is set to `aws:kms`. +func (o VectorsVectorBucketEncryptionConfigurationOutput) KmsKeyArn() pulumi.StringOutput { + return o.ApplyT(func(v VectorsVectorBucketEncryptionConfiguration) string { return v.KmsKeyArn }).(pulumi.StringOutput) +} + +// Server-side encryption type to use for the default encryption of the vector bucket. Valid values: `AES256`, `aws:kms`. +func (o VectorsVectorBucketEncryptionConfigurationOutput) SseType() pulumi.StringOutput { + return o.ApplyT(func(v VectorsVectorBucketEncryptionConfiguration) string { return v.SseType }).(pulumi.StringOutput) +} + +type VectorsVectorBucketEncryptionConfigurationArrayOutput struct{ *pulumi.OutputState } + +func (VectorsVectorBucketEncryptionConfigurationArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]VectorsVectorBucketEncryptionConfiguration)(nil)).Elem() +} + +func (o VectorsVectorBucketEncryptionConfigurationArrayOutput) ToVectorsVectorBucketEncryptionConfigurationArrayOutput() VectorsVectorBucketEncryptionConfigurationArrayOutput { + return o +} + +func (o VectorsVectorBucketEncryptionConfigurationArrayOutput) ToVectorsVectorBucketEncryptionConfigurationArrayOutputWithContext(ctx context.Context) VectorsVectorBucketEncryptionConfigurationArrayOutput { + return o +} + +func (o VectorsVectorBucketEncryptionConfigurationArrayOutput) Index(i pulumi.IntInput) VectorsVectorBucketEncryptionConfigurationOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) VectorsVectorBucketEncryptionConfiguration { + return vs[0].([]VectorsVectorBucketEncryptionConfiguration)[vs[1].(int)] + }).(VectorsVectorBucketEncryptionConfigurationOutput) +} + type GetAccessPointPublicAccessBlockConfiguration struct { // Whether Amazon S3 blocks public ACLs for buckets in this account. BlockPublicAcls bool `pulumi:"blockPublicAcls"` @@ -23384,6 +23903,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*AnalyticsConfigurationStorageClassAnalysisDataExportDestinationPtrInput)(nil)).Elem(), AnalyticsConfigurationStorageClassAnalysisDataExportDestinationArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*AnalyticsConfigurationStorageClassAnalysisDataExportDestinationS3BucketDestinationInput)(nil)).Elem(), AnalyticsConfigurationStorageClassAnalysisDataExportDestinationS3BucketDestinationArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*AnalyticsConfigurationStorageClassAnalysisDataExportDestinationS3BucketDestinationPtrInput)(nil)).Elem(), AnalyticsConfigurationStorageClassAnalysisDataExportDestinationS3BucketDestinationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*BucketAbacAbacStatusInput)(nil)).Elem(), BucketAbacAbacStatusArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*BucketAbacAbacStatusPtrInput)(nil)).Elem(), BucketAbacAbacStatusArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*BucketAclAccessControlPolicyInput)(nil)).Elem(), BucketAclAccessControlPolicyArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*BucketAclAccessControlPolicyPtrInput)(nil)).Elem(), BucketAclAccessControlPolicyArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*BucketAclAccessControlPolicyGrantInput)(nil)).Elem(), BucketAclAccessControlPolicyGrantArgs{}) @@ -23685,6 +24206,12 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*ObjectCopyOverrideProviderDefaultTagsPtrInput)(nil)).Elem(), ObjectCopyOverrideProviderDefaultTagsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*PolicyDocumentInput)(nil)).Elem(), PolicyDocumentArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*PolicyDocumentPtrInput)(nil)).Elem(), PolicyDocumentArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*VectorsIndexEncryptionConfigurationInput)(nil)).Elem(), VectorsIndexEncryptionConfigurationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*VectorsIndexEncryptionConfigurationArrayInput)(nil)).Elem(), VectorsIndexEncryptionConfigurationArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*VectorsIndexMetadataConfigurationInput)(nil)).Elem(), VectorsIndexMetadataConfigurationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*VectorsIndexMetadataConfigurationPtrInput)(nil)).Elem(), VectorsIndexMetadataConfigurationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*VectorsVectorBucketEncryptionConfigurationInput)(nil)).Elem(), VectorsVectorBucketEncryptionConfigurationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*VectorsVectorBucketEncryptionConfigurationArrayInput)(nil)).Elem(), VectorsVectorBucketEncryptionConfigurationArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetAccessPointPublicAccessBlockConfigurationInput)(nil)).Elem(), GetAccessPointPublicAccessBlockConfigurationArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetAccessPointPublicAccessBlockConfigurationArrayInput)(nil)).Elem(), GetAccessPointPublicAccessBlockConfigurationArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetAccessPointVpcConfigurationInput)(nil)).Elem(), GetAccessPointVpcConfigurationArgs{}) @@ -23703,6 +24230,8 @@ func init() { pulumi.RegisterOutputType(AnalyticsConfigurationStorageClassAnalysisDataExportDestinationPtrOutput{}) pulumi.RegisterOutputType(AnalyticsConfigurationStorageClassAnalysisDataExportDestinationS3BucketDestinationOutput{}) pulumi.RegisterOutputType(AnalyticsConfigurationStorageClassAnalysisDataExportDestinationS3BucketDestinationPtrOutput{}) + pulumi.RegisterOutputType(BucketAbacAbacStatusOutput{}) + pulumi.RegisterOutputType(BucketAbacAbacStatusPtrOutput{}) pulumi.RegisterOutputType(BucketAclAccessControlPolicyOutput{}) pulumi.RegisterOutputType(BucketAclAccessControlPolicyPtrOutput{}) pulumi.RegisterOutputType(BucketAclAccessControlPolicyGrantOutput{}) @@ -24004,6 +24533,12 @@ func init() { pulumi.RegisterOutputType(ObjectCopyOverrideProviderDefaultTagsPtrOutput{}) pulumi.RegisterOutputType(PolicyDocumentOutput{}) pulumi.RegisterOutputType(PolicyDocumentPtrOutput{}) + pulumi.RegisterOutputType(VectorsIndexEncryptionConfigurationOutput{}) + pulumi.RegisterOutputType(VectorsIndexEncryptionConfigurationArrayOutput{}) + pulumi.RegisterOutputType(VectorsIndexMetadataConfigurationOutput{}) + pulumi.RegisterOutputType(VectorsIndexMetadataConfigurationPtrOutput{}) + pulumi.RegisterOutputType(VectorsVectorBucketEncryptionConfigurationOutput{}) + pulumi.RegisterOutputType(VectorsVectorBucketEncryptionConfigurationArrayOutput{}) pulumi.RegisterOutputType(GetAccessPointPublicAccessBlockConfigurationOutput{}) pulumi.RegisterOutputType(GetAccessPointPublicAccessBlockConfigurationArrayOutput{}) pulumi.RegisterOutputType(GetAccessPointVpcConfigurationOutput{}) diff --git a/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3/vectorsIndex.go b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3/vectorsIndex.go new file mode 100644 index 000000000..48af1c08a --- /dev/null +++ b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3/vectorsIndex.go @@ -0,0 +1,438 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package s3 + +import ( + "context" + "reflect" + + "errors" + "github.com/pulumi/pulumi-aws/sdk/v7/go/aws/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Resource for managing an Amazon S3 Vectors Index. +// +// ## Example Usage +// +// ### Basic Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := s3.NewVectorsIndex(ctx, "example", &s3.VectorsIndexArgs{ +// IndexName: pulumi.String("example-index"), +// VectorBucketName: pulumi.Any(exampleAwsS3vectorsVectorBucket.VectorBucketName), +// DataType: pulumi.String("float32"), +// Dimension: pulumi.Int(2), +// DistanceMetric: pulumi.String("euclidean"), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// ## Import +// +// Using `pulumi import`, import S3 Vectors Index using the `index_arn`. For example: +// +// ```sh +// $ pulumi import aws:s3/vectorsIndex:VectorsIndex example arn:aws:s3vectors:us-west-2:123456789012:bucket/example-bucket/index/example-index +// ``` +type VectorsIndex struct { + pulumi.CustomResourceState + + // Date and time when the vector index was created. + CreationTime pulumi.StringOutput `pulumi:"creationTime"` + // Data type of the vectors to be inserted into the vector index. Valid values: `float32`. + DataType pulumi.StringOutput `pulumi:"dataType"` + // Dimensions of the vectors to be inserted into the vector index. + Dimension pulumi.IntOutput `pulumi:"dimension"` + // Distance metric to be used for similarity search. Valid values: `cosine`, `euclidean`. + DistanceMetric pulumi.StringOutput `pulumi:"distanceMetric"` + // Block for encryption configuration for the vector index. See `encyptionConfiguration` block below. + EncryptionConfigurations VectorsIndexEncryptionConfigurationArrayOutput `pulumi:"encryptionConfigurations"` + // ARN of the vector index. + IndexArn pulumi.StringOutput `pulumi:"indexArn"` + // Name of the vector index. + IndexName pulumi.StringOutput `pulumi:"indexName"` + // Block for metadata configuration for the vector index. See `metadataConfiguration` block below. + MetadataConfiguration VectorsIndexMetadataConfigurationPtrOutput `pulumi:"metadataConfiguration"` + // Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration. + Region pulumi.StringOutput `pulumi:"region"` + // Key-value map of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + Tags pulumi.StringMapOutput `pulumi:"tags"` + // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"` + // Name of the vector bucket for the vector index. + // + // The following arguments are optional: + VectorBucketName pulumi.StringOutput `pulumi:"vectorBucketName"` +} + +// NewVectorsIndex registers a new resource with the given unique name, arguments, and options. +func NewVectorsIndex(ctx *pulumi.Context, + name string, args *VectorsIndexArgs, opts ...pulumi.ResourceOption) (*VectorsIndex, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.DataType == nil { + return nil, errors.New("invalid value for required argument 'DataType'") + } + if args.Dimension == nil { + return nil, errors.New("invalid value for required argument 'Dimension'") + } + if args.DistanceMetric == nil { + return nil, errors.New("invalid value for required argument 'DistanceMetric'") + } + if args.IndexName == nil { + return nil, errors.New("invalid value for required argument 'IndexName'") + } + if args.VectorBucketName == nil { + return nil, errors.New("invalid value for required argument 'VectorBucketName'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource VectorsIndex + err := ctx.RegisterResource("aws:s3/vectorsIndex:VectorsIndex", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetVectorsIndex gets an existing VectorsIndex 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 GetVectorsIndex(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *VectorsIndexState, opts ...pulumi.ResourceOption) (*VectorsIndex, error) { + var resource VectorsIndex + err := ctx.ReadResource("aws:s3/vectorsIndex:VectorsIndex", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering VectorsIndex resources. +type vectorsIndexState struct { + // Date and time when the vector index was created. + CreationTime *string `pulumi:"creationTime"` + // Data type of the vectors to be inserted into the vector index. Valid values: `float32`. + DataType *string `pulumi:"dataType"` + // Dimensions of the vectors to be inserted into the vector index. + Dimension *int `pulumi:"dimension"` + // Distance metric to be used for similarity search. Valid values: `cosine`, `euclidean`. + DistanceMetric *string `pulumi:"distanceMetric"` + // Block for encryption configuration for the vector index. See `encyptionConfiguration` block below. + EncryptionConfigurations []VectorsIndexEncryptionConfiguration `pulumi:"encryptionConfigurations"` + // ARN of the vector index. + IndexArn *string `pulumi:"indexArn"` + // Name of the vector index. + IndexName *string `pulumi:"indexName"` + // Block for metadata configuration for the vector index. See `metadataConfiguration` block below. + MetadataConfiguration *VectorsIndexMetadataConfiguration `pulumi:"metadataConfiguration"` + // Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration. + Region *string `pulumi:"region"` + // Key-value map of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + Tags map[string]string `pulumi:"tags"` + // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + TagsAll map[string]string `pulumi:"tagsAll"` + // Name of the vector bucket for the vector index. + // + // The following arguments are optional: + VectorBucketName *string `pulumi:"vectorBucketName"` +} + +type VectorsIndexState struct { + // Date and time when the vector index was created. + CreationTime pulumi.StringPtrInput + // Data type of the vectors to be inserted into the vector index. Valid values: `float32`. + DataType pulumi.StringPtrInput + // Dimensions of the vectors to be inserted into the vector index. + Dimension pulumi.IntPtrInput + // Distance metric to be used for similarity search. Valid values: `cosine`, `euclidean`. + DistanceMetric pulumi.StringPtrInput + // Block for encryption configuration for the vector index. See `encyptionConfiguration` block below. + EncryptionConfigurations VectorsIndexEncryptionConfigurationArrayInput + // ARN of the vector index. + IndexArn pulumi.StringPtrInput + // Name of the vector index. + IndexName pulumi.StringPtrInput + // Block for metadata configuration for the vector index. See `metadataConfiguration` block below. + MetadataConfiguration VectorsIndexMetadataConfigurationPtrInput + // Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration. + Region pulumi.StringPtrInput + // Key-value map of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + Tags pulumi.StringMapInput + // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + TagsAll pulumi.StringMapInput + // Name of the vector bucket for the vector index. + // + // The following arguments are optional: + VectorBucketName pulumi.StringPtrInput +} + +func (VectorsIndexState) ElementType() reflect.Type { + return reflect.TypeOf((*vectorsIndexState)(nil)).Elem() +} + +type vectorsIndexArgs struct { + // Data type of the vectors to be inserted into the vector index. Valid values: `float32`. + DataType string `pulumi:"dataType"` + // Dimensions of the vectors to be inserted into the vector index. + Dimension int `pulumi:"dimension"` + // Distance metric to be used for similarity search. Valid values: `cosine`, `euclidean`. + DistanceMetric string `pulumi:"distanceMetric"` + // Block for encryption configuration for the vector index. See `encyptionConfiguration` block below. + EncryptionConfigurations []VectorsIndexEncryptionConfiguration `pulumi:"encryptionConfigurations"` + // Name of the vector index. + IndexName string `pulumi:"indexName"` + // Block for metadata configuration for the vector index. See `metadataConfiguration` block below. + MetadataConfiguration *VectorsIndexMetadataConfiguration `pulumi:"metadataConfiguration"` + // Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration. + Region *string `pulumi:"region"` + // Key-value map of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + Tags map[string]string `pulumi:"tags"` + // Name of the vector bucket for the vector index. + // + // The following arguments are optional: + VectorBucketName string `pulumi:"vectorBucketName"` +} + +// The set of arguments for constructing a VectorsIndex resource. +type VectorsIndexArgs struct { + // Data type of the vectors to be inserted into the vector index. Valid values: `float32`. + DataType pulumi.StringInput + // Dimensions of the vectors to be inserted into the vector index. + Dimension pulumi.IntInput + // Distance metric to be used for similarity search. Valid values: `cosine`, `euclidean`. + DistanceMetric pulumi.StringInput + // Block for encryption configuration for the vector index. See `encyptionConfiguration` block below. + EncryptionConfigurations VectorsIndexEncryptionConfigurationArrayInput + // Name of the vector index. + IndexName pulumi.StringInput + // Block for metadata configuration for the vector index. See `metadataConfiguration` block below. + MetadataConfiguration VectorsIndexMetadataConfigurationPtrInput + // Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration. + Region pulumi.StringPtrInput + // Key-value map of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + Tags pulumi.StringMapInput + // Name of the vector bucket for the vector index. + // + // The following arguments are optional: + VectorBucketName pulumi.StringInput +} + +func (VectorsIndexArgs) ElementType() reflect.Type { + return reflect.TypeOf((*vectorsIndexArgs)(nil)).Elem() +} + +type VectorsIndexInput interface { + pulumi.Input + + ToVectorsIndexOutput() VectorsIndexOutput + ToVectorsIndexOutputWithContext(ctx context.Context) VectorsIndexOutput +} + +func (*VectorsIndex) ElementType() reflect.Type { + return reflect.TypeOf((**VectorsIndex)(nil)).Elem() +} + +func (i *VectorsIndex) ToVectorsIndexOutput() VectorsIndexOutput { + return i.ToVectorsIndexOutputWithContext(context.Background()) +} + +func (i *VectorsIndex) ToVectorsIndexOutputWithContext(ctx context.Context) VectorsIndexOutput { + return pulumi.ToOutputWithContext(ctx, i).(VectorsIndexOutput) +} + +// VectorsIndexArrayInput is an input type that accepts VectorsIndexArray and VectorsIndexArrayOutput values. +// You can construct a concrete instance of `VectorsIndexArrayInput` via: +// +// VectorsIndexArray{ VectorsIndexArgs{...} } +type VectorsIndexArrayInput interface { + pulumi.Input + + ToVectorsIndexArrayOutput() VectorsIndexArrayOutput + ToVectorsIndexArrayOutputWithContext(context.Context) VectorsIndexArrayOutput +} + +type VectorsIndexArray []VectorsIndexInput + +func (VectorsIndexArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*VectorsIndex)(nil)).Elem() +} + +func (i VectorsIndexArray) ToVectorsIndexArrayOutput() VectorsIndexArrayOutput { + return i.ToVectorsIndexArrayOutputWithContext(context.Background()) +} + +func (i VectorsIndexArray) ToVectorsIndexArrayOutputWithContext(ctx context.Context) VectorsIndexArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(VectorsIndexArrayOutput) +} + +// VectorsIndexMapInput is an input type that accepts VectorsIndexMap and VectorsIndexMapOutput values. +// You can construct a concrete instance of `VectorsIndexMapInput` via: +// +// VectorsIndexMap{ "key": VectorsIndexArgs{...} } +type VectorsIndexMapInput interface { + pulumi.Input + + ToVectorsIndexMapOutput() VectorsIndexMapOutput + ToVectorsIndexMapOutputWithContext(context.Context) VectorsIndexMapOutput +} + +type VectorsIndexMap map[string]VectorsIndexInput + +func (VectorsIndexMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*VectorsIndex)(nil)).Elem() +} + +func (i VectorsIndexMap) ToVectorsIndexMapOutput() VectorsIndexMapOutput { + return i.ToVectorsIndexMapOutputWithContext(context.Background()) +} + +func (i VectorsIndexMap) ToVectorsIndexMapOutputWithContext(ctx context.Context) VectorsIndexMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(VectorsIndexMapOutput) +} + +type VectorsIndexOutput struct{ *pulumi.OutputState } + +func (VectorsIndexOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VectorsIndex)(nil)).Elem() +} + +func (o VectorsIndexOutput) ToVectorsIndexOutput() VectorsIndexOutput { + return o +} + +func (o VectorsIndexOutput) ToVectorsIndexOutputWithContext(ctx context.Context) VectorsIndexOutput { + return o +} + +// Date and time when the vector index was created. +func (o VectorsIndexOutput) CreationTime() pulumi.StringOutput { + return o.ApplyT(func(v *VectorsIndex) pulumi.StringOutput { return v.CreationTime }).(pulumi.StringOutput) +} + +// Data type of the vectors to be inserted into the vector index. Valid values: `float32`. +func (o VectorsIndexOutput) DataType() pulumi.StringOutput { + return o.ApplyT(func(v *VectorsIndex) pulumi.StringOutput { return v.DataType }).(pulumi.StringOutput) +} + +// Dimensions of the vectors to be inserted into the vector index. +func (o VectorsIndexOutput) Dimension() pulumi.IntOutput { + return o.ApplyT(func(v *VectorsIndex) pulumi.IntOutput { return v.Dimension }).(pulumi.IntOutput) +} + +// Distance metric to be used for similarity search. Valid values: `cosine`, `euclidean`. +func (o VectorsIndexOutput) DistanceMetric() pulumi.StringOutput { + return o.ApplyT(func(v *VectorsIndex) pulumi.StringOutput { return v.DistanceMetric }).(pulumi.StringOutput) +} + +// Block for encryption configuration for the vector index. See `encyptionConfiguration` block below. +func (o VectorsIndexOutput) EncryptionConfigurations() VectorsIndexEncryptionConfigurationArrayOutput { + return o.ApplyT(func(v *VectorsIndex) VectorsIndexEncryptionConfigurationArrayOutput { + return v.EncryptionConfigurations + }).(VectorsIndexEncryptionConfigurationArrayOutput) +} + +// ARN of the vector index. +func (o VectorsIndexOutput) IndexArn() pulumi.StringOutput { + return o.ApplyT(func(v *VectorsIndex) pulumi.StringOutput { return v.IndexArn }).(pulumi.StringOutput) +} + +// Name of the vector index. +func (o VectorsIndexOutput) IndexName() pulumi.StringOutput { + return o.ApplyT(func(v *VectorsIndex) pulumi.StringOutput { return v.IndexName }).(pulumi.StringOutput) +} + +// Block for metadata configuration for the vector index. See `metadataConfiguration` block below. +func (o VectorsIndexOutput) MetadataConfiguration() VectorsIndexMetadataConfigurationPtrOutput { + return o.ApplyT(func(v *VectorsIndex) VectorsIndexMetadataConfigurationPtrOutput { return v.MetadataConfiguration }).(VectorsIndexMetadataConfigurationPtrOutput) +} + +// Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration. +func (o VectorsIndexOutput) Region() pulumi.StringOutput { + return o.ApplyT(func(v *VectorsIndex) pulumi.StringOutput { return v.Region }).(pulumi.StringOutput) +} + +// Key-value map of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. +func (o VectorsIndexOutput) Tags() pulumi.StringMapOutput { + return o.ApplyT(func(v *VectorsIndex) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput) +} + +// A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. +func (o VectorsIndexOutput) TagsAll() pulumi.StringMapOutput { + return o.ApplyT(func(v *VectorsIndex) pulumi.StringMapOutput { return v.TagsAll }).(pulumi.StringMapOutput) +} + +// Name of the vector bucket for the vector index. +// +// The following arguments are optional: +func (o VectorsIndexOutput) VectorBucketName() pulumi.StringOutput { + return o.ApplyT(func(v *VectorsIndex) pulumi.StringOutput { return v.VectorBucketName }).(pulumi.StringOutput) +} + +type VectorsIndexArrayOutput struct{ *pulumi.OutputState } + +func (VectorsIndexArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*VectorsIndex)(nil)).Elem() +} + +func (o VectorsIndexArrayOutput) ToVectorsIndexArrayOutput() VectorsIndexArrayOutput { + return o +} + +func (o VectorsIndexArrayOutput) ToVectorsIndexArrayOutputWithContext(ctx context.Context) VectorsIndexArrayOutput { + return o +} + +func (o VectorsIndexArrayOutput) Index(i pulumi.IntInput) VectorsIndexOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *VectorsIndex { + return vs[0].([]*VectorsIndex)[vs[1].(int)] + }).(VectorsIndexOutput) +} + +type VectorsIndexMapOutput struct{ *pulumi.OutputState } + +func (VectorsIndexMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*VectorsIndex)(nil)).Elem() +} + +func (o VectorsIndexMapOutput) ToVectorsIndexMapOutput() VectorsIndexMapOutput { + return o +} + +func (o VectorsIndexMapOutput) ToVectorsIndexMapOutputWithContext(ctx context.Context) VectorsIndexMapOutput { + return o +} + +func (o VectorsIndexMapOutput) MapIndex(k pulumi.StringInput) VectorsIndexOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *VectorsIndex { + return vs[0].(map[string]*VectorsIndex)[vs[1].(string)] + }).(VectorsIndexOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*VectorsIndexInput)(nil)).Elem(), &VectorsIndex{}) + pulumi.RegisterInputType(reflect.TypeOf((*VectorsIndexArrayInput)(nil)).Elem(), VectorsIndexArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*VectorsIndexMapInput)(nil)).Elem(), VectorsIndexMap{}) + pulumi.RegisterOutputType(VectorsIndexOutput{}) + pulumi.RegisterOutputType(VectorsIndexArrayOutput{}) + pulumi.RegisterOutputType(VectorsIndexMapOutput{}) +} diff --git a/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3/vectorsVectorBucket.go b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3/vectorsVectorBucket.go new file mode 100644 index 000000000..cb42e2cf7 --- /dev/null +++ b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3/vectorsVectorBucket.go @@ -0,0 +1,394 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package s3 + +import ( + "context" + "reflect" + + "errors" + "github.com/pulumi/pulumi-aws/sdk/v7/go/aws/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Resource for managing an Amazon S3 Vectors Vector Bucket. +// +// ## Example Usage +// +// ### Basic Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := s3.NewVectorsVectorBucket(ctx, "example", &s3.VectorsVectorBucketArgs{ +// VectorBucketName: pulumi.String("example-bucket"), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// ### Encryption +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := s3.NewVectorsVectorBucket(ctx, "example", &s3.VectorsVectorBucketArgs{ +// VectorBucketName: pulumi.String("example-bucket"), +// EncryptionConfigurations: s3.VectorsVectorBucketEncryptionConfigurationArray{ +// &s3.VectorsVectorBucketEncryptionConfigurationArgs{ +// SseType: pulumi.String("aws:kms"), +// KmsKeyArn: pulumi.Any(exampleAwsKmsKey.Arn), +// }, +// }, +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// ## Import +// +// Using `pulumi import`, import S3 Vectors Vector Bucket using the `vector_bucket_arn`. For example: +// +// ```sh +// $ pulumi import aws:s3/vectorsVectorBucket:VectorsVectorBucket example arn:aws:s3vectors:us-west-2:123456789012:bucket/example-bucket +// ``` +type VectorsVectorBucket struct { + pulumi.CustomResourceState + + // Date and time when the vector bucket was created. + CreationTime pulumi.StringOutput `pulumi:"creationTime"` + // Encryption configuration for the vector bucket. See Encryption Configuration below for more details. + EncryptionConfigurations VectorsVectorBucketEncryptionConfigurationArrayOutput `pulumi:"encryptionConfigurations"` + // Boolean that indicates all indexes and vectors should be deleted from the vector bucket *when the vector bucket is destroyed* so that the vector bucket can be destroyed without error. Once this parameter is set to `true`, there must be a successful `pulumi up` run before a destroy is required to update this value in the resource state. Without a successful `pulumi up` after this parameter is set, this flag will have no effect. If setting this field in the same operation that would require replacing the vector bucket or destroying the vector bucket, this flag will not work. + ForceDestroy pulumi.BoolOutput `pulumi:"forceDestroy"` + // Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration. + Region pulumi.StringOutput `pulumi:"region"` + // Key-value map of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + Tags pulumi.StringMapOutput `pulumi:"tags"` + // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"` + // ARN of the vector bucket. + VectorBucketArn pulumi.StringOutput `pulumi:"vectorBucketArn"` + // Name of the vector bucket. + // + // The following arguments are optional: + VectorBucketName pulumi.StringOutput `pulumi:"vectorBucketName"` +} + +// NewVectorsVectorBucket registers a new resource with the given unique name, arguments, and options. +func NewVectorsVectorBucket(ctx *pulumi.Context, + name string, args *VectorsVectorBucketArgs, opts ...pulumi.ResourceOption) (*VectorsVectorBucket, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.VectorBucketName == nil { + return nil, errors.New("invalid value for required argument 'VectorBucketName'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource VectorsVectorBucket + err := ctx.RegisterResource("aws:s3/vectorsVectorBucket:VectorsVectorBucket", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetVectorsVectorBucket gets an existing VectorsVectorBucket 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 GetVectorsVectorBucket(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *VectorsVectorBucketState, opts ...pulumi.ResourceOption) (*VectorsVectorBucket, error) { + var resource VectorsVectorBucket + err := ctx.ReadResource("aws:s3/vectorsVectorBucket:VectorsVectorBucket", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering VectorsVectorBucket resources. +type vectorsVectorBucketState struct { + // Date and time when the vector bucket was created. + CreationTime *string `pulumi:"creationTime"` + // Encryption configuration for the vector bucket. See Encryption Configuration below for more details. + EncryptionConfigurations []VectorsVectorBucketEncryptionConfiguration `pulumi:"encryptionConfigurations"` + // Boolean that indicates all indexes and vectors should be deleted from the vector bucket *when the vector bucket is destroyed* so that the vector bucket can be destroyed without error. Once this parameter is set to `true`, there must be a successful `pulumi up` run before a destroy is required to update this value in the resource state. Without a successful `pulumi up` after this parameter is set, this flag will have no effect. If setting this field in the same operation that would require replacing the vector bucket or destroying the vector bucket, this flag will not work. + ForceDestroy *bool `pulumi:"forceDestroy"` + // Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration. + Region *string `pulumi:"region"` + // Key-value map of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + Tags map[string]string `pulumi:"tags"` + // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + TagsAll map[string]string `pulumi:"tagsAll"` + // ARN of the vector bucket. + VectorBucketArn *string `pulumi:"vectorBucketArn"` + // Name of the vector bucket. + // + // The following arguments are optional: + VectorBucketName *string `pulumi:"vectorBucketName"` +} + +type VectorsVectorBucketState struct { + // Date and time when the vector bucket was created. + CreationTime pulumi.StringPtrInput + // Encryption configuration for the vector bucket. See Encryption Configuration below for more details. + EncryptionConfigurations VectorsVectorBucketEncryptionConfigurationArrayInput + // Boolean that indicates all indexes and vectors should be deleted from the vector bucket *when the vector bucket is destroyed* so that the vector bucket can be destroyed without error. Once this parameter is set to `true`, there must be a successful `pulumi up` run before a destroy is required to update this value in the resource state. Without a successful `pulumi up` after this parameter is set, this flag will have no effect. If setting this field in the same operation that would require replacing the vector bucket or destroying the vector bucket, this flag will not work. + ForceDestroy pulumi.BoolPtrInput + // Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration. + Region pulumi.StringPtrInput + // Key-value map of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + Tags pulumi.StringMapInput + // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + TagsAll pulumi.StringMapInput + // ARN of the vector bucket. + VectorBucketArn pulumi.StringPtrInput + // Name of the vector bucket. + // + // The following arguments are optional: + VectorBucketName pulumi.StringPtrInput +} + +func (VectorsVectorBucketState) ElementType() reflect.Type { + return reflect.TypeOf((*vectorsVectorBucketState)(nil)).Elem() +} + +type vectorsVectorBucketArgs struct { + // Encryption configuration for the vector bucket. See Encryption Configuration below for more details. + EncryptionConfigurations []VectorsVectorBucketEncryptionConfiguration `pulumi:"encryptionConfigurations"` + // Boolean that indicates all indexes and vectors should be deleted from the vector bucket *when the vector bucket is destroyed* so that the vector bucket can be destroyed without error. Once this parameter is set to `true`, there must be a successful `pulumi up` run before a destroy is required to update this value in the resource state. Without a successful `pulumi up` after this parameter is set, this flag will have no effect. If setting this field in the same operation that would require replacing the vector bucket or destroying the vector bucket, this flag will not work. + ForceDestroy *bool `pulumi:"forceDestroy"` + // Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration. + Region *string `pulumi:"region"` + // Key-value map of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + Tags map[string]string `pulumi:"tags"` + // Name of the vector bucket. + // + // The following arguments are optional: + VectorBucketName string `pulumi:"vectorBucketName"` +} + +// The set of arguments for constructing a VectorsVectorBucket resource. +type VectorsVectorBucketArgs struct { + // Encryption configuration for the vector bucket. See Encryption Configuration below for more details. + EncryptionConfigurations VectorsVectorBucketEncryptionConfigurationArrayInput + // Boolean that indicates all indexes and vectors should be deleted from the vector bucket *when the vector bucket is destroyed* so that the vector bucket can be destroyed without error. Once this parameter is set to `true`, there must be a successful `pulumi up` run before a destroy is required to update this value in the resource state. Without a successful `pulumi up` after this parameter is set, this flag will have no effect. If setting this field in the same operation that would require replacing the vector bucket or destroying the vector bucket, this flag will not work. + ForceDestroy pulumi.BoolPtrInput + // Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration. + Region pulumi.StringPtrInput + // Key-value map of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + Tags pulumi.StringMapInput + // Name of the vector bucket. + // + // The following arguments are optional: + VectorBucketName pulumi.StringInput +} + +func (VectorsVectorBucketArgs) ElementType() reflect.Type { + return reflect.TypeOf((*vectorsVectorBucketArgs)(nil)).Elem() +} + +type VectorsVectorBucketInput interface { + pulumi.Input + + ToVectorsVectorBucketOutput() VectorsVectorBucketOutput + ToVectorsVectorBucketOutputWithContext(ctx context.Context) VectorsVectorBucketOutput +} + +func (*VectorsVectorBucket) ElementType() reflect.Type { + return reflect.TypeOf((**VectorsVectorBucket)(nil)).Elem() +} + +func (i *VectorsVectorBucket) ToVectorsVectorBucketOutput() VectorsVectorBucketOutput { + return i.ToVectorsVectorBucketOutputWithContext(context.Background()) +} + +func (i *VectorsVectorBucket) ToVectorsVectorBucketOutputWithContext(ctx context.Context) VectorsVectorBucketOutput { + return pulumi.ToOutputWithContext(ctx, i).(VectorsVectorBucketOutput) +} + +// VectorsVectorBucketArrayInput is an input type that accepts VectorsVectorBucketArray and VectorsVectorBucketArrayOutput values. +// You can construct a concrete instance of `VectorsVectorBucketArrayInput` via: +// +// VectorsVectorBucketArray{ VectorsVectorBucketArgs{...} } +type VectorsVectorBucketArrayInput interface { + pulumi.Input + + ToVectorsVectorBucketArrayOutput() VectorsVectorBucketArrayOutput + ToVectorsVectorBucketArrayOutputWithContext(context.Context) VectorsVectorBucketArrayOutput +} + +type VectorsVectorBucketArray []VectorsVectorBucketInput + +func (VectorsVectorBucketArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*VectorsVectorBucket)(nil)).Elem() +} + +func (i VectorsVectorBucketArray) ToVectorsVectorBucketArrayOutput() VectorsVectorBucketArrayOutput { + return i.ToVectorsVectorBucketArrayOutputWithContext(context.Background()) +} + +func (i VectorsVectorBucketArray) ToVectorsVectorBucketArrayOutputWithContext(ctx context.Context) VectorsVectorBucketArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(VectorsVectorBucketArrayOutput) +} + +// VectorsVectorBucketMapInput is an input type that accepts VectorsVectorBucketMap and VectorsVectorBucketMapOutput values. +// You can construct a concrete instance of `VectorsVectorBucketMapInput` via: +// +// VectorsVectorBucketMap{ "key": VectorsVectorBucketArgs{...} } +type VectorsVectorBucketMapInput interface { + pulumi.Input + + ToVectorsVectorBucketMapOutput() VectorsVectorBucketMapOutput + ToVectorsVectorBucketMapOutputWithContext(context.Context) VectorsVectorBucketMapOutput +} + +type VectorsVectorBucketMap map[string]VectorsVectorBucketInput + +func (VectorsVectorBucketMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*VectorsVectorBucket)(nil)).Elem() +} + +func (i VectorsVectorBucketMap) ToVectorsVectorBucketMapOutput() VectorsVectorBucketMapOutput { + return i.ToVectorsVectorBucketMapOutputWithContext(context.Background()) +} + +func (i VectorsVectorBucketMap) ToVectorsVectorBucketMapOutputWithContext(ctx context.Context) VectorsVectorBucketMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(VectorsVectorBucketMapOutput) +} + +type VectorsVectorBucketOutput struct{ *pulumi.OutputState } + +func (VectorsVectorBucketOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VectorsVectorBucket)(nil)).Elem() +} + +func (o VectorsVectorBucketOutput) ToVectorsVectorBucketOutput() VectorsVectorBucketOutput { + return o +} + +func (o VectorsVectorBucketOutput) ToVectorsVectorBucketOutputWithContext(ctx context.Context) VectorsVectorBucketOutput { + return o +} + +// Date and time when the vector bucket was created. +func (o VectorsVectorBucketOutput) CreationTime() pulumi.StringOutput { + return o.ApplyT(func(v *VectorsVectorBucket) pulumi.StringOutput { return v.CreationTime }).(pulumi.StringOutput) +} + +// Encryption configuration for the vector bucket. See Encryption Configuration below for more details. +func (o VectorsVectorBucketOutput) EncryptionConfigurations() VectorsVectorBucketEncryptionConfigurationArrayOutput { + return o.ApplyT(func(v *VectorsVectorBucket) VectorsVectorBucketEncryptionConfigurationArrayOutput { + return v.EncryptionConfigurations + }).(VectorsVectorBucketEncryptionConfigurationArrayOutput) +} + +// Boolean that indicates all indexes and vectors should be deleted from the vector bucket *when the vector bucket is destroyed* so that the vector bucket can be destroyed without error. Once this parameter is set to `true`, there must be a successful `pulumi up` run before a destroy is required to update this value in the resource state. Without a successful `pulumi up` after this parameter is set, this flag will have no effect. If setting this field in the same operation that would require replacing the vector bucket or destroying the vector bucket, this flag will not work. +func (o VectorsVectorBucketOutput) ForceDestroy() pulumi.BoolOutput { + return o.ApplyT(func(v *VectorsVectorBucket) pulumi.BoolOutput { return v.ForceDestroy }).(pulumi.BoolOutput) +} + +// Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration. +func (o VectorsVectorBucketOutput) Region() pulumi.StringOutput { + return o.ApplyT(func(v *VectorsVectorBucket) pulumi.StringOutput { return v.Region }).(pulumi.StringOutput) +} + +// Key-value map of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. +func (o VectorsVectorBucketOutput) Tags() pulumi.StringMapOutput { + return o.ApplyT(func(v *VectorsVectorBucket) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput) +} + +// A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. +func (o VectorsVectorBucketOutput) TagsAll() pulumi.StringMapOutput { + return o.ApplyT(func(v *VectorsVectorBucket) pulumi.StringMapOutput { return v.TagsAll }).(pulumi.StringMapOutput) +} + +// ARN of the vector bucket. +func (o VectorsVectorBucketOutput) VectorBucketArn() pulumi.StringOutput { + return o.ApplyT(func(v *VectorsVectorBucket) pulumi.StringOutput { return v.VectorBucketArn }).(pulumi.StringOutput) +} + +// Name of the vector bucket. +// +// The following arguments are optional: +func (o VectorsVectorBucketOutput) VectorBucketName() pulumi.StringOutput { + return o.ApplyT(func(v *VectorsVectorBucket) pulumi.StringOutput { return v.VectorBucketName }).(pulumi.StringOutput) +} + +type VectorsVectorBucketArrayOutput struct{ *pulumi.OutputState } + +func (VectorsVectorBucketArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*VectorsVectorBucket)(nil)).Elem() +} + +func (o VectorsVectorBucketArrayOutput) ToVectorsVectorBucketArrayOutput() VectorsVectorBucketArrayOutput { + return o +} + +func (o VectorsVectorBucketArrayOutput) ToVectorsVectorBucketArrayOutputWithContext(ctx context.Context) VectorsVectorBucketArrayOutput { + return o +} + +func (o VectorsVectorBucketArrayOutput) Index(i pulumi.IntInput) VectorsVectorBucketOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *VectorsVectorBucket { + return vs[0].([]*VectorsVectorBucket)[vs[1].(int)] + }).(VectorsVectorBucketOutput) +} + +type VectorsVectorBucketMapOutput struct{ *pulumi.OutputState } + +func (VectorsVectorBucketMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*VectorsVectorBucket)(nil)).Elem() +} + +func (o VectorsVectorBucketMapOutput) ToVectorsVectorBucketMapOutput() VectorsVectorBucketMapOutput { + return o +} + +func (o VectorsVectorBucketMapOutput) ToVectorsVectorBucketMapOutputWithContext(ctx context.Context) VectorsVectorBucketMapOutput { + return o +} + +func (o VectorsVectorBucketMapOutput) MapIndex(k pulumi.StringInput) VectorsVectorBucketOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *VectorsVectorBucket { + return vs[0].(map[string]*VectorsVectorBucket)[vs[1].(string)] + }).(VectorsVectorBucketOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*VectorsVectorBucketInput)(nil)).Elem(), &VectorsVectorBucket{}) + pulumi.RegisterInputType(reflect.TypeOf((*VectorsVectorBucketArrayInput)(nil)).Elem(), VectorsVectorBucketArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*VectorsVectorBucketMapInput)(nil)).Elem(), VectorsVectorBucketMap{}) + pulumi.RegisterOutputType(VectorsVectorBucketOutput{}) + pulumi.RegisterOutputType(VectorsVectorBucketArrayOutput{}) + pulumi.RegisterOutputType(VectorsVectorBucketMapOutput{}) +} diff --git a/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3/vectorsVectorBucketPolicy.go b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3/vectorsVectorBucketPolicy.go new file mode 100644 index 000000000..6251413d2 --- /dev/null +++ b/vendor/github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3/vectorsVectorBucketPolicy.go @@ -0,0 +1,318 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package s3 + +import ( + "context" + "reflect" + + "errors" + "github.com/pulumi/pulumi-aws/sdk/v7/go/aws/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Resource for managing an Amazon S3 Vectors Vector Bucket policy. +// +// ## Example Usage +// +// ### Basic Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := s3.NewVectorsVectorBucketPolicy(ctx, "example", &s3.VectorsVectorBucketPolicyArgs{ +// VectorBucketArn: pulumi.Any(exampleAwsS3vectorsVectorBucket.Arn), +// Policy: pulumi.String(`{ +// \"Version\": \"2012-10-17\", +// \"Id\": \"writePolicy\", +// \"Statement\": [{ +// \"Sid\": \"writeStatement\", +// \"Effect\": \"Allow\", +// \"Principal\": { +// \"AWS\": \"123456789012\" +// }, +// \"Action\": [ +// \"s3vectors:PutVectors\" +// ], +// \"Resource\": \"*\" +// }] +// } +// +// `), +// +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// ## Import +// +// Using `pulumi import`, import S3 Vectors Vector Bucket policy using the `vector_bucket_arn`. For example: +// +// ```sh +// $ pulumi import aws:s3/vectorsVectorBucketPolicy:VectorsVectorBucketPolicy example arn:aws:s3vectors:us-west-2:123456789012:bucket/example-bucket +// ``` +type VectorsVectorBucketPolicy struct { + pulumi.CustomResourceState + + // The policy document. + Policy pulumi.StringOutput `pulumi:"policy"` + // Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration. + Region pulumi.StringOutput `pulumi:"region"` + // ARN of the vector bucket. + // + // The following arguments are optional: + VectorBucketArn pulumi.StringOutput `pulumi:"vectorBucketArn"` +} + +// NewVectorsVectorBucketPolicy registers a new resource with the given unique name, arguments, and options. +func NewVectorsVectorBucketPolicy(ctx *pulumi.Context, + name string, args *VectorsVectorBucketPolicyArgs, opts ...pulumi.ResourceOption) (*VectorsVectorBucketPolicy, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Policy == nil { + return nil, errors.New("invalid value for required argument 'Policy'") + } + if args.VectorBucketArn == nil { + return nil, errors.New("invalid value for required argument 'VectorBucketArn'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource VectorsVectorBucketPolicy + err := ctx.RegisterResource("aws:s3/vectorsVectorBucketPolicy:VectorsVectorBucketPolicy", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetVectorsVectorBucketPolicy gets an existing VectorsVectorBucketPolicy 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 GetVectorsVectorBucketPolicy(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *VectorsVectorBucketPolicyState, opts ...pulumi.ResourceOption) (*VectorsVectorBucketPolicy, error) { + var resource VectorsVectorBucketPolicy + err := ctx.ReadResource("aws:s3/vectorsVectorBucketPolicy:VectorsVectorBucketPolicy", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering VectorsVectorBucketPolicy resources. +type vectorsVectorBucketPolicyState struct { + // The policy document. + Policy *string `pulumi:"policy"` + // Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration. + Region *string `pulumi:"region"` + // ARN of the vector bucket. + // + // The following arguments are optional: + VectorBucketArn *string `pulumi:"vectorBucketArn"` +} + +type VectorsVectorBucketPolicyState struct { + // The policy document. + Policy pulumi.StringPtrInput + // Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration. + Region pulumi.StringPtrInput + // ARN of the vector bucket. + // + // The following arguments are optional: + VectorBucketArn pulumi.StringPtrInput +} + +func (VectorsVectorBucketPolicyState) ElementType() reflect.Type { + return reflect.TypeOf((*vectorsVectorBucketPolicyState)(nil)).Elem() +} + +type vectorsVectorBucketPolicyArgs struct { + // The policy document. + Policy string `pulumi:"policy"` + // Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration. + Region *string `pulumi:"region"` + // ARN of the vector bucket. + // + // The following arguments are optional: + VectorBucketArn string `pulumi:"vectorBucketArn"` +} + +// The set of arguments for constructing a VectorsVectorBucketPolicy resource. +type VectorsVectorBucketPolicyArgs struct { + // The policy document. + Policy pulumi.StringInput + // Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration. + Region pulumi.StringPtrInput + // ARN of the vector bucket. + // + // The following arguments are optional: + VectorBucketArn pulumi.StringInput +} + +func (VectorsVectorBucketPolicyArgs) ElementType() reflect.Type { + return reflect.TypeOf((*vectorsVectorBucketPolicyArgs)(nil)).Elem() +} + +type VectorsVectorBucketPolicyInput interface { + pulumi.Input + + ToVectorsVectorBucketPolicyOutput() VectorsVectorBucketPolicyOutput + ToVectorsVectorBucketPolicyOutputWithContext(ctx context.Context) VectorsVectorBucketPolicyOutput +} + +func (*VectorsVectorBucketPolicy) ElementType() reflect.Type { + return reflect.TypeOf((**VectorsVectorBucketPolicy)(nil)).Elem() +} + +func (i *VectorsVectorBucketPolicy) ToVectorsVectorBucketPolicyOutput() VectorsVectorBucketPolicyOutput { + return i.ToVectorsVectorBucketPolicyOutputWithContext(context.Background()) +} + +func (i *VectorsVectorBucketPolicy) ToVectorsVectorBucketPolicyOutputWithContext(ctx context.Context) VectorsVectorBucketPolicyOutput { + return pulumi.ToOutputWithContext(ctx, i).(VectorsVectorBucketPolicyOutput) +} + +// VectorsVectorBucketPolicyArrayInput is an input type that accepts VectorsVectorBucketPolicyArray and VectorsVectorBucketPolicyArrayOutput values. +// You can construct a concrete instance of `VectorsVectorBucketPolicyArrayInput` via: +// +// VectorsVectorBucketPolicyArray{ VectorsVectorBucketPolicyArgs{...} } +type VectorsVectorBucketPolicyArrayInput interface { + pulumi.Input + + ToVectorsVectorBucketPolicyArrayOutput() VectorsVectorBucketPolicyArrayOutput + ToVectorsVectorBucketPolicyArrayOutputWithContext(context.Context) VectorsVectorBucketPolicyArrayOutput +} + +type VectorsVectorBucketPolicyArray []VectorsVectorBucketPolicyInput + +func (VectorsVectorBucketPolicyArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*VectorsVectorBucketPolicy)(nil)).Elem() +} + +func (i VectorsVectorBucketPolicyArray) ToVectorsVectorBucketPolicyArrayOutput() VectorsVectorBucketPolicyArrayOutput { + return i.ToVectorsVectorBucketPolicyArrayOutputWithContext(context.Background()) +} + +func (i VectorsVectorBucketPolicyArray) ToVectorsVectorBucketPolicyArrayOutputWithContext(ctx context.Context) VectorsVectorBucketPolicyArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(VectorsVectorBucketPolicyArrayOutput) +} + +// VectorsVectorBucketPolicyMapInput is an input type that accepts VectorsVectorBucketPolicyMap and VectorsVectorBucketPolicyMapOutput values. +// You can construct a concrete instance of `VectorsVectorBucketPolicyMapInput` via: +// +// VectorsVectorBucketPolicyMap{ "key": VectorsVectorBucketPolicyArgs{...} } +type VectorsVectorBucketPolicyMapInput interface { + pulumi.Input + + ToVectorsVectorBucketPolicyMapOutput() VectorsVectorBucketPolicyMapOutput + ToVectorsVectorBucketPolicyMapOutputWithContext(context.Context) VectorsVectorBucketPolicyMapOutput +} + +type VectorsVectorBucketPolicyMap map[string]VectorsVectorBucketPolicyInput + +func (VectorsVectorBucketPolicyMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*VectorsVectorBucketPolicy)(nil)).Elem() +} + +func (i VectorsVectorBucketPolicyMap) ToVectorsVectorBucketPolicyMapOutput() VectorsVectorBucketPolicyMapOutput { + return i.ToVectorsVectorBucketPolicyMapOutputWithContext(context.Background()) +} + +func (i VectorsVectorBucketPolicyMap) ToVectorsVectorBucketPolicyMapOutputWithContext(ctx context.Context) VectorsVectorBucketPolicyMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(VectorsVectorBucketPolicyMapOutput) +} + +type VectorsVectorBucketPolicyOutput struct{ *pulumi.OutputState } + +func (VectorsVectorBucketPolicyOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VectorsVectorBucketPolicy)(nil)).Elem() +} + +func (o VectorsVectorBucketPolicyOutput) ToVectorsVectorBucketPolicyOutput() VectorsVectorBucketPolicyOutput { + return o +} + +func (o VectorsVectorBucketPolicyOutput) ToVectorsVectorBucketPolicyOutputWithContext(ctx context.Context) VectorsVectorBucketPolicyOutput { + return o +} + +// The policy document. +func (o VectorsVectorBucketPolicyOutput) Policy() pulumi.StringOutput { + return o.ApplyT(func(v *VectorsVectorBucketPolicy) pulumi.StringOutput { return v.Policy }).(pulumi.StringOutput) +} + +// Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration. +func (o VectorsVectorBucketPolicyOutput) Region() pulumi.StringOutput { + return o.ApplyT(func(v *VectorsVectorBucketPolicy) pulumi.StringOutput { return v.Region }).(pulumi.StringOutput) +} + +// ARN of the vector bucket. +// +// The following arguments are optional: +func (o VectorsVectorBucketPolicyOutput) VectorBucketArn() pulumi.StringOutput { + return o.ApplyT(func(v *VectorsVectorBucketPolicy) pulumi.StringOutput { return v.VectorBucketArn }).(pulumi.StringOutput) +} + +type VectorsVectorBucketPolicyArrayOutput struct{ *pulumi.OutputState } + +func (VectorsVectorBucketPolicyArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*VectorsVectorBucketPolicy)(nil)).Elem() +} + +func (o VectorsVectorBucketPolicyArrayOutput) ToVectorsVectorBucketPolicyArrayOutput() VectorsVectorBucketPolicyArrayOutput { + return o +} + +func (o VectorsVectorBucketPolicyArrayOutput) ToVectorsVectorBucketPolicyArrayOutputWithContext(ctx context.Context) VectorsVectorBucketPolicyArrayOutput { + return o +} + +func (o VectorsVectorBucketPolicyArrayOutput) Index(i pulumi.IntInput) VectorsVectorBucketPolicyOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *VectorsVectorBucketPolicy { + return vs[0].([]*VectorsVectorBucketPolicy)[vs[1].(int)] + }).(VectorsVectorBucketPolicyOutput) +} + +type VectorsVectorBucketPolicyMapOutput struct{ *pulumi.OutputState } + +func (VectorsVectorBucketPolicyMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*VectorsVectorBucketPolicy)(nil)).Elem() +} + +func (o VectorsVectorBucketPolicyMapOutput) ToVectorsVectorBucketPolicyMapOutput() VectorsVectorBucketPolicyMapOutput { + return o +} + +func (o VectorsVectorBucketPolicyMapOutput) ToVectorsVectorBucketPolicyMapOutputWithContext(ctx context.Context) VectorsVectorBucketPolicyMapOutput { + return o +} + +func (o VectorsVectorBucketPolicyMapOutput) MapIndex(k pulumi.StringInput) VectorsVectorBucketPolicyOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *VectorsVectorBucketPolicy { + return vs[0].(map[string]*VectorsVectorBucketPolicy)[vs[1].(string)] + }).(VectorsVectorBucketPolicyOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*VectorsVectorBucketPolicyInput)(nil)).Elem(), &VectorsVectorBucketPolicy{}) + pulumi.RegisterInputType(reflect.TypeOf((*VectorsVectorBucketPolicyArrayInput)(nil)).Elem(), VectorsVectorBucketPolicyArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*VectorsVectorBucketPolicyMapInput)(nil)).Elem(), VectorsVectorBucketPolicyMap{}) + pulumi.RegisterOutputType(VectorsVectorBucketPolicyOutput{}) + pulumi.RegisterOutputType(VectorsVectorBucketPolicyArrayOutput{}) + pulumi.RegisterOutputType(VectorsVectorBucketPolicyMapOutput{}) +} diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/.version b/vendor/github.com/pulumi/pulumi/sdk/v3/.version index 327240ed0..ccdf4be02 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/.version +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/.version @@ -1 +1 @@ -3.210.0 +3.212.0 diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/apitype/policy.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/apitype/policy.go index 20ea00f8c..9e0de8585 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/apitype/policy.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/apitype/policy.go @@ -206,6 +206,28 @@ func (et EntityType) IsValid() bool { return false } +// PolicyGroupMode indicates the enforcement mode of a policy group +type PolicyGroupMode string + +const ( + // PolicyGroupModePreventative enforces policies during pulumi up/preview operations, + // potentially blocking resource changes when mandatory policies fail + PolicyGroupModePreventative PolicyGroupMode = "preventative" + + // PolicyGroupModeAudit monitors resource compliance without blocking operations, + // reporting policy violations for continuous compliance monitoring + PolicyGroupModeAudit PolicyGroupMode = "audit" +) + +// IsValid returns true if the PolicyGroupMode is a valid value. +func (m PolicyGroupMode) IsValid() bool { + switch m { + case PolicyGroupModePreventative, PolicyGroupModeAudit: + return true + } + return false +} + // GetPolicyPackResponse is the response to get a specific Policy Pack's // metadata and policies. type GetPolicyPackResponse struct { @@ -276,12 +298,13 @@ type ListPolicyGroupsResponse struct { // PolicyGroupSummary details the name, applicable stacks and the applied Policy // Packs for an organization's Policy Group. type PolicyGroupSummary struct { - Name string `json:"name"` - IsOrgDefault bool `json:"isOrgDefault"` - NumStacks int `json:"numStacks"` - NumAccounts int `json:"numAccounts,omitempty"` - EntityType EntityType `json:"entityType"` - NumEnabledPolicyPacks int `json:"numEnabledPolicyPacks"` + Name string `json:"name"` + IsOrgDefault bool `json:"isOrgDefault"` + NumStacks int `json:"numStacks"` + NumAccounts int `json:"numAccounts,omitempty"` + EntityType EntityType `json:"entityType"` + Mode PolicyGroupMode `json:"mode"` + NumEnabledPolicyPacks int `json:"numEnabledPolicyPacks"` } // GetPolicyPackConfigSchemaResponse is the response that includes the JSON diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/env/env.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/env/env.go index 732c53b28..8d0f2345e 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/env/env.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/env/env.go @@ -35,6 +35,8 @@ func Global() env.Env { return env.NewEnv(env.Global) } +var Home = env.String("HOME", "The directory where Pulumi stores global configuration and plugins in.") + // That Pulumi is running in experimental mode. // // This is our standard gate for an existing feature that's not quite ready to be stable diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/plugin/host.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/plugin/host.go index c387b90f5..a470c770d 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/plugin/host.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/resource/plugin/host.go @@ -149,10 +149,11 @@ func collectPluginsFromPackages( return nil, err } pluginProjectFile, err := workspace.DetectPluginPathFrom(path) - if err != nil { + pluginProjectFileNotFound := errors.Is(err, workspace.ErrPluginNotFound) + if err != nil && !pluginProjectFileNotFound { return nil, err } - if pluginProjectFile != "" { + if !pluginProjectFileNotFound { pp, err := workspace.LoadPluginProject(pluginProjectFile) if err != nil { return nil, err diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/workspace/loaders.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/workspace/loaders.go index 926ce83dc..d47e99ff2 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/workspace/loaders.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/workspace/loaders.go @@ -15,8 +15,10 @@ package workspace import ( + "errors" "fmt" "os" + "path/filepath" "strings" "github.com/pulumi/pulumi/sdk/v3/go/common/diag" @@ -290,6 +292,74 @@ func LoadPluginProject(path string) (*PluginProject, error) { return &pluginProject, nil } +// Detect the nearest enclosing Pulumi Project or Pulumi Plugin root directory. +// +// The returned [BaseProject] will be one of: +// - *[PluginProject] +// - *[Project] +// +// The returned string is the path to the returned file. If no plugin or project is found +// upwards of wd, then [ErrBaseProjectNotFound] will be returned. +func LoadBaseProjectFrom(wd string) (BaseProject, string, error) { + pluginPath, detectPluginErr := DetectPluginPathFrom(wd) + if detectPluginErr != nil && !errors.Is(detectPluginErr, ErrPluginNotFound) { + return nil, "", fmt.Errorf("unable to detect if %q is in a plugin path: %w", wd, detectPluginErr) + } + + loadPlugin := func() (BaseProject, string, error) { + pluginProj, err := LoadPluginProject(pluginPath) + if err != nil { + return nil, "", err + } + + return pluginProj, pluginPath, nil + } + + projectPath, detectProjectErr := DetectProjectPathFrom(wd) + if detectProjectErr != nil && !errors.Is(detectProjectErr, ErrProjectNotFound) { + return nil, "", fmt.Errorf("unable to detect if %q is in a plugin path: %w", wd, detectProjectErr) + } + + loadProject := func() (BaseProject, string, error) { + project, err := LoadProject(projectPath) + if err != nil { + return nil, "", err + } + return project, projectPath, nil + } + + switch { + // If both are missing, signal an error. + case errors.Is(detectPluginErr, ErrPluginNotFound) && + errors.Is(detectProjectErr, ErrProjectNotFound): + return nil, "", ErrBaseProjectNotFound + // We didn't find a plugin, which means we found a project. + case errors.Is(detectPluginErr, ErrPluginNotFound): + return loadProject() + // We didn't find a project, which means we found a plugin. + case errors.Is(detectProjectErr, ErrProjectNotFound): + return loadPlugin() + // We found both a plugin and a project. + // + // We want to load the innermost one. Since we know that both paths enclose wd, + // the innermost one is just the longest one. + default: + countSegments := func(path string) int { return strings.Count(path, string(filepath.Separator)) } + + pluginDepth := countSegments(filepath.Clean(pluginPath)) + projectDepth := countSegments(filepath.Clean(projectPath)) + switch { + case pluginDepth > projectDepth: + return loadPlugin() + case projectDepth > pluginDepth: + return loadProject() + default: + return nil, "", fmt.Errorf("detected both %s and %s in %s", + filepath.Base(pluginPath), filepath.Base(projectPath), filepath.Dir(pluginPath)) + } + } +} + // LoadPolicyPack reads a policy pack definition from a file. func LoadPolicyPack(path string) (*PolicyPackProject, error) { contract.Requiref(path != "", "path", "must not be empty") diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/workspace/paths.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/workspace/paths.go index 53b5f10bb..3d64bbf8d 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/workspace/paths.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/workspace/paths.go @@ -25,6 +25,7 @@ import ( "github.com/pulumi/pulumi/sdk/v3/go/common/diag" "github.com/pulumi/pulumi/sdk/v3/go/common/encoding" + "github.com/pulumi/pulumi/sdk/v3/go/common/env" "github.com/pulumi/pulumi/sdk/v3/go/common/tokens" "github.com/pulumi/pulumi/sdk/v3/go/common/util/fsutil" ) @@ -72,6 +73,8 @@ const ( // PulumiHomeEnvVar is a path to the '.pulumi' folder with plugins, access token, etc. // The folder can have any name, not necessarily '.pulumi'. // It defaults to the '/.pulumi' if not specified. + // + // Deprecated: use [github.com/pulumi/pulumi/sdk/v3/go/common/env.Home] instead. PulumiHomeEnvVar = "PULUMI_HOME" // PolicyPackFile is the base name of a Pulumi policy pack file. @@ -128,10 +131,14 @@ func DetectProjectStackDeploymentPath(stackName tokens.QName) (string, error) { return filepath.Join(filepath.Dir(projPath), fileName), nil } -var ErrProjectNotFound = errors.New("no project file found") +var ( + ErrProjectNotFound = errors.New("no project file found") + ErrPluginNotFound = errors.New("no plugin file found") + ErrBaseProjectNotFound = fmt.Errorf("%w and %w", ErrProjectNotFound, ErrPluginNotFound) +) // DetectProjectPathFrom locates the closest project from the given path, searching "upwards" in the directory -// hierarchy. If no project is found, an empty path is returned. +// hierarchy. If no project is found, ErrProjectNotFound is returned. func DetectProjectPathFrom(dir string) (string, error) { var path string _, err := fsutil.WalkUpDirs(dir, func(dir string) bool { @@ -169,7 +176,7 @@ func DetectPolicyPackPathFrom(path string) (string, error) { } // DetectPluginPathFrom locates the closest plugin from the given path, searching "upwards" in the directory -// hierarchy. If no project is found, an empty path is returned. +// hierarchy. If no project is found, ErrPluginNotFound is returned. func DetectPluginPathFrom(dir string) (string, error) { var path string _, err := fsutil.WalkUpDirs(dir, func(dir string) bool { @@ -178,7 +185,7 @@ func DetectPluginPathFrom(dir string) (string, error) { return ok }) - // We special case permission errors to cause ErrProjectNotFound to return from this function. This is so + // We special case permission errors to cause ErrPluginNotFound to return from this function. This is so // users can run pulumi with unreadable root directories. if errors.Is(err, fs.ErrPermission) { err = nil @@ -188,6 +195,10 @@ func DetectPluginPathFrom(dir string) (string, error) { return "", fmt.Errorf("failed to locate PulumiPlugin.yaml file: %w", err) } + if path == "" { + return "", ErrPluginNotFound + } + return path, nil } @@ -355,7 +366,7 @@ func GetCachedVersionFilePath() (string, error) { // GetPulumiHomeDir returns the path of the '.pulumi' folder where Pulumi puts its artifacts. func GetPulumiHomeDir() (string, error) { // Allow the folder we use to be overridden by an environment variable - dir := os.Getenv(PulumiHomeEnvVar) + dir := env.Home.Value() if dir != "" { return dir, nil } @@ -367,7 +378,7 @@ func GetPulumiHomeDir() (string, error) { } if user == nil || user.HomeDir == "" { - return "", fmt.Errorf("could not find user home directory, set %s", PulumiHomeEnvVar) + return "", fmt.Errorf("could not find user home directory, set %s", env.Home.Var().Name()) } return filepath.Join(user.HomeDir, BookkeepingDir), nil diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/workspace/plugins.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/workspace/plugins.go index e96c98747..7a715605b 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/workspace/plugins.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/workspace/plugins.go @@ -1002,7 +1002,6 @@ type PluginSpec struct { Kind apitype.PluginKind // the kind of the plugin (language, resource, etc). Version *semver.Version // the plugin's semantic version, if present. PluginDownloadURL string // an optional server to use when downloading this plugin. - PluginDir string // if set, will be used as the root plugin dir instead of ~/.pulumi/plugins. // if set will be used to validate the plugin downloaded matches. This is keyed by "$os-$arch", e.g. "linux-x64". Checksums map[string][]byte @@ -1114,19 +1113,22 @@ func parsePluginSpecFromURL( } // We're purposely dropping any authentication info from the URL here. The name is used as // the folder name for writing the plugin to disk, and we 1) don't want to write secrets - // in the folder name, 2) want to be able to reuse the same plugin even if the auth infoo + // in the folder name, 2) want to be able to reuse the same plugin even if the auth info // changes and 3) avoid issues with the auth info being too long for a folder name. urlWithoutAuth := &url.URL{ Scheme: parsedURL.Scheme, Host: parsedURL.Host, Path: parsedURL.Path, } - nameURL, _, err := gitutil.ParseGitRepoURL(urlWithoutAuth.String()) + nameURL, path, err := gitutil.ParseGitRepoURL(urlWithoutAuth.String()) if err != nil { return PluginSpec{}, inference, err } + if path != "" { + path = "_" + path + } pluginSpec := PluginSpec{ - Name: strings.ReplaceAll(strings.TrimPrefix(nameURL, "https://"), "/", "_"), + Name: strings.ReplaceAll(strings.TrimPrefix(nameURL, "https://")+path, "/", "_"), Kind: kind, Version: version, // Prefix the url with `git://`, so we can later recognize this as a git URL. @@ -1189,7 +1191,11 @@ func (spec PluginSpec) LocalName() (string, string) { if err != nil { return strings.ReplaceAll(trimmed, "/", "_"), "" } - return strings.ReplaceAll(strings.TrimPrefix(url, "https://"), "/", "_"), path + pathWithPrefix := path + if path != "" { + pathWithPrefix = "_" + path + } + return strings.ReplaceAll(strings.TrimPrefix(url, "https://")+pathWithPrefix, "/", "_"), path } return spec.Name, "" } @@ -1218,13 +1224,9 @@ func (spec PluginSpec) File() string { // DirPath returns the directory where this plugin should be installed. func (spec PluginSpec) DirPath() (string, error) { - var err error - dir := spec.PluginDir - if dir == "" { - dir, err = GetPluginDir() - if err != nil { - return "", err - } + dir, err := GetPluginDir() + if err != nil { + return "", err } return filepath.Join(dir, spec.Dir()), nil diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/workspace/project.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/workspace/project.go index 11106e139..999439caf 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/workspace/project.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/common/workspace/project.go @@ -20,6 +20,7 @@ import ( "errors" "fmt" "io" + "maps" "math" "os" "path/filepath" @@ -42,7 +43,6 @@ import ( "github.com/pulumi/pulumi/sdk/v3/go/common/util/contract" "github.com/pulumi/pulumi/sdk/v3/go/common/util/logging" "github.com/santhosh-tekuri/jsonschema/v5" - "golang.org/x/exp/maps" "gopkg.in/yaml.v3" ) @@ -603,10 +603,7 @@ func findClosestKey( match := "" closest := maxDistance + 1 - keys := maps.Keys(haystack) - slices.Sort(keys) - - for _, key := range keys { + for _, key := range slices.Sorted(maps.Keys(haystack)) { d := levenshtein.DistanceForStrings( []rune(strings.ToLower(needle)), []rune(strings.ToLower(key)), @@ -1069,7 +1066,7 @@ func (e *Environment) Remove(env string) *Environment { case string: match = e == env case map[string]any: - match = len(e) == 1 && maps.Keys(e)[0] == env + match = len(e) == 1 && slices.Collect(maps.Keys(e))[0] == env } if match { m["imports"] = append(imports[:i], imports[i+1:]...) diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/pulumi/context.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/pulumi/context.go index 06feff863..dcaac2f3a 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/pulumi/context.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/pulumi/context.go @@ -20,6 +20,7 @@ import ( "context" "errors" "fmt" + "maps" "math" "net/url" "os" @@ -43,7 +44,6 @@ import ( "github.com/pulumi/pulumi/sdk/v3/go/common/util/rpcutil" "github.com/pulumi/pulumi/sdk/v3/go/internal" pulumirpc "github.com/pulumi/pulumi/sdk/v3/proto/go" - "golang.org/x/exp/maps" "google.golang.org/grpc" "google.golang.org/grpc/credentials/insecure" "google.golang.org/protobuf/proto" @@ -1222,7 +1222,7 @@ func (ctx *Context) CallPackageSingle( return zeroType, errors.New("result must have exactly one element") } - result := maps.Values(asMap)[0] + result := slices.Collect(maps.Values(asMap))[0] if resultType := reflect.TypeOf(result); resultType != output.ElementType() { return zeroType, fmt.Errorf("result field type %s does not match expected type %s", resultType, output.ElementType()) } @@ -2499,7 +2499,7 @@ func (ctx *Context) prepareResourceInputs(res Resource, props Input, t string, o if err != nil { return nil, fmt.Errorf("expanding replacementTrigger dependencies: %w", err) } - replacementTriggerDeps = maps.Keys(depMap) + replacementTriggerDeps = slices.Collect(maps.Keys(depMap)) } if !rtValue.IsNull() { @@ -2642,7 +2642,7 @@ func (ctx *Context) getOpts( return resourceOpts{}, err } } - depURNs = maps.Keys(depSet) + depURNs = slices.Collect(maps.Keys(depSet)) } var providerRef string diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/pulumi/provider.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/pulumi/provider.go index f51aa6319..99a745b53 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/pulumi/provider.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/pulumi/provider.go @@ -18,7 +18,9 @@ import ( "context" "errors" "fmt" + "maps" "reflect" + "slices" "sort" "strings" @@ -29,7 +31,6 @@ import ( "github.com/pulumi/pulumi/sdk/v3/go/common/util/rpcutil/rpcerror" "github.com/pulumi/pulumi/sdk/v3/go/internal" pulumirpc "github.com/pulumi/pulumi/sdk/v3/proto/go" - "golang.org/x/exp/maps" "google.golang.org/grpc" ) @@ -247,8 +248,7 @@ func (ci constructInput) Dependencies(ctx *Context) []Resource { if ci.deps == nil { return nil } - urns := maps.Keys(ci.deps) - sort.Slice(urns, func(i, j int) bool { return urns[i] < urns[j] }) + urns := slices.Sorted(maps.Keys(ci.deps)) var result []Resource if len(urns) > 0 { result = make([]Resource, len(urns)) diff --git a/vendor/github.com/pulumi/pulumi/sdk/v3/go/pulumi/rpc.go b/vendor/github.com/pulumi/pulumi/sdk/v3/go/pulumi/rpc.go index 4e3c3b363..4ee25856b 100644 --- a/vendor/github.com/pulumi/pulumi/sdk/v3/go/pulumi/rpc.go +++ b/vendor/github.com/pulumi/pulumi/sdk/v3/go/pulumi/rpc.go @@ -18,13 +18,13 @@ import ( "context" "errors" "fmt" + "maps" "reflect" - "sort" + "slices" "strings" "sync" "github.com/blang/semver" - "golang.org/x/exp/maps" "github.com/pulumi/pulumi/sdk/v3/go/common/resource" rarchive "github.com/pulumi/pulumi/sdk/v3/go/common/resource/archive" @@ -309,8 +309,7 @@ func marshalInputOptionsImpl(v any, var dependencies []resource.URN if len(depSet) > 0 { dependencies = make([]resource.URN, len(depSet)) - urns := maps.Keys(depSet) - sort.Slice(urns, func(i, j int) bool { return urns[i] < urns[j] }) + urns := slices.Sorted(maps.Keys(depSet)) for i, urn := range urns { dependencies[i] = resource.URN(urn) } diff --git a/vendor/modules.txt b/vendor/modules.txt index a915558ed..82e5429ec 100644 --- a/vendor/modules.txt +++ b/vendor/modules.txt @@ -187,7 +187,7 @@ github.com/aws/aws-sdk-go-v2/internal/ini github.com/aws/aws-sdk-go-v2/internal/v4a github.com/aws/aws-sdk-go-v2/internal/v4a/internal/crypto github.com/aws/aws-sdk-go-v2/internal/v4a/internal/v4 -# github.com/aws/aws-sdk-go-v2/service/ec2 v1.276.0 +# github.com/aws/aws-sdk-go-v2/service/ec2 v1.277.0 ## explicit; go 1.23 github.com/aws/aws-sdk-go-v2/service/ec2 github.com/aws/aws-sdk-go-v2/service/ec2/internal/endpoints @@ -223,7 +223,7 @@ github.com/aws/aws-sdk-go-v2/service/internal/s3shared/config github.com/aws/aws-sdk-go-v2/service/pricing github.com/aws/aws-sdk-go-v2/service/pricing/internal/endpoints github.com/aws/aws-sdk-go-v2/service/pricing/types -# github.com/aws/aws-sdk-go-v2/service/s3 v1.93.1 +# github.com/aws/aws-sdk-go-v2/service/s3 v1.94.0 ## explicit; go 1.23 github.com/aws/aws-sdk-go-v2/service/s3 github.com/aws/aws-sdk-go-v2/service/s3/internal/arn @@ -307,7 +307,7 @@ github.com/charmbracelet/bubbles/viewport # github.com/charmbracelet/bubbletea v1.3.10 ## explicit; go 1.24.0 github.com/charmbracelet/bubbletea -# github.com/charmbracelet/colorprofile v0.3.3 +# github.com/charmbracelet/colorprofile v0.4.1 ## explicit; go 1.24.2 github.com/charmbracelet/colorprofile # github.com/charmbracelet/lipgloss v1.1.0 @@ -456,7 +456,7 @@ github.com/go-playground/locales/currency # github.com/go-playground/universal-translator v0.18.1 ## explicit; go 1.18 github.com/go-playground/universal-translator -# github.com/go-playground/validator/v10 v10.28.0 +# github.com/go-playground/validator/v10 v10.29.0 ## explicit; go 1.24.0 github.com/go-playground/validator/v10 # github.com/go-viper/mapstructure/v2 v2.4.0 @@ -617,14 +617,14 @@ github.com/pulumi/esc/internal/util github.com/pulumi/esc/schema github.com/pulumi/esc/syntax github.com/pulumi/esc/syntax/encoding -# github.com/pulumi/pulumi-aws-native/sdk v1.39.0 +# github.com/pulumi/pulumi-aws-native/sdk v1.40.0 ## explicit; go 1.24.7 github.com/pulumi/pulumi-aws-native/sdk/go/aws github.com/pulumi/pulumi-aws-native/sdk/go/aws/internal github.com/pulumi/pulumi-aws-native/sdk/go/aws/scheduler github.com/pulumi/pulumi-aws-native/sdk/go/aws/ssm -# github.com/pulumi/pulumi-aws/sdk/v7 v7.12.0 -## explicit; go 1.23.11 +# github.com/pulumi/pulumi-aws/sdk/v7 v7.14.0 +## explicit; go 1.24.0 github.com/pulumi/pulumi-aws/sdk/v7/go/aws github.com/pulumi/pulumi-aws/sdk/v7/go/aws/autoscaling github.com/pulumi/pulumi-aws/sdk/v7/go/aws/cloudwatch @@ -752,7 +752,7 @@ github.com/pulumi/pulumi-random/sdk/v4/go/random/internal ## explicit; go 1.23.11 github.com/pulumi/pulumi-tls/sdk/v5/go/tls github.com/pulumi/pulumi-tls/sdk/v5/go/tls/internal -# github.com/pulumi/pulumi/sdk/v3 v3.210.0 +# github.com/pulumi/pulumi/sdk/v3 v3.212.0 ## explicit; go 1.24.0 github.com/pulumi/pulumi/sdk/v3 github.com/pulumi/pulumi/sdk/v3/go/auto @@ -932,7 +932,7 @@ golang.org/x/crypto/ssh golang.org/x/crypto/ssh/agent golang.org/x/crypto/ssh/internal/bcrypt_pbkdf golang.org/x/crypto/ssh/knownhosts -# golang.org/x/exp v0.0.0-20251125195548-87e1e737ad39 +# golang.org/x/exp v0.0.0-20251209150349-8475f28825e9 ## explicit; go 1.24.0 golang.org/x/exp/maps golang.org/x/exp/slices @@ -1003,7 +1003,7 @@ golang.org/x/tools/internal/stdlib golang.org/x/tools/internal/typeparams golang.org/x/tools/internal/typesinternal golang.org/x/tools/internal/versions -# google.golang.org/genproto/googleapis/rpc v0.0.0-20251202230838-ff82c1b0f217 +# google.golang.org/genproto/googleapis/rpc v0.0.0-20251213004720-97cd9d5aeac2 ## explicit; go 1.24.0 google.golang.org/genproto/googleapis/rpc/status # google.golang.org/grpc v1.77.0