diff --git a/.github/actions/install/action.yml b/.github/actions/install/action.yml index 53a802be2..1507b1138 100644 --- a/.github/actions/install/action.yml +++ b/.github/actions/install/action.yml @@ -15,7 +15,7 @@ runs: go-version: "1.21.x" - name: Install Pulumi CLI - uses: pulumi/actions@v4 + uses: pulumi/actions@c7fad9e2f0b79653172b36538b8b34b3c0291952 # v6 - name: Setup Node uses: actions/setup-node@v3 @@ -24,9 +24,9 @@ runs: registry-url: https://registry.npmjs.org - name: Setup Python - uses: actions/setup-python@v4 + uses: actions/setup-python@v5 with: - python-version: "3.8" + python-version: "3.9" - name: Setup DotNet if: inputs.skip_dotnet_and_java != 'true' diff --git a/.github/workflows/run-acceptance-tests.yml b/.github/workflows/run-acceptance-tests.yml index dd6c89aa9..33a54decf 100644 --- a/.github/workflows/run-acceptance-tests.yml +++ b/.github/workflows/run-acceptance-tests.yml @@ -242,3 +242,4 @@ on: pull_request: branches: - master + - test-ci-changes diff --git a/.github/workflows/weekly-pulumi-update.yml b/.github/workflows/weekly-pulumi-update.yml index 919016c6f..6550a4dc7 100644 --- a/.github/workflows/weekly-pulumi-update.yml +++ b/.github/workflows/weekly-pulumi-update.yml @@ -93,7 +93,8 @@ jobs: env: GH_TOKEN: ${{ secrets.PULUMI_BOT_TOKEN }} run: | - gh pr create --title "Update pulumi/pulumi version to $PULUMI_VERSION" --body "Upgrading pulumi/pkg and pulumi/sdk to version $PULUMI_VERSION." + # See https://github.com/cli/cli/issues/6485#issuecomment-2560935183 for --head workaround + gh pr create --title "Update pulumi/pulumi version to $PULUMI_VERSION" --body "Upgrading pulumi/pkg and pulumi/sdk to version $PULUMI_VERSION." --head $(git branch --show-current) - name: Enable auto-merge if: steps.gomod.outputs.changes != 0 && github.event_name == 'schedule' env: diff --git a/Makefile b/Makefile index 1aecb0ba2..4c64116a3 100644 --- a/Makefile +++ b/Makefile @@ -17,8 +17,9 @@ CODEGEN_SRC := $(shell find schemagen -type f) WORKING_DIR := $(shell pwd) -GOPATH ?= ${HOME}/go -GOBIN ?= ${GOPATH}/bin +GOPATH := $(shell go env GOPATH) +GOBIN := ${GOPATH}/bin +export GOBIN=${GOPATH}/bin LanguageTags ?= "all" LOCAL_PLAT ?= "" @@ -28,7 +29,11 @@ PKG_ARGS := --no-bytecode --public-packages "*" --public # Local & branch builds will just used this fixed default version unless specified PROVIDER_VERSION ?= 2.0.0-alpha.0+dev # Use this normalised version everywhere rather than the raw input to ensure consistency. -VERSION_GENERIC = $(shell pulumictl convert-version --language generic --version "$(PROVIDER_VERSION)") +# Note recursive call to Make to auto-install pulumictl needs VERSION_GENERIC seeded to avoid infinite recursion. +VERSION_GENERIC ?= $(shell make VERSION_GENERIC=$(PROVIDER_VERSION) version_generic) +PULUMICTL_VERSION := v0.0.47 +PULUMICTL_BIN := $(shell which pulumictl 2>/dev/null) + GZIP_PREFIX := pulumi-resource-${PACK}-v${VERSION_GENERIC} @@ -89,9 +94,11 @@ dist/${GZIP_PREFIX}-%.tar.gz:: @# $< is the last dependency (the binary path from above) tar --gzip -cf $@ README.md LICENSE -C $$(dirname $<) . -.make/build_nodejs: bin/${CODEGEN} .make/schema ${AWSX_CLASSIC_SRC} +.make/generate_nodejs: bin/${CODEGEN} .make/schema ${AWSX_CLASSIC_SRC} rm -rf sdk/nodejs bin/${CODEGEN} nodejs sdk/nodejs schema.json $(VERSION_GENERIC) + @touch $@ +.make/build_nodejs: .make/generate_nodejs cd sdk/nodejs && \ yarn install --no-progress && \ yarn run tsc --version && \ @@ -99,52 +106,66 @@ dist/${GZIP_PREFIX}-%.tar.gz:: cp package.json ../../README.md ../../LICENSE bin/ @touch $@ -.make/build_java: PACKAGE_VERSION := $(VERSION_GENERIC) -.make/build_java: bin/pulumi-java-gen .make/schema ${AWSX_CLASSIC_SRC} +.make/generate_java: bin/pulumi-java-gen .make/schema ${AWSX_CLASSIC_SRC} rm -rf sdk/java $(WORKING_DIR)/bin/$(JAVA_GEN) generate --schema schema.json --out sdk/java --build gradle-nexus + @touch $@ +.make/build_java: PACKAGE_VERSION := $(VERSION_GENERIC) +.make/build_java: .make/generate_java cd sdk/java && \ gradle --console=plain build @touch $@ -bin/pulumi-java-gen:: - $(shell pulumictl download-binary -n pulumi-language-java -v $(JAVA_GEN_VERSION) -r pulumi/pulumi-java) +bin/pulumi-java-gen: ensure-pulumictl + @$(PULUMICTL_BIN) download-binary -n pulumi-language-java -v $(JAVA_GEN_VERSION) -r pulumi/pulumi-java -.make/build_python: bin/${CODEGEN} .make/schema README.md +.make/generate_python: bin/${CODEGEN} .make/schema README.md rm -rf sdk/python bin/${CODEGEN} python sdk/python schema.json $(VERSION_GENERIC) + cp README.md sdk/python/ + @touch $@ +.make/build_python: .make/generate_python cd sdk/python/ && \ - cp ../../README.md . && \ rm -rf ./bin/ ../python.bin/ && cp -R . ../python.bin && mv ../python.bin ./bin && \ python3 -m venv venv && \ ./venv/bin/python -m pip install build && \ cd ./bin && \ ../venv/bin/python -m build . -.make/build_go: AWS_VERSION := $(shell node -e 'console.log(require("./awsx/package.json").dependencies["@pulumi/aws"])') -.make/build_go: bin/${CODEGEN} .make/schema +.make/generate_go: bin/${CODEGEN} .make/schema rm -rf sdk/go bin/${CODEGEN} go sdk/go schema.json $(VERSION_GENERIC) + @touch $@ +.make/build_go: AWS_VERSION := $(shell node -e 'console.log(require("./awsx/package.json").dependencies["@pulumi/aws"])') +.make/build_go: .make/generate_go cd sdk && \ go get github.com/pulumi/pulumi-aws/sdk/v6@v$(AWS_VERSION) && \ go mod tidy && \ go test -v ./... -check.vv @touch $@ -.make/build_dotnet: bin/${CODEGEN} .make/schema +.make/generate_dotnet: bin/${CODEGEN} .make/schema rm -rf sdk/dotnet bin/${CODEGEN} dotnet sdk/dotnet schema.json $(VERSION_GENERIC) + @touch $@ +.make/build_dotnet: .make/generate_dotnet cd sdk/dotnet/ && \ dotnet build @touch $@ # Phony targets +generate_nodejs: .make/generate_nodejs build_nodejs: .make/build_nodejs +generate_python: .make/generate_python build_python: .make/build_python +generate_go: .make/generate_go build_go: .make/build_go +generate_dotnet: .make/generate_dotnet build_dotnet: .make/build_dotnet +generate_java: .make/generate_java build_java: .make/build_java +gen_types: .make/gen_types install_provider: bin/${PROVIDER} rm -f ${GOBIN}/${PROVIDER} @@ -244,8 +265,29 @@ build:: provider test_provider build_sdks dev:: lint test_provider build_nodejs +$(HOME)/.yarn/bin: + curl -o- -L https://yarnpkg.com/install.sh | bash -s -- --version 1.13.0 + +echo_path: + echo $(PATH) + +renovate_generate:: PATH := $(HOME)/.yarn/bin:$(HOME)/.config/yarn/global/node_modules/.bin:$(PATH) +renovate_generate:: echo_path schema generate_nodejs generate_python generate_go generate_dotnet generate_java gen_types + +renovate:: $(HOME)/.yarn/bin +renovate:: renovate_generate + +ensure-pulumictl: +ifeq ($(PULUMICTL_BIN),) + @if [ ! -f "$(GOPATH)/bin/pulumictl" ]; then go install "github.com/pulumi/pulumictl/cmd/pulumictl@$(PULUMICTL_VERSION)"; fi + @$(eval PULUMICTL_BIN=$(GOPATH)/bin/pulumictl) +endif + +version_generic: ensure-pulumictl + @$(PULUMICTL_BIN) convert-version --language generic --version "$(PROVIDER_VERSION)" + bin/gotestfmt: @mkdir -p bin @GOBIN="${PWD}/bin" go install github.com/gotesttools/gotestfmt/v2/cmd/gotestfmt@v2.5.0 -.PHONY: clean provider install_% dist sdk/go +.PHONY: clean provider install_% dist sdk/go schema generate gen_types renovate generate_nodejs generate_python generate_go generate_dotnet generate_java build_nodejs build_python build_go build_dotnet build_java diff --git a/awsx-classic/package.json b/awsx-classic/package.json index 672e788a6..f90f22518 100644 --- a/awsx-classic/package.json +++ b/awsx-classic/package.json @@ -15,10 +15,10 @@ "dependencies": { "@aws-sdk/client-ecs": "^3.405.0", "@pulumi/aws": "^6.0.2", - "@pulumi/docker": "3.6.1", + "@pulumi/docker": "4.5.8", "@pulumi/pulumi": "^3.34.0", "aws-lambda": "^1.0.7", - "docker-classic": "npm:@pulumi/docker@3.6.1", + "docker-classic": "npm:@pulumi/docker@4.5.8", "mime": "^3.0.0" }, "devDependencies": { diff --git a/awsx/ecr/image.test.ts b/awsx/ecr/image.test.ts new file mode 100644 index 000000000..07a5bbda3 --- /dev/null +++ b/awsx/ecr/image.test.ts @@ -0,0 +1,55 @@ +// Copyright 2016-2024, Pulumi Corporation. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +import { removeTagFromRef } from "./image"; + +describe("removeTagFromRef", () => { + it("should remove tag from standard ECR image reference", () => { + const input = + "123456789012.dkr.ecr.us-west-2.amazonaws.com/repository-29552ef:7a3c38f0-container@sha256:ccf572fa3e9a9b9316761f749c3020c5748e1c47052e5781eec04e0a53954428"; + const expected = + "123456789012.dkr.ecr.us-west-2.amazonaws.com/repository-29552ef@sha256:ccf572fa3e9a9b9316761f749c3020c5748e1c47052e5781eec04e0a53954428"; + expect(removeTagFromRef(input)).toBe(expected); + }); + + it("should handle ECR references with nested repository paths", () => { + const input = + "123456789012.dkr.ecr.us-west-2.amazonaws.com/team/project/service:v1.0.0@sha256:ccf572fa3e9a9b9316761f749c3020c5748e1c47052e5781eec04e0a53954428"; + const expected = + "123456789012.dkr.ecr.us-west-2.amazonaws.com/team/project/service@sha256:ccf572fa3e9a9b9316761f749c3020c5748e1c47052e5781eec04e0a53954428"; + expect(removeTagFromRef(input)).toBe(expected); + }); + + it("should handle complex but valid tag names", () => { + const input = + "123456789012.dkr.ecr.us-west-2.amazonaws.com/my-repo:1.0.0-alpha.1_build-123@sha256:ccf572fa3e9a9b9316761f749c3020c5748e1c47052e5781eec04e0a53954428"; + const expected = + "123456789012.dkr.ecr.us-west-2.amazonaws.com/my-repo@sha256:ccf572fa3e9a9b9316761f749c3020c5748e1c47052e5781eec04e0a53954428"; + expect(removeTagFromRef(input)).toBe(expected); + }); + + it("should return original string if no tag is present", () => { + const input = + "123456789012.dkr.ecr.us-west-2.amazonaws.com/my-repo@sha256:ccf572fa3e9a9b9316761f749c3020c5748e1c47052e5781eec04e0a53954428"; + expect(removeTagFromRef(input)).toBe(input); + }); + + it("should handle repository names with underscores and hyphens", () => { + const input = + "123456789012.dkr.ecr.us-west-2.amazonaws.com/my_repo-name:latest@sha256:ccf572fa3e9a9b9316761f749c3020c5748e1c47052e5781eec04e0a53954428"; + const expected = + "123456789012.dkr.ecr.us-west-2.amazonaws.com/my_repo-name@sha256:ccf572fa3e9a9b9316761f749c3020c5748e1c47052e5781eec04e0a53954428"; + expect(removeTagFromRef(input)).toBe(expected); + }); +}); diff --git a/awsx/ecr/image.ts b/awsx/ecr/image.ts index 382f6e9c3..b8a192ffc 100644 --- a/awsx/ecr/image.ts +++ b/awsx/ecr/image.ts @@ -13,7 +13,7 @@ // limitations under the License. import * as aws from "@pulumi/aws"; -import * as docker from "@pulumi/docker"; +import * as docker from "@pulumi/docker-build"; import * as pulumi from "@pulumi/pulumi"; import * as schema from "../schema-types"; import * as utils from "../utils"; @@ -62,37 +62,54 @@ export function computeImageFromAsset( throw new Error("Invalid credentials"); } return { - registry: ecrCredentials.proxyEndpoint, + address: ecrCredentials.proxyEndpoint, username: username, password: password, }; }); + let cacheFrom: docker.types.input.CacheFromArgs[] = []; + if (dockerInputs.cacheFrom !== undefined) { + cacheFrom = dockerInputs.cacheFrom.map((c) => { + return { + registry: { + ref: c, + }, + }; + }); + } + // Use an inline cache by default. + if (cacheFrom.length === 0) { + cacheFrom.push({ registry: { ref: canonicalImageName } }); + } + + let context = "."; + if (dockerInputs.context !== undefined) { + context = dockerInputs.context; + } + const dockerImageArgs: docker.ImageArgs = { - imageName: canonicalImageName, - build: { - args: dockerInputs.args, - builderVersion: dockerInputs.builderVersion, - cacheFrom: dockerInputs.cacheFrom - ? { - images: dockerInputs.cacheFrom, - } - : undefined, - context: dockerInputs.context, - dockerfile: dockerInputs.dockerfile, - platform: dockerInputs.platform, - target: dockerInputs.target, - }, - registry: registryCredentials, + tags: [canonicalImageName], + buildArgs: dockerInputs.args, + cacheFrom: cacheFrom, + cacheTo: [{ inline: {} }], + context: { location: context }, + dockerfile: { location: dockerInputs.dockerfile }, + platforms: dockerInputs.platform ? [dockerInputs.platform as docker.Platform] : [], + target: dockerInputs.target, + push: true, + registries: [registryCredentials], }; const image = new docker.Image(imageName, dockerImageArgs, { parent }); - image.repoDigest.apply((d: any) => - pulumi.log.debug(` build complete: ${imageName} (${d})`, parent), - ); + image.ref.apply((ref) => { + pulumi.log.debug(` build complete: ${ref}`, parent); + }); - return image.repoDigest; + // Return the image reference without the tag. This is necessary for backwards compatibility with earlier versions of the awsx provider + // that used pulumi-docker and in order to allow passing this output to Lambda functions (they expect an image URI without a tag). + return image.ref.apply(removeTagFromRef); } function createUniqueImageName(inputs: pulumi.Unwrap): string { @@ -113,3 +130,18 @@ function createUniqueImageName(inputs: pulumi.Unwrap): buildSig += pulumi.getStack(); return `${utils.sha1hash(buildSig)}-container`; } + +/** + * Removes the tag from the image reference. + * @param ref The image reference to remove the tag from. + * @returns The image reference without the tag. + */ +export function removeTagFromRef(ref: string): string { + // Match pattern: everything up to the tag, the tag itself, and the digest + // The image ref looks like this: ACCOUNT_ID.dkr.ecr.REGION.amazonaws.com/REPOSITORY_NAME:TAG_NAME@sha256:1234567890123456789012345678901234567890123456789012345678901234 + // Neither repository name nor tag name can contain a colon, so we can safely split on the colon and take the first part. + const pattern = /^(.*):([^@]+)(@sha256:.+)$/; + + // If the pattern is found, return the image without the tag. I.e. only the image name and digest. + return ref.replace(pattern, "$1$3"); +} diff --git a/awsx/package.json b/awsx/package.json index ac15e6615..8c565e472 100644 --- a/awsx/package.json +++ b/awsx/package.json @@ -24,11 +24,11 @@ }, "//": "Pulumi sub-provider dependencies must be pinned at an exact version because we extract this value to generate the correct dependency in the schema", "dependencies": { - "@pulumi/aws": "6.59.1", - "@pulumi/docker": "4.5.1", - "@pulumi/pulumi": "3.139.0", + "@pulumi/aws": "6.66.2", + "@pulumi/docker-build": "0.0.8", + "@pulumi/pulumi": "3.144.1", "@types/aws-lambda": "^8.10.23", - "docker-classic": "npm:@pulumi/docker@3.6.1", + "docker-classic": "npm:@pulumi/docker@4.5.8", "ip-address": "^8.1.0", "mime": "^3.0.0", "netmask": "^2.0.2" diff --git a/awsx/schema-types.ts b/awsx/schema-types.ts index e82c05653..bb8c88b2d 100644 --- a/awsx/schema-types.ts +++ b/awsx/schema-types.ts @@ -23,7 +23,6 @@ export type Functions = { "awsx:ec2:getDefaultVpc": (inputs: getDefaultVpcInputs) => Promise; }; import * as aws from "@pulumi/aws"; -import * as docker from "@pulumi/docker"; export abstract class Trail extends (pulumi.ComponentResource) { public bucket?: aws.s3.Bucket | pulumi.Output; public logGroup?: aws.cloudwatch.LogGroup | pulumi.Output; @@ -145,6 +144,7 @@ export abstract class EC2Service extends (pulumi.ComponentResource) } export interface EC2ServiceArgs { readonly alarms?: pulumi.Input; + readonly availabilityZoneRebalancing?: pulumi.Input; readonly cluster?: pulumi.Input; readonly continueBeforeSteadyState?: pulumi.Input; readonly deploymentCircuitBreaker?: pulumi.Input; @@ -173,6 +173,7 @@ export interface EC2ServiceArgs { readonly taskDefinitionArgs?: EC2ServiceTaskDefinitionInputs; readonly triggers?: pulumi.Input>>; readonly volumeConfiguration?: pulumi.Input; + readonly vpcLatticeConfigurations?: pulumi.Input[]>; } export abstract class EC2TaskDefinition extends (pulumi.ComponentResource) { public executionRole?: aws.iam.Role | pulumi.Output; @@ -216,6 +217,7 @@ export abstract class FargateService extends (pulumi.ComponentResou export interface FargateServiceArgs { readonly alarms?: pulumi.Input; readonly assignPublicIp?: pulumi.Input; + readonly availabilityZoneRebalancing?: pulumi.Input; readonly cluster?: pulumi.Input; readonly continueBeforeSteadyState?: pulumi.Input; readonly deploymentCircuitBreaker?: pulumi.Input; @@ -243,6 +245,7 @@ export interface FargateServiceArgs { readonly taskDefinitionArgs?: FargateServiceTaskDefinitionInputs; readonly triggers?: pulumi.Input>>; readonly volumeConfiguration?: pulumi.Input; + readonly vpcLatticeConfigurations?: pulumi.Input[]>; } export abstract class FargateTaskDefinition extends (pulumi.ComponentResource) { public executionRole?: aws.iam.Role | pulumi.Output; @@ -633,6 +636,7 @@ export interface VpcEndpointSpecInputs { readonly routeTableIds?: pulumi.Input[]>; readonly securityGroupIds?: pulumi.Input[]>; readonly serviceName: string; + readonly serviceRegion?: pulumi.Input; readonly subnetConfigurations?: pulumi.Input[]>; readonly subnetIds?: pulumi.Input[]>; readonly tags?: pulumi.Input>>; @@ -647,6 +651,7 @@ export interface VpcEndpointSpecOutputs { readonly routeTableIds?: pulumi.Output; readonly securityGroupIds?: pulumi.Output; readonly serviceName: string; + readonly serviceRegion?: pulumi.Output; readonly subnetConfigurations?: pulumi.Output; readonly subnetIds?: pulumi.Output; readonly tags?: pulumi.Output>; diff --git a/awsx/scripts/generate-provider-types.ts b/awsx/scripts/generate-provider-types.ts index d0a4ed6cd..8e1a66b4a 100644 --- a/awsx/scripts/generate-provider-types.ts +++ b/awsx/scripts/generate-provider-types.ts @@ -32,7 +32,6 @@ const externalRefs = (() => { }; }; addRef("aws"); - addRef("docker"); return externalRefs; })(); diff --git a/awsx/yarn.lock b/awsx/yarn.lock index 53539eabe..e68871861 100644 --- a/awsx/yarn.lock +++ b/awsx/yarn.lock @@ -1021,9 +1021,9 @@ "@jridgewell/trace-mapping" "0.3.9" "@grpc/grpc-js@^1.10.1": - version "1.12.2" - resolved "https://registry.yarnpkg.com/@grpc/grpc-js/-/grpc-js-1.12.2.tgz#97eda82dd49bb9c24eaf6434ea8d7de446e95aac" - integrity sha512-bgxdZmgTrJZX50OjyVwz3+mNEnCTNkh3cIqGPWVNeW9jX6bn1ZkU80uPd+67/ZpIJIjRQ9qaHCjhavyoWYxumg== + version "1.12.5" + resolved "https://registry.yarnpkg.com/@grpc/grpc-js/-/grpc-js-1.12.5.tgz#0064a28fe9b1ec54ac27e1c9bf70720aa01285e8" + integrity sha512-d3iiHxdpg5+ZcJ6jnDSOT8Z0O0VMVGy34jAnYLUX8yd36b1qn8f1TwOA/Lc7TsOh03IkPJ38eGI5qD2EjNkoEA== dependencies: "@grpc/proto-loader" "^0.7.13" "@js-sdsl/ordered-map" "^4.4.2" @@ -1496,113 +1496,113 @@ proc-log "^4.0.0" which "^4.0.0" -"@opentelemetry/api-logs@0.52.1": - version "0.52.1" - resolved "https://registry.yarnpkg.com/@opentelemetry/api-logs/-/api-logs-0.52.1.tgz#52906375da4d64c206b0c4cb8ffa209214654ecc" - integrity sha512-qnSqB2DQ9TPP96dl8cDubDvrUyWc0/sK81xHTK8eSUspzDM3bsewX903qclQFvVhgStjRWdC5bLb3kQqMkfV5A== +"@opentelemetry/api-logs@0.55.0": + version "0.55.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/api-logs/-/api-logs-0.55.0.tgz#5cd7461820d864600250deb3803c32367a6bb2d2" + integrity sha512-3cpa+qI45VHYcA5c0bHM6VHo9gicv3p5mlLHNG3rLyjQU8b7e0st1rWtrUn3JbZ3DwwCfhKop4eQ9UuYlC6Pkg== dependencies: - "@opentelemetry/api" "^1.0.0" + "@opentelemetry/api" "^1.3.0" -"@opentelemetry/api@^1.0.0", "@opentelemetry/api@^1.9": +"@opentelemetry/api@^1.3.0", "@opentelemetry/api@^1.9": version "1.9.0" resolved "https://registry.yarnpkg.com/@opentelemetry/api/-/api-1.9.0.tgz#d03eba68273dc0f7509e2a3d5cba21eae10379fe" integrity sha512-3giAOQvZiH5F9bMlMiv8+GSPMeqg0dbaeo58/0SlA9sxSqZhnUtxzX9/2FzyhS9sWQf5S0GJE0AKBrFqjpeYcg== -"@opentelemetry/context-async-hooks@1.27.0": - version "1.27.0" - resolved "https://registry.yarnpkg.com/@opentelemetry/context-async-hooks/-/context-async-hooks-1.27.0.tgz#a18c288ac586f5385d156003d67851465b34fb73" - integrity sha512-CdZ3qmHCwNhFAzjTgHqrDQ44Qxcpz43cVxZRhOs+Ns/79ug+Mr84Bkb626bkJLkA3+BLimA5YAEVRlJC6pFb7g== +"@opentelemetry/context-async-hooks@1.30.0": + version "1.30.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/context-async-hooks/-/context-async-hooks-1.30.0.tgz#5639c8a7d19c6fe04a44b86aa302cb09008f6db9" + integrity sha512-roCetrG/cz0r/gugQm/jFo75UxblVvHaNSRoR0kSSRSzXFAiIBqFCZuH458BHBNRtRe+0yJdIJ21L9t94bw7+g== -"@opentelemetry/core@1.27.0": - version "1.27.0" - resolved "https://registry.yarnpkg.com/@opentelemetry/core/-/core-1.27.0.tgz#9f1701a654ab01abcebb12931b418f3393b94b75" - integrity sha512-yQPKnK5e+76XuiqUH/gKyS8wv/7qITd5ln56QkBTf3uggr0VkXOXfcaAuG330UfdYu83wsyoBwqwxigpIG+Jkg== +"@opentelemetry/core@1.30.0": + version "1.30.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/core/-/core-1.30.0.tgz#ef959e11e137d72466e566e375ecc5a82e922b86" + integrity sha512-Q/3u/K73KUjTCnFUP97ZY+pBjQ1kPEgjOfXj/bJl8zW7GbXdkw6cwuyZk6ZTXkVgCBsYRYUzx4fvYK1jxdb9MA== dependencies: - "@opentelemetry/semantic-conventions" "1.27.0" + "@opentelemetry/semantic-conventions" "1.28.0" -"@opentelemetry/exporter-zipkin@^1.25": - version "1.27.0" - resolved "https://registry.yarnpkg.com/@opentelemetry/exporter-zipkin/-/exporter-zipkin-1.27.0.tgz#3ed984643797545c34ceb320276ed65d0df24e77" - integrity sha512-eGMY3s4QprspFZojqsuQyQpWNFpo+oNVE/aosTbtvAlrJBAlvXcwwsOROOHOd8Y9lkU4i0FpQW482rcXkgwCSw== +"@opentelemetry/exporter-zipkin@^1.28": + version "1.30.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/exporter-zipkin/-/exporter-zipkin-1.30.0.tgz#f7be6c48757dba4458a2a54a3da2859caad930c3" + integrity sha512-HQUBmXYuuHIIoB1YFukNq7QtWQPqwQh5SN28coUXmN8nCOxaqnEBKIAN+7RQU7BX7NDcNSXpL2shctH/roKL3A== dependencies: - "@opentelemetry/core" "1.27.0" - "@opentelemetry/resources" "1.27.0" - "@opentelemetry/sdk-trace-base" "1.27.0" - "@opentelemetry/semantic-conventions" "1.27.0" + "@opentelemetry/core" "1.30.0" + "@opentelemetry/resources" "1.30.0" + "@opentelemetry/sdk-trace-base" "1.30.0" + "@opentelemetry/semantic-conventions" "1.28.0" -"@opentelemetry/instrumentation-grpc@^0.52": - version "0.52.1" - resolved "https://registry.yarnpkg.com/@opentelemetry/instrumentation-grpc/-/instrumentation-grpc-0.52.1.tgz#906ce4756a0eb1b050cd89b6b97dc09efe3ae3e3" - integrity sha512-EdSDiDSAO+XRXk/ZN128qQpBo1I51+Uay/LUPcPQhSRGf7fBPIEUBeOLQiItguGsug5MGOYjql2w/1wCQF3fdQ== +"@opentelemetry/instrumentation-grpc@^0.55": + version "0.55.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/instrumentation-grpc/-/instrumentation-grpc-0.55.0.tgz#b5161359060999f7ccbef26d6550beef021572fa" + integrity sha512-n2ZH4pRwOy0Vhag/3eKqiyDBwcpUnGgJI9iiIRX7vivE0FMncaLazWphNFezRRaM/LuKwq1TD8pVUvieP68mow== dependencies: - "@opentelemetry/instrumentation" "0.52.1" - "@opentelemetry/semantic-conventions" "1.25.1" + "@opentelemetry/instrumentation" "0.55.0" + "@opentelemetry/semantic-conventions" "1.27.0" -"@opentelemetry/instrumentation@0.52.1", "@opentelemetry/instrumentation@^0.52": - version "0.52.1" - resolved "https://registry.yarnpkg.com/@opentelemetry/instrumentation/-/instrumentation-0.52.1.tgz#2e7e46a38bd7afbf03cf688c862b0b43418b7f48" - integrity sha512-uXJbYU/5/MBHjMp1FqrILLRuiJCs3Ofk0MeRDk8g1S1gD47U8X3JnSwcMO1rtRo1x1a7zKaQHaoYu49p/4eSKw== +"@opentelemetry/instrumentation@0.55.0", "@opentelemetry/instrumentation@^0.55": + version "0.55.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/instrumentation/-/instrumentation-0.55.0.tgz#ecac8afd8706f6e99b3bb6951b9e07c4c81533f0" + integrity sha512-YDCMlaQRZkziLL3t6TONRgmmGxDx6MyQDXRD0dknkkgUZtOK5+8MWft1OXzmNu6XfBOdT12MKN5rz+jHUkafKQ== dependencies: - "@opentelemetry/api-logs" "0.52.1" - "@types/shimmer" "^1.0.2" + "@opentelemetry/api-logs" "0.55.0" + "@types/shimmer" "^1.2.0" import-in-the-middle "^1.8.1" require-in-the-middle "^7.1.1" semver "^7.5.2" shimmer "^1.2.1" -"@opentelemetry/propagator-b3@1.27.0": - version "1.27.0" - resolved "https://registry.yarnpkg.com/@opentelemetry/propagator-b3/-/propagator-b3-1.27.0.tgz#6433b3fb2486548e94af7af37ab8b7932f198597" - integrity sha512-pTsko3gnMioe3FeWcwTQR3omo5C35tYsKKwjgTCTVCgd3EOWL9BZrMfgLBmszrwXABDfUrlAEFN/0W0FfQGynQ== +"@opentelemetry/propagator-b3@1.30.0": + version "1.30.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/propagator-b3/-/propagator-b3-1.30.0.tgz#c5d85b4de5d01f8edfd30dde61d98bdd33a56e9a" + integrity sha512-lcobQQmd+hLdtxJJKu/i51lNXmF1PJJ7Y9B97ciHRVQuMI260vSZG7Uf4Zg0fqR8PB+fT/7rnlDwS0M7QldZQQ== dependencies: - "@opentelemetry/core" "1.27.0" + "@opentelemetry/core" "1.30.0" -"@opentelemetry/propagator-jaeger@1.27.0": - version "1.27.0" - resolved "https://registry.yarnpkg.com/@opentelemetry/propagator-jaeger/-/propagator-jaeger-1.27.0.tgz#8387d64805bd8edf72ed3267cf759c7887220201" - integrity sha512-EI1bbK0wn0yIuKlc2Qv2LKBRw6LiUWevrjCF80fn/rlaB+7StAi8Y5s8DBqAYNpY7v1q86+NjU18v7hj2ejU3A== +"@opentelemetry/propagator-jaeger@1.30.0": + version "1.30.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/propagator-jaeger/-/propagator-jaeger-1.30.0.tgz#70a1b7133204a1fac9a27756eb1d08309aff97c1" + integrity sha512-0hdP495V6HPRkVpowt54+Swn5NdesMIRof+rlp0mbnuIUOM986uF+eNxnPo9q5MmJegVBRTxgMHXXwvnXRnKRg== dependencies: - "@opentelemetry/core" "1.27.0" + "@opentelemetry/core" "1.30.0" -"@opentelemetry/resources@1.27.0", "@opentelemetry/resources@^1.25": - version "1.27.0" - resolved "https://registry.yarnpkg.com/@opentelemetry/resources/-/resources-1.27.0.tgz#1f91c270eb95be32f3511e9e6624c1c0f993c4ac" - integrity sha512-jOwt2VJ/lUD5BLc+PMNymDrUCpm5PKi1E9oSVYAvz01U/VdndGmrtV3DU1pG4AwlYhJRHbHfOUIlpBeXCPw6QQ== +"@opentelemetry/resources@1.30.0", "@opentelemetry/resources@^1.28": + version "1.30.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/resources/-/resources-1.30.0.tgz#87604359e6195c017075b7d294a949ad018e692d" + integrity sha512-5mGMjL0Uld/99t7/pcd7CuVtJbkARckLVuiOX84nO8RtLtIz0/J6EOHM2TGvPZ6F4K+XjUq13gMx14w80SVCQg== dependencies: - "@opentelemetry/core" "1.27.0" - "@opentelemetry/semantic-conventions" "1.27.0" + "@opentelemetry/core" "1.30.0" + "@opentelemetry/semantic-conventions" "1.28.0" -"@opentelemetry/sdk-trace-base@1.27.0", "@opentelemetry/sdk-trace-base@^1.25": - version "1.27.0" - resolved "https://registry.yarnpkg.com/@opentelemetry/sdk-trace-base/-/sdk-trace-base-1.27.0.tgz#2276e4cd0d701a8faba77382b2938853a0907b54" - integrity sha512-btz6XTQzwsyJjombpeqCX6LhiMQYpzt2pIYNPnw0IPO/3AhT6yjnf8Mnv3ZC2A4eRYOjqrg+bfaXg9XHDRJDWQ== +"@opentelemetry/sdk-trace-base@1.30.0", "@opentelemetry/sdk-trace-base@^1.28": + version "1.30.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/sdk-trace-base/-/sdk-trace-base-1.30.0.tgz#27c68ab01b1cfb4af16356550f8091d6e727f182" + integrity sha512-RKQDaDIkV7PwizmHw+rE/FgfB2a6MBx+AEVVlAHXRG1YYxLiBpPX2KhmoB99R5vA4b72iJrjle68NDWnbrE9Dg== dependencies: - "@opentelemetry/core" "1.27.0" - "@opentelemetry/resources" "1.27.0" - "@opentelemetry/semantic-conventions" "1.27.0" + "@opentelemetry/core" "1.30.0" + "@opentelemetry/resources" "1.30.0" + "@opentelemetry/semantic-conventions" "1.28.0" -"@opentelemetry/sdk-trace-node@^1.25": - version "1.27.0" - resolved "https://registry.yarnpkg.com/@opentelemetry/sdk-trace-node/-/sdk-trace-node-1.27.0.tgz#ee890a1fedba6a2a313190ada80e5077865a8684" - integrity sha512-dWZp/dVGdUEfRBjBq2BgNuBlFqHCxyyMc8FsN0NX15X07mxSUO0SZRLyK/fdAVrde8nqFI/FEdMH4rgU9fqJfQ== - dependencies: - "@opentelemetry/context-async-hooks" "1.27.0" - "@opentelemetry/core" "1.27.0" - "@opentelemetry/propagator-b3" "1.27.0" - "@opentelemetry/propagator-jaeger" "1.27.0" - "@opentelemetry/sdk-trace-base" "1.27.0" +"@opentelemetry/sdk-trace-node@^1.28": + version "1.30.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/sdk-trace-node/-/sdk-trace-node-1.30.0.tgz#a7de4cdc8102498ede5bddb3c4d075c4a57a2d35" + integrity sha512-MeXkXEdBs9xq1JSGTr/3P1lHBSUBaVmo1+UpoQhUpviPMzDXy0MNsdTC7KKI6/YcG74lTX6eqeNjlC1jV4Rstw== + dependencies: + "@opentelemetry/context-async-hooks" "1.30.0" + "@opentelemetry/core" "1.30.0" + "@opentelemetry/propagator-b3" "1.30.0" + "@opentelemetry/propagator-jaeger" "1.30.0" + "@opentelemetry/sdk-trace-base" "1.30.0" semver "^7.5.2" -"@opentelemetry/semantic-conventions@1.25.1": - version "1.25.1" - resolved "https://registry.yarnpkg.com/@opentelemetry/semantic-conventions/-/semantic-conventions-1.25.1.tgz#0deecb386197c5e9c2c28f2f89f51fb8ae9f145e" - integrity sha512-ZDjMJJQRlyk8A1KZFCc+bCbsyrn1wTwdNt56F7twdfUfnHUZUq77/WfONCj8p72NZOyP7pNTdUWSTYC3GTbuuQ== - -"@opentelemetry/semantic-conventions@1.27.0", "@opentelemetry/semantic-conventions@^1.25": +"@opentelemetry/semantic-conventions@1.27.0": version "1.27.0" resolved "https://registry.yarnpkg.com/@opentelemetry/semantic-conventions/-/semantic-conventions-1.27.0.tgz#1a857dcc95a5ab30122e04417148211e6f945e6c" integrity sha512-sAay1RrB+ONOem0OZanAR1ZI/k7yDpnOQSQmTMuGImUQb2y8EbSaCJ94FQluM74xoU03vlb2d2U90hZluL6nQg== +"@opentelemetry/semantic-conventions@1.28.0", "@opentelemetry/semantic-conventions@^1.28": + version "1.28.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/semantic-conventions/-/semantic-conventions-1.28.0.tgz#337fb2bca0453d0726696e745f50064411f646d6" + integrity sha512-lp4qAiMTD4sNWW4DbKLBkfiMZ4jbAboJIGOQr5DvciMRI494OapieI9qiODpOt0XBr1LjIDy1xAGAnVs5supTA== + "@pkgjs/parseargs@^0.11.0": version "0.11.0" resolved "https://registry.yarnpkg.com/@pkgjs/parseargs/-/parseargs-0.11.0.tgz#a77ea742fab25775145434eb1d2328cf5013ac33" @@ -1661,40 +1661,37 @@ resolved "https://registry.yarnpkg.com/@protobufjs/utf8/-/utf8-1.1.0.tgz#a777360b5b39a1a2e5106f8e858f2fd2d060c570" integrity sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw== -"@pulumi/aws@6.59.1": - version "6.59.1" - resolved "https://registry.yarnpkg.com/@pulumi/aws/-/aws-6.59.1.tgz#b9ad23a720011f32d75dd4f7a6dbb227132d601f" - integrity sha512-JuMgE61wO8n0HgOCsx8XKn2JqwPRbFcxHvfWgfyCmQ2KZeMBhlkiHBfEWG80mUtztGX3jj3DmKUw4hP5vLL82A== +"@pulumi/aws@6.66.2": + version "6.66.2" + resolved "https://registry.yarnpkg.com/@pulumi/aws/-/aws-6.66.2.tgz#cf140268393c3985e22131539fc2b4536724c320" + integrity sha512-jO5L4JcjYriqXBGYH9LVb+GjawHUJvkWvLtb5nXxIKpkykEO1LyWVZdR4ngFcT7Hlw99Tg1ms4ut7LdETPCuUw== dependencies: - "@pulumi/pulumi" "^3.136.0" - builtin-modules "3.0.0" + "@pulumi/pulumi" "^3.142.0" mime "^2.0.0" - resolve "^1.7.1" -"@pulumi/docker@4.5.1": - version "4.5.1" - resolved "https://registry.yarnpkg.com/@pulumi/docker/-/docker-4.5.1.tgz#9058851bebbb358a1081c765d928fd6791c6c7ba" - integrity sha512-2BTFycFLwSpHGQ4IFTsUHl8H5w81AgkrMHSLUQ8Zu6HBDgGhB5up6YsxVqLeaUeWAedEUrrSCY3xTCNbP4a0ag== +"@pulumi/docker-build@0.0.8": + version "0.0.8" + resolved "https://registry.yarnpkg.com/@pulumi/docker-build/-/docker-build-0.0.8.tgz#203bdd9eed062ed0d3ddd2ef275ffcc45a87b3f4" + integrity sha512-tS6UUgmDjQ+LVekMXGC/6ND7riY75h3oO9fLiVOrvNafCBumxK+Cjm6ZZ9tUChLYvw6H+rZRExZEhfC8F/SQgQ== dependencies: - "@pulumi/pulumi" "^3.0.0" - semver "^5.4.0" + "@pulumi/pulumi" "^3.136.0" -"@pulumi/pulumi@3.139.0", "@pulumi/pulumi@^3.0.0", "@pulumi/pulumi@^3.136.0": - version "3.139.0" - resolved "https://registry.yarnpkg.com/@pulumi/pulumi/-/pulumi-3.139.0.tgz#ae58d9a478b04e2fe1d74de8636ec29f1985ab07" - integrity sha512-0LJnkxoObZuMyu1zi5RJYwYoeYTHhH8aCl+vlhr3rAnGVAI3PqdwvwFpnycGFw2YSS2I1lOPiQIT5yGZD3RVZQ== +"@pulumi/pulumi@3.144.1", "@pulumi/pulumi@^3.136.0", "@pulumi/pulumi@^3.142.0": + version "3.144.1" + resolved "https://registry.yarnpkg.com/@pulumi/pulumi/-/pulumi-3.144.1.tgz#96b3c54879f7bc5857ba38ac389e2b7262e44f9e" + integrity sha512-C3kdP/uYnZygxfK18pFzs0P6IYng/rgf/NW5LXUjHMKcCSwyHbsk6l2wpuuYQiWaJFWyqLdNwDFRVf07ZcIEsA== dependencies: "@grpc/grpc-js" "^1.10.1" "@logdna/tail-file" "^2.0.6" "@npmcli/arborist" "^7.3.1" "@opentelemetry/api" "^1.9" - "@opentelemetry/exporter-zipkin" "^1.25" - "@opentelemetry/instrumentation" "^0.52" - "@opentelemetry/instrumentation-grpc" "^0.52" - "@opentelemetry/resources" "^1.25" - "@opentelemetry/sdk-trace-base" "^1.25" - "@opentelemetry/sdk-trace-node" "^1.25" - "@opentelemetry/semantic-conventions" "^1.25" + "@opentelemetry/exporter-zipkin" "^1.28" + "@opentelemetry/instrumentation" "^0.55" + "@opentelemetry/instrumentation-grpc" "^0.55" + "@opentelemetry/resources" "^1.28" + "@opentelemetry/sdk-trace-base" "^1.28" + "@opentelemetry/sdk-trace-node" "^1.28" + "@opentelemetry/semantic-conventions" "^1.28" "@pulumi/query" "^0.3.0" "@types/google-protobuf" "^3.15.5" "@types/semver" "^7.5.6" @@ -1962,11 +1959,11 @@ integrity sha512-9Q5iw9+pHZBVLDG700dlQSWWHTYvOb8KfPjfQTNckCYky4IyjV2xh81+RgC1CCwqv92bYLpz1cVKyJav0B88uQ== "@types/node@*", "@types/node@>=13.7.0": - version "22.9.0" - resolved "https://registry.yarnpkg.com/@types/node/-/node-22.9.0.tgz#b7f16e5c3384788542c72dc3d561a7ceae2c0365" - integrity sha512-vuyHg81vvWA1Z1ELfvLko2c8f34gyA0zaic0+Rllc5lbCnbSyuvb2Oxpm6TAUAC/2xZN3QGqxBNggD1nNR2AfQ== + version "22.10.2" + resolved "https://registry.yarnpkg.com/@types/node/-/node-22.10.2.tgz#a485426e6d1fdafc7b0d4c7b24e2c78182ddabb9" + integrity sha512-Xxr6BBRCAOQixvonOye19wnzyDiUtTeqldOOmj3CkeblonbccA12PFwlufvRdrpjXxqnmUaeiU5EOA+7s5diUQ== dependencies: - undici-types "~6.19.8" + undici-types "~6.20.0" "@types/node@^18": version "18.17.15" @@ -1985,7 +1982,7 @@ resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.5.8.tgz#8268a8c57a3e4abd25c165ecd36237db7948a55e" integrity sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ== -"@types/shimmer@^1.0.2": +"@types/shimmer@^1.2.0": version "1.2.0" resolved "https://registry.yarnpkg.com/@types/shimmer/-/shimmer-1.2.0.tgz#9b706af96fa06416828842397a70dfbbf1c14ded" integrity sha512-UE7oxhQLLd9gub6JKIAhDq06T0F6FnztwMNRvYgjeQSBeMc1ZG/tA47EwfduvkuQS8apbkM/lpLpWsaCeYsXVg== @@ -2044,12 +2041,10 @@ agent-base@6: dependencies: debug "4" -agent-base@^7.0.2, agent-base@^7.1.0, agent-base@^7.1.1: - version "7.1.1" - resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-7.1.1.tgz#bdbded7dfb096b751a2a087eeeb9664725b2e317" - integrity sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA== - dependencies: - debug "^4.3.4" +agent-base@^7.1.0, agent-base@^7.1.2: + version "7.1.3" + resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-7.1.3.tgz#29435eb821bc4194633a5b89e5bc4703bafc25a1" + integrity sha512-jRR5wdylq8CkOe6hei19GGZnxM6rBGwFl3Bg0YItGDimvjGtAvdZk4Pu6Cl4u4Igsws4a1fd1Vq3ezrhn4KmFw== aggregate-error@^3.0.0: version "3.1.0" @@ -2340,11 +2335,6 @@ buffer@^5.5.0: base64-js "^1.3.1" ieee754 "^1.1.13" -builtin-modules@3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-3.0.0.tgz#1e587d44b006620d90286cc7a9238bbc6129cab1" - integrity sha512-hMIeU4K2ilbXV6Uv93ZZ0Avg/M91RaKXucQ+4me2Do1txxBDyDZWCBa5bJSLqoNTRpXTLwEzIk1KmloenDDjhg== - builtin-modules@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f" @@ -2597,9 +2587,9 @@ create-require@^1.1.0: integrity sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ== cross-spawn@^7.0.0, cross-spawn@^7.0.3: - version "7.0.3" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" - integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== + version "7.0.6" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.6.tgz#8a58fe78f00dcd70c370451759dfbfaf03e8ee9f" + integrity sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA== dependencies: path-key "^3.1.0" shebang-command "^2.0.0" @@ -2624,9 +2614,9 @@ data-uri-to-buffer@^4.0.0: integrity sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A== debug@4, debug@^4.1.0, debug@^4.1.1, debug@^4.3.4, debug@^4.3.5: - version "4.3.7" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.7.tgz#87945b4151a011d76d95a198d7111c865c360a52" - integrity sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ== + version "4.4.0" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.4.0.tgz#2b3f2aea2ffeb776477460267377dc8710faba8a" + integrity sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA== dependencies: ms "^2.1.3" @@ -2684,12 +2674,12 @@ dir-glob@^3.0.1: dependencies: path-type "^4.0.0" -"docker-classic@npm:@pulumi/docker@3.6.1": - version "3.6.1" - resolved "https://registry.yarnpkg.com/@pulumi/docker/-/docker-3.6.1.tgz#a216c9bd2bbd35dd7091db2827a3a434adff021c" - integrity sha512-BZME50QkT556v+LvmTXPT8ssB2xxNkp9+msB5xYFEnUnWcdGAx5yUysQw70RJCb+U0GbkJSbxtlgMJgOQf/now== +"docker-classic@npm:@pulumi/docker@4.5.8": + version "4.5.8" + resolved "https://registry.yarnpkg.com/@pulumi/docker/-/docker-4.5.8.tgz#55cefdebcee55eedf0674352ab7f6b8101420c30" + integrity sha512-h5ZfsXTt5GaqenOmleNAJT/zXLErYXYMftgFNbTS4Z1n1gQXwBewxZ/p7nEqKZkh0JjZZuoDlRN1+lkosM5W6w== dependencies: - "@pulumi/pulumi" "^3.0.0" + "@pulumi/pulumi" "^3.142.0" semver "^5.4.0" eastasianwidth@^0.2.0: @@ -3247,11 +3237,11 @@ https-proxy-agent@^5.0.0: debug "4" https-proxy-agent@^7.0.1: - version "7.0.5" - resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-7.0.5.tgz#9e8b5013873299e11fab6fd548405da2d6c602b2" - integrity sha512-1e4Wqeblerz+tMKPIq2EMGiiWW1dIjZOksyHWSUm1rmuvw/how9hBHZ38lAGj5ID4Ik6EdkOw7NmWPy6LAwalw== + version "7.0.6" + resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz#da8dfeac7da130b05c2ba4b59c9b6cd66611a6b9" + integrity sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw== dependencies: - agent-base "^7.0.2" + agent-base "^7.1.2" debug "4" human-signals@^2.1.0: @@ -3289,9 +3279,9 @@ ignore@^5.2.0: integrity sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ== import-in-the-middle@^1.8.1: - version "1.11.2" - resolved "https://registry.yarnpkg.com/import-in-the-middle/-/import-in-the-middle-1.11.2.tgz#dd848e72b63ca6cd7c34df8b8d97fc9baee6174f" - integrity sha512-gK6Rr6EykBcc6cVWRSBR5TWf8nn6hZMYSRYqCcHa0l0d1fPK7JSYo6+Mlmck76jIX9aL/IZ71c06U2VpFwl1zA== + version "1.12.0" + resolved "https://registry.yarnpkg.com/import-in-the-middle/-/import-in-the-middle-1.12.0.tgz#80d6536a01d0708a6f119f30d22447d4eb9e5c63" + integrity sha512-yAgSE7GmtRcu4ZUSFX/4v69UGXwugFFSdIQJ14LHPOPPQrWv8Y7O9PHsw8Ovk7bKCLe4sjXMbZFqGFcLHpZ89w== dependencies: acorn "^8.8.2" acorn-import-attributes "^1.9.5" @@ -3401,10 +3391,10 @@ is-core-module@2.9.0: dependencies: has "^1.0.3" -is-core-module@^2.13.0: - version "2.15.1" - resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.15.1.tgz#a7363a25bee942fefab0de13bf6aa372c82dcc37" - integrity sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ== +is-core-module@^2.16.0: + version "2.16.1" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.16.1.tgz#2a98801a849f43e2add644fbb6bc6229b19a4ef4" + integrity sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w== dependencies: hasown "^2.0.2" @@ -4389,9 +4379,9 @@ node-fetch@^3.3.2: formdata-polyfill "^4.0.10" node-gyp@^10.0.0: - version "10.2.0" - resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-10.2.0.tgz#80101c4aa4f7ab225f13fcc8daaaac4eb1a8dd86" - integrity sha512-sp3FonBAaFe4aYTcFdZUn2NYkbP7xroPGYvQmP4Nl5PxamznItBnNCgjrVTKrEfQynInMsJvZrdmqUnysCJ8rw== + version "10.3.1" + resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-10.3.1.tgz#1dd1a1a1c6c5c59da1a76aea06a062786b2c8a1a" + integrity sha512-Pp3nFHBThHzVtNY7U6JfPjvT/DTE8+o/4xKsLQtBoU+j2HLsGlhcfzflAoUreaJbNmYnX+LlLi0qjV8kpyO6xQ== dependencies: env-paths "^2.2.0" exponential-backoff "^3.1.1" @@ -5017,12 +5007,12 @@ resolve.exports@^2.0.0: resolved "https://registry.yarnpkg.com/resolve.exports/-/resolve.exports-2.0.2.tgz#f8c934b8e6a13f539e38b7098e2e36134f01e800" integrity sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg== -resolve@^1.14.2, resolve@^1.20.0, resolve@^1.22.0, resolve@^1.22.8, resolve@^1.3.2, resolve@^1.7.1: - version "1.22.8" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.8.tgz#b6c87a9f2aa06dfab52e3d70ac8cde321fa5a48d" - integrity sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw== +resolve@^1.14.2, resolve@^1.20.0, resolve@^1.22.0, resolve@^1.22.8, resolve@^1.3.2: + version "1.22.10" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.10.tgz#b663e83ffb09bbf2386944736baae803029b8b39" + integrity sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w== dependencies: - is-core-module "^2.13.0" + is-core-module "^2.16.0" path-parse "^1.0.7" supports-preserve-symlinks-flag "^1.0.0" @@ -5169,11 +5159,11 @@ smart-buffer@^4.2.0: integrity sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg== socks-proxy-agent@^8.0.3: - version "8.0.4" - resolved "https://registry.yarnpkg.com/socks-proxy-agent/-/socks-proxy-agent-8.0.4.tgz#9071dca17af95f483300316f4b063578fa0db08c" - integrity sha512-GNAq/eg8Udq2x0eNiFkr9gRg5bA7PXEWagQdeRX4cPSG+X/8V38v637gim9bjFptMk1QWsCTr0ttrJEiXbNnRw== + version "8.0.5" + resolved "https://registry.yarnpkg.com/socks-proxy-agent/-/socks-proxy-agent-8.0.5.tgz#b9cdb4e7e998509d7659d689ce7697ac21645bee" + integrity sha512-HehCEsotFqbPW9sJ8WVYB6UbmIMv7kUUORIF2Nncq4VQvBfNBLibW9YZR5dlYCSUhwcD628pRllm7n+E+YTzJw== dependencies: - agent-base "^7.1.1" + agent-base "^7.1.2" debug "^4.3.4" socks "^2.8.3" @@ -5276,7 +5266,16 @@ string-length@^4.0.1: char-regex "^1.0.2" strip-ansi "^6.0.0" -"string-width-cjs@npm:string-width@^4.2.0", string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: +"string-width-cjs@npm:string-width@^4.2.0": + version "4.2.3" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" + integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.1" + +string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: version "4.2.3" resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== @@ -5308,7 +5307,14 @@ string_decoder@~1.1.1: dependencies: safe-buffer "~5.1.0" -"strip-ansi-cjs@npm:strip-ansi@^6.0.1", strip-ansi@^6.0.0, strip-ansi@^6.0.1: +"strip-ansi-cjs@npm:strip-ansi@^6.0.1": + version "6.0.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" + integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== + dependencies: + ansi-regex "^5.0.1" + +strip-ansi@^6.0.0, strip-ansi@^6.0.1: version "6.0.1" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== @@ -5570,10 +5576,10 @@ typescript@^4.6.2: resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.9.5.tgz#095979f9bcc0d09da324d58d03ce8f8374cbe65a" integrity sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g== -undici-types@~6.19.8: - version "6.19.8" - resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-6.19.8.tgz#35111c9d1437ab83a7cdc0abae2f26d88eda0a02" - integrity sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw== +undici-types@~6.20.0: + version "6.20.0" + resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-6.20.0.tgz#8171bf22c1f588d1554d55bf204bc624af388433" + integrity sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg== unicode-canonical-property-names-ecmascript@^2.0.0: version "2.0.0" @@ -5751,7 +5757,16 @@ which@^4.0.0: dependencies: isexe "^3.1.1" -"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0", wrap-ansi@^7.0.0: +"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" + integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== + dependencies: + ansi-styles "^4.0.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + +wrap-ansi@^7.0.0: version "7.0.0" resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== diff --git a/examples/cloudtrail/go/go.mod b/examples/cloudtrail/go/go.mod index 153b40e25..49f147221 100644 --- a/examples/cloudtrail/go/go.mod +++ b/examples/cloudtrail/go/go.mod @@ -6,7 +6,7 @@ toolchain go1.21.1 require ( github.com/pulumi/pulumi-awsx/sdk/v2 v2.4.0 - github.com/pulumi/pulumi/sdk/v3 v3.139.0 + github.com/pulumi/pulumi/sdk/v3 v3.144.1 ) require ( @@ -79,14 +79,14 @@ require ( github.com/xanzy/ssh-agent v0.3.3 // indirect github.com/zclconf/go-cty v1.13.2 // indirect go.uber.org/atomic v1.9.0 // indirect - golang.org/x/crypto v0.26.0 // indirect + golang.org/x/crypto v0.31.0 // indirect golang.org/x/exp v0.0.0-20240604190554-fc45aab8b7f8 // indirect golang.org/x/mod v0.18.0 // indirect - golang.org/x/net v0.28.0 // indirect - golang.org/x/sync v0.8.0 // indirect - golang.org/x/sys v0.24.0 // indirect - golang.org/x/term v0.23.0 // indirect - golang.org/x/text v0.17.0 // indirect + golang.org/x/net v0.33.0 // indirect + golang.org/x/sync v0.10.0 // indirect + golang.org/x/sys v0.28.0 // indirect + golang.org/x/term v0.27.0 // indirect + golang.org/x/text v0.21.0 // indirect golang.org/x/tools v0.22.0 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142 // indirect google.golang.org/grpc v1.67.1 // indirect diff --git a/examples/cloudtrail/go/go.sum b/examples/cloudtrail/go/go.sum index bc64af641..077a19c3f 100644 --- a/examples/cloudtrail/go/go.sum +++ b/examples/cloudtrail/go/go.sum @@ -156,8 +156,8 @@ github.com/pulumi/pulumi-awsx/sdk/v2 v2.4.0 h1:qg7/UT8SmfWiJemFWuVnMPu9CH+oj8UV2 github.com/pulumi/pulumi-awsx/sdk/v2 v2.4.0/go.mod h1:lv+hzv8kilWjMNOPcJS8cddJa51d3IdCOPY7cNd2NuU= github.com/pulumi/pulumi-docker/sdk/v4 v4.4.3 h1:gQC2As+wE8QflbLCG90jLaKwIpqW3yl1y327Jj6ovbI= github.com/pulumi/pulumi-docker/sdk/v4 v4.4.3/go.mod h1:i19ZhFjFQrngtXYLHp3kjZNRmnEnq/DUdXK6/CBk77o= -github.com/pulumi/pulumi/sdk/v3 v3.139.0 h1:oBGP58b2Yw1HbPA3LHO/jHmOaVqFSEjw5BXd36ZbPLw= -github.com/pulumi/pulumi/sdk/v3 v3.139.0/go.mod h1:PvKsX88co8XuwuPdzolMvew5lZV+4JmZfkeSjj7A6dI= +github.com/pulumi/pulumi/sdk/v3 v3.144.1 h1:QQtCDERihhlfvcmRzqHeBmOER1Fg1VkFj9933Lxqv00= +github.com/pulumi/pulumi/sdk/v3 v3.144.1/go.mod h1:/6gxU2XirnLlImBy5OoqV6I4HcjOf+IznNIZNZExZzo= 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.4 h1:8TfxU8dW6PdqD27gjM8MVNuicgxIjxpm4K7x4jp8sis= @@ -210,8 +210,8 @@ golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5y golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/crypto v0.3.1-0.20221117191849-2c476679df9a/go.mod h1:hebNnKkNXi2UzZN1eVRvBB7co0a+JxK6XbPiWVs/3J4= golang.org/x/crypto v0.7.0/go.mod h1:pYwdfH91IfpZVANVyUOhSIPZaFoJGxTFbZhFTx+dXZU= -golang.org/x/crypto v0.26.0 h1:RrRspgV4mU+YwB4FYnuBoKsUapNIL5cohGAmSH3azsw= -golang.org/x/crypto v0.26.0/go.mod h1:GY7jblb9wI+FOo5y8/S2oY4zWP07AkOJ4+jxCqdqn54= +golang.org/x/crypto v0.31.0 h1:ihbySMvVjLAeSH1IbfcRTkD/iNscyz8rGzjF/E5hV6U= +golang.org/x/crypto v0.31.0/go.mod h1:kDsLvtWBEx7MV9tJOj9bnXsPbxwJQ6csT/x4KIN4Ssk= golang.org/x/exp v0.0.0-20240604190554-fc45aab8b7f8 h1:LoYXNGAShUG3m/ehNk4iFctuhGX/+R1ZpfJ4/ia80JM= golang.org/x/exp v0.0.0-20240604190554-fc45aab8b7f8/go.mod h1:jj3sYF3dwk5D+ghuXyeI3r5MFf+NT2An6/9dOA95KSI= golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= @@ -233,15 +233,15 @@ golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug golang.org/x/net v0.2.0/go.mod h1:KqCZLdyyvdV855qA2rE3GC2aiw5xGR5TEjj8smXukLY= golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= golang.org/x/net v0.8.0/go.mod h1:QVkue5JL9kW//ek3r6jTKnTFis1tRmNAW2P1shuFdJc= -golang.org/x/net v0.28.0 h1:a9JDOJc5GMUJ0+UDqmLT86WiEy7iWyIhz8gz8E4e5hE= -golang.org/x/net v0.28.0/go.mod h1:yqtgsTWOOnlGLG9GFRrK3++bGOUEkNBoHZc8MEDWPNg= +golang.org/x/net v0.33.0 h1:74SYHlV8BIgHIFC/LrYkOGIwL19eTYXQ5wc6TBuO36I= +golang.org/x/net v0.33.0/go.mod h1:HXLR5J+9DxmrqMwG9qjGCxZ+zKXxBru04zlTvWlWuN4= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.8.0 h1:3NFvSEYkUoMifnESzZl15y791HH1qU2xm6eCJU5ZPXQ= -golang.org/x/sync v0.8.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= +golang.org/x/sync v0.10.0 h1:3NQrjDixjgGwUOCaF8w2+VYHv0Ve/vGYSbdkTa98gmQ= +golang.org/x/sync v0.10.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -262,15 +262,15 @@ golang.org/x/sys v0.2.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.3.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.24.0 h1:Twjiwq9dn6R1fQcyiK+wQyHWfaz/BJB+YIpzU/Cv3Xg= -golang.org/x/sys v0.24.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.28.0 h1:Fksou7UEQUWlKvIdsqzJmUmCX3cZuD2+P3XyyzwMhlA= +golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.2.0/go.mod h1:TVmDHMZPmdnySmBfhjOoOdhjzdE1h4u1VwSiw2l1Nuc= golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= golang.org/x/term v0.6.0/go.mod h1:m6U89DPEgQRMq3DNkDClhWw02AUbt2daBVO4cn4Hv9U= -golang.org/x/term v0.23.0 h1:F6D4vR+EHoL9/sWAWgAR1H2DcHr4PareCbAaCo1RpuU= -golang.org/x/term v0.23.0/go.mod h1:DgV24QBUrK6jhZXl+20l6UWznPlwAHm1Q1mGHtydmSk= +golang.org/x/term v0.27.0 h1:WP60Sv1nlK1T6SupCHbXzSaN0b9wUmsPoRS9b61A23Q= +golang.org/x/term v0.27.0/go.mod h1:iMsnZpn0cago0GOrHO2+Y7u7JPn5AylBrcoWkElMTSM= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= @@ -278,8 +278,8 @@ golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= golang.org/x/text v0.8.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= -golang.org/x/text v0.17.0 h1:XtiM5bkSOt+ewxlOE/aE/AKEHibwj/6gvWMl9Rsh0Qc= -golang.org/x/text v0.17.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= +golang.org/x/text v0.21.0 h1:zyQAAkrwaneQ066sspRyJaG9VNi/YJ1NfzcGB3hZ/qo= +golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20181030221726-6c7e314b6563/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= diff --git a/examples/ecs/nodejs/index.ts b/examples/ecs/nodejs/index.ts index c6a4e6ba1..607884682 100644 --- a/examples/ecs/nodejs/index.ts +++ b/examples/ecs/nodejs/index.ts @@ -29,6 +29,8 @@ const service = new ecs.FargateService("my-service", { subnets: vpc.publicSubnetIds, assignPublicIp: true, }, +}, { + dependsOn: [lb.loadBalancer], }); // Export the load balancer's address so that it's easy to access. diff --git a/examples/ecs/python/requirements.txt b/examples/ecs/python/requirements.txt index 557b513b4..73ce916f0 100644 --- a/examples/ecs/python/requirements.txt +++ b/examples/ecs/python/requirements.txt @@ -1,2 +1,2 @@ pulumi>=3.0.0,<4.0.0 -pulumi_aws>=5.0.0,<6.0.0 +pulumi_aws>=6.66.1,<6.67.0 diff --git a/examples/examples_nodejs_test.go b/examples/examples_nodejs_test.go index 3dc4980b5..0c494329e 100644 --- a/examples/examples_nodejs_test.go +++ b/examples/examples_nodejs_test.go @@ -17,14 +17,22 @@ package examples import ( + "context" "fmt" "os" "path/filepath" + "strings" "testing" "time" + "github.com/aws/aws-sdk-go-v2/aws" + "github.com/aws/aws-sdk-go-v2/service/ecr" + "github.com/pulumi/providertest/pulumitest" + "github.com/pulumi/providertest/pulumitest/optnewstack" + "github.com/pulumi/providertest/pulumitest/opttest" "github.com/pulumi/pulumi/pkg/v3/testing/integration" "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" ) func TestAccTrailTs(t *testing.T) { @@ -360,6 +368,91 @@ func TestAccEcsParallel(t *testing.T) { }) } +func TestDockerUpgrade(t *testing.T) { + providerName := "awsx" + baselineVersion := "2.19.0" + t.Parallel() + cwd := getCwd(t) + options := []opttest.Option{ + opttest.DownloadProviderVersion(providerName, baselineVersion), + opttest.NewStackOptions(optnewstack.DisableAutoDestroy()), + } + pt := pulumitest.NewPulumiTest(t, filepath.Join(cwd, "ts-ecr-simple"), options...) + + t.Logf("Running `pulumi up` with v%s of the awsx provider", baselineVersion) + result := pt.Up(t) + require.Contains(t, result.Outputs, "image", "image should be in the outputs") + originalImageUri := result.Outputs["image"].Value.(string) + require.NotEmpty(t, originalImageUri, "imageUri should not be empty") + + state := pt.ExportStack(t) + pt = pt.CopyToTempDir(t, + opttest.Defaults(), + opttest.NewStackOptions(optnewstack.EnableAutoDestroy()), + opttest.LocalProviderPath("awsx", filepath.Join(cwd, "..", "bin")), + opttest.YarnLink("@pulumi/awsx"), + ) + pt.ImportStack(t, state) + + t.Log("Running `pulumi up` with the latest version of the awsx provider") + result = pt.Up(t) + require.Contains(t, result.Outputs, "image", "image should be in the outputs") + updatedImageUri := result.Outputs["image"].Value.(string) + require.NotEmpty(t, updatedImageUri, "imageUri should not be empty") + + originalImage := strings.Split(originalImageUri, "@sha256:")[0] + updatedImage := strings.Split(updatedImageUri, "@sha256:")[0] + require.Equal(t, originalImage, updatedImage, "original and updated image should be the same") + + require.Contains(t, result.Outputs, "repositoryName", "repositoryName should be in the outputs") + repoName := result.Outputs["repositoryName"].Value.(string) + require.NotEmpty(t, repoName, "repositoryName should not be empty") + + t.Logf("Verifying images in ECR repository %q", repoName) + client := createEcrClient(t) + describeImagesInput := &ecr.DescribeImagesInput{ + RepositoryName: aws.String(repoName), + } + + var describeImagesOutput *ecr.DescribeImagesOutput + var err error + for retries := 0; retries < 10; retries++ { + describeImagesOutput, err = client.DescribeImages(context.TODO(), describeImagesInput) + require.NoError(t, err, "failed to describe images") + if len(describeImagesOutput.ImageDetails) >= 2 { + break + } + time.Sleep(5 * time.Second) + } + require.NotEmpty(t, describeImagesOutput.ImageDetails, "image details should not be empty") + require.Len(t, describeImagesOutput.ImageDetails, 2, "should have 2 images") + + // Extract digests from URIs + getDigest := func(uri string) string { + parts := strings.Split(uri, "@sha256:") + require.Len(t, parts, 2, "URI should contain sha256 digest") + return parts[1] + } + originalDigest := getDigest(originalImageUri) + updatedDigest := getDigest(updatedImageUri) + + // Find matching digests in ECR response + foundOriginal := false + foundUpdated := false + for _, img := range describeImagesOutput.ImageDetails { + digest := strings.TrimPrefix(*img.ImageDigest, "sha256:") + if digest == originalDigest { + foundOriginal = true + } + if digest == updatedDigest { + foundUpdated = true + } + } + + assert.Truef(t, foundOriginal, "original image digest %q should exist in ECR", originalDigest) + assert.Truef(t, foundUpdated, "updated image digest %q should exist in ECR", updatedDigest) +} + func getNodeJSBaseOptions(t *testing.T) integration.ProgramTestOptions { base := getBaseOptions(t) nodeBase := base.With(integration.ProgramTestOptions{ diff --git a/examples/examples_test.go b/examples/examples_test.go index 37b86312f..5d2ca9b7b 100644 --- a/examples/examples_test.go +++ b/examples/examples_test.go @@ -1,12 +1,17 @@ package examples import ( + "context" "fmt" "os" "testing" "time" + "github.com/aws/aws-sdk-go-v2/aws" + "github.com/aws/aws-sdk-go-v2/config" + "github.com/aws/aws-sdk-go-v2/service/ecr" "github.com/pulumi/pulumi/pkg/v3/testing/integration" + "github.com/stretchr/testify/require" ) func getEnvRegion(t *testing.T) string { @@ -56,3 +61,23 @@ func maxDuration(dur time.Duration, t *testing.T, test func(t *testing.T)) { case <-done: } } + +func loadAwsDefaultConfig(t *testing.T) aws.Config { + loadOpts := []func(*config.LoadOptions) error{} + if p, ok := os.LookupEnv("AWS_PROFILE"); ok { + loadOpts = append(loadOpts, config.WithSharedConfigProfile(p)) + } + if r, ok := os.LookupEnv("AWS_REGION"); ok { + loadOpts = append(loadOpts, config.WithRegion(r)) + } + cfg, err := config.LoadDefaultConfig(context.TODO(), loadOpts...) + require.NoError(t, err, "failed to load AWS config") + + return cfg +} + +func createEcrClient(t *testing.T) *ecr.Client { + client := ecr.NewFromConfig(loadAwsDefaultConfig(t)) + require.NotNil(t, client, "failed to create ECR client") + return client +} diff --git a/examples/go.mod b/examples/go.mod index ded0c037f..43cf217d5 100644 --- a/examples/go.mod +++ b/examples/go.mod @@ -1,11 +1,11 @@ module github.com/pulumi/pulumi-awsx/examples -go 1.21 +go 1.23 -toolchain go1.21.13 +toolchain go1.23.3 require ( - github.com/pulumi/pulumi/pkg/v3 v3.139.0 + github.com/pulumi/pulumi/pkg/v3 v3.144.1 github.com/stretchr/testify v1.9.0 ) @@ -33,20 +33,21 @@ require ( github.com/apparentlymart/go-textseg/v15 v15.0.0 // indirect github.com/atotto/clipboard v0.1.4 // indirect github.com/aws/aws-sdk-go v1.50.36 // indirect - github.com/aws/aws-sdk-go-v2 v1.26.1 // indirect - github.com/aws/aws-sdk-go-v2/config v1.27.11 // indirect - github.com/aws/aws-sdk-go-v2/credentials v1.17.11 // indirect - github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.1 // indirect - github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.5 // indirect - github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.5 // indirect - github.com/aws/aws-sdk-go-v2/internal/ini v1.8.0 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.11.2 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.7 // indirect + github.com/aws/aws-sdk-go-v2 v1.32.7 // indirect + github.com/aws/aws-sdk-go-v2/config v1.28.7 // indirect + github.com/aws/aws-sdk-go-v2/credentials v1.17.48 // indirect + github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.22 // indirect + github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.26 // indirect + github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.26 // indirect + github.com/aws/aws-sdk-go-v2/internal/ini v1.8.1 // indirect + github.com/aws/aws-sdk-go-v2/service/ecr v1.38.0 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.12.1 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.12.7 // indirect github.com/aws/aws-sdk-go-v2/service/kms v1.30.1 // indirect - github.com/aws/aws-sdk-go-v2/service/sso v1.20.5 // indirect - github.com/aws/aws-sdk-go-v2/service/ssooidc v1.23.4 // indirect - github.com/aws/aws-sdk-go-v2/service/sts v1.28.6 // indirect - github.com/aws/smithy-go v1.20.2 // indirect + github.com/aws/aws-sdk-go-v2/service/sso v1.24.8 // indirect + github.com/aws/aws-sdk-go-v2/service/ssooidc v1.28.7 // indirect + github.com/aws/aws-sdk-go-v2/service/sts v1.33.3 // indirect + github.com/aws/smithy-go v1.22.1 // indirect github.com/aymanbagabas/go-osc52/v2 v2.0.1 // indirect github.com/blang/semver v3.5.1+incompatible // indirect github.com/cenkalti/backoff/v3 v3.2.2 // indirect @@ -63,6 +64,7 @@ require ( github.com/edsrzf/mmap-go v1.1.0 // indirect github.com/emirpasic/gods v1.18.1 // indirect github.com/felixge/httpsnoop v1.0.4 // indirect + github.com/fsnotify/fsnotify v1.7.0 // indirect github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376 // indirect github.com/go-git/go-billy/v5 v5.5.0 // indirect github.com/go-git/go-git/v5 v5.12.0 // indirect @@ -117,6 +119,7 @@ require ( github.com/muesli/reflow v0.3.0 // indirect github.com/muesli/termenv v0.15.2 // indirect github.com/natefinch/atomic v1.0.1 // indirect + github.com/nxadm/tail v1.4.11 // indirect github.com/opentracing/basictracer-go v1.1.0 // indirect github.com/opentracing/opentracing-go v1.2.0 // indirect github.com/pgavlin/fx v0.1.6 // indirect @@ -128,7 +131,8 @@ require ( github.com/pmezard/go-difflib v1.0.0 // indirect github.com/pulumi/appdash v0.0.0-20231130102222-75f619a67231 // indirect github.com/pulumi/esc v0.10.0 // indirect - github.com/pulumi/pulumi/sdk/v3 v3.139.0 // indirect + github.com/pulumi/providertest v0.1.4 // indirect + github.com/pulumi/pulumi/sdk/v3 v3.144.1 // indirect github.com/rivo/uniseg v0.4.4 // indirect github.com/rogpeppe/go-internal v1.12.0 // indirect github.com/ryanuber/go-glob v1.0.0 // indirect @@ -157,15 +161,15 @@ require ( go.uber.org/atomic v1.9.0 // indirect gocloud.dev v0.37.0 // indirect gocloud.dev/secrets/hashivault v0.37.0 // indirect - golang.org/x/crypto v0.26.0 // indirect + golang.org/x/crypto v0.31.0 // indirect golang.org/x/exp v0.0.0-20240604190554-fc45aab8b7f8 // indirect golang.org/x/mod v0.18.0 // indirect - golang.org/x/net v0.28.0 // indirect + golang.org/x/net v0.33.0 // indirect golang.org/x/oauth2 v0.22.0 // indirect - golang.org/x/sync v0.8.0 // indirect - golang.org/x/sys v0.24.0 // indirect - golang.org/x/term v0.23.0 // indirect - golang.org/x/text v0.17.0 // indirect + golang.org/x/sync v0.10.0 // indirect + golang.org/x/sys v0.28.0 // indirect + golang.org/x/term v0.27.0 // indirect + golang.org/x/text v0.21.0 // indirect golang.org/x/time v0.5.0 // indirect golang.org/x/tools v0.22.0 // indirect golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028 // indirect @@ -175,6 +179,7 @@ require ( google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142 // indirect google.golang.org/grpc v1.67.1 // indirect google.golang.org/protobuf v1.35.1 // indirect + gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 // indirect gopkg.in/warnings.v0 v0.1.2 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect lukechampine.com/frand v1.4.2 // indirect diff --git a/examples/go.sum b/examples/go.sum index 34d4c0ec1..41d53ca77 100644 --- a/examples/go.sum +++ b/examples/go.sum @@ -55,32 +55,52 @@ github.com/aws/aws-sdk-go v1.50.36 h1:PjWXHwZPuTLMR1NIb8nEjLucZBMzmf84TLoLbD8BZq github.com/aws/aws-sdk-go v1.50.36/go.mod h1:LF8svs817+Nz+DmiMQKTO3ubZ/6IaTpq3TjupRn3Eqk= github.com/aws/aws-sdk-go-v2 v1.26.1 h1:5554eUqIYVWpU0YmeeYZ0wU64H2VLBs8TlhRB2L+EkA= github.com/aws/aws-sdk-go-v2 v1.26.1/go.mod h1:ffIFB97e2yNsv4aTSGkqtHnppsIJzw7G7BReUZ3jCXM= +github.com/aws/aws-sdk-go-v2 v1.32.7 h1:ky5o35oENWi0JYWUZkB7WYvVPP+bcRF5/Iq7JWSb5Rw= +github.com/aws/aws-sdk-go-v2 v1.32.7/go.mod h1:P5WJBrYqqbWVaOxgH0X/FYYD47/nooaPOZPlQdmiN2U= github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.2 h1:x6xsQXGSmW6frevwDA+vi/wqhp1ct18mVXYN08/93to= github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.2/go.mod h1:lPprDr1e6cJdyYeGXnRaJoP4Md+cDBvi2eOj00BlGmg= github.com/aws/aws-sdk-go-v2/config v1.27.11 h1:f47rANd2LQEYHda2ddSCKYId18/8BhSRM4BULGmfgNA= github.com/aws/aws-sdk-go-v2/config v1.27.11/go.mod h1:SMsV78RIOYdve1vf36z8LmnszlRWkwMQtomCAI0/mIE= +github.com/aws/aws-sdk-go-v2/config v1.28.7 h1:GduUnoTXlhkgnxTD93g1nv4tVPILbdNQOzav+Wpg7AE= +github.com/aws/aws-sdk-go-v2/config v1.28.7/go.mod h1:vZGX6GVkIE8uECSUHB6MWAUsd4ZcG2Yq/dMa4refR3M= github.com/aws/aws-sdk-go-v2/credentials v1.17.11 h1:YuIB1dJNf1Re822rriUOTxopaHHvIq0l/pX3fwO+Tzs= github.com/aws/aws-sdk-go-v2/credentials v1.17.11/go.mod h1:AQtFPsDH9bI2O+71anW6EKL+NcD7LG3dpKGMV4SShgo= +github.com/aws/aws-sdk-go-v2/credentials v1.17.48 h1:IYdLD1qTJ0zanRavulofmqut4afs45mOWEI+MzZtTfQ= +github.com/aws/aws-sdk-go-v2/credentials v1.17.48/go.mod h1:tOscxHN3CGmuX9idQ3+qbkzrjVIx32lqDSU1/0d/qXs= github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.1 h1:FVJ0r5XTHSmIHJV6KuDmdYhEpvlHpiSd38RQWhut5J4= github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.1/go.mod h1:zusuAeqezXzAB24LGuzuekqMAEgWkVYukBec3kr3jUg= +github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.22 h1:kqOrpojG71DxJm/KDPO+Z/y1phm1JlC8/iT+5XRmAn8= +github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.22/go.mod h1:NtSFajXVVL8TA2QNngagVZmUtXciyrHOt7xgz4faS/M= github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.16.15 h1:7Zwtt/lP3KNRkeZre7soMELMGNoBrutx8nobg1jKWmo= github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.16.15/go.mod h1:436h2adoHb57yd+8W+gYPrrA9U/R/SuAuOO42Ushzhw= github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.5 h1:aw39xVGeRWlWx9EzGVnhOR4yOjQDHPQ6o6NmBlscyQg= github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.5/go.mod h1:FSaRudD0dXiMPK2UjknVwwTYyZMRsHv3TtkabsZih5I= +github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.26 h1:I/5wmGMffY4happ8NOCuIUEWGUvvFp5NSeQcXl9RHcI= +github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.26/go.mod h1:FR8f4turZtNy6baO0KJ5FJUmXH/cSkI9fOngs0yl6mA= github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.5 h1:PG1F3OD1szkuQPzDw3CIQsRIrtTlUC3lP84taWzHlq0= github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.5/go.mod h1:jU1li6RFryMz+so64PpKtudI+QzbKoIEivqdf6LNpOc= +github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.26 h1:zXFLuEuMMUOvEARXFUVJdfqZ4bvvSgdGRq/ATcrQxzM= +github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.26/go.mod h1:3o2Wpy0bogG1kyOPrgkXA8pgIfEEv0+m19O9D5+W8y8= github.com/aws/aws-sdk-go-v2/internal/ini v1.8.0 h1:hT8rVHwugYE2lEfdFE0QWVo81lF7jMrYJVDWI+f+VxU= github.com/aws/aws-sdk-go-v2/internal/ini v1.8.0/go.mod h1:8tu/lYfQfFe6IGnaOdrpVgEL2IrrDOf6/m9RQum4NkY= +github.com/aws/aws-sdk-go-v2/internal/ini v1.8.1 h1:VaRN3TlFdd6KxX1x3ILT5ynH6HvKgqdiXoTxAF4HQcQ= +github.com/aws/aws-sdk-go-v2/internal/ini v1.8.1/go.mod h1:FbtygfRFze9usAadmnGJNc8KsP346kEe+y2/oyhGAGc= github.com/aws/aws-sdk-go-v2/internal/v4a v1.3.5 h1:81KE7vaZzrl7yHBYHVEzYB8sypz11NMOZ40YlWvPxsU= github.com/aws/aws-sdk-go-v2/internal/v4a v1.3.5/go.mod h1:LIt2rg7Mcgn09Ygbdh/RdIm0rQ+3BNkbP1gyVMFtRK0= +github.com/aws/aws-sdk-go-v2/service/ecr v1.38.0 h1:+1IqznlfeMCgFWoWAuwRqykVc6gGoUUQFGXai+77KWs= +github.com/aws/aws-sdk-go-v2/service/ecr v1.38.0/go.mod h1:NqKnlZvLl4Tp2UH/GEc/nhbjmPQhwOXmLp2eldiszLM= github.com/aws/aws-sdk-go-v2/service/iam v1.31.4 h1:eVm30ZIDv//r6Aogat9I88b5YX1xASSLcEDqHYRPVl0= github.com/aws/aws-sdk-go-v2/service/iam v1.31.4/go.mod h1:aXWImQV0uTW35LM0A/T4wEg6R1/ReXUu4SM6/lUHYK0= github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.11.2 h1:Ji0DY1xUsUr3I8cHps0G+XM3WWU16lP6yG8qu1GAZAs= github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.11.2/go.mod h1:5CsjAbs3NlGQyZNFACh+zztPDI7fU6eW9QsxjfnuBKg= +github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.12.1 h1:iXtILhvDxB6kPvEXgsDhGaZCSC6LQET5ZHSdJozeI0Y= +github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.12.1/go.mod h1:9nu0fVANtYiAePIBh2/pFUSwtJ402hLnp854CNoDOeE= github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.3.7 h1:ZMeFZ5yk+Ek+jNr1+uwCd2tG89t6oTS5yVWpa6yy2es= github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.3.7/go.mod h1:mxV05U+4JiHqIpGqqYXOHLPKUC6bDXC44bsUhNjOEwY= github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.7 h1:ogRAwT1/gxJBcSWDMZlgyFUM962F51A5CRhDLbxLdmo= github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.7/go.mod h1:YCsIZhXfRPLFFCl5xxY+1T9RKzOKjCut+28JSX2DnAk= +github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.12.7 h1:8eUsivBQzZHqe/3FE+cqwfH+0p5Jo8PFM/QYQSmeZ+M= +github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.12.7/go.mod h1:kLPQvGUmxn/fqiCrDeohwG33bq2pQpGeY62yRO6Nrh0= github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.17.5 h1:f9RyWNtS8oH7cZlbn+/JNPpjUk5+5fLd5lM9M0i49Ys= github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.17.5/go.mod h1:h5CoMZV2VF297/VLhRhO1WF+XYWOzXo+4HsObA4HjBQ= github.com/aws/aws-sdk-go-v2/service/kms v1.30.1 h1:SBn4I0fJXF9FYOVRSVMWuhvEKoAHDikjGpS3wlmw5DE= @@ -89,12 +109,20 @@ github.com/aws/aws-sdk-go-v2/service/s3 v1.53.1 h1:6cnno47Me9bRykw9AEv9zkXE+5or7 github.com/aws/aws-sdk-go-v2/service/s3 v1.53.1/go.mod h1:qmdkIIAC+GCLASF7R2whgNrJADz0QZPX+Seiw/i4S3o= github.com/aws/aws-sdk-go-v2/service/sso v1.20.5 h1:vN8hEbpRnL7+Hopy9dzmRle1xmDc7o8tmY0klsr175w= github.com/aws/aws-sdk-go-v2/service/sso v1.20.5/go.mod h1:qGzynb/msuZIE8I75DVRCUXw3o3ZyBmUvMwQ2t/BrGM= +github.com/aws/aws-sdk-go-v2/service/sso v1.24.8 h1:CvuUmnXI7ebaUAhbJcDy9YQx8wHR69eZ9I7q5hszt/g= +github.com/aws/aws-sdk-go-v2/service/sso v1.24.8/go.mod h1:XDeGv1opzwm8ubxddF0cgqkZWsyOtw4lr6dxwmb6YQg= github.com/aws/aws-sdk-go-v2/service/ssooidc v1.23.4 h1:Jux+gDDyi1Lruk+KHF91tK2KCuY61kzoCpvtvJJBtOE= github.com/aws/aws-sdk-go-v2/service/ssooidc v1.23.4/go.mod h1:mUYPBhaF2lGiukDEjJX2BLRRKTmoUSitGDUgM4tRxak= +github.com/aws/aws-sdk-go-v2/service/ssooidc v1.28.7 h1:F2rBfNAL5UyswqoeWv9zs74N/NanhK16ydHW1pahX6E= +github.com/aws/aws-sdk-go-v2/service/ssooidc v1.28.7/go.mod h1:JfyQ0g2JG8+Krq0EuZNnRwX0mU0HrwY/tG6JNfcqh4k= github.com/aws/aws-sdk-go-v2/service/sts v1.28.6 h1:cwIxeBttqPN3qkaAjcEcsh8NYr8n2HZPkcKgPAi1phU= github.com/aws/aws-sdk-go-v2/service/sts v1.28.6/go.mod h1:FZf1/nKNEkHdGGJP/cI2MoIMquumuRK6ol3QQJNDxmw= +github.com/aws/aws-sdk-go-v2/service/sts v1.33.3 h1:Xgv/hyNgvLda/M9l9qxXc4UFSgppnRczLxlMs5Ae/QY= +github.com/aws/aws-sdk-go-v2/service/sts v1.33.3/go.mod h1:5Gn+d+VaaRgsjewpMvGazt0WfcFO+Md4wLOuBfGR9Bc= github.com/aws/smithy-go v1.20.2 h1:tbp628ireGtzcHDDmLT/6ADHidqnwgF57XOXZe6tp4Q= github.com/aws/smithy-go v1.20.2/go.mod h1:krry+ya/rV9RDcV/Q16kpu6ypI4K2czasz0NC3qS14E= +github.com/aws/smithy-go v1.22.1 h1:/HPHZQ0g7f4eUeK6HKglFz8uwVfZKgoI25rb/J+dnro= +github.com/aws/smithy-go v1.22.1/go.mod h1:irrKGvNn1InZwb2d7fkIRNucdfwR8R+Ts3wxYa/cJHg= github.com/aymanbagabas/go-osc52/v2 v2.0.1 h1:HwpRHbFMcZLEVr42D4p7XBqjyuxQH5SMiErDT4WkJ2k= github.com/aymanbagabas/go-osc52/v2 v2.0.1/go.mod h1:uYgXzlJ7ZpABp8OJ+exZzJJhRNQ2ASbcXHWsFqH8hp8= github.com/blang/semver v3.5.1+incompatible h1:cQNTCjp13qL8KC3Nbxr/y2Bqb63oX6wdnnjpJbkM4JQ= @@ -143,6 +171,9 @@ github.com/fatih/color v1.16.0 h1:zmkK9Ngbjj+K0yRhTVONQh1p/HknKYSlNT+vZCzyokM= github.com/fatih/color v1.16.0/go.mod h1:fL2Sau1YI5c0pdGEVCbKQbLXB6edEj1ZgiY4NijnWvE= github.com/felixge/httpsnoop v1.0.4 h1:NFTV2Zj1bL4mc9sqWACXbQFVBBg2W3GPvqp8/ESS2Wg= github.com/felixge/httpsnoop v1.0.4/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= +github.com/fsnotify/fsnotify v1.6.0/go.mod h1:sl3t1tCWJFWoRz9R8WJCbQihKKwmorjAbSClcnxKAGw= +github.com/fsnotify/fsnotify v1.7.0 h1:8JEhPFa5W2WU7YfeZzPNqzMP6Lwt7L2715Ggo0nosvA= +github.com/fsnotify/fsnotify v1.7.0/go.mod h1:40Bi/Hjc2AVfZrqy+aj+yEI+/bRxZnMJyTJwOpGvigM= github.com/gliderlabs/ssh v0.3.7 h1:iV3Bqi942d9huXnzEF2Mt+CY9gLu8DNM4Obd+8bODRE= github.com/gliderlabs/ssh v0.3.7/go.mod h1:zpHEXBstFnQYtGnB8k8kQLol82umzn/2/snG7alWVD8= github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376 h1:+zs/tPmkDkHx3U66DAb0lQFJrpS6731Oaa12ikc+DiI= @@ -313,6 +344,8 @@ github.com/muesli/termenv v0.15.2 h1:GohcuySI0QmI3wN8Ok9PtKGkgkFIk7y6Vpb5PvrY+Wo github.com/muesli/termenv v0.15.2/go.mod h1:Epx+iuz8sNs7mNKhxzH4fWXGNpZwUaJKRS1noLXviQ8= github.com/natefinch/atomic v1.0.1 h1:ZPYKxkqQOx3KZ+RsbnP/YsgvxWQPGxjC0oBt2AhwV0A= github.com/natefinch/atomic v1.0.1/go.mod h1:N/D/ELrljoqDyT3rZrsUmtsuzvHkeB/wWjHV22AZRbM= +github.com/nxadm/tail v1.4.11 h1:8feyoE3OzPrcshW5/MJ4sGESc5cqmGkGCWlco4l0bqY= +github.com/nxadm/tail v1.4.11/go.mod h1:OTaG3NK980DZzxbRq6lEuzgU+mug70nY11sMd4JXXHc= github.com/onsi/gomega v1.27.10 h1:naR28SdDFlqrG6kScpT8VWpu1xWY5nJRCF3XaYyBjhI= github.com/onsi/gomega v1.27.10/go.mod h1:RsS8tutOdbdgzbPtzzATp12yT7kM5I5aElG3evPbQ0M= github.com/opentracing/basictracer-go v1.1.0 h1:Oa1fTSBvAl8pa3U+IJYqrKm0NALwH9OsgwOqDv4xJW0= @@ -339,10 +372,12 @@ 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.10.0 h1:jzBKzkLVW0mePeanDRfqSQoCJ5yrkux0jIwAkUxpRKE= github.com/pulumi/esc v0.10.0/go.mod h1:2Bfa+FWj/xl8CKqRTWbWgDX0SOD4opdQgvYSURTGK2c= -github.com/pulumi/pulumi/pkg/v3 v3.139.0 h1:vWwAvEL0US8Z6emggo+OI/ZducMq9m9LKCJbEDbERvU= -github.com/pulumi/pulumi/pkg/v3 v3.139.0/go.mod h1:LtEg3PKYzbFnAKWFOENGRwGRNBpv16xKtbK+7esiSHU= -github.com/pulumi/pulumi/sdk/v3 v3.139.0 h1:oBGP58b2Yw1HbPA3LHO/jHmOaVqFSEjw5BXd36ZbPLw= -github.com/pulumi/pulumi/sdk/v3 v3.139.0/go.mod h1:PvKsX88co8XuwuPdzolMvew5lZV+4JmZfkeSjj7A6dI= +github.com/pulumi/providertest v0.1.4 h1:25AeDXEcQLtRxJgcDG5TISYpOMoVoQHhv69vzfJtHws= +github.com/pulumi/providertest v0.1.4/go.mod h1:bU07oPwpgNjGuuIT6CPnI/eLXaGHqhypFrxX5ZsABo4= +github.com/pulumi/pulumi/pkg/v3 v3.144.1 h1:64mVLQDEZa2GN52rTKSyXlA3r+APoqDXrNdkzlASyvs= +github.com/pulumi/pulumi/pkg/v3 v3.144.1/go.mod h1:q2wZOcwXVI/+OBtEXD6mLS7shhRMgsIGTo/uWfo0q04= +github.com/pulumi/pulumi/sdk/v3 v3.144.1 h1:QQtCDERihhlfvcmRzqHeBmOER1Fg1VkFj9933Lxqv00= +github.com/pulumi/pulumi/sdk/v3 v3.144.1/go.mod h1:/6gxU2XirnLlImBy5OoqV6I4HcjOf+IznNIZNZExZzo= 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.4 h1:8TfxU8dW6PdqD27gjM8MVNuicgxIjxpm4K7x4jp8sis= @@ -434,8 +469,8 @@ golang.org/x/crypto v0.7.0/go.mod h1:pYwdfH91IfpZVANVyUOhSIPZaFoJGxTFbZhFTx+dXZU golang.org/x/crypto v0.13.0/go.mod h1:y6Z2r+Rw4iayiXXAIxJIDAJ1zMW4yaTpebo8fPOliYc= golang.org/x/crypto v0.18.0/go.mod h1:R0j02AL6hcrfOiy9T4ZYp/rcWeMxM3L6QYxlOuEG1mg= golang.org/x/crypto v0.19.0/go.mod h1:Iy9bg/ha4yyC70EfRS8jz+B6ybOBKMaSxLj6P6oBDfU= -golang.org/x/crypto v0.26.0 h1:RrRspgV4mU+YwB4FYnuBoKsUapNIL5cohGAmSH3azsw= -golang.org/x/crypto v0.26.0/go.mod h1:GY7jblb9wI+FOo5y8/S2oY4zWP07AkOJ4+jxCqdqn54= +golang.org/x/crypto v0.31.0 h1:ihbySMvVjLAeSH1IbfcRTkD/iNscyz8rGzjF/E5hV6U= +golang.org/x/crypto v0.31.0/go.mod h1:kDsLvtWBEx7MV9tJOj9bnXsPbxwJQ6csT/x4KIN4Ssk= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20240604190554-fc45aab8b7f8 h1:LoYXNGAShUG3m/ehNk4iFctuhGX/+R1ZpfJ4/ia80JM= golang.org/x/exp v0.0.0-20240604190554-fc45aab8b7f8/go.mod h1:jj3sYF3dwk5D+ghuXyeI3r5MFf+NT2An6/9dOA95KSI= @@ -471,8 +506,8 @@ golang.org/x/net v0.8.0/go.mod h1:QVkue5JL9kW//ek3r6jTKnTFis1tRmNAW2P1shuFdJc= golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg= golang.org/x/net v0.15.0/go.mod h1:idbUs1IY1+zTqbi8yxTbhexhEEk5ur9LInksu6HrEpk= golang.org/x/net v0.20.0/go.mod h1:z8BVo6PvndSri0LbOE3hAn0apkU+1YvI6E70E9jsnvY= -golang.org/x/net v0.28.0 h1:a9JDOJc5GMUJ0+UDqmLT86WiEy7iWyIhz8gz8E4e5hE= -golang.org/x/net v0.28.0/go.mod h1:yqtgsTWOOnlGLG9GFRrK3++bGOUEkNBoHZc8MEDWPNg= +golang.org/x/net v0.33.0 h1:74SYHlV8BIgHIFC/LrYkOGIwL19eTYXQ5wc6TBuO36I= +golang.org/x/net v0.33.0/go.mod h1:HXLR5J+9DxmrqMwG9qjGCxZ+zKXxBru04zlTvWlWuN4= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.22.0 h1:BzDx2FehcG7jJwgWLELCdmLuxk2i+x9UDpSiss2u0ZA= golang.org/x/oauth2 v0.22.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI= @@ -485,8 +520,8 @@ golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.3.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y= golang.org/x/sync v0.6.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= -golang.org/x/sync v0.8.0 h1:3NFvSEYkUoMifnESzZl15y791HH1qU2xm6eCJU5ZPXQ= -golang.org/x/sync v0.8.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= +golang.org/x/sync v0.10.0 h1:3NQrjDixjgGwUOCaF8w2+VYHv0Ve/vGYSbdkTa98gmQ= +golang.org/x/sync v0.10.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -504,6 +539,7 @@ golang.org/x/sys v0.0.0-20211110154304-99a53858aa08/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220908164124-27713097b956/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.2.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.3.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= @@ -513,8 +549,8 @@ golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.16.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/sys v0.24.0 h1:Twjiwq9dn6R1fQcyiK+wQyHWfaz/BJB+YIpzU/Cv3Xg= -golang.org/x/sys v0.24.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.28.0 h1:Fksou7UEQUWlKvIdsqzJmUmCX3cZuD2+P3XyyzwMhlA= +golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.2.0/go.mod h1:TVmDHMZPmdnySmBfhjOoOdhjzdE1h4u1VwSiw2l1Nuc= @@ -524,8 +560,8 @@ golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo= golang.org/x/term v0.12.0/go.mod h1:owVbMEjm3cBLCHdkQu9b1opXd4ETQWc3BhuQGKgXgvU= golang.org/x/term v0.16.0/go.mod h1:yn7UURbUtPyrVJPGPq404EukNFxcm/foM+bV/bfcDsY= golang.org/x/term v0.17.0/go.mod h1:lLRBjIVuehSbZlaOtGMbcMncT+aqLLLmKrsjNrUguwk= -golang.org/x/term v0.23.0 h1:F6D4vR+EHoL9/sWAWgAR1H2DcHr4PareCbAaCo1RpuU= -golang.org/x/term v0.23.0/go.mod h1:DgV24QBUrK6jhZXl+20l6UWznPlwAHm1Q1mGHtydmSk= +golang.org/x/term v0.27.0 h1:WP60Sv1nlK1T6SupCHbXzSaN0b9wUmsPoRS9b61A23Q= +golang.org/x/term v0.27.0/go.mod h1:iMsnZpn0cago0GOrHO2+Y7u7JPn5AylBrcoWkElMTSM= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= @@ -536,8 +572,8 @@ golang.org/x/text v0.8.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= -golang.org/x/text v0.17.0 h1:XtiM5bkSOt+ewxlOE/aE/AKEHibwj/6gvWMl9Rsh0Qc= -golang.org/x/text v0.17.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= +golang.org/x/text v0.21.0 h1:zyQAAkrwaneQ066sspRyJaG9VNi/YJ1NfzcGB3hZ/qo= +golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ= golang.org/x/time v0.5.0 h1:o7cqy6amK/52YcAKIPlM3a+Fpj35zvRj2TP+e1xFSfk= golang.org/x/time v0.5.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= @@ -597,6 +633,8 @@ gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8 gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= +gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 h1:uRGJdciOHaEIrze2W8Q3AKkepLTh2hOroT7a+7czfdQ= +gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw= gopkg.in/warnings.v0 v0.1.2 h1:wFXVbFY8DY5/xOe1ECiWdKCzZlxgshcYVNkBHstARME= gopkg.in/warnings.v0 v0.1.2/go.mod h1:jksf8JmL6Qr/oQM2OXTHunEvvTAsrWBLb6OOjuVWRNI= gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= diff --git a/examples/ts-ecr-simple/index.ts b/examples/ts-ecr-simple/index.ts index 1ddf59e4d..e808e69c9 100644 --- a/examples/ts-ecr-simple/index.ts +++ b/examples/ts-ecr-simple/index.ts @@ -17,6 +17,7 @@ import * as aws from "@pulumi/aws"; import * as awsx from "@pulumi/awsx"; const repository = new awsx.ecr.Repository("repository", { forceDelete: true }); +export const repositoryName = repository.repository.name; export const image = new awsx.ecr.Image("image", { repositoryUrl: repository.repository.repositoryUrl, diff --git a/examples_legacy/alb/ec2/package.json b/examples_legacy/alb/ec2/package.json index d2112e17b..883d633d2 100644 --- a/examples_legacy/alb/ec2/package.json +++ b/examples_legacy/alb/ec2/package.json @@ -7,7 +7,7 @@ }, "dependencies": { "@pulumi/pulumi": "^3.0.0", - "@pulumi/aws": "^4.0.0" + "@pulumi/aws": "^6.0.0" }, "devDependencies": { "@types/node": "^10.0.0" diff --git a/examples_legacy/alb/ec2Instance/package.json b/examples_legacy/alb/ec2Instance/package.json index 9250c3243..8b48dc740 100644 --- a/examples_legacy/alb/ec2Instance/package.json +++ b/examples_legacy/alb/ec2Instance/package.json @@ -7,7 +7,7 @@ }, "dependencies": { "@pulumi/pulumi": "^3.0.0", - "@pulumi/aws": "^4.0.0" + "@pulumi/aws": "^6.0.0" }, "devDependencies": { "@types/node": "^8.0.0" diff --git a/examples_legacy/alb/fargate/package.json b/examples_legacy/alb/fargate/package.json index ec3eab1f6..8355403c2 100644 --- a/examples_legacy/alb/fargate/package.json +++ b/examples_legacy/alb/fargate/package.json @@ -7,7 +7,7 @@ }, "dependencies": { "@pulumi/pulumi": "^3.0.0", - "@pulumi/aws": "^4.0.0" + "@pulumi/aws": "^6.0.0" }, "devDependencies": { "@types/node": "^8.0.0" diff --git a/examples_legacy/alb/fargateInlineListener/package.json b/examples_legacy/alb/fargateInlineListener/package.json index ec3eab1f6..8355403c2 100644 --- a/examples_legacy/alb/fargateInlineListener/package.json +++ b/examples_legacy/alb/fargateInlineListener/package.json @@ -7,7 +7,7 @@ }, "dependencies": { "@pulumi/pulumi": "^3.0.0", - "@pulumi/aws": "^4.0.0" + "@pulumi/aws": "^6.0.0" }, "devDependencies": { "@types/node": "^8.0.0" diff --git a/examples_legacy/alb/lambdaTarget/package.json b/examples_legacy/alb/lambdaTarget/package.json index be0c12cdb..9f36c4c39 100644 --- a/examples_legacy/alb/lambdaTarget/package.json +++ b/examples_legacy/alb/lambdaTarget/package.json @@ -7,7 +7,7 @@ }, "dependencies": { "@pulumi/pulumi": "^3.0.0", - "@pulumi/aws": "^4.0.0" + "@pulumi/aws": "^6.0.0" }, "devDependencies": { "@types/node": "^8.0.0" diff --git a/examples_legacy/api/package.json b/examples_legacy/api/package.json index f3d5c4253..e5b0ece6e 100644 --- a/examples_legacy/api/package.json +++ b/examples_legacy/api/package.json @@ -7,7 +7,7 @@ }, "dependencies": { "@pulumi/pulumi": "^3.0.0", - "@pulumi/aws": "^4.0.0" + "@pulumi/aws": "^6.0.0" }, "devDependencies": { "@types/aws-sdk": "^2.7.0", diff --git a/examples_legacy/apikeysource/package.json b/examples_legacy/apikeysource/package.json index 5c401d496..38387f7b1 100644 --- a/examples_legacy/apikeysource/package.json +++ b/examples_legacy/apikeysource/package.json @@ -12,7 +12,7 @@ "aws-sdk": "^2.1500.0", "@pulumi/docker": "^4.4.4", "@types/aws-lambda": "^8.10.23", - "docker-classic": "npm:@pulumi/docker@3.6.1", + "docker-classic": "npm:@pulumi/docker@4.5.8", "mime": "^2.0.0" }, "devDependencies": { diff --git a/examples_legacy/cluster/package.json b/examples_legacy/cluster/package.json index bbe691af7..a709b8d09 100644 --- a/examples_legacy/cluster/package.json +++ b/examples_legacy/cluster/package.json @@ -7,7 +7,7 @@ }, "dependencies": { "@pulumi/pulumi": "^3.0.0", - "@pulumi/aws": "^4.0.0" + "@pulumi/aws": "^6.0.0" }, "devDependencies": { "@types/node": "^8.0.0" diff --git a/examples_legacy/dashboards/package.json b/examples_legacy/dashboards/package.json index 404808e3d..f3a225427 100644 --- a/examples_legacy/dashboards/package.json +++ b/examples_legacy/dashboards/package.json @@ -7,7 +7,7 @@ }, "dependencies": { "@pulumi/pulumi": "^3.0.0", - "@pulumi/aws": "^4.0.0", + "@pulumi/aws": "^6.0.0", "node-fetch": "^2.2.0" }, "devDependencies": { diff --git a/examples_legacy/ec2/package.json b/examples_legacy/ec2/package.json index 6d3e9210c..cd7ea245c 100644 --- a/examples_legacy/ec2/package.json +++ b/examples_legacy/ec2/package.json @@ -7,7 +7,7 @@ }, "dependencies": { "@pulumi/pulumi": "^3.0.0", - "@pulumi/aws": "^4.0.0" + "@pulumi/aws": "^6.0.0" }, "devDependencies": { "@types/node": "^8.0.0" diff --git a/examples_legacy/ecr/package.json b/examples_legacy/ecr/package.json index 8d1282036..85505e766 100644 --- a/examples_legacy/ecr/package.json +++ b/examples_legacy/ecr/package.json @@ -7,7 +7,7 @@ }, "dependencies": { "@pulumi/pulumi": "^3.0.0", - "@pulumi/aws": "^4.0.0" + "@pulumi/aws": "^6.0.0" }, "devDependencies": { "@types/node": "^8.0.0" diff --git a/examples_legacy/ecs/fargate-service-with-firelens/package.json b/examples_legacy/ecs/fargate-service-with-firelens/package.json index a8afcc067..b534959a5 100644 --- a/examples_legacy/ecs/fargate-service-with-firelens/package.json +++ b/examples_legacy/ecs/fargate-service-with-firelens/package.json @@ -5,7 +5,7 @@ }, "dependencies": { "@pulumi/pulumi": "^3.0.0", - "@pulumi/aws": "^4.0.0" + "@pulumi/aws": "^6.0.0" }, "peerDependencies": { "@pulumi/awsx": "latest" diff --git a/examples_legacy/ecs/task-definitions-with-proxy-config/package.json b/examples_legacy/ecs/task-definitions-with-proxy-config/package.json index a8bc7fcab..d056ab35b 100644 --- a/examples_legacy/ecs/task-definitions-with-proxy-config/package.json +++ b/examples_legacy/ecs/task-definitions-with-proxy-config/package.json @@ -5,7 +5,7 @@ }, "dependencies": { "@pulumi/pulumi": "^3.0.0", - "@pulumi/aws": "^4.0.0" + "@pulumi/aws": "^6.0.0" }, "peerDependencies": { "@pulumi/awsx": "latest" diff --git a/examples_legacy/metrics/package.json b/examples_legacy/metrics/package.json index 80df4bf6e..1eaa704eb 100644 --- a/examples_legacy/metrics/package.json +++ b/examples_legacy/metrics/package.json @@ -7,7 +7,7 @@ }, "dependencies": { "@pulumi/pulumi": "^3.0.0", - "@pulumi/aws": "^4.0.0", + "@pulumi/aws": "^6.0.0", "node-fetch": "^2.2.0" }, "devDependencies": { diff --git a/examples_legacy/nlb/fargate/package.json b/examples_legacy/nlb/fargate/package.json index c1b88aad8..bd7697343 100644 --- a/examples_legacy/nlb/fargate/package.json +++ b/examples_legacy/nlb/fargate/package.json @@ -7,7 +7,7 @@ }, "dependencies": { "@pulumi/pulumi": "^3.0.0", - "@pulumi/aws": "^4.0.0", + "@pulumi/aws": "^6.0.0", "node-fetch": "^2.6.1", "redis": "^3.1.1" }, diff --git a/examples_legacy/nlb/fargateShort/package.json b/examples_legacy/nlb/fargateShort/package.json index 8d1282036..85505e766 100644 --- a/examples_legacy/nlb/fargateShort/package.json +++ b/examples_legacy/nlb/fargateShort/package.json @@ -7,7 +7,7 @@ }, "dependencies": { "@pulumi/pulumi": "^3.0.0", - "@pulumi/aws": "^4.0.0" + "@pulumi/aws": "^6.0.0" }, "devDependencies": { "@types/node": "^8.0.0" diff --git a/examples_legacy/nlb/fargateShortInlineListener/package.json b/examples_legacy/nlb/fargateShortInlineListener/package.json index 8d1282036..85505e766 100644 --- a/examples_legacy/nlb/fargateShortInlineListener/package.json +++ b/examples_legacy/nlb/fargateShortInlineListener/package.json @@ -7,7 +7,7 @@ }, "dependencies": { "@pulumi/pulumi": "^3.0.0", - "@pulumi/aws": "^4.0.0" + "@pulumi/aws": "^6.0.0" }, "devDependencies": { "@types/node": "^8.0.0" diff --git a/examples_legacy/trail/package.json b/examples_legacy/trail/package.json index ad0ab1edf..4807b3f02 100644 --- a/examples_legacy/trail/package.json +++ b/examples_legacy/trail/package.json @@ -2,7 +2,7 @@ "name": "trail", "dependencies": { "@pulumi/pulumi": "^3.0.0", - "@pulumi/aws": "^4.0.0" + "@pulumi/aws": "^6.0.0" }, "devDependencies": { "@types/node": "^10.0.0" diff --git a/examples_legacy/vpc/package.json b/examples_legacy/vpc/package.json index aa128f86f..a675bdbb6 100644 --- a/examples_legacy/vpc/package.json +++ b/examples_legacy/vpc/package.json @@ -7,7 +7,7 @@ }, "dependencies": { "@pulumi/pulumi": "^3.0.0", - "@pulumi/aws": "^4.0.0", + "@pulumi/aws": "^6.0.0", "@pulumi/random": "^4.0.0" }, "devDependencies": { diff --git a/examples_legacy/vpcIgnoreSubnetChanges/package.json b/examples_legacy/vpcIgnoreSubnetChanges/package.json index f7a2b90de..8267617f2 100644 --- a/examples_legacy/vpcIgnoreSubnetChanges/package.json +++ b/examples_legacy/vpcIgnoreSubnetChanges/package.json @@ -7,7 +7,7 @@ }, "dependencies": { "@pulumi/pulumi": "^3.0.0", - "@pulumi/aws": "^4.0.0" + "@pulumi/aws": "^6.0.0" }, "devDependencies": { "@types/node": "^8.0.0" diff --git a/provider/cmd/pulumi-resource-awsx/schema.json b/provider/cmd/pulumi-resource-awsx/schema.json new file mode 120000 index 000000000..fbfb5f161 --- /dev/null +++ b/provider/cmd/pulumi-resource-awsx/schema.json @@ -0,0 +1 @@ +../../../schema.json \ No newline at end of file diff --git a/provider/go.mod b/provider/go.mod index 3feb7aa14..ba14d81f1 100644 --- a/provider/go.mod +++ b/provider/go.mod @@ -130,8 +130,8 @@ require ( github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect github.com/pulumi/appdash v0.0.0-20231130102222-75f619a67231 // indirect github.com/pulumi/esc v0.10.0 // indirect - github.com/pulumi/pulumi/pkg/v3 v3.139.0 // indirect - github.com/pulumi/pulumi/sdk/v3 v3.139.0 // indirect + github.com/pulumi/pulumi/pkg/v3 v3.144.1 // indirect + github.com/pulumi/pulumi/sdk/v3 v3.144.1 // indirect github.com/rivo/uniseg v0.4.7 // indirect github.com/rogpeppe/go-internal v1.12.0 // indirect github.com/ryanuber/go-glob v1.0.0 // indirect @@ -160,15 +160,15 @@ require ( go.uber.org/atomic v1.11.0 // indirect gocloud.dev v0.37.0 // indirect gocloud.dev/secrets/hashivault v0.37.0 // indirect - golang.org/x/crypto v0.26.0 // indirect + golang.org/x/crypto v0.31.0 // indirect golang.org/x/exp v0.0.0-20240604190554-fc45aab8b7f8 // indirect golang.org/x/mod v0.18.0 // indirect - golang.org/x/net v0.28.0 // indirect + golang.org/x/net v0.33.0 // indirect golang.org/x/oauth2 v0.22.0 // indirect - golang.org/x/sync v0.8.0 // indirect - golang.org/x/sys v0.24.0 // indirect - golang.org/x/term v0.23.0 // indirect - golang.org/x/text v0.17.0 // indirect + golang.org/x/sync v0.10.0 // indirect + golang.org/x/sys v0.28.0 // indirect + golang.org/x/term v0.27.0 // indirect + golang.org/x/text v0.21.0 // indirect golang.org/x/time v0.5.0 // indirect golang.org/x/tools v0.22.0 // indirect golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028 // indirect diff --git a/provider/go.sum b/provider/go.sum index 705c8dc6d..f3395f628 100644 --- a/provider/go.sum +++ b/provider/go.sum @@ -356,10 +356,10 @@ github.com/pulumi/esc v0.10.0 h1:jzBKzkLVW0mePeanDRfqSQoCJ5yrkux0jIwAkUxpRKE= github.com/pulumi/esc v0.10.0/go.mod h1:2Bfa+FWj/xl8CKqRTWbWgDX0SOD4opdQgvYSURTGK2c= github.com/pulumi/providertest v0.0.12 h1:UjcFQHHs4AGJyJqxhvC2q8yVQ7Li+UyCyP95HZcK03U= github.com/pulumi/providertest v0.0.12/go.mod h1:REAoaN+hGOtdWJGirfWYqcSjCejlbGfzyVTUuemJTuE= -github.com/pulumi/pulumi/pkg/v3 v3.139.0 h1:vWwAvEL0US8Z6emggo+OI/ZducMq9m9LKCJbEDbERvU= -github.com/pulumi/pulumi/pkg/v3 v3.139.0/go.mod h1:LtEg3PKYzbFnAKWFOENGRwGRNBpv16xKtbK+7esiSHU= -github.com/pulumi/pulumi/sdk/v3 v3.139.0 h1:oBGP58b2Yw1HbPA3LHO/jHmOaVqFSEjw5BXd36ZbPLw= -github.com/pulumi/pulumi/sdk/v3 v3.139.0/go.mod h1:PvKsX88co8XuwuPdzolMvew5lZV+4JmZfkeSjj7A6dI= +github.com/pulumi/pulumi/pkg/v3 v3.144.1 h1:64mVLQDEZa2GN52rTKSyXlA3r+APoqDXrNdkzlASyvs= +github.com/pulumi/pulumi/pkg/v3 v3.144.1/go.mod h1:q2wZOcwXVI/+OBtEXD6mLS7shhRMgsIGTo/uWfo0q04= +github.com/pulumi/pulumi/sdk/v3 v3.144.1 h1:QQtCDERihhlfvcmRzqHeBmOER1Fg1VkFj9933Lxqv00= +github.com/pulumi/pulumi/sdk/v3 v3.144.1/go.mod h1:/6gxU2XirnLlImBy5OoqV6I4HcjOf+IznNIZNZExZzo= 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= @@ -462,8 +462,8 @@ golang.org/x/crypto v0.7.0/go.mod h1:pYwdfH91IfpZVANVyUOhSIPZaFoJGxTFbZhFTx+dXZU golang.org/x/crypto v0.13.0/go.mod h1:y6Z2r+Rw4iayiXXAIxJIDAJ1zMW4yaTpebo8fPOliYc= golang.org/x/crypto v0.18.0/go.mod h1:R0j02AL6hcrfOiy9T4ZYp/rcWeMxM3L6QYxlOuEG1mg= golang.org/x/crypto v0.19.0/go.mod h1:Iy9bg/ha4yyC70EfRS8jz+B6ybOBKMaSxLj6P6oBDfU= -golang.org/x/crypto v0.26.0 h1:RrRspgV4mU+YwB4FYnuBoKsUapNIL5cohGAmSH3azsw= -golang.org/x/crypto v0.26.0/go.mod h1:GY7jblb9wI+FOo5y8/S2oY4zWP07AkOJ4+jxCqdqn54= +golang.org/x/crypto v0.31.0 h1:ihbySMvVjLAeSH1IbfcRTkD/iNscyz8rGzjF/E5hV6U= +golang.org/x/crypto v0.31.0/go.mod h1:kDsLvtWBEx7MV9tJOj9bnXsPbxwJQ6csT/x4KIN4Ssk= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20240604190554-fc45aab8b7f8 h1:LoYXNGAShUG3m/ehNk4iFctuhGX/+R1ZpfJ4/ia80JM= golang.org/x/exp v0.0.0-20240604190554-fc45aab8b7f8/go.mod h1:jj3sYF3dwk5D+ghuXyeI3r5MFf+NT2An6/9dOA95KSI= @@ -499,8 +499,8 @@ golang.org/x/net v0.8.0/go.mod h1:QVkue5JL9kW//ek3r6jTKnTFis1tRmNAW2P1shuFdJc= golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg= golang.org/x/net v0.15.0/go.mod h1:idbUs1IY1+zTqbi8yxTbhexhEEk5ur9LInksu6HrEpk= golang.org/x/net v0.20.0/go.mod h1:z8BVo6PvndSri0LbOE3hAn0apkU+1YvI6E70E9jsnvY= -golang.org/x/net v0.28.0 h1:a9JDOJc5GMUJ0+UDqmLT86WiEy7iWyIhz8gz8E4e5hE= -golang.org/x/net v0.28.0/go.mod h1:yqtgsTWOOnlGLG9GFRrK3++bGOUEkNBoHZc8MEDWPNg= +golang.org/x/net v0.33.0 h1:74SYHlV8BIgHIFC/LrYkOGIwL19eTYXQ5wc6TBuO36I= +golang.org/x/net v0.33.0/go.mod h1:HXLR5J+9DxmrqMwG9qjGCxZ+zKXxBru04zlTvWlWuN4= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.22.0 h1:BzDx2FehcG7jJwgWLELCdmLuxk2i+x9UDpSiss2u0ZA= golang.org/x/oauth2 v0.22.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI= @@ -513,8 +513,8 @@ golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.3.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y= golang.org/x/sync v0.6.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= -golang.org/x/sync v0.8.0 h1:3NFvSEYkUoMifnESzZl15y791HH1qU2xm6eCJU5ZPXQ= -golang.org/x/sync v0.8.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= +golang.org/x/sync v0.10.0 h1:3NQrjDixjgGwUOCaF8w2+VYHv0Ve/vGYSbdkTa98gmQ= +golang.org/x/sync v0.10.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -542,8 +542,8 @@ golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.16.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/sys v0.24.0 h1:Twjiwq9dn6R1fQcyiK+wQyHWfaz/BJB+YIpzU/Cv3Xg= -golang.org/x/sys v0.24.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.28.0 h1:Fksou7UEQUWlKvIdsqzJmUmCX3cZuD2+P3XyyzwMhlA= +golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.2.0/go.mod h1:TVmDHMZPmdnySmBfhjOoOdhjzdE1h4u1VwSiw2l1Nuc= @@ -553,8 +553,8 @@ golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo= golang.org/x/term v0.12.0/go.mod h1:owVbMEjm3cBLCHdkQu9b1opXd4ETQWc3BhuQGKgXgvU= golang.org/x/term v0.16.0/go.mod h1:yn7UURbUtPyrVJPGPq404EukNFxcm/foM+bV/bfcDsY= golang.org/x/term v0.17.0/go.mod h1:lLRBjIVuehSbZlaOtGMbcMncT+aqLLLmKrsjNrUguwk= -golang.org/x/term v0.23.0 h1:F6D4vR+EHoL9/sWAWgAR1H2DcHr4PareCbAaCo1RpuU= -golang.org/x/term v0.23.0/go.mod h1:DgV24QBUrK6jhZXl+20l6UWznPlwAHm1Q1mGHtydmSk= +golang.org/x/term v0.27.0 h1:WP60Sv1nlK1T6SupCHbXzSaN0b9wUmsPoRS9b61A23Q= +golang.org/x/term v0.27.0/go.mod h1:iMsnZpn0cago0GOrHO2+Y7u7JPn5AylBrcoWkElMTSM= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= @@ -565,8 +565,8 @@ golang.org/x/text v0.8.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= -golang.org/x/text v0.17.0 h1:XtiM5bkSOt+ewxlOE/aE/AKEHibwj/6gvWMl9Rsh0Qc= -golang.org/x/text v0.17.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= +golang.org/x/text v0.21.0 h1:zyQAAkrwaneQ066sspRyJaG9VNi/YJ1NfzcGB3hZ/qo= +golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ= golang.org/x/time v0.5.0 h1:o7cqy6amK/52YcAKIPlM3a+Fpj35zvRj2TP+e1xFSfk= golang.org/x/time v0.5.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= diff --git a/renovate.json5 b/renovate.json5 new file mode 100644 index 000000000..0c6288ab3 --- /dev/null +++ b/renovate.json5 @@ -0,0 +1,16 @@ +{ + $schema: "https://docs.renovatebot.com/renovate-schema.json", + extends: ["github>pulumi/renovate-config//default.json5"], + packageRules: [ + { + matchDatasources: ["npm", "go", "golang-version"], + // Dependent files need to be rebuilt when key dependencies change. + // + // https://docs.renovatebot.com/configuration-options/#postupgradetasks + postUpgradeTasks: { + commands: ["make renovate"], + executionMode: "branch", // Only run once. + }, + }, + ] +} diff --git a/schema.json b/schema.json index b0273b291..621a34bcf 100644 --- a/schema.json +++ b/schema.json @@ -27,22 +27,22 @@ "generateResourceContainerTypes": true, "importBasePath": "github.com/pulumi/pulumi-awsx/sdk/v2/go/awsx", "internalDependencies": [ - "github.com/pulumi/pulumi-docker/sdk/v4/go/docker" + "github.com/pulumi/pulumi-docker-build/sdk/go/dockerbuild" ], "liftSingleValueMethodReturns": true, "respectSchemaVersion": true }, "java": { "dependencies": { - "com.pulumi:aws": "6.59.1", - "com.pulumi:docker": "4.5.1" + "com.pulumi:aws": "6.66.2", + "com.pulumi:docker-build": "0.0.8" } }, "nodejs": { "dependencies": { "@aws-sdk/client-ecs": "^3.405.0", - "@pulumi/aws": "^6.59.1", - "@pulumi/docker": "^4.5.1", + "@pulumi/aws": "^6.66.2", + "@pulumi/docker-build": "^0.0.8", "@types/aws-lambda": "^8.10.23", "docker-classic": "npm:@pulumi/docker@3.6.1", "mime": "^2.0.0" @@ -62,7 +62,7 @@ "readme": "Pulumi Amazon Web Services (AWS) AWSX Components.", "requires": { "pulumi-aws": "\u003e=6.0.4,\u003c7.0.0", - "pulumi-docker": "\u003e=4.5.1,\u003c5.0.0" + "pulumi-docker-build": "\u003e=0.0.8,\u003c1.0.0" }, "respectSchemaVersion": true, "usesIOClasses": true @@ -103,7 +103,7 @@ "corsRules": { "type": "array", "items": { - "$ref": "/aws/v6.59.1/schema.json#/types/aws:s3/BucketCorsRule:BucketCorsRule" + "$ref": "/aws/v6.66.2/schema.json#/types/aws:s3/BucketCorsRule:BucketCorsRule" }, "description": "A rule of [Cross-Origin Resource Sharing](https://docs.aws.amazon.com/AmazonS3/latest/dev/cors.html) (documented below).\n" }, @@ -114,7 +114,7 @@ "grants": { "type": "array", "items": { - "$ref": "/aws/v6.59.1/schema.json#/types/aws:s3/BucketGrant:BucketGrant" + "$ref": "/aws/v6.66.2/schema.json#/types/aws:s3/BucketGrant:BucketGrant" }, "description": "An [ACL policy grant](https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#sample-acl) (documented below). Conflicts with `acl`.\n" }, @@ -125,19 +125,19 @@ "lifecycleRules": { "type": "array", "items": { - "$ref": "/aws/v6.59.1/schema.json#/types/aws:s3/BucketLifecycleRule:BucketLifecycleRule" + "$ref": "/aws/v6.66.2/schema.json#/types/aws:s3/BucketLifecycleRule:BucketLifecycleRule" }, "description": "A configuration of [object lifecycle management](http://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html) (documented below).\n" }, "loggings": { "type": "array", "items": { - "$ref": "/aws/v6.59.1/schema.json#/types/aws:s3/BucketLogging:BucketLogging" + "$ref": "/aws/v6.66.2/schema.json#/types/aws:s3/BucketLogging:BucketLogging" }, "description": "A settings of [bucket logging](https://docs.aws.amazon.com/AmazonS3/latest/UG/ManagingBucketLogging.html) (documented below).\n" }, "objectLockConfiguration": { - "$ref": "/aws/v6.59.1/schema.json#/types/aws:s3/BucketObjectLockConfiguration:BucketObjectLockConfiguration", + "$ref": "/aws/v6.66.2/schema.json#/types/aws:s3/BucketObjectLockConfiguration:BucketObjectLockConfiguration", "description": "A configuration of [S3 object locking](https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html) (documented below)\n\n\u003e **NOTE:** You cannot use `acceleration_status` in `cn-north-1` or `us-gov-west-1`\n" }, "policy": { @@ -145,7 +145,7 @@ "description": "A valid [bucket policy](https://docs.aws.amazon.com/AmazonS3/latest/dev/example-bucket-policies.html) JSON document. Note that if the policy document is not specific enough (but still valid), this provider may view the policy as constantly changing in a `pulumi preview`. In this case, please make sure you use the verbose/specific version of the policy.\n" }, "replicationConfiguration": { - "$ref": "/aws/v6.59.1/schema.json#/types/aws:s3/BucketReplicationConfiguration:BucketReplicationConfiguration", + "$ref": "/aws/v6.66.2/schema.json#/types/aws:s3/BucketReplicationConfiguration:BucketReplicationConfiguration", "description": "A configuration of [replication configuration](http://docs.aws.amazon.com/AmazonS3/latest/dev/crr.html) (documented below).\n" }, "requestPayer": { @@ -153,7 +153,7 @@ "description": "Specifies who should bear the cost of Amazon S3 data transfer.\nCan be either `BucketOwner` or `Requester`. By default, the owner of the S3 bucket would incur\nthe costs of any data transfer. See [Requester Pays Buckets](http://docs.aws.amazon.com/AmazonS3/latest/dev/RequesterPaysBuckets.html)\ndeveloper guide for more information.\n" }, "serverSideEncryptionConfiguration": { - "$ref": "/aws/v6.59.1/schema.json#/types/aws:s3/BucketServerSideEncryptionConfiguration:BucketServerSideEncryptionConfiguration", + "$ref": "/aws/v6.66.2/schema.json#/types/aws:s3/BucketServerSideEncryptionConfiguration:BucketServerSideEncryptionConfiguration", "description": "A configuration of [server-side encryption configuration](http://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html) (documented below)\n" }, "tags": { @@ -164,11 +164,11 @@ "description": "A map of tags to assign to the bucket. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.\n" }, "versioning": { - "$ref": "/aws/v6.59.1/schema.json#/types/aws:s3/BucketVersioning:BucketVersioning", + "$ref": "/aws/v6.66.2/schema.json#/types/aws:s3/BucketVersioning:BucketVersioning", "description": "A state of [versioning](https://docs.aws.amazon.com/AmazonS3/latest/dev/Versioning.html) (documented below)\n" }, "website": { - "$ref": "/aws/v6.59.1/schema.json#/types/aws:s3/BucketWebsite:BucketWebsite", + "$ref": "/aws/v6.66.2/schema.json#/types/aws:s3/BucketWebsite:BucketWebsite", "description": "A website object (documented below).\n" }, "websiteDomain": { @@ -403,10 +403,9 @@ "inlinePolicies": { "type": "array", "items": { - "$ref": "/aws/v6.59.1/schema.json#/types/aws:iam/RoleInlinePolicy:RoleInlinePolicy" + "$ref": "/aws/v6.66.2/schema.json#/types/aws:iam/RoleInlinePolicy:RoleInlinePolicy" }, - "description": "Configuration block defining an exclusive set of IAM inline policies associated with the IAM role. See below. If no blocks are configured, Pulumi will not manage any inline policies in this resource. Configuring one empty block (i.e., `inline_policy {}`) will cause Pulumi to remove _all_ inline policies added out of band on `apply`.\n", - "deprecationMessage": "The inline_policy argument is deprecated. Use the aws.iam.RolePolicy resource instead. If Terraform should exclusively manage all inline policy associations (the current behavior of this argument), use the aws.iam.RolePoliciesExclusive resource as well." + "description": "Configuration block defining an exclusive set of IAM inline policies associated with the IAM role. See below. If no blocks are configured, Pulumi will not manage any inline policies in this resource. Configuring one empty block (i.e., `inline_policy {}`) will cause Pulumi to remove _all_ inline policies added out of band on `apply`.\n" }, "managedPolicyArns": { "type": "array", @@ -469,14 +468,14 @@ "egress": { "type": "array", "items": { - "$ref": "/aws/v6.59.1/schema.json#/types/aws:ec2/SecurityGroupEgress:SecurityGroupEgress" + "$ref": "/aws/v6.66.2/schema.json#/types/aws:ec2/SecurityGroupEgress:SecurityGroupEgress" }, "description": "Configuration block for egress rules. Can be specified multiple times for each egress rule. Each egress block supports fields documented below. This argument is processed in attribute-as-blocks mode.\n" }, "ingress": { "type": "array", "items": { - "$ref": "/aws/v6.59.1/schema.json#/types/aws:ec2/SecurityGroupIngress:SecurityGroupIngress" + "$ref": "/aws/v6.66.2/schema.json#/types/aws:ec2/SecurityGroupIngress:SecurityGroupIngress" }, "description": "Configuration block for ingress rules. Can be specified multiple times for each ingress rule. Each ingress block supports fields documented below. This argument is processed in attribute-as-blocks mode.\n" }, @@ -692,7 +691,7 @@ ] }, "awsx:ec2:VpcEndpointSpec": { - "description": "Provides a VPC Endpoint resource.\n\n\u003e **NOTE on VPC Endpoints and VPC Endpoint Associations:** The provider provides both standalone VPC Endpoint Associations for\nRoute Tables - (an association between a VPC endpoint and a single `route_table_id`),\nSecurity Groups - (an association between a VPC endpoint and a single `security_group_id`),\nand Subnets - (an association between a VPC endpoint and a single `subnet_id`) and\na VPC Endpoint resource with `route_table_ids` and `subnet_ids` attributes.\nDo not use the same resource ID in both a VPC Endpoint resource and a VPC Endpoint Association resource.\nDoing so will cause a conflict of associations and will overwrite the association.\n\n## Example Usage\n\n### Basic\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst s3 = new aws.ec2.VpcEndpoint(\"s3\", {\n vpcId: main.id,\n serviceName: \"com.amazonaws.us-west-2.s3\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ns3 = aws.ec2.VpcEndpoint(\"s3\",\n vpc_id=main[\"id\"],\n service_name=\"com.amazonaws.us-west-2.s3\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var s3 = new Aws.Ec2.VpcEndpoint(\"s3\", new()\n {\n VpcId = main.Id,\n ServiceName = \"com.amazonaws.us-west-2.s3\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.NewVpcEndpoint(ctx, \"s3\", \u0026ec2.VpcEndpointArgs{\n\t\t\tVpcId: pulumi.Any(main.Id),\n\t\t\tServiceName: pulumi.String(\"com.amazonaws.us-west-2.s3\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.VpcEndpoint;\nimport com.pulumi.aws.ec2.VpcEndpointArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var s3 = new VpcEndpoint(\"s3\", VpcEndpointArgs.builder()\n .vpcId(main.id())\n .serviceName(\"com.amazonaws.us-west-2.s3\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n s3:\n type: aws:ec2:VpcEndpoint\n properties:\n vpcId: ${main.id}\n serviceName: com.amazonaws.us-west-2.s3\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Basic w/ Tags\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst s3 = new aws.ec2.VpcEndpoint(\"s3\", {\n vpcId: main.id,\n serviceName: \"com.amazonaws.us-west-2.s3\",\n tags: {\n Environment: \"test\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ns3 = aws.ec2.VpcEndpoint(\"s3\",\n vpc_id=main[\"id\"],\n service_name=\"com.amazonaws.us-west-2.s3\",\n tags={\n \"Environment\": \"test\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var s3 = new Aws.Ec2.VpcEndpoint(\"s3\", new()\n {\n VpcId = main.Id,\n ServiceName = \"com.amazonaws.us-west-2.s3\",\n Tags = \n {\n { \"Environment\", \"test\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.NewVpcEndpoint(ctx, \"s3\", \u0026ec2.VpcEndpointArgs{\n\t\t\tVpcId: pulumi.Any(main.Id),\n\t\t\tServiceName: pulumi.String(\"com.amazonaws.us-west-2.s3\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Environment\": pulumi.String(\"test\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.VpcEndpoint;\nimport com.pulumi.aws.ec2.VpcEndpointArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var s3 = new VpcEndpoint(\"s3\", VpcEndpointArgs.builder()\n .vpcId(main.id())\n .serviceName(\"com.amazonaws.us-west-2.s3\")\n .tags(Map.of(\"Environment\", \"test\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n s3:\n type: aws:ec2:VpcEndpoint\n properties:\n vpcId: ${main.id}\n serviceName: com.amazonaws.us-west-2.s3\n tags:\n Environment: test\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Interface Endpoint Type\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst ec2 = new aws.ec2.VpcEndpoint(\"ec2\", {\n vpcId: main.id,\n serviceName: \"com.amazonaws.us-west-2.ec2\",\n vpcEndpointType: \"Interface\",\n securityGroupIds: [sg1.id],\n privateDnsEnabled: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nec2 = aws.ec2.VpcEndpoint(\"ec2\",\n vpc_id=main[\"id\"],\n service_name=\"com.amazonaws.us-west-2.ec2\",\n vpc_endpoint_type=\"Interface\",\n security_group_ids=[sg1[\"id\"]],\n private_dns_enabled=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var ec2 = new Aws.Ec2.VpcEndpoint(\"ec2\", new()\n {\n VpcId = main.Id,\n ServiceName = \"com.amazonaws.us-west-2.ec2\",\n VpcEndpointType = \"Interface\",\n SecurityGroupIds = new[]\n {\n sg1.Id,\n },\n PrivateDnsEnabled = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.NewVpcEndpoint(ctx, \"ec2\", \u0026ec2.VpcEndpointArgs{\n\t\t\tVpcId: pulumi.Any(main.Id),\n\t\t\tServiceName: pulumi.String(\"com.amazonaws.us-west-2.ec2\"),\n\t\t\tVpcEndpointType: pulumi.String(\"Interface\"),\n\t\t\tSecurityGroupIds: pulumi.StringArray{\n\t\t\t\tsg1.Id,\n\t\t\t},\n\t\t\tPrivateDnsEnabled: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.VpcEndpoint;\nimport com.pulumi.aws.ec2.VpcEndpointArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var ec2 = new VpcEndpoint(\"ec2\", VpcEndpointArgs.builder()\n .vpcId(main.id())\n .serviceName(\"com.amazonaws.us-west-2.ec2\")\n .vpcEndpointType(\"Interface\")\n .securityGroupIds(sg1.id())\n .privateDnsEnabled(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n ec2:\n type: aws:ec2:VpcEndpoint\n properties:\n vpcId: ${main.id}\n serviceName: com.amazonaws.us-west-2.ec2\n vpcEndpointType: Interface\n securityGroupIds:\n - ${sg1.id}\n privateDnsEnabled: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Interface Endpoint Type with User-Defined IP Address\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst ec2 = new aws.ec2.VpcEndpoint(\"ec2\", {\n vpcId: example.id,\n serviceName: \"com.amazonaws.us-west-2.ec2\",\n vpcEndpointType: \"Interface\",\n subnetConfigurations: [\n {\n ipv4: \"10.0.1.10\",\n subnetId: example1.id,\n },\n {\n ipv4: \"10.0.2.10\",\n subnetId: example2.id,\n },\n ],\n subnetIds: [\n example1.id,\n example2.id,\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nec2 = aws.ec2.VpcEndpoint(\"ec2\",\n vpc_id=example[\"id\"],\n service_name=\"com.amazonaws.us-west-2.ec2\",\n vpc_endpoint_type=\"Interface\",\n subnet_configurations=[\n {\n \"ipv4\": \"10.0.1.10\",\n \"subnet_id\": example1[\"id\"],\n },\n {\n \"ipv4\": \"10.0.2.10\",\n \"subnet_id\": example2[\"id\"],\n },\n ],\n subnet_ids=[\n example1[\"id\"],\n example2[\"id\"],\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var ec2 = new Aws.Ec2.VpcEndpoint(\"ec2\", new()\n {\n VpcId = example.Id,\n ServiceName = \"com.amazonaws.us-west-2.ec2\",\n VpcEndpointType = \"Interface\",\n SubnetConfigurations = new[]\n {\n new Aws.Ec2.Inputs.VpcEndpointSubnetConfigurationArgs\n {\n Ipv4 = \"10.0.1.10\",\n SubnetId = example1.Id,\n },\n new Aws.Ec2.Inputs.VpcEndpointSubnetConfigurationArgs\n {\n Ipv4 = \"10.0.2.10\",\n SubnetId = example2.Id,\n },\n },\n SubnetIds = new[]\n {\n example1.Id,\n example2.Id,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.NewVpcEndpoint(ctx, \"ec2\", \u0026ec2.VpcEndpointArgs{\n\t\t\tVpcId: pulumi.Any(example.Id),\n\t\t\tServiceName: pulumi.String(\"com.amazonaws.us-west-2.ec2\"),\n\t\t\tVpcEndpointType: pulumi.String(\"Interface\"),\n\t\t\tSubnetConfigurations: ec2.VpcEndpointSubnetConfigurationArray{\n\t\t\t\t\u0026ec2.VpcEndpointSubnetConfigurationArgs{\n\t\t\t\t\tIpv4: pulumi.String(\"10.0.1.10\"),\n\t\t\t\t\tSubnetId: pulumi.Any(example1.Id),\n\t\t\t\t},\n\t\t\t\t\u0026ec2.VpcEndpointSubnetConfigurationArgs{\n\t\t\t\t\tIpv4: pulumi.String(\"10.0.2.10\"),\n\t\t\t\t\tSubnetId: pulumi.Any(example2.Id),\n\t\t\t\t},\n\t\t\t},\n\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\texample1.Id,\n\t\t\t\texample2.Id,\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.VpcEndpoint;\nimport com.pulumi.aws.ec2.VpcEndpointArgs;\nimport com.pulumi.aws.ec2.inputs.VpcEndpointSubnetConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var ec2 = new VpcEndpoint(\"ec2\", VpcEndpointArgs.builder()\n .vpcId(example.id())\n .serviceName(\"com.amazonaws.us-west-2.ec2\")\n .vpcEndpointType(\"Interface\")\n .subnetConfigurations( \n VpcEndpointSubnetConfigurationArgs.builder()\n .ipv4(\"10.0.1.10\")\n .subnetId(example1.id())\n .build(),\n VpcEndpointSubnetConfigurationArgs.builder()\n .ipv4(\"10.0.2.10\")\n .subnetId(example2.id())\n .build())\n .subnetIds( \n example1.id(),\n example2.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n ec2:\n type: aws:ec2:VpcEndpoint\n properties:\n vpcId: ${example.id}\n serviceName: com.amazonaws.us-west-2.ec2\n vpcEndpointType: Interface\n subnetConfigurations:\n - ipv4: 10.0.1.10\n subnetId: ${example1.id}\n - ipv4: 10.0.2.10\n subnetId: ${example2.id}\n subnetIds:\n - ${example1.id}\n - ${example2.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Gateway Load Balancer Endpoint Type\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getCallerIdentity({});\nconst example = new aws.ec2.VpcEndpointService(\"example\", {\n acceptanceRequired: false,\n allowedPrincipals: [current.then(current =\u003e current.arn)],\n gatewayLoadBalancerArns: [exampleAwsLb.arn],\n});\nconst exampleVpcEndpoint = new aws.ec2.VpcEndpoint(\"example\", {\n serviceName: example.serviceName,\n subnetIds: [exampleAwsSubnet.id],\n vpcEndpointType: example.serviceType,\n vpcId: exampleAwsVpc.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_caller_identity()\nexample = aws.ec2.VpcEndpointService(\"example\",\n acceptance_required=False,\n allowed_principals=[current.arn],\n gateway_load_balancer_arns=[example_aws_lb[\"arn\"]])\nexample_vpc_endpoint = aws.ec2.VpcEndpoint(\"example\",\n service_name=example.service_name,\n subnet_ids=[example_aws_subnet[\"id\"]],\n vpc_endpoint_type=example.service_type,\n vpc_id=example_aws_vpc[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetCallerIdentity.Invoke();\n\n var example = new Aws.Ec2.VpcEndpointService(\"example\", new()\n {\n AcceptanceRequired = false,\n AllowedPrincipals = new[]\n {\n current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.Arn),\n },\n GatewayLoadBalancerArns = new[]\n {\n exampleAwsLb.Arn,\n },\n });\n\n var exampleVpcEndpoint = new Aws.Ec2.VpcEndpoint(\"example\", new()\n {\n ServiceName = example.ServiceName,\n SubnetIds = new[]\n {\n exampleAwsSubnet.Id,\n },\n VpcEndpointType = example.ServiceType,\n VpcId = exampleAwsVpc.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetCallerIdentity(ctx, \u0026aws.GetCallerIdentityArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := ec2.NewVpcEndpointService(ctx, \"example\", \u0026ec2.VpcEndpointServiceArgs{\n\t\t\tAcceptanceRequired: pulumi.Bool(false),\n\t\t\tAllowedPrincipals: pulumi.StringArray{\n\t\t\t\tpulumi.String(current.Arn),\n\t\t\t},\n\t\t\tGatewayLoadBalancerArns: pulumi.StringArray{\n\t\t\t\texampleAwsLb.Arn,\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewVpcEndpoint(ctx, \"example\", \u0026ec2.VpcEndpointArgs{\n\t\t\tServiceName: example.ServiceName,\n\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\texampleAwsSubnet.Id,\n\t\t\t},\n\t\t\tVpcEndpointType: example.ServiceType,\n\t\t\tVpcId: pulumi.Any(exampleAwsVpc.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.ec2.VpcEndpointService;\nimport com.pulumi.aws.ec2.VpcEndpointServiceArgs;\nimport com.pulumi.aws.ec2.VpcEndpoint;\nimport com.pulumi.aws.ec2.VpcEndpointArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getCallerIdentity();\n\n var example = new VpcEndpointService(\"example\", VpcEndpointServiceArgs.builder()\n .acceptanceRequired(false)\n .allowedPrincipals(current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.arn()))\n .gatewayLoadBalancerArns(exampleAwsLb.arn())\n .build());\n\n var exampleVpcEndpoint = new VpcEndpoint(\"exampleVpcEndpoint\", VpcEndpointArgs.builder()\n .serviceName(example.serviceName())\n .subnetIds(exampleAwsSubnet.id())\n .vpcEndpointType(example.serviceType())\n .vpcId(exampleAwsVpc.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:VpcEndpointService\n properties:\n acceptanceRequired: false\n allowedPrincipals:\n - ${current.arn}\n gatewayLoadBalancerArns:\n - ${exampleAwsLb.arn}\n exampleVpcEndpoint:\n type: aws:ec2:VpcEndpoint\n name: example\n properties:\n serviceName: ${example.serviceName}\n subnetIds:\n - ${exampleAwsSubnet.id}\n vpcEndpointType: ${example.serviceType}\n vpcId: ${exampleAwsVpc.id}\nvariables:\n current:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import VPC Endpoints using the VPC endpoint `id`. For example:\n\n```sh\n$ pulumi import aws:ec2/vpcEndpoint:VpcEndpoint endpoint1 vpce-3ecf2a57\n```\n", + "description": "Provides a VPC Endpoint resource.\n\n\u003e **NOTE on VPC Endpoints and VPC Endpoint Associations:** The provider provides both standalone VPC Endpoint Associations for\nRoute Tables - (an association between a VPC endpoint and a single `route_table_id`),\nSecurity Groups - (an association between a VPC endpoint and a single `security_group_id`),\nand Subnets - (an association between a VPC endpoint and a single `subnet_id`) and\na VPC Endpoint resource with `route_table_ids` and `subnet_ids` attributes.\nDo not use the same resource ID in both a VPC Endpoint resource and a VPC Endpoint Association resource.\nDoing so will cause a conflict of associations and will overwrite the association.\n\n## Example Usage\n\n### Basic\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst s3 = new aws.ec2.VpcEndpoint(\"s3\", {\n vpcId: main.id,\n serviceName: \"com.amazonaws.us-west-2.s3\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ns3 = aws.ec2.VpcEndpoint(\"s3\",\n vpc_id=main[\"id\"],\n service_name=\"com.amazonaws.us-west-2.s3\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var s3 = new Aws.Ec2.VpcEndpoint(\"s3\", new()\n {\n VpcId = main.Id,\n ServiceName = \"com.amazonaws.us-west-2.s3\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.NewVpcEndpoint(ctx, \"s3\", \u0026ec2.VpcEndpointArgs{\n\t\t\tVpcId: pulumi.Any(main.Id),\n\t\t\tServiceName: pulumi.String(\"com.amazonaws.us-west-2.s3\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.VpcEndpoint;\nimport com.pulumi.aws.ec2.VpcEndpointArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var s3 = new VpcEndpoint(\"s3\", VpcEndpointArgs.builder()\n .vpcId(main.id())\n .serviceName(\"com.amazonaws.us-west-2.s3\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n s3:\n type: aws:ec2:VpcEndpoint\n properties:\n vpcId: ${main.id}\n serviceName: com.amazonaws.us-west-2.s3\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Basic w/ Tags\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst s3 = new aws.ec2.VpcEndpoint(\"s3\", {\n vpcId: main.id,\n serviceName: \"com.amazonaws.us-west-2.s3\",\n tags: {\n Environment: \"test\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ns3 = aws.ec2.VpcEndpoint(\"s3\",\n vpc_id=main[\"id\"],\n service_name=\"com.amazonaws.us-west-2.s3\",\n tags={\n \"Environment\": \"test\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var s3 = new Aws.Ec2.VpcEndpoint(\"s3\", new()\n {\n VpcId = main.Id,\n ServiceName = \"com.amazonaws.us-west-2.s3\",\n Tags = \n {\n { \"Environment\", \"test\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.NewVpcEndpoint(ctx, \"s3\", \u0026ec2.VpcEndpointArgs{\n\t\t\tVpcId: pulumi.Any(main.Id),\n\t\t\tServiceName: pulumi.String(\"com.amazonaws.us-west-2.s3\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"Environment\": pulumi.String(\"test\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.VpcEndpoint;\nimport com.pulumi.aws.ec2.VpcEndpointArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var s3 = new VpcEndpoint(\"s3\", VpcEndpointArgs.builder()\n .vpcId(main.id())\n .serviceName(\"com.amazonaws.us-west-2.s3\")\n .tags(Map.of(\"Environment\", \"test\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n s3:\n type: aws:ec2:VpcEndpoint\n properties:\n vpcId: ${main.id}\n serviceName: com.amazonaws.us-west-2.s3\n tags:\n Environment: test\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Interface Endpoint Type\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst ec2 = new aws.ec2.VpcEndpoint(\"ec2\", {\n vpcId: main.id,\n serviceName: \"com.amazonaws.us-west-2.ec2\",\n vpcEndpointType: \"Interface\",\n securityGroupIds: [sg1.id],\n privateDnsEnabled: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nec2 = aws.ec2.VpcEndpoint(\"ec2\",\n vpc_id=main[\"id\"],\n service_name=\"com.amazonaws.us-west-2.ec2\",\n vpc_endpoint_type=\"Interface\",\n security_group_ids=[sg1[\"id\"]],\n private_dns_enabled=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var ec2 = new Aws.Ec2.VpcEndpoint(\"ec2\", new()\n {\n VpcId = main.Id,\n ServiceName = \"com.amazonaws.us-west-2.ec2\",\n VpcEndpointType = \"Interface\",\n SecurityGroupIds = new[]\n {\n sg1.Id,\n },\n PrivateDnsEnabled = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.NewVpcEndpoint(ctx, \"ec2\", \u0026ec2.VpcEndpointArgs{\n\t\t\tVpcId: pulumi.Any(main.Id),\n\t\t\tServiceName: pulumi.String(\"com.amazonaws.us-west-2.ec2\"),\n\t\t\tVpcEndpointType: pulumi.String(\"Interface\"),\n\t\t\tSecurityGroupIds: pulumi.StringArray{\n\t\t\t\tsg1.Id,\n\t\t\t},\n\t\t\tPrivateDnsEnabled: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.VpcEndpoint;\nimport com.pulumi.aws.ec2.VpcEndpointArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var ec2 = new VpcEndpoint(\"ec2\", VpcEndpointArgs.builder()\n .vpcId(main.id())\n .serviceName(\"com.amazonaws.us-west-2.ec2\")\n .vpcEndpointType(\"Interface\")\n .securityGroupIds(sg1.id())\n .privateDnsEnabled(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n ec2:\n type: aws:ec2:VpcEndpoint\n properties:\n vpcId: ${main.id}\n serviceName: com.amazonaws.us-west-2.ec2\n vpcEndpointType: Interface\n securityGroupIds:\n - ${sg1.id}\n privateDnsEnabled: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Interface Endpoint Type with User-Defined IP Address\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst ec2 = new aws.ec2.VpcEndpoint(\"ec2\", {\n vpcId: example.id,\n serviceName: \"com.amazonaws.us-west-2.ec2\",\n vpcEndpointType: \"Interface\",\n subnetConfigurations: [\n {\n ipv4: \"10.0.1.10\",\n subnetId: example1.id,\n },\n {\n ipv4: \"10.0.2.10\",\n subnetId: example2.id,\n },\n ],\n subnetIds: [\n example1.id,\n example2.id,\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nec2 = aws.ec2.VpcEndpoint(\"ec2\",\n vpc_id=example[\"id\"],\n service_name=\"com.amazonaws.us-west-2.ec2\",\n vpc_endpoint_type=\"Interface\",\n subnet_configurations=[\n {\n \"ipv4\": \"10.0.1.10\",\n \"subnet_id\": example1[\"id\"],\n },\n {\n \"ipv4\": \"10.0.2.10\",\n \"subnet_id\": example2[\"id\"],\n },\n ],\n subnet_ids=[\n example1[\"id\"],\n example2[\"id\"],\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var ec2 = new Aws.Ec2.VpcEndpoint(\"ec2\", new()\n {\n VpcId = example.Id,\n ServiceName = \"com.amazonaws.us-west-2.ec2\",\n VpcEndpointType = \"Interface\",\n SubnetConfigurations = new[]\n {\n new Aws.Ec2.Inputs.VpcEndpointSubnetConfigurationArgs\n {\n Ipv4 = \"10.0.1.10\",\n SubnetId = example1.Id,\n },\n new Aws.Ec2.Inputs.VpcEndpointSubnetConfigurationArgs\n {\n Ipv4 = \"10.0.2.10\",\n SubnetId = example2.Id,\n },\n },\n SubnetIds = new[]\n {\n example1.Id,\n example2.Id,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ec2.NewVpcEndpoint(ctx, \"ec2\", \u0026ec2.VpcEndpointArgs{\n\t\t\tVpcId: pulumi.Any(example.Id),\n\t\t\tServiceName: pulumi.String(\"com.amazonaws.us-west-2.ec2\"),\n\t\t\tVpcEndpointType: pulumi.String(\"Interface\"),\n\t\t\tSubnetConfigurations: ec2.VpcEndpointSubnetConfigurationArray{\n\t\t\t\t\u0026ec2.VpcEndpointSubnetConfigurationArgs{\n\t\t\t\t\tIpv4: pulumi.String(\"10.0.1.10\"),\n\t\t\t\t\tSubnetId: pulumi.Any(example1.Id),\n\t\t\t\t},\n\t\t\t\t\u0026ec2.VpcEndpointSubnetConfigurationArgs{\n\t\t\t\t\tIpv4: pulumi.String(\"10.0.2.10\"),\n\t\t\t\t\tSubnetId: pulumi.Any(example2.Id),\n\t\t\t\t},\n\t\t\t},\n\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\texample1.Id,\n\t\t\t\texample2.Id,\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ec2.VpcEndpoint;\nimport com.pulumi.aws.ec2.VpcEndpointArgs;\nimport com.pulumi.aws.ec2.inputs.VpcEndpointSubnetConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var ec2 = new VpcEndpoint(\"ec2\", VpcEndpointArgs.builder()\n .vpcId(example.id())\n .serviceName(\"com.amazonaws.us-west-2.ec2\")\n .vpcEndpointType(\"Interface\")\n .subnetConfigurations( \n VpcEndpointSubnetConfigurationArgs.builder()\n .ipv4(\"10.0.1.10\")\n .subnetId(example1.id())\n .build(),\n VpcEndpointSubnetConfigurationArgs.builder()\n .ipv4(\"10.0.2.10\")\n .subnetId(example2.id())\n .build())\n .subnetIds( \n example1.id(),\n example2.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n ec2:\n type: aws:ec2:VpcEndpoint\n properties:\n vpcId: ${example.id}\n serviceName: com.amazonaws.us-west-2.ec2\n vpcEndpointType: Interface\n subnetConfigurations:\n - ipv4: 10.0.1.10\n subnetId: ${example1.id}\n - ipv4: 10.0.2.10\n subnetId: ${example2.id}\n subnetIds:\n - ${example1.id}\n - ${example2.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Gateway Load Balancer Endpoint Type\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getCallerIdentity({});\nconst example = new aws.ec2.VpcEndpointService(\"example\", {\n acceptanceRequired: false,\n allowedPrincipals: [current.then(current =\u003e current.arn)],\n gatewayLoadBalancerArns: [exampleAwsLb.arn],\n});\nconst exampleVpcEndpoint = new aws.ec2.VpcEndpoint(\"example\", {\n serviceName: example.serviceName,\n subnetIds: [exampleAwsSubnet.id],\n vpcEndpointType: example.serviceType,\n vpcId: exampleAwsVpc.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_caller_identity()\nexample = aws.ec2.VpcEndpointService(\"example\",\n acceptance_required=False,\n allowed_principals=[current.arn],\n gateway_load_balancer_arns=[example_aws_lb[\"arn\"]])\nexample_vpc_endpoint = aws.ec2.VpcEndpoint(\"example\",\n service_name=example.service_name,\n subnet_ids=[example_aws_subnet[\"id\"]],\n vpc_endpoint_type=example.service_type,\n vpc_id=example_aws_vpc[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetCallerIdentity.Invoke();\n\n var example = new Aws.Ec2.VpcEndpointService(\"example\", new()\n {\n AcceptanceRequired = false,\n AllowedPrincipals = new[]\n {\n current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.Arn),\n },\n GatewayLoadBalancerArns = new[]\n {\n exampleAwsLb.Arn,\n },\n });\n\n var exampleVpcEndpoint = new Aws.Ec2.VpcEndpoint(\"example\", new()\n {\n ServiceName = example.ServiceName,\n SubnetIds = new[]\n {\n exampleAwsSubnet.Id,\n },\n VpcEndpointType = example.ServiceType,\n VpcId = exampleAwsVpc.Id,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetCallerIdentity(ctx, \u0026aws.GetCallerIdentityArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := ec2.NewVpcEndpointService(ctx, \"example\", \u0026ec2.VpcEndpointServiceArgs{\n\t\t\tAcceptanceRequired: pulumi.Bool(false),\n\t\t\tAllowedPrincipals: pulumi.StringArray{\n\t\t\t\tpulumi.String(current.Arn),\n\t\t\t},\n\t\t\tGatewayLoadBalancerArns: pulumi.StringArray{\n\t\t\t\texampleAwsLb.Arn,\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewVpcEndpoint(ctx, \"example\", \u0026ec2.VpcEndpointArgs{\n\t\t\tServiceName: example.ServiceName,\n\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\texampleAwsSubnet.Id,\n\t\t\t},\n\t\t\tVpcEndpointType: example.ServiceType,\n\t\t\tVpcId: pulumi.Any(exampleAwsVpc.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.ec2.VpcEndpointService;\nimport com.pulumi.aws.ec2.VpcEndpointServiceArgs;\nimport com.pulumi.aws.ec2.VpcEndpoint;\nimport com.pulumi.aws.ec2.VpcEndpointArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getCallerIdentity();\n\n var example = new VpcEndpointService(\"example\", VpcEndpointServiceArgs.builder()\n .acceptanceRequired(false)\n .allowedPrincipals(current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.arn()))\n .gatewayLoadBalancerArns(exampleAwsLb.arn())\n .build());\n\n var exampleVpcEndpoint = new VpcEndpoint(\"exampleVpcEndpoint\", VpcEndpointArgs.builder()\n .serviceName(example.serviceName())\n .subnetIds(exampleAwsSubnet.id())\n .vpcEndpointType(example.serviceType())\n .vpcId(exampleAwsVpc.id())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:ec2:VpcEndpointService\n properties:\n acceptanceRequired: false\n allowedPrincipals:\n - ${current.arn}\n gatewayLoadBalancerArns:\n - ${exampleAwsLb.arn}\n exampleVpcEndpoint:\n type: aws:ec2:VpcEndpoint\n name: example\n properties:\n serviceName: ${example.serviceName}\n subnetIds:\n - ${exampleAwsSubnet.id}\n vpcEndpointType: ${example.serviceType}\n vpcId: ${exampleAwsVpc.id}\nvariables:\n current:\n fn::invoke:\n function: aws:getCallerIdentity\n arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import VPC Endpoints using the VPC endpoint `id`. For example:\n\n```sh\n$ pulumi import aws:ec2/vpcEndpoint:VpcEndpoint endpoint1 vpce-3ecf2a57\n```\n", "properties": { "autoAccept": { "type": "boolean", @@ -700,7 +699,7 @@ "description": "Accept the VPC endpoint (the VPC endpoint and service need to be in the same AWS account)." }, "dnsOptions": { - "$ref": "/aws/v6.59.1/schema.json#/types/aws:ec2/VpcEndpointDnsOptions:VpcEndpointDnsOptions", + "$ref": "/aws/v6.66.2/schema.json#/types/aws:ec2/VpcEndpointDnsOptions:VpcEndpointDnsOptions", "description": "The DNS options for the endpoint. See dns_options below.\n" }, "ipAddressType": { @@ -735,10 +734,15 @@ "plain": true, "description": "The service name. For AWS services the service name is usually in the form `com.amazonaws.\u003cregion\u003e.\u003cservice\u003e` (the SageMaker Notebook service is an exception to this rule, the service name is in the form `aws.sagemaker.\u003cregion\u003e.notebook`)." }, + "serviceRegion": { + "type": "string", + "description": "The AWS region of the VPC Endpoint Service. If specified, the VPC endpoint will connect to the service in the provided region. Applicable for endpoints of type `Interface`.\n", + "willReplaceOnChanges": true + }, "subnetConfigurations": { "type": "array", "items": { - "$ref": "/aws/v6.59.1/schema.json#/types/aws:ec2/VpcEndpointSubnetConfiguration:VpcEndpointSubnetConfiguration" + "$ref": "/aws/v6.66.2/schema.json#/types/aws:ec2/VpcEndpointSubnetConfiguration:VpcEndpointSubnetConfiguration" }, "description": "Subnet configuration for the endpoint, used to select specific IPv4 and/or IPv6 addresses to the endpoint. See subnet_configuration below.\n" }, @@ -922,7 +926,7 @@ "description": "The number of cpu units used by the task. If not provided, a default will be computed based on the cumulative needs specified by [containerDefinitions]" }, "ephemeralStorage": { - "$ref": "/aws/v6.59.1/schema.json#/types/aws:ecs/TaskDefinitionEphemeralStorage:TaskDefinitionEphemeralStorage", + "$ref": "/aws/v6.66.2/schema.json#/types/aws:ecs/TaskDefinitionEphemeralStorage:TaskDefinitionEphemeralStorage", "description": "The amount of ephemeral storage to allocate for the task. This parameter is used to expand the total amount of ephemeral storage available, beyond the default amount, for tasks hosted on AWS Fargate. See Ephemeral Storage.\n", "willReplaceOnChanges": true }, @@ -938,7 +942,7 @@ "inferenceAccelerators": { "type": "array", "items": { - "$ref": "/aws/v6.59.1/schema.json#/types/aws:ecs/TaskDefinitionInferenceAccelerator:TaskDefinitionInferenceAccelerator" + "$ref": "/aws/v6.66.2/schema.json#/types/aws:ecs/TaskDefinitionInferenceAccelerator:TaskDefinitionInferenceAccelerator" }, "description": "Configuration block(s) with Inference Accelerators settings. Detailed below.\n", "willReplaceOnChanges": true @@ -970,18 +974,18 @@ "placementConstraints": { "type": "array", "items": { - "$ref": "/aws/v6.59.1/schema.json#/types/aws:ecs/TaskDefinitionPlacementConstraint:TaskDefinitionPlacementConstraint" + "$ref": "/aws/v6.66.2/schema.json#/types/aws:ecs/TaskDefinitionPlacementConstraint:TaskDefinitionPlacementConstraint" }, "description": "Configuration block for rules that are taken into consideration during task placement. Maximum number of `placement_constraints` is `10`. Detailed below.\n", "willReplaceOnChanges": true }, "proxyConfiguration": { - "$ref": "/aws/v6.59.1/schema.json#/types/aws:ecs/TaskDefinitionProxyConfiguration:TaskDefinitionProxyConfiguration", + "$ref": "/aws/v6.66.2/schema.json#/types/aws:ecs/TaskDefinitionProxyConfiguration:TaskDefinitionProxyConfiguration", "description": "Configuration block for the App Mesh proxy. Detailed below.\n", "willReplaceOnChanges": true }, "runtimePlatform": { - "$ref": "/aws/v6.59.1/schema.json#/types/aws:ecs/TaskDefinitionRuntimePlatform:TaskDefinitionRuntimePlatform", + "$ref": "/aws/v6.66.2/schema.json#/types/aws:ecs/TaskDefinitionRuntimePlatform:TaskDefinitionRuntimePlatform", "description": "Configuration block for runtime_platform that containers in your task may use.\n", "willReplaceOnChanges": true }, @@ -1008,7 +1012,7 @@ "volumes": { "type": "array", "items": { - "$ref": "/aws/v6.59.1/schema.json#/types/aws:ecs/TaskDefinitionVolume:TaskDefinitionVolume" + "$ref": "/aws/v6.66.2/schema.json#/types/aws:ecs/TaskDefinitionVolume:TaskDefinitionVolume" }, "description": "Configuration block for volumes that containers in your task may use. Detailed below.\n", "willReplaceOnChanges": true @@ -1038,7 +1042,7 @@ "description": "The number of cpu units used by the task. If not provided, a default will be computed based on the cumulative needs specified by [containerDefinitions]" }, "ephemeralStorage": { - "$ref": "/aws/v6.59.1/schema.json#/types/aws:ecs/TaskDefinitionEphemeralStorage:TaskDefinitionEphemeralStorage", + "$ref": "/aws/v6.66.2/schema.json#/types/aws:ecs/TaskDefinitionEphemeralStorage:TaskDefinitionEphemeralStorage", "description": "The amount of ephemeral storage to allocate for the task. This parameter is used to expand the total amount of ephemeral storage available, beyond the default amount, for tasks hosted on AWS Fargate. See Ephemeral Storage.\n", "willReplaceOnChanges": true }, @@ -1054,7 +1058,7 @@ "inferenceAccelerators": { "type": "array", "items": { - "$ref": "/aws/v6.59.1/schema.json#/types/aws:ecs/TaskDefinitionInferenceAccelerator:TaskDefinitionInferenceAccelerator" + "$ref": "/aws/v6.66.2/schema.json#/types/aws:ecs/TaskDefinitionInferenceAccelerator:TaskDefinitionInferenceAccelerator" }, "description": "Configuration block(s) with Inference Accelerators settings. Detailed below.\n", "willReplaceOnChanges": true @@ -1081,18 +1085,18 @@ "placementConstraints": { "type": "array", "items": { - "$ref": "/aws/v6.59.1/schema.json#/types/aws:ecs/TaskDefinitionPlacementConstraint:TaskDefinitionPlacementConstraint" + "$ref": "/aws/v6.66.2/schema.json#/types/aws:ecs/TaskDefinitionPlacementConstraint:TaskDefinitionPlacementConstraint" }, "description": "Configuration block for rules that are taken into consideration during task placement. Maximum number of `placement_constraints` is `10`. Detailed below.\n", "willReplaceOnChanges": true }, "proxyConfiguration": { - "$ref": "/aws/v6.59.1/schema.json#/types/aws:ecs/TaskDefinitionProxyConfiguration:TaskDefinitionProxyConfiguration", + "$ref": "/aws/v6.66.2/schema.json#/types/aws:ecs/TaskDefinitionProxyConfiguration:TaskDefinitionProxyConfiguration", "description": "Configuration block for the App Mesh proxy. Detailed below.\n", "willReplaceOnChanges": true }, "runtimePlatform": { - "$ref": "/aws/v6.59.1/schema.json#/types/aws:ecs/TaskDefinitionRuntimePlatform:TaskDefinitionRuntimePlatform", + "$ref": "/aws/v6.66.2/schema.json#/types/aws:ecs/TaskDefinitionRuntimePlatform:TaskDefinitionRuntimePlatform", "description": "Configuration block for runtime_platform that containers in your task may use.\n", "willReplaceOnChanges": true }, @@ -1119,7 +1123,7 @@ "volumes": { "type": "array", "items": { - "$ref": "/aws/v6.59.1/schema.json#/types/aws:ecs/TaskDefinitionVolume:TaskDefinitionVolume" + "$ref": "/aws/v6.66.2/schema.json#/types/aws:ecs/TaskDefinitionVolume:TaskDefinitionVolume" }, "description": "Configuration block for volumes that containers in your task may use. Detailed below.\n", "willReplaceOnChanges": true @@ -1516,7 +1520,7 @@ "type": "string" }, "targetGroup": { - "$ref": "/aws/v6.59.1/schema.json#/resources/aws:lb%2FtargetGroup:TargetGroup" + "$ref": "/aws/v6.66.2/schema.json#/resources/aws:lb%2FtargetGroup:TargetGroup" } }, "type": "object" @@ -1651,12 +1655,12 @@ "defaultActions": { "type": "array", "items": { - "$ref": "/aws/v6.59.1/schema.json#/types/aws:lb/ListenerDefaultAction:ListenerDefaultAction" + "$ref": "/aws/v6.66.2/schema.json#/types/aws:lb/ListenerDefaultAction:ListenerDefaultAction" }, "description": "Configuration block for default actions. See below.\n" }, "mutualAuthentication": { - "$ref": "/aws/v6.59.1/schema.json#/types/aws:lb/ListenerMutualAuthentication:ListenerMutualAuthentication", + "$ref": "/aws/v6.66.2/schema.json#/types/aws:lb/ListenerMutualAuthentication:ListenerMutualAuthentication", "description": "The mutual authentication configuration information. See below.\n" }, "port": { @@ -1676,7 +1680,7 @@ "additionalProperties": { "type": "string" }, - "description": "A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.\n" + "description": "A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.\n\n\u003e **Note::** When a `Name` key is specified in the map, the AWS Console maps the value to the `Name Tag` column value inside the `Listener Rules` table within a specific load balancer listener page. Otherwise, the value resolves to `Default`.\n" }, "tcpIdleTimeoutSeconds": { "type": "integer", @@ -1697,7 +1701,7 @@ "description": "Amount time for Elastic Load Balancing to wait before changing the state of a deregistering target from draining to unused. The range is 0-3600 seconds. The default value is 300 seconds.\n" }, "healthCheck": { - "$ref": "/aws/v6.59.1/schema.json#/types/aws:lb/TargetGroupHealthCheck:TargetGroupHealthCheck", + "$ref": "/aws/v6.66.2/schema.json#/types/aws:lb/TargetGroupHealthCheck:TargetGroupHealthCheck", "description": "Health Check configuration block. Detailed below.\n" }, "ipAddressType": { @@ -1759,7 +1763,7 @@ "description": "Amount time for targets to warm up before the load balancer sends them a full share of requests. The range is 30-900 seconds or 0 to disable. The default value is 0 seconds.\n" }, "stickiness": { - "$ref": "/aws/v6.59.1/schema.json#/types/aws:lb/TargetGroupStickiness:TargetGroupStickiness", + "$ref": "/aws/v6.66.2/schema.json#/types/aws:lb/TargetGroupStickiness:TargetGroupStickiness", "description": "Stickiness configuration block. Detailed below.\n" }, "tags": { @@ -1772,18 +1776,18 @@ "targetFailovers": { "type": "array", "items": { - "$ref": "/aws/v6.59.1/schema.json#/types/aws:lb/TargetGroupTargetFailover:TargetGroupTargetFailover" + "$ref": "/aws/v6.66.2/schema.json#/types/aws:lb/TargetGroupTargetFailover:TargetGroupTargetFailover" }, "description": "Target failover block. Only applicable for Gateway Load Balancer target groups. See target_failover for more information.\n" }, "targetGroupHealth": { - "$ref": "/aws/v6.59.1/schema.json#/types/aws:lb/TargetGroupTargetGroupHealth:TargetGroupTargetGroupHealth", + "$ref": "/aws/v6.66.2/schema.json#/types/aws:lb/TargetGroupTargetGroupHealth:TargetGroupTargetGroupHealth", "description": "Target health requirements block. See target_group_health for more information.\n" }, "targetHealthStates": { "type": "array", "items": { - "$ref": "/aws/v6.59.1/schema.json#/types/aws:lb/TargetGroupTargetHealthState:TargetGroupTargetHealthState" + "$ref": "/aws/v6.66.2/schema.json#/types/aws:lb/TargetGroupTargetHealthState:TargetGroupTargetHealthState" }, "description": "Target health state block. Only applicable for Network Load Balancer target groups when `protocol` is `TCP` or `TLS`. See target_health_state for more information.\n" }, @@ -1806,15 +1810,15 @@ "awsx:cloudtrail:Trail": { "properties": { "bucket": { - "$ref": "/aws/v6.59.1/schema.json#/resources/aws:s3%2Fbucket:Bucket", + "$ref": "/aws/v6.66.2/schema.json#/resources/aws:s3%2Fbucket:Bucket", "description": "The managed S3 Bucket where the Trail will place its logs." }, "logGroup": { - "$ref": "/aws/v6.59.1/schema.json#/resources/aws:cloudwatch%2FlogGroup:LogGroup", + "$ref": "/aws/v6.66.2/schema.json#/resources/aws:cloudwatch%2FlogGroup:LogGroup", "description": "The managed Cloudwatch Log Group." }, "trail": { - "$ref": "/aws/v6.59.1/schema.json#/resources/aws:cloudtrail%2Ftrail:Trail", + "$ref": "/aws/v6.66.2/schema.json#/resources/aws:cloudtrail%2Ftrail:Trail", "description": "The CloudTrail Trail.", "language": { "csharp": { @@ -1830,7 +1834,7 @@ "advancedEventSelectors": { "type": "array", "items": { - "$ref": "/aws/v6.59.1/schema.json#/types/aws:cloudtrail/TrailAdvancedEventSelector:TrailAdvancedEventSelector" + "$ref": "/aws/v6.66.2/schema.json#/types/aws:cloudtrail/TrailAdvancedEventSelector:TrailAdvancedEventSelector" }, "description": "Specifies an advanced event selector for enabling data event logging. Fields documented below. Conflicts with `event_selector`.\n" }, @@ -1850,7 +1854,7 @@ "eventSelectors": { "type": "array", "items": { - "$ref": "/aws/v6.59.1/schema.json#/types/aws:cloudtrail/TrailEventSelector:TrailEventSelector" + "$ref": "/aws/v6.66.2/schema.json#/types/aws:cloudtrail/TrailEventSelector:TrailEventSelector" }, "description": "Specifies an event selector for enabling data event logging. Fields documented below. Please note the [CloudTrail limits](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/WhatIsCloudTrail-Limits.html) when configuring these. Conflicts with `advanced_event_selector`.\n" }, @@ -1861,7 +1865,7 @@ "insightSelectors": { "type": "array", "items": { - "$ref": "/aws/v6.59.1/schema.json#/types/aws:cloudtrail/TrailInsightSelector:TrailInsightSelector" + "$ref": "/aws/v6.66.2/schema.json#/types/aws:cloudtrail/TrailInsightSelector:TrailInsightSelector" }, "description": "Configuration block for identifying unusual operational activity. See details below.\n" }, @@ -1938,12 +1942,12 @@ "eips": { "type": "array", "items": { - "$ref": "/aws/v6.59.1/schema.json#/resources/aws:ec2%2feip:Eip" + "$ref": "/aws/v6.66.2/schema.json#/resources/aws:ec2%2feip:Eip" }, "description": "The EIPs for any NAT Gateways for the VPC. If no NAT Gateways are specified, this will be an empty list." }, "internetGateway": { - "$ref": "/aws/v6.59.1/schema.json#/resources/aws:ec2%2finternetGateway:InternetGateway", + "$ref": "/aws/v6.66.2/schema.json#/resources/aws:ec2%2finternetGateway:InternetGateway", "description": "The Internet Gateway for the VPC." }, "isolatedSubnetIds": { @@ -1955,7 +1959,7 @@ "natGateways": { "type": "array", "items": { - "$ref": "/aws/v6.59.1/schema.json#/resources/aws:ec2%2fnatGateway:NatGateway" + "$ref": "/aws/v6.66.2/schema.json#/resources/aws:ec2%2fnatGateway:NatGateway" }, "description": "The NAT Gateways for the VPC. If no NAT Gateways are specified, this will be an empty list." }, @@ -1974,21 +1978,21 @@ "routeTableAssociations": { "type": "array", "items": { - "$ref": "/aws/v6.59.1/schema.json#/resources/aws:ec2%2frouteTableAssociation:RouteTableAssociation" + "$ref": "/aws/v6.66.2/schema.json#/resources/aws:ec2%2frouteTableAssociation:RouteTableAssociation" }, "description": "The Route Table Associations for the VPC." }, "routeTables": { "type": "array", "items": { - "$ref": "/aws/v6.59.1/schema.json#/resources/aws:ec2%2frouteTable:RouteTable" + "$ref": "/aws/v6.66.2/schema.json#/resources/aws:ec2%2frouteTable:RouteTable" }, "description": "The Route Tables for the VPC." }, "routes": { "type": "array", "items": { - "$ref": "/aws/v6.59.1/schema.json#/resources/aws:ec2%2froute:Route" + "$ref": "/aws/v6.66.2/schema.json#/resources/aws:ec2%2froute:Route" }, "description": "The Routes for the VPC." }, @@ -2002,12 +2006,12 @@ "subnets": { "type": "array", "items": { - "$ref": "/aws/v6.59.1/schema.json#/resources/aws:ec2%2fsubnet:Subnet" + "$ref": "/aws/v6.66.2/schema.json#/resources/aws:ec2%2fsubnet:Subnet" }, "description": "The VPC's subnets." }, "vpc": { - "$ref": "/aws/v6.59.1/schema.json#/resources/aws:ec2%2fvpc:Vpc", + "$ref": "/aws/v6.66.2/schema.json#/resources/aws:ec2%2fvpc:Vpc", "description": "The VPC.", "language": { "csharp": { @@ -2018,7 +2022,7 @@ "vpcEndpoints": { "type": "array", "items": { - "$ref": "/aws/v6.59.1/schema.json#/resources/aws:ec2%2fvpcEndpoint:VpcEndpoint" + "$ref": "/aws/v6.66.2/schema.json#/resources/aws:ec2%2fvpcEndpoint:VpcEndpoint" }, "description": "The VPC Endpoints that are enabled" }, @@ -2225,11 +2229,11 @@ "description": "A [Repository] represents an [aws.ecr.Repository] along with an associated [LifecyclePolicy] controlling how images are retained in the repo. \n\nDocker images can be built and pushed to the repo using the [buildAndPushImage] method. This will call into the `@pulumi/docker/buildAndPushImage` function using this repo as the appropriate destination registry.", "properties": { "lifecyclePolicy": { - "$ref": "/aws/v6.59.1/schema.json#/resources/aws:ecr%2flifecyclePolicy:LifecyclePolicy", + "$ref": "/aws/v6.66.2/schema.json#/resources/aws:ecr%2flifecyclePolicy:LifecyclePolicy", "description": "Underlying repository lifecycle policy" }, "repository": { - "$ref": "/aws/v6.59.1/schema.json#/resources/aws:ecr%2frepository:Repository", + "$ref": "/aws/v6.66.2/schema.json#/resources/aws:ecr%2frepository:Repository", "description": "Underlying Repository resource", "language": { "csharp": { @@ -2251,7 +2255,7 @@ "encryptionConfigurations": { "type": "array", "items": { - "$ref": "/aws/v6.59.1/schema.json#/types/aws:ecr/RepositoryEncryptionConfiguration:RepositoryEncryptionConfiguration" + "$ref": "/aws/v6.66.2/schema.json#/types/aws:ecr/RepositoryEncryptionConfiguration:RepositoryEncryptionConfiguration" }, "description": "Encryption configuration for the repository. See below for schema.\n", "willReplaceOnChanges": true @@ -2261,7 +2265,7 @@ "description": "If `true`, will delete the repository even if it contains images.\nDefaults to `false`.\n" }, "imageScanningConfiguration": { - "$ref": "/aws/v6.59.1/schema.json#/types/aws:ecr/RepositoryImageScanningConfiguration:RepositoryImageScanningConfiguration", + "$ref": "/aws/v6.66.2/schema.json#/types/aws:ecr/RepositoryImageScanningConfiguration:RepositoryImageScanningConfiguration", "description": "Configuration block that defines image scanning configuration for the repository. By default, image scanning must be manually triggered. See the [ECR User Guide](https://docs.aws.amazon.com/AmazonECR/latest/userguide/image-scanning.html) for more information about image scanning.\n" }, "imageTagMutability": { @@ -2292,11 +2296,11 @@ "description": "Create an ECS Service resource for EC2 with the given unique name, arguments, and options.\nCreates Task definition if `taskDefinitionArgs` is specified.", "properties": { "service": { - "$ref": "/aws/v6.59.1/schema.json#/resources/aws:ecs%2fservice:Service", + "$ref": "/aws/v6.66.2/schema.json#/resources/aws:ecs%2fservice:Service", "description": "Underlying ECS Service resource" }, "taskDefinition": { - "$ref": "/aws/v6.59.1/schema.json#/resources/aws:ecs%2FtaskDefinition:TaskDefinition", + "$ref": "/aws/v6.66.2/schema.json#/resources/aws:ecs%2FtaskDefinition:TaskDefinition", "description": "Underlying EC2 Task definition component resource if created from args" } }, @@ -2305,9 +2309,13 @@ ], "inputProperties": { "alarms": { - "$ref": "/aws/v6.59.1/schema.json#/types/aws:ecs/ServiceAlarms:ServiceAlarms", + "$ref": "/aws/v6.66.2/schema.json#/types/aws:ecs/ServiceAlarms:ServiceAlarms", "description": "Information about the CloudWatch alarms. See below.\n" }, + "availabilityZoneRebalancing": { + "type": "string", + "description": "ECS automatically redistributes tasks within a service across Availability Zones (AZs) to mitigate the risk of impaired application availability due to underlying infrastructure failures and task lifecycle activities. The valid values are `ENABLED` and `DISABLED`. Defaults to `DISABLED`.\n" + }, "cluster": { "type": "string", "description": "ARN of an ECS cluster.\n", @@ -2318,11 +2326,11 @@ "description": "If `true`, this provider will not wait for the service to reach a steady state (like [`aws ecs wait services-stable`](https://docs.aws.amazon.com/cli/latest/reference/ecs/wait/services-stable.html)) before continuing. Default `false`." }, "deploymentCircuitBreaker": { - "$ref": "/aws/v6.59.1/schema.json#/types/aws:ecs/ServiceDeploymentCircuitBreaker:ServiceDeploymentCircuitBreaker", + "$ref": "/aws/v6.66.2/schema.json#/types/aws:ecs/ServiceDeploymentCircuitBreaker:ServiceDeploymentCircuitBreaker", "description": "Configuration block for deployment circuit breaker. See below.\n" }, "deploymentController": { - "$ref": "/aws/v6.59.1/schema.json#/types/aws:ecs/ServiceDeploymentController:ServiceDeploymentController", + "$ref": "/aws/v6.66.2/schema.json#/types/aws:ecs/ServiceDeploymentController:ServiceDeploymentController", "description": "Configuration block for deployment controller configuration. See below.\n" }, "deploymentMaximumPercent": { @@ -2365,7 +2373,7 @@ "loadBalancers": { "type": "array", "items": { - "$ref": "/aws/v6.59.1/schema.json#/types/aws:ecs/ServiceLoadBalancer:ServiceLoadBalancer" + "$ref": "/aws/v6.66.2/schema.json#/types/aws:ecs/ServiceLoadBalancer:ServiceLoadBalancer" }, "description": "Configuration block for load balancers. See below.\n" }, @@ -2375,20 +2383,20 @@ "willReplaceOnChanges": true }, "networkConfiguration": { - "$ref": "/aws/v6.59.1/schema.json#/types/aws:ecs/ServiceNetworkConfiguration:ServiceNetworkConfiguration", + "$ref": "/aws/v6.66.2/schema.json#/types/aws:ecs/ServiceNetworkConfiguration:ServiceNetworkConfiguration", "description": "Network configuration for the service. This parameter is required for task definitions that use the `awsvpc` network mode to receive their own Elastic Network Interface, and it is not supported for other network modes. See below.\n" }, "orderedPlacementStrategies": { "type": "array", "items": { - "$ref": "/aws/v6.59.1/schema.json#/types/aws:ecs/ServiceOrderedPlacementStrategy:ServiceOrderedPlacementStrategy" + "$ref": "/aws/v6.66.2/schema.json#/types/aws:ecs/ServiceOrderedPlacementStrategy:ServiceOrderedPlacementStrategy" }, "description": "Service level strategy rules that are taken into consideration during task placement. List from top to bottom in order of precedence. Updates to this configuration will take effect next task deployment unless `force_new_deployment` is enabled. The maximum number of `ordered_placement_strategy` blocks is `5`. See below.\n" }, "placementConstraints": { "type": "array", "items": { - "$ref": "/aws/v6.59.1/schema.json#/types/aws:ecs/ServicePlacementConstraint:ServicePlacementConstraint" + "$ref": "/aws/v6.66.2/schema.json#/types/aws:ecs/ServicePlacementConstraint:ServicePlacementConstraint" }, "description": "Rules that are taken into consideration during task placement. Updates to this configuration will take effect next task deployment unless `force_new_deployment` is enabled. Maximum number of `placement_constraints` is `10`. See below.\n" }, @@ -2406,11 +2414,11 @@ "willReplaceOnChanges": true }, "serviceConnectConfiguration": { - "$ref": "/aws/v6.59.1/schema.json#/types/aws:ecs/ServiceServiceConnectConfiguration:ServiceServiceConnectConfiguration", + "$ref": "/aws/v6.66.2/schema.json#/types/aws:ecs/ServiceServiceConnectConfiguration:ServiceServiceConnectConfiguration", "description": "ECS Service Connect configuration for this service to discover and connect to services, and be discovered by, and connected from, other services within a namespace. See below.\n" }, "serviceRegistries": { - "$ref": "/aws/v6.59.1/schema.json#/types/aws:ecs/ServiceServiceRegistries:ServiceServiceRegistries", + "$ref": "/aws/v6.66.2/schema.json#/types/aws:ecs/ServiceServiceRegistries:ServiceServiceRegistries", "description": "Service discovery registries for the service. The maximum number of `service_registries` blocks is `1`. See below.\n" }, "tags": { @@ -2437,8 +2445,15 @@ "description": "Map of arbitrary keys and values that, when changed, will trigger an in-place update (redeployment). Useful with `\"plantimestamp()\"`. When using the triggers property you also need to set the forceNewDeployment property to True.\n" }, "volumeConfiguration": { - "$ref": "/aws/v6.59.1/schema.json#/types/aws:ecs/ServiceVolumeConfiguration:ServiceVolumeConfiguration", + "$ref": "/aws/v6.66.2/schema.json#/types/aws:ecs/ServiceVolumeConfiguration:ServiceVolumeConfiguration", "description": "Configuration for a volume specified in the task definition as a volume that is configured at launch time. Currently, the only supported volume type is an Amazon EBS volume. See below.\n" + }, + "vpcLatticeConfigurations": { + "type": "array", + "items": { + "$ref": "/aws/v6.66.2/schema.json#/types/aws:ecs/ServiceVpcLatticeConfiguration:ServiceVpcLatticeConfiguration" + }, + "description": "The VPC Lattice configuration for your service that allows Lattice to connect, secure, and monitor your service across multiple accounts and VPCs. See below.\n" } }, "isComponent": true @@ -2447,26 +2462,26 @@ "description": "Create a TaskDefinition resource with the given unique name, arguments, and options.\nCreates required log-group and task \u0026 execution roles.\nPresents required Service load balancers if target group included in port mappings.", "properties": { "executionRole": { - "$ref": "/aws/v6.59.1/schema.json#/resources/aws:iam%2Frole:Role", + "$ref": "/aws/v6.66.2/schema.json#/resources/aws:iam%2Frole:Role", "description": "Auto-created IAM task execution role that the Amazon ECS container agent and the Docker daemon can assume." }, "loadBalancers": { "type": "array", "items": { - "$ref": "/aws/v6.59.1/schema.json#/types/aws:ecs%2FServiceLoadBalancer:ServiceLoadBalancer" + "$ref": "/aws/v6.66.2/schema.json#/types/aws:ecs%2FServiceLoadBalancer:ServiceLoadBalancer" }, "description": "Computed load balancers from target groups specified of container port mappings." }, "logGroup": { - "$ref": "/aws/v6.59.1/schema.json#/resources/aws:cloudwatch%2FlogGroup:LogGroup", + "$ref": "/aws/v6.66.2/schema.json#/resources/aws:cloudwatch%2FlogGroup:LogGroup", "description": "Auto-created Log Group resource for use by containers." }, "taskDefinition": { - "$ref": "/aws/v6.59.1/schema.json#/resources/aws:ecs%2FtaskDefinition:TaskDefinition", + "$ref": "/aws/v6.66.2/schema.json#/resources/aws:ecs%2FtaskDefinition:TaskDefinition", "description": "Underlying ECS Task Definition resource" }, "taskRole": { - "$ref": "/aws/v6.59.1/schema.json#/resources/aws:iam%2Frole:Role", + "$ref": "/aws/v6.66.2/schema.json#/resources/aws:iam%2Frole:Role", "description": "Auto-created IAM role that allows your Amazon ECS container task to make calls to other AWS services." } }, @@ -2494,7 +2509,7 @@ "description": "The number of cpu units used by the task. If not provided, a default will be computed based on the cumulative needs specified by [containerDefinitions]" }, "ephemeralStorage": { - "$ref": "/aws/v6.59.1/schema.json#/types/aws:ecs/TaskDefinitionEphemeralStorage:TaskDefinitionEphemeralStorage", + "$ref": "/aws/v6.66.2/schema.json#/types/aws:ecs/TaskDefinitionEphemeralStorage:TaskDefinitionEphemeralStorage", "description": "The amount of ephemeral storage to allocate for the task. This parameter is used to expand the total amount of ephemeral storage available, beyond the default amount, for tasks hosted on AWS Fargate. See Ephemeral Storage.\n", "willReplaceOnChanges": true }, @@ -2510,7 +2525,7 @@ "inferenceAccelerators": { "type": "array", "items": { - "$ref": "/aws/v6.59.1/schema.json#/types/aws:ecs/TaskDefinitionInferenceAccelerator:TaskDefinitionInferenceAccelerator" + "$ref": "/aws/v6.66.2/schema.json#/types/aws:ecs/TaskDefinitionInferenceAccelerator:TaskDefinitionInferenceAccelerator" }, "description": "Configuration block(s) with Inference Accelerators settings. Detailed below.\n", "willReplaceOnChanges": true @@ -2542,18 +2557,18 @@ "placementConstraints": { "type": "array", "items": { - "$ref": "/aws/v6.59.1/schema.json#/types/aws:ecs/TaskDefinitionPlacementConstraint:TaskDefinitionPlacementConstraint" + "$ref": "/aws/v6.66.2/schema.json#/types/aws:ecs/TaskDefinitionPlacementConstraint:TaskDefinitionPlacementConstraint" }, "description": "Configuration block for rules that are taken into consideration during task placement. Maximum number of `placement_constraints` is `10`. Detailed below.\n", "willReplaceOnChanges": true }, "proxyConfiguration": { - "$ref": "/aws/v6.59.1/schema.json#/types/aws:ecs/TaskDefinitionProxyConfiguration:TaskDefinitionProxyConfiguration", + "$ref": "/aws/v6.66.2/schema.json#/types/aws:ecs/TaskDefinitionProxyConfiguration:TaskDefinitionProxyConfiguration", "description": "Configuration block for the App Mesh proxy. Detailed below.\n", "willReplaceOnChanges": true }, "runtimePlatform": { - "$ref": "/aws/v6.59.1/schema.json#/types/aws:ecs/TaskDefinitionRuntimePlatform:TaskDefinitionRuntimePlatform", + "$ref": "/aws/v6.66.2/schema.json#/types/aws:ecs/TaskDefinitionRuntimePlatform:TaskDefinitionRuntimePlatform", "description": "Configuration block for runtime_platform that containers in your task may use.\n", "willReplaceOnChanges": true }, @@ -2580,7 +2595,7 @@ "volumes": { "type": "array", "items": { - "$ref": "/aws/v6.59.1/schema.json#/types/aws:ecs/TaskDefinitionVolume:TaskDefinitionVolume" + "$ref": "/aws/v6.66.2/schema.json#/types/aws:ecs/TaskDefinitionVolume:TaskDefinitionVolume" }, "description": "Configuration block for volumes that containers in your task may use. Detailed below.\n", "willReplaceOnChanges": true @@ -2592,11 +2607,11 @@ "description": "Create an ECS Service resource for Fargate with the given unique name, arguments, and options.\nCreates Task definition if `taskDefinitionArgs` is specified.", "properties": { "service": { - "$ref": "/aws/v6.59.1/schema.json#/resources/aws:ecs%2fservice:Service", + "$ref": "/aws/v6.66.2/schema.json#/resources/aws:ecs%2fservice:Service", "description": "Underlying ECS Service resource" }, "taskDefinition": { - "$ref": "/aws/v6.59.1/schema.json#/resources/aws:ecs%2FtaskDefinition:TaskDefinition", + "$ref": "/aws/v6.66.2/schema.json#/resources/aws:ecs%2FtaskDefinition:TaskDefinition", "description": "Underlying Fargate component resource if created from args" } }, @@ -2605,13 +2620,17 @@ ], "inputProperties": { "alarms": { - "$ref": "/aws/v6.59.1/schema.json#/types/aws:ecs/ServiceAlarms:ServiceAlarms", + "$ref": "/aws/v6.66.2/schema.json#/types/aws:ecs/ServiceAlarms:ServiceAlarms", "description": "Information about the CloudWatch alarms. See below.\n" }, "assignPublicIp": { "type": "boolean", "description": "Assign a public IP address to the ENI (Fargate launch type only). Valid values are `true` or `false`. Default `false`." }, + "availabilityZoneRebalancing": { + "type": "string", + "description": "ECS automatically redistributes tasks within a service across Availability Zones (AZs) to mitigate the risk of impaired application availability due to underlying infrastructure failures and task lifecycle activities. The valid values are `ENABLED` and `DISABLED`. Defaults to `DISABLED`.\n" + }, "cluster": { "type": "string", "description": "ARN of an ECS cluster.\n", @@ -2622,11 +2641,11 @@ "description": "If `true`, this provider will not wait for the service to reach a steady state (like [`aws ecs wait services-stable`](https://docs.aws.amazon.com/cli/latest/reference/ecs/wait/services-stable.html)) before continuing. Default `false`." }, "deploymentCircuitBreaker": { - "$ref": "/aws/v6.59.1/schema.json#/types/aws:ecs/ServiceDeploymentCircuitBreaker:ServiceDeploymentCircuitBreaker", + "$ref": "/aws/v6.66.2/schema.json#/types/aws:ecs/ServiceDeploymentCircuitBreaker:ServiceDeploymentCircuitBreaker", "description": "Configuration block for deployment circuit breaker. See below.\n" }, "deploymentController": { - "$ref": "/aws/v6.59.1/schema.json#/types/aws:ecs/ServiceDeploymentController:ServiceDeploymentController", + "$ref": "/aws/v6.66.2/schema.json#/types/aws:ecs/ServiceDeploymentController:ServiceDeploymentController", "description": "Configuration block for deployment controller configuration. See below.\n" }, "deploymentMaximumPercent": { @@ -2669,7 +2688,7 @@ "loadBalancers": { "type": "array", "items": { - "$ref": "/aws/v6.59.1/schema.json#/types/aws:ecs/ServiceLoadBalancer:ServiceLoadBalancer" + "$ref": "/aws/v6.66.2/schema.json#/types/aws:ecs/ServiceLoadBalancer:ServiceLoadBalancer" }, "description": "Configuration block for load balancers. See below.\n" }, @@ -2679,13 +2698,13 @@ "willReplaceOnChanges": true }, "networkConfiguration": { - "$ref": "/aws/v6.59.1/schema.json#/types/aws:ecs/ServiceNetworkConfiguration:ServiceNetworkConfiguration", + "$ref": "/aws/v6.66.2/schema.json#/types/aws:ecs/ServiceNetworkConfiguration:ServiceNetworkConfiguration", "description": "Network configuration for the service. This parameter is required for task definitions that use the `awsvpc` network mode to receive their own Elastic Network Interface, and it is not supported for other network modes. See below.\n" }, "placementConstraints": { "type": "array", "items": { - "$ref": "/aws/v6.59.1/schema.json#/types/aws:ecs/ServicePlacementConstraint:ServicePlacementConstraint" + "$ref": "/aws/v6.66.2/schema.json#/types/aws:ecs/ServicePlacementConstraint:ServicePlacementConstraint" }, "description": "Rules that are taken into consideration during task placement. Updates to this configuration will take effect next task deployment unless `force_new_deployment` is enabled. Maximum number of `placement_constraints` is `10`. See below.\n" }, @@ -2703,11 +2722,11 @@ "willReplaceOnChanges": true }, "serviceConnectConfiguration": { - "$ref": "/aws/v6.59.1/schema.json#/types/aws:ecs/ServiceServiceConnectConfiguration:ServiceServiceConnectConfiguration", + "$ref": "/aws/v6.66.2/schema.json#/types/aws:ecs/ServiceServiceConnectConfiguration:ServiceServiceConnectConfiguration", "description": "ECS Service Connect configuration for this service to discover and connect to services, and be discovered by, and connected from, other services within a namespace. See below.\n" }, "serviceRegistries": { - "$ref": "/aws/v6.59.1/schema.json#/types/aws:ecs/ServiceServiceRegistries:ServiceServiceRegistries", + "$ref": "/aws/v6.66.2/schema.json#/types/aws:ecs/ServiceServiceRegistries:ServiceServiceRegistries", "description": "Service discovery registries for the service. The maximum number of `service_registries` blocks is `1`. See below.\n" }, "tags": { @@ -2734,8 +2753,15 @@ "description": "Map of arbitrary keys and values that, when changed, will trigger an in-place update (redeployment). Useful with `\"plantimestamp()\"`. When using the triggers property you also need to set the forceNewDeployment property to True.\n" }, "volumeConfiguration": { - "$ref": "/aws/v6.59.1/schema.json#/types/aws:ecs/ServiceVolumeConfiguration:ServiceVolumeConfiguration", + "$ref": "/aws/v6.66.2/schema.json#/types/aws:ecs/ServiceVolumeConfiguration:ServiceVolumeConfiguration", "description": "Configuration for a volume specified in the task definition as a volume that is configured at launch time. Currently, the only supported volume type is an Amazon EBS volume. See below.\n" + }, + "vpcLatticeConfigurations": { + "type": "array", + "items": { + "$ref": "/aws/v6.66.2/schema.json#/types/aws:ecs/ServiceVpcLatticeConfiguration:ServiceVpcLatticeConfiguration" + }, + "description": "The VPC Lattice configuration for your service that allows Lattice to connect, secure, and monitor your service across multiple accounts and VPCs. See below.\n" } }, "isComponent": true @@ -2744,26 +2770,26 @@ "description": "Create a TaskDefinition resource with the given unique name, arguments, and options.\nCreates required log-group and task \u0026 execution roles.\nPresents required Service load balancers if target group included in port mappings.", "properties": { "executionRole": { - "$ref": "/aws/v6.59.1/schema.json#/resources/aws:iam%2Frole:Role", + "$ref": "/aws/v6.66.2/schema.json#/resources/aws:iam%2Frole:Role", "description": "Auto-created IAM task execution role that the Amazon ECS container agent and the Docker daemon can assume." }, "loadBalancers": { "type": "array", "items": { - "$ref": "/aws/v6.59.1/schema.json#/types/aws:ecs%2FServiceLoadBalancer:ServiceLoadBalancer" + "$ref": "/aws/v6.66.2/schema.json#/types/aws:ecs%2FServiceLoadBalancer:ServiceLoadBalancer" }, "description": "Computed load balancers from target groups specified of container port mappings." }, "logGroup": { - "$ref": "/aws/v6.59.1/schema.json#/resources/aws:cloudwatch%2FlogGroup:LogGroup", + "$ref": "/aws/v6.66.2/schema.json#/resources/aws:cloudwatch%2FlogGroup:LogGroup", "description": "Auto-created Log Group resource for use by containers." }, "taskDefinition": { - "$ref": "/aws/v6.59.1/schema.json#/resources/aws:ecs%2FtaskDefinition:TaskDefinition", + "$ref": "/aws/v6.66.2/schema.json#/resources/aws:ecs%2FtaskDefinition:TaskDefinition", "description": "Underlying ECS Task Definition resource" }, "taskRole": { - "$ref": "/aws/v6.59.1/schema.json#/resources/aws:iam%2Frole:Role", + "$ref": "/aws/v6.66.2/schema.json#/resources/aws:iam%2Frole:Role", "description": "Auto-created IAM role that allows your Amazon ECS container task to make calls to other AWS services." } }, @@ -2791,7 +2817,7 @@ "description": "The number of cpu units used by the task. If not provided, a default will be computed based on the cumulative needs specified by [containerDefinitions]" }, "ephemeralStorage": { - "$ref": "/aws/v6.59.1/schema.json#/types/aws:ecs/TaskDefinitionEphemeralStorage:TaskDefinitionEphemeralStorage", + "$ref": "/aws/v6.66.2/schema.json#/types/aws:ecs/TaskDefinitionEphemeralStorage:TaskDefinitionEphemeralStorage", "description": "The amount of ephemeral storage to allocate for the task. This parameter is used to expand the total amount of ephemeral storage available, beyond the default amount, for tasks hosted on AWS Fargate. See Ephemeral Storage.\n", "willReplaceOnChanges": true }, @@ -2807,7 +2833,7 @@ "inferenceAccelerators": { "type": "array", "items": { - "$ref": "/aws/v6.59.1/schema.json#/types/aws:ecs/TaskDefinitionInferenceAccelerator:TaskDefinitionInferenceAccelerator" + "$ref": "/aws/v6.66.2/schema.json#/types/aws:ecs/TaskDefinitionInferenceAccelerator:TaskDefinitionInferenceAccelerator" }, "description": "Configuration block(s) with Inference Accelerators settings. Detailed below.\n", "willReplaceOnChanges": true @@ -2834,18 +2860,18 @@ "placementConstraints": { "type": "array", "items": { - "$ref": "/aws/v6.59.1/schema.json#/types/aws:ecs/TaskDefinitionPlacementConstraint:TaskDefinitionPlacementConstraint" + "$ref": "/aws/v6.66.2/schema.json#/types/aws:ecs/TaskDefinitionPlacementConstraint:TaskDefinitionPlacementConstraint" }, "description": "Configuration block for rules that are taken into consideration during task placement. Maximum number of `placement_constraints` is `10`. Detailed below.\n", "willReplaceOnChanges": true }, "proxyConfiguration": { - "$ref": "/aws/v6.59.1/schema.json#/types/aws:ecs/TaskDefinitionProxyConfiguration:TaskDefinitionProxyConfiguration", + "$ref": "/aws/v6.66.2/schema.json#/types/aws:ecs/TaskDefinitionProxyConfiguration:TaskDefinitionProxyConfiguration", "description": "Configuration block for the App Mesh proxy. Detailed below.\n", "willReplaceOnChanges": true }, "runtimePlatform": { - "$ref": "/aws/v6.59.1/schema.json#/types/aws:ecs/TaskDefinitionRuntimePlatform:TaskDefinitionRuntimePlatform", + "$ref": "/aws/v6.66.2/schema.json#/types/aws:ecs/TaskDefinitionRuntimePlatform:TaskDefinitionRuntimePlatform", "description": "Configuration block for runtime_platform that containers in your task may use.\n", "willReplaceOnChanges": true }, @@ -2872,7 +2898,7 @@ "volumes": { "type": "array", "items": { - "$ref": "/aws/v6.59.1/schema.json#/types/aws:ecs/TaskDefinitionVolume:TaskDefinitionVolume" + "$ref": "/aws/v6.66.2/schema.json#/types/aws:ecs/TaskDefinitionVolume:TaskDefinitionVolume" }, "description": "Configuration block for volumes that containers in your task may use. Detailed below.\n", "willReplaceOnChanges": true @@ -2884,22 +2910,22 @@ "description": "Provides an Application Load Balancer resource with listeners, default target group and default security group.", "properties": { "defaultSecurityGroup": { - "$ref": "/aws/v6.59.1/schema.json#/resources/aws:ec2%2fsecurityGroup:SecurityGroup", + "$ref": "/aws/v6.66.2/schema.json#/resources/aws:ec2%2fsecurityGroup:SecurityGroup", "description": "Default security group, if auto-created" }, "defaultTargetGroup": { - "$ref": "/aws/v6.59.1/schema.json#/resources/aws:lb%2ftargetGroup:TargetGroup", + "$ref": "/aws/v6.66.2/schema.json#/resources/aws:lb%2ftargetGroup:TargetGroup", "description": "Default target group, if auto-created" }, "listeners": { "type": "array", "items": { - "$ref": "/aws/v6.59.1/schema.json#/resources/aws:lb%2flistener:Listener" + "$ref": "/aws/v6.66.2/schema.json#/resources/aws:lb%2flistener:Listener" }, "description": "Listeners created as part of this load balancer" }, "loadBalancer": { - "$ref": "/aws/v6.59.1/schema.json#/resources/aws:lb%2floadBalancer:LoadBalancer", + "$ref": "/aws/v6.66.2/schema.json#/resources/aws:lb%2floadBalancer:LoadBalancer", "description": "Underlying Load Balancer resource" }, "vpcId": { @@ -2914,7 +2940,7 @@ ], "inputProperties": { "accessLogs": { - "$ref": "/aws/v6.59.1/schema.json#/types/aws:lb/LoadBalancerAccessLogs:LoadBalancerAccessLogs", + "$ref": "/aws/v6.66.2/schema.json#/types/aws:lb/LoadBalancerAccessLogs:LoadBalancerAccessLogs", "description": "Access Logs block. See below.\n" }, "clientKeepAlive": { @@ -2922,7 +2948,7 @@ "description": "Client keep alive value in seconds. The valid range is 60-604800 seconds. The default is 3600 seconds.\n" }, "connectionLogs": { - "$ref": "/aws/v6.59.1/schema.json#/types/aws:lb/LoadBalancerConnectionLogs:LoadBalancerConnectionLogs", + "$ref": "/aws/v6.66.2/schema.json#/types/aws:lb/LoadBalancerConnectionLogs:LoadBalancerConnectionLogs", "description": "Connection Logs block. See below. Only valid for Load Balancers of type `application`.\n" }, "customerOwnedIpv4Pool": { @@ -3042,14 +3068,14 @@ "subnetMappings": { "type": "array", "items": { - "$ref": "/aws/v6.59.1/schema.json#/types/aws:lb/LoadBalancerSubnetMapping:LoadBalancerSubnetMapping" + "$ref": "/aws/v6.66.2/schema.json#/types/aws:lb/LoadBalancerSubnetMapping:LoadBalancerSubnetMapping" }, "description": "Subnet mapping block. See below. For Load Balancers of type `network` subnet mappings can only be added.\n" }, "subnets": { "type": "array", "items": { - "$ref": "/aws/v6.59.1/schema.json#/resources/aws:ec2%2fsubnet:Subnet" + "$ref": "/aws/v6.66.2/schema.json#/resources/aws:ec2%2fsubnet:Subnet" }, "description": "A list of subnets to attach to the LB. Only one of [subnets], [subnetIds] or [subnetMappings] can be specified" }, @@ -3071,18 +3097,18 @@ "description": "Provides a Network Load Balancer resource with listeners and default target group.", "properties": { "defaultTargetGroup": { - "$ref": "/aws/v6.59.1/schema.json#/resources/aws:lb%2ftargetGroup:TargetGroup", + "$ref": "/aws/v6.66.2/schema.json#/resources/aws:lb%2ftargetGroup:TargetGroup", "description": "Default target group, if auto-created" }, "listeners": { "type": "array", "items": { - "$ref": "/aws/v6.59.1/schema.json#/resources/aws:lb%2flistener:Listener" + "$ref": "/aws/v6.66.2/schema.json#/resources/aws:lb%2flistener:Listener" }, "description": "Listeners created as part of this load balancer" }, "loadBalancer": { - "$ref": "/aws/v6.59.1/schema.json#/resources/aws:lb%2floadBalancer:LoadBalancer", + "$ref": "/aws/v6.66.2/schema.json#/resources/aws:lb%2floadBalancer:LoadBalancer", "description": "Underlying Load Balancer resource" }, "vpcId": { @@ -3097,7 +3123,7 @@ ], "inputProperties": { "accessLogs": { - "$ref": "/aws/v6.59.1/schema.json#/types/aws:lb/LoadBalancerAccessLogs:LoadBalancerAccessLogs", + "$ref": "/aws/v6.66.2/schema.json#/types/aws:lb/LoadBalancerAccessLogs:LoadBalancerAccessLogs", "description": "Access Logs block. See below.\n" }, "clientKeepAlive": { @@ -3105,7 +3131,7 @@ "description": "Client keep alive value in seconds. The valid range is 60-604800 seconds. The default is 3600 seconds.\n" }, "connectionLogs": { - "$ref": "/aws/v6.59.1/schema.json#/types/aws:lb/LoadBalancerConnectionLogs:LoadBalancerConnectionLogs", + "$ref": "/aws/v6.66.2/schema.json#/types/aws:lb/LoadBalancerConnectionLogs:LoadBalancerConnectionLogs", "description": "Connection Logs block. See below. Only valid for Load Balancers of type `application`.\n" }, "customerOwnedIpv4Pool": { @@ -3220,14 +3246,14 @@ "subnetMappings": { "type": "array", "items": { - "$ref": "/aws/v6.59.1/schema.json#/types/aws:lb/LoadBalancerSubnetMapping:LoadBalancerSubnetMapping" + "$ref": "/aws/v6.66.2/schema.json#/types/aws:lb/LoadBalancerSubnetMapping:LoadBalancerSubnetMapping" }, "description": "Subnet mapping block. See below. For Load Balancers of type `network` subnet mappings can only be added.\n" }, "subnets": { "type": "array", "items": { - "$ref": "/aws/v6.59.1/schema.json#/resources/aws:ec2%2fsubnet:Subnet" + "$ref": "/aws/v6.66.2/schema.json#/resources/aws:ec2%2fsubnet:Subnet" }, "description": "A list of subnets to attach to the LB. Only one of [subnets], [subnetIds] or [subnetMappings] can be specified" }, @@ -3249,11 +3275,11 @@ "description": "Attach an EC2 instance or Lambda to a Load Balancer. This will create required permissions if attaching to a Lambda Function.", "properties": { "lambdaPermission": { - "$ref": "/aws/v6.59.1/schema.json#/resources/aws:lambda%2fpermission:Permission", + "$ref": "/aws/v6.66.2/schema.json#/resources/aws:lambda%2fpermission:Permission", "description": "Auto-created Lambda permission, if targeting a Lambda function" }, "targetGroupAttachment": { - "$ref": "/aws/v6.59.1/schema.json#/resources/aws:lb%2ftargetGroupAttachment:TargetGroupAttachment", + "$ref": "/aws/v6.66.2/schema.json#/resources/aws:lb%2ftargetGroupAttachment:TargetGroupAttachment", "description": "Underlying Target Group Attachment resource", "language": { "csharp": { @@ -3268,7 +3294,7 @@ ], "inputProperties": { "instance": { - "$ref": "/aws/v6.59.1/schema.json#/resources/aws:ec2%2finstance:Instance", + "$ref": "/aws/v6.66.2/schema.json#/resources/aws:ec2%2finstance:Instance", "description": "EC2 Instance to attach to the Target Group. Exactly 1 of [instance], [instanceId], [lambda] or [lambdaArn] must be provided." }, "instanceId": { @@ -3276,7 +3302,7 @@ "description": "ID of an EC2 Instance to attach to the Target Group. Exactly 1 of [instance], [instanceId], [lambda] or [lambdaArn] must be provided." }, "lambda": { - "$ref": "/aws/v6.59.1/schema.json#/resources/aws:lambda%2ffunction:Function", + "$ref": "/aws/v6.66.2/schema.json#/resources/aws:lambda%2ffunction:Function", "description": "Lambda Function to attach to the Target Group. Exactly 1 of [instance], [instanceId], [lambda] or [lambdaArn] must be provided.", "language": { "python": { @@ -3289,7 +3315,7 @@ "description": "ARN of a Lambda Function to attach to the Target Group. Exactly 1 of [instance], [instanceId], [lambda] or [lambdaArn] must be provided." }, "targetGroup": { - "$ref": "/aws/v6.59.1/schema.json#/resources/aws:lb%2ftargetGroup:TargetGroup", + "$ref": "/aws/v6.66.2/schema.json#/resources/aws:lb%2ftargetGroup:TargetGroup", "description": "Target Group to attach to. Exactly one of [targetGroup] or [targetGroupArn] must be specified." }, "targetGroupArn": { diff --git a/schemagen/go.mod b/schemagen/go.mod index 7f09b1961..3dca6903a 100644 --- a/schemagen/go.mod +++ b/schemagen/go.mod @@ -4,8 +4,8 @@ go 1.21 require ( github.com/pkg/errors v0.9.1 - github.com/pulumi/pulumi/pkg/v3 v3.139.0 - github.com/pulumi/pulumi/sdk/v3 v3.139.0 + github.com/pulumi/pulumi/pkg/v3 v3.144.1 + github.com/pulumi/pulumi/sdk/v3 v3.144.1 ) require ( @@ -85,14 +85,14 @@ require ( github.com/xanzy/ssh-agent v0.3.3 // indirect github.com/zclconf/go-cty v1.13.2 // indirect go.uber.org/atomic v1.9.0 // indirect - golang.org/x/crypto v0.26.0 // indirect + golang.org/x/crypto v0.31.0 // indirect golang.org/x/exp v0.0.0-20240604190554-fc45aab8b7f8 // indirect golang.org/x/mod v0.18.0 // indirect - golang.org/x/net v0.28.0 // indirect - golang.org/x/sync v0.8.0 // indirect - golang.org/x/sys v0.24.0 // indirect - golang.org/x/term v0.23.0 // indirect - golang.org/x/text v0.17.0 // indirect + golang.org/x/net v0.33.0 // indirect + golang.org/x/sync v0.10.0 // indirect + golang.org/x/sys v0.28.0 // indirect + golang.org/x/term v0.27.0 // indirect + golang.org/x/text v0.21.0 // indirect golang.org/x/tools v0.22.0 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142 // indirect google.golang.org/grpc v1.67.1 // indirect diff --git a/schemagen/go.sum b/schemagen/go.sum index 86dca5aab..fcd74f375 100644 --- a/schemagen/go.sum +++ b/schemagen/go.sum @@ -405,10 +405,10 @@ github.com/pulumi/esc v0.10.0 h1:jzBKzkLVW0mePeanDRfqSQoCJ5yrkux0jIwAkUxpRKE= github.com/pulumi/esc v0.10.0/go.mod h1:2Bfa+FWj/xl8CKqRTWbWgDX0SOD4opdQgvYSURTGK2c= github.com/pulumi/inflector v0.1.1 h1:dvlxlWtXwOJTUUtcYDvwnl6Mpg33prhK+7mzeF+SobA= github.com/pulumi/inflector v0.1.1/go.mod h1:HUFCjcPTz96YtTuUlwG3i3EZG4WlniBvR9bd+iJxCUY= -github.com/pulumi/pulumi/pkg/v3 v3.139.0 h1:vWwAvEL0US8Z6emggo+OI/ZducMq9m9LKCJbEDbERvU= -github.com/pulumi/pulumi/pkg/v3 v3.139.0/go.mod h1:LtEg3PKYzbFnAKWFOENGRwGRNBpv16xKtbK+7esiSHU= -github.com/pulumi/pulumi/sdk/v3 v3.139.0 h1:oBGP58b2Yw1HbPA3LHO/jHmOaVqFSEjw5BXd36ZbPLw= -github.com/pulumi/pulumi/sdk/v3 v3.139.0/go.mod h1:PvKsX88co8XuwuPdzolMvew5lZV+4JmZfkeSjj7A6dI= +github.com/pulumi/pulumi/pkg/v3 v3.144.1 h1:64mVLQDEZa2GN52rTKSyXlA3r+APoqDXrNdkzlASyvs= +github.com/pulumi/pulumi/pkg/v3 v3.144.1/go.mod h1:q2wZOcwXVI/+OBtEXD6mLS7shhRMgsIGTo/uWfo0q04= +github.com/pulumi/pulumi/sdk/v3 v3.144.1 h1:QQtCDERihhlfvcmRzqHeBmOER1Fg1VkFj9933Lxqv00= +github.com/pulumi/pulumi/sdk/v3 v3.144.1/go.mod h1:/6gxU2XirnLlImBy5OoqV6I4HcjOf+IznNIZNZExZzo= 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.4 h1:8TfxU8dW6PdqD27gjM8MVNuicgxIjxpm4K7x4jp8sis= @@ -507,8 +507,8 @@ golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0 golang.org/x/crypto v0.0.0-20220722155217-630584e8d5aa/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/crypto v0.3.1-0.20221117191849-2c476679df9a/go.mod h1:hebNnKkNXi2UzZN1eVRvBB7co0a+JxK6XbPiWVs/3J4= golang.org/x/crypto v0.7.0/go.mod h1:pYwdfH91IfpZVANVyUOhSIPZaFoJGxTFbZhFTx+dXZU= -golang.org/x/crypto v0.26.0 h1:RrRspgV4mU+YwB4FYnuBoKsUapNIL5cohGAmSH3azsw= -golang.org/x/crypto v0.26.0/go.mod h1:GY7jblb9wI+FOo5y8/S2oY4zWP07AkOJ4+jxCqdqn54= +golang.org/x/crypto v0.31.0 h1:ihbySMvVjLAeSH1IbfcRTkD/iNscyz8rGzjF/E5hV6U= +golang.org/x/crypto v0.31.0/go.mod h1:kDsLvtWBEx7MV9tJOj9bnXsPbxwJQ6csT/x4KIN4Ssk= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= @@ -585,8 +585,8 @@ golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug golang.org/x/net v0.2.0/go.mod h1:KqCZLdyyvdV855qA2rE3GC2aiw5xGR5TEjj8smXukLY= golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= golang.org/x/net v0.8.0/go.mod h1:QVkue5JL9kW//ek3r6jTKnTFis1tRmNAW2P1shuFdJc= -golang.org/x/net v0.28.0 h1:a9JDOJc5GMUJ0+UDqmLT86WiEy7iWyIhz8gz8E4e5hE= -golang.org/x/net v0.28.0/go.mod h1:yqtgsTWOOnlGLG9GFRrK3++bGOUEkNBoHZc8MEDWPNg= +golang.org/x/net v0.33.0 h1:74SYHlV8BIgHIFC/LrYkOGIwL19eTYXQ5wc6TBuO36I= +golang.org/x/net v0.33.0/go.mod h1:HXLR5J+9DxmrqMwG9qjGCxZ+zKXxBru04zlTvWlWuN4= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= @@ -610,8 +610,8 @@ golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.8.0 h1:3NFvSEYkUoMifnESzZl15y791HH1qU2xm6eCJU5ZPXQ= -golang.org/x/sync v0.8.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= +golang.org/x/sync v0.10.0 h1:3NQrjDixjgGwUOCaF8w2+VYHv0Ve/vGYSbdkTa98gmQ= +golang.org/x/sync v0.10.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -661,15 +661,15 @@ golang.org/x/sys v0.2.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.3.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.24.0 h1:Twjiwq9dn6R1fQcyiK+wQyHWfaz/BJB+YIpzU/Cv3Xg= -golang.org/x/sys v0.24.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.28.0 h1:Fksou7UEQUWlKvIdsqzJmUmCX3cZuD2+P3XyyzwMhlA= +golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.2.0/go.mod h1:TVmDHMZPmdnySmBfhjOoOdhjzdE1h4u1VwSiw2l1Nuc= golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= golang.org/x/term v0.6.0/go.mod h1:m6U89DPEgQRMq3DNkDClhWw02AUbt2daBVO4cn4Hv9U= -golang.org/x/term v0.23.0 h1:F6D4vR+EHoL9/sWAWgAR1H2DcHr4PareCbAaCo1RpuU= -golang.org/x/term v0.23.0/go.mod h1:DgV24QBUrK6jhZXl+20l6UWznPlwAHm1Q1mGHtydmSk= +golang.org/x/term v0.27.0 h1:WP60Sv1nlK1T6SupCHbXzSaN0b9wUmsPoRS9b61A23Q= +golang.org/x/term v0.27.0/go.mod h1:iMsnZpn0cago0GOrHO2+Y7u7JPn5AylBrcoWkElMTSM= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= @@ -681,8 +681,8 @@ golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= golang.org/x/text v0.8.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= -golang.org/x/text v0.17.0 h1:XtiM5bkSOt+ewxlOE/aE/AKEHibwj/6gvWMl9Rsh0Qc= -golang.org/x/text v0.17.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= +golang.org/x/text v0.21.0 h1:zyQAAkrwaneQ066sspRyJaG9VNi/YJ1NfzcGB3hZ/qo= +golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= diff --git a/schemagen/pkg/gen/schema.go b/schemagen/pkg/gen/schema.go index d718469a8..3af92c27c 100644 --- a/schemagen/pkg/gen/schema.go +++ b/schemagen/pkg/gen/schema.go @@ -37,7 +37,7 @@ func GenerateSchema(packageDir string) schema.PackageSpec { dependencies := readPackageDependencies(packageDir) awsSpec := getPackageSpec("aws", dependencies.Aws) awsNativeSpec := getPackageSpec("aws-native", awsNativeTypesVersion) - dockerSpec := getPackageSpec("docker", dependencies.Docker) + dockerSpec := getPackageSpec("docker-build", dependencies.Docker) packageSpec := schema.PackageSpec{ Name: "awsx", @@ -67,23 +67,23 @@ func GenerateSchema(packageDir string) schema.PackageSpec { "generateResourceContainerTypes": true, "importBasePath": "github.com/pulumi/pulumi-awsx/sdk/v2/go/awsx", "liftSingleValueMethodReturns": true, - "internalDependencies": []string{"github.com/pulumi/pulumi-docker/sdk/v4/go/docker"}, + "internalDependencies": []string{"github.com/pulumi/pulumi-docker-build/sdk/go/dockerbuild"}, "respectSchemaVersion": true, }), "java": rawMessage(map[string]interface{}{ "dependencies": map[string]string{ - "com.pulumi:aws": dependencies.Aws, - "com.pulumi:docker": dependencies.Docker, + "com.pulumi:aws": dependencies.Aws, + "com.pulumi:docker-build": dependencies.Docker, }, }), "nodejs": rawMessage(map[string]interface{}{ "dependencies": map[string]string{ - "@aws-sdk/client-ecs": "^3.405.0", - "@pulumi/aws": "^" + dependencies.Aws, - "@pulumi/docker": "^" + dependencies.Docker, - "docker-classic": "npm:@pulumi/docker@3.6.1", - "@types/aws-lambda": "^8.10.23", - "mime": "^2.0.0", + "@aws-sdk/client-ecs": "^3.405.0", + "@pulumi/aws": "^" + dependencies.Aws, + "@pulumi/docker-build": "^" + dependencies.Docker, + "docker-classic": "npm:@pulumi/docker@3.6.1", + "@types/aws-lambda": "^8.10.23", + "mime": "^2.0.0", }, "devDependencies": map[string]string{ "@types/node": "^18", @@ -94,8 +94,8 @@ func GenerateSchema(packageDir string) schema.PackageSpec { }), "python": rawMessage(map[string]interface{}{ "requires": map[string]string{ - "pulumi-aws": ">=6.0.4,<7.0.0", - "pulumi-docker": fmt.Sprintf(">=%s,<5.0.0", dependencies.Docker), + "pulumi-aws": ">=6.0.4,<7.0.0", + "pulumi-docker-build": fmt.Sprintf(">=%s,<1.0.0", dependencies.Docker), }, "usesIOClasses": true, "readme": "Pulumi Amazon Web Services (AWS) AWSX Components.", @@ -253,7 +253,7 @@ func rawMessage(v interface{}) schema.RawMessage { type Dependencies struct { Aws string `json:"@pulumi/aws"` - Docker string `json:"@pulumi/docker"` + Docker string `json:"@pulumi/docker-build"` Pulumi string `json:"@pulumi/pulumi"` } diff --git a/sdk/dotnet/Awsx/Inputs/RoleWithPolicyArgs.cs b/sdk/dotnet/Awsx/Inputs/RoleWithPolicyArgs.cs index 5d81d182a..e6dbbb579 100644 --- a/sdk/dotnet/Awsx/Inputs/RoleWithPolicyArgs.cs +++ b/sdk/dotnet/Awsx/Inputs/RoleWithPolicyArgs.cs @@ -33,7 +33,6 @@ public sealed class RoleWithPolicyArgs : global::Pulumi.ResourceArgs /// /// Configuration block defining an exclusive set of IAM inline policies associated with the IAM role. See below. If no blocks are configured, Pulumi will not manage any inline policies in this resource. Configuring one empty block (i.e., `inline_policy {}`) will cause Pulumi to remove _all_ inline policies added out of band on `apply`. /// - [Obsolete(@"The inline_policy argument is deprecated. Use the aws.iam.RolePolicy resource instead. If Terraform should exclusively manage all inline policy associations (the current behavior of this argument), use the aws.iam.RolePoliciesExclusive resource as well.")] public InputList InlinePolicies { get => _inlinePolicies ?? (_inlinePolicies = new InputList()); diff --git a/sdk/dotnet/Ec2/GetDefaultVpc.cs b/sdk/dotnet/Ec2/GetDefaultVpc.cs index 31a208dd3..f69948837 100644 --- a/sdk/dotnet/Ec2/GetDefaultVpc.cs +++ b/sdk/dotnet/Ec2/GetDefaultVpc.cs @@ -23,6 +23,12 @@ public static Task InvokeAsync(GetDefaultVpcArgs? args = nu /// public static Output Invoke(InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.Invoke("awsx:ec2:getDefaultVpc", InvokeArgs.Empty, options.WithDefaults()); + + /// + /// [NOT YET IMPLEMENTED] Get the Default VPC for a region. + /// + public static Output Invoke(InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("awsx:ec2:getDefaultVpc", InvokeArgs.Empty, options.WithDefaults()); } diff --git a/sdk/dotnet/Ec2/Inputs/VpcEndpointSpecArgs.cs b/sdk/dotnet/Ec2/Inputs/VpcEndpointSpecArgs.cs index 004da43b4..6a7d9c2bd 100644 --- a/sdk/dotnet/Ec2/Inputs/VpcEndpointSpecArgs.cs +++ b/sdk/dotnet/Ec2/Inputs/VpcEndpointSpecArgs.cs @@ -712,8 +712,8 @@ namespace Pulumi.Awsx.Ec2.Inputs /// variables: /// current: /// fn::invoke: - /// Function: aws:getCallerIdentity - /// Arguments: {} + /// function: aws:getCallerIdentity + /// arguments: {} /// ``` /// <!--End PulumiCodeChooser --> /// @@ -788,6 +788,12 @@ public InputList SecurityGroupIds [Input("serviceName", required: true)] public string ServiceName { get; set; } = null!; + /// + /// The AWS region of the VPC Endpoint Service. If specified, the VPC endpoint will connect to the service in the provided region. Applicable for endpoints of type `Interface`. + /// + [Input("serviceRegion")] + public Input? ServiceRegion { get; set; } + [Input("subnetConfigurations")] private InputList? _subnetConfigurations; diff --git a/sdk/dotnet/Ecs/EC2Service.cs b/sdk/dotnet/Ecs/EC2Service.cs index 662fb0c33..571f4a8e2 100644 --- a/sdk/dotnet/Ecs/EC2Service.cs +++ b/sdk/dotnet/Ecs/EC2Service.cs @@ -62,6 +62,12 @@ public sealed class EC2ServiceArgs : global::Pulumi.ResourceArgs [Input("alarms")] public Input? Alarms { get; set; } + /// + /// ECS automatically redistributes tasks within a service across Availability Zones (AZs) to mitigate the risk of impaired application availability due to underlying infrastructure failures and task lifecycle activities. The valid values are `ENABLED` and `DISABLED`. Defaults to `DISABLED`. + /// + [Input("availabilityZoneRebalancing")] + public Input? AvailabilityZoneRebalancing { get; set; } + /// /// ARN of an ECS cluster. /// @@ -263,6 +269,18 @@ public InputMap Triggers [Input("volumeConfiguration")] public Input? VolumeConfiguration { get; set; } + [Input("vpcLatticeConfigurations")] + private InputList? _vpcLatticeConfigurations; + + /// + /// The VPC Lattice configuration for your service that allows Lattice to connect, secure, and monitor your service across multiple accounts and VPCs. See below. + /// + public InputList VpcLatticeConfigurations + { + get => _vpcLatticeConfigurations ?? (_vpcLatticeConfigurations = new InputList()); + set => _vpcLatticeConfigurations = value; + } + public EC2ServiceArgs() { } diff --git a/sdk/dotnet/Ecs/FargateService.cs b/sdk/dotnet/Ecs/FargateService.cs index 00577d997..b72bee358 100644 --- a/sdk/dotnet/Ecs/FargateService.cs +++ b/sdk/dotnet/Ecs/FargateService.cs @@ -68,6 +68,12 @@ public sealed class FargateServiceArgs : global::Pulumi.ResourceArgs [Input("assignPublicIp")] public Input? AssignPublicIp { get; set; } + /// + /// ECS automatically redistributes tasks within a service across Availability Zones (AZs) to mitigate the risk of impaired application availability due to underlying infrastructure failures and task lifecycle activities. The valid values are `ENABLED` and `DISABLED`. Defaults to `DISABLED`. + /// + [Input("availabilityZoneRebalancing")] + public Input? AvailabilityZoneRebalancing { get; set; } + /// /// ARN of an ECS cluster. /// @@ -257,6 +263,18 @@ public InputMap Triggers [Input("volumeConfiguration")] public Input? VolumeConfiguration { get; set; } + [Input("vpcLatticeConfigurations")] + private InputList? _vpcLatticeConfigurations; + + /// + /// The VPC Lattice configuration for your service that allows Lattice to connect, secure, and monitor your service across multiple accounts and VPCs. See below. + /// + public InputList VpcLatticeConfigurations + { + get => _vpcLatticeConfigurations ?? (_vpcLatticeConfigurations = new InputList()); + set => _vpcLatticeConfigurations = value; + } + public FargateServiceArgs() { } diff --git a/sdk/dotnet/Lb/Inputs/ListenerArgs.cs b/sdk/dotnet/Lb/Inputs/ListenerArgs.cs index a73762e90..d395f4397 100644 --- a/sdk/dotnet/Lb/Inputs/ListenerArgs.cs +++ b/sdk/dotnet/Lb/Inputs/ListenerArgs.cs @@ -1664,6 +1664,8 @@ public InputList DefaultActions /// /// A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + /// + /// > **Note::** When a `Name` key is specified in the map, the AWS Console maps the value to the `Name Tag` column value inside the `Listener Rules` table within a specific load balancer listener page. Otherwise, the value resolves to `Default`. /// public InputMap Tags { diff --git a/sdk/dotnet/Utilities.cs b/sdk/dotnet/Utilities.cs index ba36d10bb..8eb10264d 100644 --- a/sdk/dotnet/Utilities.cs +++ b/sdk/dotnet/Utilities.cs @@ -56,6 +56,13 @@ static class Utilities return dst; } + public static global::Pulumi.InvokeOutputOptions WithDefaults(this global::Pulumi.InvokeOutputOptions? src) + { + var dst = src ?? new global::Pulumi.InvokeOutputOptions{}; + dst.Version = src?.Version ?? Version; + return dst; + } + private readonly static string version; public static string Version => version; diff --git a/sdk/go.mod b/sdk/go.mod index c56474d1a..e23183843 100644 --- a/sdk/go.mod +++ b/sdk/go.mod @@ -6,9 +6,9 @@ toolchain go1.22.4 require ( github.com/blang/semver v3.5.1+incompatible - github.com/pulumi/pulumi-aws/sdk/v6 v6.59.1 - github.com/pulumi/pulumi-docker/sdk/v4 v4.4.3 - github.com/pulumi/pulumi/sdk/v3 v3.139.0 + github.com/pulumi/pulumi-aws/sdk/v6 v6.66.2 + github.com/pulumi/pulumi-docker-build/sdk/go/dockerbuild v0.0.3 + github.com/pulumi/pulumi/sdk/v3 v3.144.1 ) require ( @@ -18,7 +18,6 @@ require ( github.com/ProtonMail/go-crypto v1.0.0 // indirect github.com/aead/chacha20 v0.0.0-20180709150244-8b13a72661da // indirect github.com/agext/levenshtein v1.2.3 // indirect - github.com/apparentlymart/go-textseg/v13 v13.0.0 // indirect github.com/apparentlymart/go-textseg/v15 v15.0.0 // indirect github.com/atotto/clipboard v0.1.4 // indirect github.com/aymanbagabas/go-osc52/v2 v2.0.1 // indirect @@ -27,7 +26,7 @@ require ( github.com/charmbracelet/lipgloss v0.7.1 // indirect github.com/cheggaaa/pb v1.0.29 // indirect github.com/cloudflare/circl v1.3.7 // indirect - github.com/containerd/console v1.0.4-0.20230313162750-1ae8d489ac81 // indirect + github.com/containerd/console v1.0.4 // indirect github.com/cyphar/filepath-securejoin v0.2.4 // indirect github.com/djherbis/times v1.5.0 // indirect github.com/emirpasic/gods v1.18.1 // indirect @@ -66,26 +65,25 @@ require ( github.com/rivo/uniseg v0.4.4 // indirect github.com/rogpeppe/go-internal v1.12.0 // indirect github.com/sabhiram/go-gitignore v0.0.0-20210923224102-525f6e181f06 // indirect - github.com/santhosh-tekuri/jsonschema/v5 v5.0.0 // indirect + github.com/santhosh-tekuri/jsonschema/v5 v5.3.1 // indirect github.com/sergi/go-diff v1.3.2-0.20230802210424-5b0b94c5c0d3 // indirect github.com/skeema/knownhosts v1.2.2 // indirect github.com/spf13/cobra v1.8.0 // indirect github.com/spf13/pflag v1.0.5 // indirect - github.com/stretchr/objx v0.5.0 // indirect github.com/texttheater/golang-levenshtein v1.0.1 // indirect github.com/uber/jaeger-client-go v2.30.0+incompatible // indirect github.com/uber/jaeger-lib v2.4.1+incompatible // indirect github.com/xanzy/ssh-agent v0.3.3 // indirect - github.com/zclconf/go-cty v1.13.2 // indirect - go.uber.org/atomic v1.9.0 // indirect - golang.org/x/crypto v0.26.0 // indirect + github.com/zclconf/go-cty v1.14.1 // indirect + go.uber.org/atomic v1.10.0 // indirect + golang.org/x/crypto v0.31.0 // indirect golang.org/x/exp v0.0.0-20240604190554-fc45aab8b7f8 // indirect golang.org/x/mod v0.18.0 // indirect - golang.org/x/net v0.28.0 // indirect - golang.org/x/sync v0.8.0 // indirect - golang.org/x/sys v0.24.0 // indirect - golang.org/x/term v0.23.0 // indirect - golang.org/x/text v0.17.0 // indirect + golang.org/x/net v0.33.0 // indirect + golang.org/x/sync v0.10.0 // indirect + golang.org/x/sys v0.28.0 // indirect + golang.org/x/term v0.27.0 // indirect + golang.org/x/text v0.21.0 // indirect golang.org/x/tools v0.22.0 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142 // indirect google.golang.org/grpc v1.67.1 // indirect diff --git a/sdk/go.sum b/sdk/go.sum index 3f2a996ba..e494b6362 100644 --- a/sdk/go.sum +++ b/sdk/go.sum @@ -15,8 +15,6 @@ github.com/agext/levenshtein v1.2.3 h1:YB2fHEn0UJagG8T1rrWknE3ZQzWM06O8AMAatNn7l github.com/agext/levenshtein v1.2.3/go.mod h1:JEDfjyjHDjOF/1e4FlBE/PkbqA9OfWu2ki2W0IB5558= github.com/anmitsu/go-shlex v0.0.0-20200514113438-38f4b401e2be h1:9AeTilPcZAjCFIImctFaOjnTIavg87rW78vTPkQqLI8= github.com/anmitsu/go-shlex v0.0.0-20200514113438-38f4b401e2be/go.mod h1:ySMOLuWl6zY27l47sB3qLNK6tF2fkHG55UZxx8oIVo4= -github.com/apparentlymart/go-textseg/v13 v13.0.0 h1:Y+KvPE1NYz0xl601PVImeQfFyEy6iT90AvPUL1NNfNw= -github.com/apparentlymart/go-textseg/v13 v13.0.0/go.mod h1:ZK2fH7c4NqDTLtiYLvIkEghdlcqw7yxLeM89kiTRPUo= github.com/apparentlymart/go-textseg/v15 v15.0.0 h1:uYvfpb3DyLSCGWnctWKGj857c6ew1u1fNQOlOtuGxQY= github.com/apparentlymart/go-textseg/v15 v15.0.0/go.mod h1:K8XmNZdhEBkdlyDdvbmmsvpAG721bKi0joRfFdHIWJ4= github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5 h1:0CwZNZbxp69SHPdPJAN/hZIm0C4OItdklCFmMRWYpio= @@ -39,8 +37,8 @@ github.com/cheggaaa/pb v1.0.29/go.mod h1:W40334L7FMC5JKWldsTWbdGjLo0RxUKK73K+TuP github.com/cloudflare/circl v1.3.3/go.mod h1:5XYMA4rFBvNIrhs50XuiBJ15vF2pZn4nnUKZrLbUZFA= github.com/cloudflare/circl v1.3.7 h1:qlCDlTPz2n9fu58M0Nh1J/JzcFpfgkFHHX3O35r5vcU= github.com/cloudflare/circl v1.3.7/go.mod h1:sRTcRWXGLrKw6yIGJ+l7amYJFfAXbZG0kBSc8r4zxgA= -github.com/containerd/console v1.0.4-0.20230313162750-1ae8d489ac81 h1:q2hJAaP1k2wIvVRd/hEHD7lacgqrCPS+k8g1MndzfWY= -github.com/containerd/console v1.0.4-0.20230313162750-1ae8d489ac81/go.mod h1:YynlIjWYF8myEu6sdkwKIvGQq+cOckRm6So2avqoYAk= +github.com/containerd/console v1.0.4 h1:F2g4+oChYvBTsASRTz8NP6iIAi97J3TtSAsLbIFn4ro= +github.com/containerd/console v1.0.4/go.mod h1:YynlIjWYF8myEu6sdkwKIvGQq+cOckRm6So2avqoYAk= github.com/cpuguy83/go-md2man/v2 v2.0.3/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= github.com/cyphar/filepath-securejoin v0.2.4 h1:Ugdm7cg7i6ZK6x3xDF1oEu1nfkyfH53EtKeQYTC3kyg= github.com/cyphar/filepath-securejoin v0.2.4/go.mod h1:aPGpWjXOXUn2NCNjFvBE6aRxGGx79pTxQpKOJNYHHl4= @@ -129,8 +127,8 @@ github.com/muesli/reflow v0.3.0 h1:IFsN6K9NfGtjeggFP+68I4chLZV2yIKsXJFNZ+eWh6s= github.com/muesli/reflow v0.3.0/go.mod h1:pbwTDkVPibjO2kyvBQRBxTWEEGDGq0FlB1BIKtnHY/8= github.com/muesli/termenv v0.15.2 h1:GohcuySI0QmI3wN8Ok9PtKGkgkFIk7y6Vpb5PvrY+Wo= github.com/muesli/termenv v0.15.2/go.mod h1:Epx+iuz8sNs7mNKhxzH4fWXGNpZwUaJKRS1noLXviQ8= -github.com/onsi/gomega v1.27.10 h1:naR28SdDFlqrG6kScpT8VWpu1xWY5nJRCF3XaYyBjhI= -github.com/onsi/gomega v1.27.10/go.mod h1:RsS8tutOdbdgzbPtzzATp12yT7kM5I5aElG3evPbQ0M= +github.com/onsi/gomega v1.31.1 h1:KYppCUK+bUgAZwHOu7EXVBKyQA6ILvOESHkn/tgoqvo= +github.com/onsi/gomega v1.31.1/go.mod h1:y40C95dwAD1Nz36SsEnxvfFe8FFfNxzI5eJ0EYGyAy0= github.com/opentracing/basictracer-go v1.1.0 h1:Oa1fTSBvAl8pa3U+IJYqrKm0NALwH9OsgwOqDv4xJW0= github.com/opentracing/basictracer-go v1.1.0/go.mod h1:V2HZueSJEp879yv285Aap1BS69fQMD+MNP1mRs6mBQc= github.com/opentracing/opentracing-go v1.1.0/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o= @@ -150,12 +148,12 @@ 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.10.0 h1:jzBKzkLVW0mePeanDRfqSQoCJ5yrkux0jIwAkUxpRKE= github.com/pulumi/esc v0.10.0/go.mod h1:2Bfa+FWj/xl8CKqRTWbWgDX0SOD4opdQgvYSURTGK2c= -github.com/pulumi/pulumi-aws/sdk/v6 v6.59.1 h1:RlYprZBCafE2XK6jIA7DxqSoqlNrMpQtDdg6swm0yOA= -github.com/pulumi/pulumi-aws/sdk/v6 v6.59.1/go.mod h1:fQAH7UktKbtth0KNGZfvopLRIjWve8v8LfzOvqmQUXs= -github.com/pulumi/pulumi-docker/sdk/v4 v4.4.3 h1:gQC2As+wE8QflbLCG90jLaKwIpqW3yl1y327Jj6ovbI= -github.com/pulumi/pulumi-docker/sdk/v4 v4.4.3/go.mod h1:i19ZhFjFQrngtXYLHp3kjZNRmnEnq/DUdXK6/CBk77o= -github.com/pulumi/pulumi/sdk/v3 v3.139.0 h1:oBGP58b2Yw1HbPA3LHO/jHmOaVqFSEjw5BXd36ZbPLw= -github.com/pulumi/pulumi/sdk/v3 v3.139.0/go.mod h1:PvKsX88co8XuwuPdzolMvew5lZV+4JmZfkeSjj7A6dI= +github.com/pulumi/pulumi-aws/sdk/v6 v6.66.2 h1:mHiPVwdSQp5VjpvCdPy52FeMiNcscKvJP+len/mfqdU= +github.com/pulumi/pulumi-aws/sdk/v6 v6.66.2/go.mod h1:C+L8LtajPSwGsZiGgknkCwClUzXk+ZXzSGkOZTQMp3U= +github.com/pulumi/pulumi-docker-build/sdk/go/dockerbuild v0.0.3 h1:NxCXxRvzhUJP9dIvlpNlZKt/A3NHu3i9pC5XO+i8bR0= +github.com/pulumi/pulumi-docker-build/sdk/go/dockerbuild v0.0.3/go.mod h1:jw9NcyRXjv5V2HHHJlqUBdXFCFiLfZoCChWEn38LR2A= +github.com/pulumi/pulumi/sdk/v3 v3.144.1 h1:QQtCDERihhlfvcmRzqHeBmOER1Fg1VkFj9933Lxqv00= +github.com/pulumi/pulumi/sdk/v3 v3.144.1/go.mod h1:/6gxU2XirnLlImBy5OoqV6I4HcjOf+IznNIZNZExZzo= 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.4 h1:8TfxU8dW6PdqD27gjM8MVNuicgxIjxpm4K7x4jp8sis= @@ -165,8 +163,8 @@ github.com/rogpeppe/go-internal v1.12.0/go.mod h1:E+RYuTGaKKdloAfM02xzb0FW3Paa99 github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= github.com/sabhiram/go-gitignore v0.0.0-20210923224102-525f6e181f06 h1:OkMGxebDjyw0ULyrTYWeN0UNCCkmCWfjPnIA2W6oviI= github.com/sabhiram/go-gitignore v0.0.0-20210923224102-525f6e181f06/go.mod h1:+ePHsJ1keEjQtpvf9HHw0f4ZeJ0TLRsxhunSI2hYJSs= -github.com/santhosh-tekuri/jsonschema/v5 v5.0.0 h1:TToq11gyfNlrMFZiYujSekIsPd9AmsA2Bj/iv+s4JHE= -github.com/santhosh-tekuri/jsonschema/v5 v5.0.0/go.mod h1:FKdcjfQW6rpZSnxxUvEA5H/cDPdvJ/SZJQLWWXWGrZ0= +github.com/santhosh-tekuri/jsonschema/v5 v5.3.1 h1:lZUw3E0/J3roVtGQ+SCrUrg3ON6NgVqpn3+iol9aGu4= +github.com/santhosh-tekuri/jsonschema/v5 v5.3.1/go.mod h1:uToXkOrWAZ6/Oc07xWQrPOhJotwFIyu2bBVN41fcDUY= github.com/sergi/go-diff v1.3.2-0.20230802210424-5b0b94c5c0d3 h1:n661drycOFuPLCN3Uc8sB6B/s6Z4t2xvBgU1htSHuq8= github.com/sergi/go-diff v1.3.2-0.20230802210424-5b0b94c5c0d3/go.mod h1:A0bzQcvG0E7Rwjx0REVgAGH58e96+X0MeOfepqsbeW4= github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= @@ -177,16 +175,13 @@ github.com/spf13/cobra v1.8.0/go.mod h1:WXLWApfZ71AjXPya3WOlMsY9yMs7YeiHhFVlvLyh github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= -github.com/stretchr/objx v0.5.0 h1:1zr/of2m5FGMsad5YfcqgdqdWrIhu+EBEJRhR1U7z/c= -github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= +github.com/stretchr/objx v0.5.2 h1:xuMeJ0Sdp5ZMRXx/aWO6RZxdr3beISkG5/G/aIRr3pY= +github.com/stretchr/objx v0.5.2/go.mod h1:FRsXN1f5AsAjCGJKqEizvkpNtU+EGNCLh3NxZ/8L+MA= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA= github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg= github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= github.com/texttheater/golang-levenshtein v1.0.1 h1:+cRNoVrfiwufQPhoMzB6N0Yf/Mqajr6t1lOv8GyGE2U= @@ -200,10 +195,10 @@ github.com/xanzy/ssh-agent v0.3.3/go.mod h1:6dzNDKs0J9rVPHPhaGCukekBHKqfl+L3KghI github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= -github.com/zclconf/go-cty v1.13.2 h1:4GvrUxe/QUDYuJKAav4EYqdM47/kZa672LwmXFmEKT0= -github.com/zclconf/go-cty v1.13.2/go.mod h1:YKQzy/7pZ7iq2jNFzy5go57xdxdWoLLpaEp4u238AE0= -go.uber.org/atomic v1.9.0 h1:ECmE8Bn/WFTYwEW/bpKD3M8VtR/zQVbavAoalC1PYyE= -go.uber.org/atomic v1.9.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= +github.com/zclconf/go-cty v1.14.1 h1:t9fyA35fwjjUMcmL5hLER+e/rEPqrbCK1/OSE4SI9KA= +github.com/zclconf/go-cty v1.14.1/go.mod h1:VvMs5i0vgZdhYawQNq5kePSpLAoz8u1xvZgrPIxfnZE= +go.uber.org/atomic v1.10.0 h1:9qC72Qh0+3MqyJbAn8YU5xVq1frD8bn3JtD2oXtafVQ= +go.uber.org/atomic v1.10.0/go.mod h1:LUxbIzbOniOlMKjJjyPfpl4v+PKK2cNJn91OQbhoJI0= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= @@ -211,8 +206,8 @@ golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5y golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/crypto v0.3.1-0.20221117191849-2c476679df9a/go.mod h1:hebNnKkNXi2UzZN1eVRvBB7co0a+JxK6XbPiWVs/3J4= golang.org/x/crypto v0.7.0/go.mod h1:pYwdfH91IfpZVANVyUOhSIPZaFoJGxTFbZhFTx+dXZU= -golang.org/x/crypto v0.26.0 h1:RrRspgV4mU+YwB4FYnuBoKsUapNIL5cohGAmSH3azsw= -golang.org/x/crypto v0.26.0/go.mod h1:GY7jblb9wI+FOo5y8/S2oY4zWP07AkOJ4+jxCqdqn54= +golang.org/x/crypto v0.31.0 h1:ihbySMvVjLAeSH1IbfcRTkD/iNscyz8rGzjF/E5hV6U= +golang.org/x/crypto v0.31.0/go.mod h1:kDsLvtWBEx7MV9tJOj9bnXsPbxwJQ6csT/x4KIN4Ssk= golang.org/x/exp v0.0.0-20240604190554-fc45aab8b7f8 h1:LoYXNGAShUG3m/ehNk4iFctuhGX/+R1ZpfJ4/ia80JM= golang.org/x/exp v0.0.0-20240604190554-fc45aab8b7f8/go.mod h1:jj3sYF3dwk5D+ghuXyeI3r5MFf+NT2An6/9dOA95KSI= golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= @@ -234,15 +229,15 @@ golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug golang.org/x/net v0.2.0/go.mod h1:KqCZLdyyvdV855qA2rE3GC2aiw5xGR5TEjj8smXukLY= golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= golang.org/x/net v0.8.0/go.mod h1:QVkue5JL9kW//ek3r6jTKnTFis1tRmNAW2P1shuFdJc= -golang.org/x/net v0.28.0 h1:a9JDOJc5GMUJ0+UDqmLT86WiEy7iWyIhz8gz8E4e5hE= -golang.org/x/net v0.28.0/go.mod h1:yqtgsTWOOnlGLG9GFRrK3++bGOUEkNBoHZc8MEDWPNg= +golang.org/x/net v0.33.0 h1:74SYHlV8BIgHIFC/LrYkOGIwL19eTYXQ5wc6TBuO36I= +golang.org/x/net v0.33.0/go.mod h1:HXLR5J+9DxmrqMwG9qjGCxZ+zKXxBru04zlTvWlWuN4= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.8.0 h1:3NFvSEYkUoMifnESzZl15y791HH1qU2xm6eCJU5ZPXQ= -golang.org/x/sync v0.8.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= +golang.org/x/sync v0.10.0 h1:3NQrjDixjgGwUOCaF8w2+VYHv0Ve/vGYSbdkTa98gmQ= +golang.org/x/sync v0.10.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -263,15 +258,15 @@ golang.org/x/sys v0.2.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.3.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.24.0 h1:Twjiwq9dn6R1fQcyiK+wQyHWfaz/BJB+YIpzU/Cv3Xg= -golang.org/x/sys v0.24.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.28.0 h1:Fksou7UEQUWlKvIdsqzJmUmCX3cZuD2+P3XyyzwMhlA= +golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.2.0/go.mod h1:TVmDHMZPmdnySmBfhjOoOdhjzdE1h4u1VwSiw2l1Nuc= golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= golang.org/x/term v0.6.0/go.mod h1:m6U89DPEgQRMq3DNkDClhWw02AUbt2daBVO4cn4Hv9U= -golang.org/x/term v0.23.0 h1:F6D4vR+EHoL9/sWAWgAR1H2DcHr4PareCbAaCo1RpuU= -golang.org/x/term v0.23.0/go.mod h1:DgV24QBUrK6jhZXl+20l6UWznPlwAHm1Q1mGHtydmSk= +golang.org/x/term v0.27.0 h1:WP60Sv1nlK1T6SupCHbXzSaN0b9wUmsPoRS9b61A23Q= +golang.org/x/term v0.27.0/go.mod h1:iMsnZpn0cago0GOrHO2+Y7u7JPn5AylBrcoWkElMTSM= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= @@ -279,8 +274,8 @@ golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= golang.org/x/text v0.8.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= -golang.org/x/text v0.17.0 h1:XtiM5bkSOt+ewxlOE/aE/AKEHibwj/6gvWMl9Rsh0Qc= -golang.org/x/text v0.17.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= +golang.org/x/text v0.21.0 h1:zyQAAkrwaneQ066sspRyJaG9VNi/YJ1NfzcGB3hZ/qo= +golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20181030221726-6c7e314b6563/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= @@ -315,5 +310,5 @@ gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= lukechampine.com/frand v1.4.2 h1:RzFIpOvkMXuPMBb9maa4ND4wjBn71E1Jpf8BzJHMaVw= lukechampine.com/frand v1.4.2/go.mod h1:4S/TM2ZgrKejMcKMbeLjISpJMO+/eZ1zu3vYX9dtj3s= -pgregory.net/rapid v0.6.1 h1:4eyrDxyht86tT4Ztm+kvlyNBLIk071gR+ZQdhphc9dQ= -pgregory.net/rapid v0.6.1/go.mod h1:PY5XlDGj0+V1FCq0o192FdRhpKHGTRIWBgqjDBTrq04= +pgregory.net/rapid v1.1.0 h1:CMa0sjHSru3puNx+J0MIAuiiEV4N0qj8/cMWGBBCsjw= +pgregory.net/rapid v1.1.0/go.mod h1:PY5XlDGj0+V1FCq0o192FdRhpKHGTRIWBgqjDBTrq04= diff --git a/sdk/go/awsx/awsx/pulumiTypes.go b/sdk/go/awsx/awsx/pulumiTypes.go index d30c44ca9..5d747a193 100644 --- a/sdk/go/awsx/awsx/pulumiTypes.go +++ b/sdk/go/awsx/awsx/pulumiTypes.go @@ -2080,8 +2080,6 @@ type RoleWithPolicy struct { // Whether to force detaching any policies the role has before destroying it. Defaults to `false`. ForceDetachPolicies *bool `pulumi:"forceDetachPolicies"` // Configuration block defining an exclusive set of IAM inline policies associated with the IAM role. See below. If no blocks are configured, Pulumi will not manage any inline policies in this resource. Configuring one empty block (i.e., `inline_policy {}`) will cause Pulumi to remove _all_ inline policies added out of band on `apply`. - // - // Deprecated: The inline_policy argument is deprecated. Use the aws.iam.RolePolicy resource instead. If Terraform should exclusively manage all inline policy associations (the current behavior of this argument), use the aws.iam.RolePoliciesExclusive resource as well. InlinePolicies []iam.RoleInlinePolicy `pulumi:"inlinePolicies"` // Set of exclusive IAM managed policy ARNs to attach to the IAM role. If this attribute is not configured, Pulumi will ignore policy attachments to this resource. When configured, Pulumi will align the role's managed policy attachments with this set by attaching or detaching managed policies. Configuring an empty set (i.e., `managed_policy_arns = []`) will cause Pulumi to remove _all_ managed policy attachments. ManagedPolicyArns []string `pulumi:"managedPolicyArns"` @@ -2119,8 +2117,6 @@ type RoleWithPolicyArgs struct { // Whether to force detaching any policies the role has before destroying it. Defaults to `false`. ForceDetachPolicies pulumi.BoolPtrInput `pulumi:"forceDetachPolicies"` // Configuration block defining an exclusive set of IAM inline policies associated with the IAM role. See below. If no blocks are configured, Pulumi will not manage any inline policies in this resource. Configuring one empty block (i.e., `inline_policy {}`) will cause Pulumi to remove _all_ inline policies added out of band on `apply`. - // - // Deprecated: The inline_policy argument is deprecated. Use the aws.iam.RolePolicy resource instead. If Terraform should exclusively manage all inline policy associations (the current behavior of this argument), use the aws.iam.RolePoliciesExclusive resource as well. InlinePolicies iam.RoleInlinePolicyArrayInput `pulumi:"inlinePolicies"` // Set of exclusive IAM managed policy ARNs to attach to the IAM role. If this attribute is not configured, Pulumi will ignore policy attachments to this resource. When configured, Pulumi will align the role's managed policy attachments with this set by attaching or detaching managed policies. Configuring an empty set (i.e., `managed_policy_arns = []`) will cause Pulumi to remove _all_ managed policy attachments. ManagedPolicyArns pulumi.StringArrayInput `pulumi:"managedPolicyArns"` @@ -2229,8 +2225,6 @@ func (o RoleWithPolicyOutput) ForceDetachPolicies() pulumi.BoolPtrOutput { } // Configuration block defining an exclusive set of IAM inline policies associated with the IAM role. See below. If no blocks are configured, Pulumi will not manage any inline policies in this resource. Configuring one empty block (i.e., `inline_policy {}`) will cause Pulumi to remove _all_ inline policies added out of band on `apply`. -// -// Deprecated: The inline_policy argument is deprecated. Use the aws.iam.RolePolicy resource instead. If Terraform should exclusively manage all inline policy associations (the current behavior of this argument), use the aws.iam.RolePoliciesExclusive resource as well. func (o RoleWithPolicyOutput) InlinePolicies() iam.RoleInlinePolicyArrayOutput { return o.ApplyT(func(v RoleWithPolicy) []iam.RoleInlinePolicy { return v.InlinePolicies }).(iam.RoleInlinePolicyArrayOutput) } @@ -2320,8 +2314,6 @@ func (o RoleWithPolicyPtrOutput) ForceDetachPolicies() pulumi.BoolPtrOutput { } // Configuration block defining an exclusive set of IAM inline policies associated with the IAM role. See below. If no blocks are configured, Pulumi will not manage any inline policies in this resource. Configuring one empty block (i.e., `inline_policy {}`) will cause Pulumi to remove _all_ inline policies added out of band on `apply`. -// -// Deprecated: The inline_policy argument is deprecated. Use the aws.iam.RolePolicy resource instead. If Terraform should exclusively manage all inline policy associations (the current behavior of this argument), use the aws.iam.RolePoliciesExclusive resource as well. func (o RoleWithPolicyPtrOutput) InlinePolicies() iam.RoleInlinePolicyArrayOutput { return o.ApplyT(func(v *RoleWithPolicy) []iam.RoleInlinePolicy { if v == nil { diff --git a/sdk/go/awsx/cloudtrail/init.go b/sdk/go/awsx/cloudtrail/init.go index 58520df00..693f137cd 100644 --- a/sdk/go/awsx/cloudtrail/init.go +++ b/sdk/go/awsx/cloudtrail/init.go @@ -8,7 +8,7 @@ import ( "github.com/blang/semver" "github.com/pulumi/pulumi-awsx/sdk/v2/go/awsx/internal" - _ "github.com/pulumi/pulumi-docker/sdk/v4/go/docker" + _ "github.com/pulumi/pulumi-docker-build/sdk/go/dockerbuild" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) diff --git a/sdk/go/awsx/ec2/getDefaultVpc.go b/sdk/go/awsx/ec2/getDefaultVpc.go index 2cb3ead30..16c0edee5 100644 --- a/sdk/go/awsx/ec2/getDefaultVpc.go +++ b/sdk/go/awsx/ec2/getDefaultVpc.go @@ -37,21 +37,11 @@ type GetDefaultVpcResult struct { } func GetDefaultVpcOutput(ctx *pulumi.Context, args GetDefaultVpcOutputArgs, opts ...pulumi.InvokeOption) GetDefaultVpcResultOutput { - return pulumi.ToOutputWithContext(context.Background(), args). + return pulumi.ToOutputWithContext(ctx.Context(), args). ApplyT(func(v interface{}) (GetDefaultVpcResultOutput, error) { args := v.(GetDefaultVpcArgs) - opts = internal.PkgInvokeDefaultOpts(opts) - var rv GetDefaultVpcResult - secret, err := ctx.InvokePackageRaw("awsx:ec2:getDefaultVpc", args, &rv, "", opts...) - if err != nil { - return GetDefaultVpcResultOutput{}, err - } - - output := pulumi.ToOutput(rv).(GetDefaultVpcResultOutput) - if secret { - return pulumi.ToSecret(output).(GetDefaultVpcResultOutput), nil - } - return output, nil + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("awsx:ec2:getDefaultVpc", args, GetDefaultVpcResultOutput{}, options).(GetDefaultVpcResultOutput), nil }).(GetDefaultVpcResultOutput) } diff --git a/sdk/go/awsx/ec2/init.go b/sdk/go/awsx/ec2/init.go index 679a93041..7236b0605 100644 --- a/sdk/go/awsx/ec2/init.go +++ b/sdk/go/awsx/ec2/init.go @@ -8,7 +8,7 @@ import ( "github.com/blang/semver" "github.com/pulumi/pulumi-awsx/sdk/v2/go/awsx/internal" - _ "github.com/pulumi/pulumi-docker/sdk/v4/go/docker" + _ "github.com/pulumi/pulumi-docker-build/sdk/go/dockerbuild" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) diff --git a/sdk/go/awsx/ec2/pulumiTypes.go b/sdk/go/awsx/ec2/pulumiTypes.go index 104859950..7c684f868 100644 --- a/sdk/go/awsx/ec2/pulumiTypes.go +++ b/sdk/go/awsx/ec2/pulumiTypes.go @@ -618,6 +618,8 @@ type VpcEndpointSpec struct { SecurityGroupIds []string `pulumi:"securityGroupIds"` // The service name. For AWS services the service name is usually in the form `com.amazonaws..` (the SageMaker Notebook service is an exception to this rule, the service name is in the form `aws.sagemaker..notebook`). ServiceName string `pulumi:"serviceName"` + // The AWS region of the VPC Endpoint Service. If specified, the VPC endpoint will connect to the service in the provided region. Applicable for endpoints of type `Interface`. + ServiceRegion *string `pulumi:"serviceRegion"` // Subnet configuration for the endpoint, used to select specific IPv4 and/or IPv6 addresses to the endpoint. See subnet_configuration below. SubnetConfigurations []ec2.VpcEndpointSubnetConfiguration `pulumi:"subnetConfigurations"` // The ID of one or more subnets in which to create a network interface for the endpoint. Applicable for endpoints of type `GatewayLoadBalancer` and `Interface`. Interface type endpoints cannot function without being assigned to a subnet. @@ -865,6 +867,8 @@ type VpcEndpointSpecArgs struct { SecurityGroupIds pulumi.StringArrayInput `pulumi:"securityGroupIds"` // The service name. For AWS services the service name is usually in the form `com.amazonaws..` (the SageMaker Notebook service is an exception to this rule, the service name is in the form `aws.sagemaker..notebook`). ServiceName string `pulumi:"serviceName"` + // The AWS region of the VPC Endpoint Service. If specified, the VPC endpoint will connect to the service in the provided region. Applicable for endpoints of type `Interface`. + ServiceRegion pulumi.StringPtrInput `pulumi:"serviceRegion"` // Subnet configuration for the endpoint, used to select specific IPv4 and/or IPv6 addresses to the endpoint. See subnet_configuration below. SubnetConfigurations ec2.VpcEndpointSubnetConfigurationArrayInput `pulumi:"subnetConfigurations"` // The ID of one or more subnets in which to create a network interface for the endpoint. Applicable for endpoints of type `GatewayLoadBalancer` and `Interface`. Interface type endpoints cannot function without being assigned to a subnet. @@ -1175,6 +1179,11 @@ func (o VpcEndpointSpecOutput) ServiceName() pulumi.StringOutput { return o.ApplyT(func(v VpcEndpointSpec) string { return v.ServiceName }).(pulumi.StringOutput) } +// The AWS region of the VPC Endpoint Service. If specified, the VPC endpoint will connect to the service in the provided region. Applicable for endpoints of type `Interface`. +func (o VpcEndpointSpecOutput) ServiceRegion() pulumi.StringPtrOutput { + return o.ApplyT(func(v VpcEndpointSpec) *string { return v.ServiceRegion }).(pulumi.StringPtrOutput) +} + // Subnet configuration for the endpoint, used to select specific IPv4 and/or IPv6 addresses to the endpoint. See subnet_configuration below. func (o VpcEndpointSpecOutput) SubnetConfigurations() ec2.VpcEndpointSubnetConfigurationArrayOutput { return o.ApplyT(func(v VpcEndpointSpec) []ec2.VpcEndpointSubnetConfiguration { return v.SubnetConfigurations }).(ec2.VpcEndpointSubnetConfigurationArrayOutput) diff --git a/sdk/go/awsx/ecr/init.go b/sdk/go/awsx/ecr/init.go index 5a3707305..ee838f76a 100644 --- a/sdk/go/awsx/ecr/init.go +++ b/sdk/go/awsx/ecr/init.go @@ -8,7 +8,7 @@ import ( "github.com/blang/semver" "github.com/pulumi/pulumi-awsx/sdk/v2/go/awsx/internal" - _ "github.com/pulumi/pulumi-docker/sdk/v4/go/docker" + _ "github.com/pulumi/pulumi-docker-build/sdk/go/dockerbuild" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) diff --git a/sdk/go/awsx/ecs/ec2service.go b/sdk/go/awsx/ecs/ec2service.go index c512df812..28e671144 100644 --- a/sdk/go/awsx/ecs/ec2service.go +++ b/sdk/go/awsx/ecs/ec2service.go @@ -42,6 +42,8 @@ func NewEC2Service(ctx *pulumi.Context, type ec2serviceArgs struct { // Information about the CloudWatch alarms. See below. Alarms *ecs.ServiceAlarms `pulumi:"alarms"` + // ECS automatically redistributes tasks within a service across Availability Zones (AZs) to mitigate the risk of impaired application availability due to underlying infrastructure failures and task lifecycle activities. The valid values are `ENABLED` and `DISABLED`. Defaults to `DISABLED`. + AvailabilityZoneRebalancing *string `pulumi:"availabilityZoneRebalancing"` // ARN of an ECS cluster. Cluster *string `pulumi:"cluster"` // If `true`, this provider will not wait for the service to reach a steady state (like [`aws ecs wait services-stable`](https://docs.aws.amazon.com/cli/latest/reference/ecs/wait/services-stable.html)) before continuing. Default `false`. @@ -101,12 +103,16 @@ type ec2serviceArgs struct { Triggers map[string]string `pulumi:"triggers"` // Configuration for a volume specified in the task definition as a volume that is configured at launch time. Currently, the only supported volume type is an Amazon EBS volume. See below. VolumeConfiguration *ecs.ServiceVolumeConfiguration `pulumi:"volumeConfiguration"` + // The VPC Lattice configuration for your service that allows Lattice to connect, secure, and monitor your service across multiple accounts and VPCs. See below. + VpcLatticeConfigurations []ecs.ServiceVpcLatticeConfiguration `pulumi:"vpcLatticeConfigurations"` } // The set of arguments for constructing a EC2Service resource. type EC2ServiceArgs struct { // Information about the CloudWatch alarms. See below. Alarms ecs.ServiceAlarmsPtrInput + // ECS automatically redistributes tasks within a service across Availability Zones (AZs) to mitigate the risk of impaired application availability due to underlying infrastructure failures and task lifecycle activities. The valid values are `ENABLED` and `DISABLED`. Defaults to `DISABLED`. + AvailabilityZoneRebalancing pulumi.StringPtrInput // ARN of an ECS cluster. Cluster pulumi.StringPtrInput // If `true`, this provider will not wait for the service to reach a steady state (like [`aws ecs wait services-stable`](https://docs.aws.amazon.com/cli/latest/reference/ecs/wait/services-stable.html)) before continuing. Default `false`. @@ -166,6 +172,8 @@ type EC2ServiceArgs struct { Triggers pulumi.StringMapInput // Configuration for a volume specified in the task definition as a volume that is configured at launch time. Currently, the only supported volume type is an Amazon EBS volume. See below. VolumeConfiguration ecs.ServiceVolumeConfigurationPtrInput + // The VPC Lattice configuration for your service that allows Lattice to connect, secure, and monitor your service across multiple accounts and VPCs. See below. + VpcLatticeConfigurations ecs.ServiceVpcLatticeConfigurationArrayInput } func (EC2ServiceArgs) ElementType() reflect.Type { diff --git a/sdk/go/awsx/ecs/fargateService.go b/sdk/go/awsx/ecs/fargateService.go index ec0bf00e5..660dfa714 100644 --- a/sdk/go/awsx/ecs/fargateService.go +++ b/sdk/go/awsx/ecs/fargateService.go @@ -44,6 +44,8 @@ type fargateServiceArgs struct { Alarms *ecs.ServiceAlarms `pulumi:"alarms"` // Assign a public IP address to the ENI (Fargate launch type only). Valid values are `true` or `false`. Default `false`. AssignPublicIp *bool `pulumi:"assignPublicIp"` + // ECS automatically redistributes tasks within a service across Availability Zones (AZs) to mitigate the risk of impaired application availability due to underlying infrastructure failures and task lifecycle activities. The valid values are `ENABLED` and `DISABLED`. Defaults to `DISABLED`. + AvailabilityZoneRebalancing *string `pulumi:"availabilityZoneRebalancing"` // ARN of an ECS cluster. Cluster *string `pulumi:"cluster"` // If `true`, this provider will not wait for the service to reach a steady state (like [`aws ecs wait services-stable`](https://docs.aws.amazon.com/cli/latest/reference/ecs/wait/services-stable.html)) before continuing. Default `false`. @@ -101,6 +103,8 @@ type fargateServiceArgs struct { Triggers map[string]string `pulumi:"triggers"` // Configuration for a volume specified in the task definition as a volume that is configured at launch time. Currently, the only supported volume type is an Amazon EBS volume. See below. VolumeConfiguration *ecs.ServiceVolumeConfiguration `pulumi:"volumeConfiguration"` + // The VPC Lattice configuration for your service that allows Lattice to connect, secure, and monitor your service across multiple accounts and VPCs. See below. + VpcLatticeConfigurations []ecs.ServiceVpcLatticeConfiguration `pulumi:"vpcLatticeConfigurations"` } // The set of arguments for constructing a FargateService resource. @@ -109,6 +113,8 @@ type FargateServiceArgs struct { Alarms ecs.ServiceAlarmsPtrInput // Assign a public IP address to the ENI (Fargate launch type only). Valid values are `true` or `false`. Default `false`. AssignPublicIp pulumi.BoolPtrInput + // ECS automatically redistributes tasks within a service across Availability Zones (AZs) to mitigate the risk of impaired application availability due to underlying infrastructure failures and task lifecycle activities. The valid values are `ENABLED` and `DISABLED`. Defaults to `DISABLED`. + AvailabilityZoneRebalancing pulumi.StringPtrInput // ARN of an ECS cluster. Cluster pulumi.StringPtrInput // If `true`, this provider will not wait for the service to reach a steady state (like [`aws ecs wait services-stable`](https://docs.aws.amazon.com/cli/latest/reference/ecs/wait/services-stable.html)) before continuing. Default `false`. @@ -166,6 +172,8 @@ type FargateServiceArgs struct { Triggers pulumi.StringMapInput // Configuration for a volume specified in the task definition as a volume that is configured at launch time. Currently, the only supported volume type is an Amazon EBS volume. See below. VolumeConfiguration ecs.ServiceVolumeConfigurationPtrInput + // The VPC Lattice configuration for your service that allows Lattice to connect, secure, and monitor your service across multiple accounts and VPCs. See below. + VpcLatticeConfigurations ecs.ServiceVpcLatticeConfigurationArrayInput } func (FargateServiceArgs) ElementType() reflect.Type { diff --git a/sdk/go/awsx/ecs/init.go b/sdk/go/awsx/ecs/init.go index d0cf46fa6..753dd55e0 100644 --- a/sdk/go/awsx/ecs/init.go +++ b/sdk/go/awsx/ecs/init.go @@ -8,7 +8,7 @@ import ( "github.com/blang/semver" "github.com/pulumi/pulumi-awsx/sdk/v2/go/awsx/internal" - _ "github.com/pulumi/pulumi-docker/sdk/v4/go/docker" + _ "github.com/pulumi/pulumi-docker-build/sdk/go/dockerbuild" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) diff --git a/sdk/go/awsx/init.go b/sdk/go/awsx/init.go index faab4832b..321628d3a 100644 --- a/sdk/go/awsx/init.go +++ b/sdk/go/awsx/init.go @@ -8,7 +8,7 @@ import ( "github.com/blang/semver" "github.com/pulumi/pulumi-awsx/sdk/v2/go/awsx/internal" - _ "github.com/pulumi/pulumi-docker/sdk/v4/go/docker" + _ "github.com/pulumi/pulumi-docker-build/sdk/go/dockerbuild" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) diff --git a/sdk/go/awsx/lb/init.go b/sdk/go/awsx/lb/init.go index e2d7898ef..a33f45d18 100644 --- a/sdk/go/awsx/lb/init.go +++ b/sdk/go/awsx/lb/init.go @@ -8,7 +8,7 @@ import ( "github.com/blang/semver" "github.com/pulumi/pulumi-awsx/sdk/v2/go/awsx/internal" - _ "github.com/pulumi/pulumi-docker/sdk/v4/go/docker" + _ "github.com/pulumi/pulumi-docker-build/sdk/go/dockerbuild" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) diff --git a/sdk/go/awsx/lb/pulumiTypes.go b/sdk/go/awsx/lb/pulumiTypes.go index f2209e121..f395e680b 100644 --- a/sdk/go/awsx/lb/pulumiTypes.go +++ b/sdk/go/awsx/lb/pulumiTypes.go @@ -443,6 +443,8 @@ type Listener struct { // Name of the SSL Policy for the listener. Required if `protocol` is `HTTPS` or `TLS`. Default is `ELBSecurityPolicy-2016-08`. SslPolicy *string `pulumi:"sslPolicy"` // A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + // + // > **Note::** When a `Name` key is specified in the map, the AWS Console maps the value to the `Name Tag` column value inside the `Listener Rules` table within a specific load balancer listener page. Otherwise, the value resolves to `Default`. Tags map[string]string `pulumi:"tags"` // TCP idle timeout value in seconds. Can only be set if protocol is `TCP` on Network Load Balancer, or with a Gateway Load Balancer. Not supported for Application Load Balancers. Valid values are between `60` and `6000` inclusive. Default: `350`. TcpIdleTimeoutSeconds *int `pulumi:"tcpIdleTimeoutSeconds"` @@ -888,6 +890,8 @@ type ListenerArgs struct { // Name of the SSL Policy for the listener. Required if `protocol` is `HTTPS` or `TLS`. Default is `ELBSecurityPolicy-2016-08`. SslPolicy pulumi.StringPtrInput `pulumi:"sslPolicy"` // A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + // + // > **Note::** When a `Name` key is specified in the map, the AWS Console maps the value to the `Name Tag` column value inside the `Listener Rules` table within a specific load balancer listener page. Otherwise, the value resolves to `Default`. Tags pulumi.StringMapInput `pulumi:"tags"` // TCP idle timeout value in seconds. Can only be set if protocol is `TCP` on Network Load Balancer, or with a Gateway Load Balancer. Not supported for Application Load Balancers. Valid values are between `60` and `6000` inclusive. Default: `350`. TcpIdleTimeoutSeconds pulumi.IntPtrInput `pulumi:"tcpIdleTimeoutSeconds"` @@ -1444,6 +1448,8 @@ func (o ListenerOutput) SslPolicy() pulumi.StringPtrOutput { } // A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. +// +// > **Note::** When a `Name` key is specified in the map, the AWS Console maps the value to the `Name Tag` column value inside the `Listener Rules` table within a specific load balancer listener page. Otherwise, the value resolves to `Default`. func (o ListenerOutput) Tags() pulumi.StringMapOutput { return o.ApplyT(func(v Listener) map[string]string { return v.Tags }).(pulumi.StringMapOutput) } @@ -1548,6 +1554,8 @@ func (o ListenerPtrOutput) SslPolicy() pulumi.StringPtrOutput { } // A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. +// +// > **Note::** When a `Name` key is specified in the map, the AWS Console maps the value to the `Name Tag` column value inside the `Listener Rules` table within a specific load balancer listener page. Otherwise, the value resolves to `Default`. func (o ListenerPtrOutput) Tags() pulumi.StringMapOutput { return o.ApplyT(func(v *Listener) map[string]string { if v == nil { diff --git a/sdk/java/build.gradle b/sdk/java/build.gradle index 7295ccd5b..657c7cab9 100644 --- a/sdk/java/build.gradle +++ b/sdk/java/build.gradle @@ -43,8 +43,8 @@ repositories { dependencies { implementation("com.google.code.findbugs:jsr305:3.0.2") implementation("com.google.code.gson:gson:2.8.9") - implementation("com.pulumi:aws:6.59.1") - implementation("com.pulumi:docker:4.5.1") + implementation("com.pulumi:aws:6.66.2") + implementation("com.pulumi:docker-build:0.0.8") implementation("com.pulumi:pulumi:0.9.7") } diff --git a/sdk/java/src/main/java/com/pulumi/awsx/awsx/inputs/RoleWithPolicyArgs.java b/sdk/java/src/main/java/com/pulumi/awsx/awsx/inputs/RoleWithPolicyArgs.java index b2ce4fd4d..0978abc01 100644 --- a/sdk/java/src/main/java/com/pulumi/awsx/awsx/inputs/RoleWithPolicyArgs.java +++ b/sdk/java/src/main/java/com/pulumi/awsx/awsx/inputs/RoleWithPolicyArgs.java @@ -57,22 +57,14 @@ public Optional> forceDetachPolicies() { /** * Configuration block defining an exclusive set of IAM inline policies associated with the IAM role. See below. If no blocks are configured, Pulumi will not manage any inline policies in this resource. Configuring one empty block (i.e., `inline_policy {}`) will cause Pulumi to remove _all_ inline policies added out of band on `apply`. * - * @deprecated - * The inline_policy argument is deprecated. Use the aws.iam.RolePolicy resource instead. If Terraform should exclusively manage all inline policy associations (the current behavior of this argument), use the aws.iam.RolePoliciesExclusive resource as well. - * */ - @Deprecated /* The inline_policy argument is deprecated. Use the aws.iam.RolePolicy resource instead. If Terraform should exclusively manage all inline policy associations (the current behavior of this argument), use the aws.iam.RolePoliciesExclusive resource as well. */ @Import(name="inlinePolicies") private @Nullable Output> inlinePolicies; /** * @return Configuration block defining an exclusive set of IAM inline policies associated with the IAM role. See below. If no blocks are configured, Pulumi will not manage any inline policies in this resource. Configuring one empty block (i.e., `inline_policy {}`) will cause Pulumi to remove _all_ inline policies added out of band on `apply`. * - * @deprecated - * The inline_policy argument is deprecated. Use the aws.iam.RolePolicy resource instead. If Terraform should exclusively manage all inline policy associations (the current behavior of this argument), use the aws.iam.RolePoliciesExclusive resource as well. - * */ - @Deprecated /* The inline_policy argument is deprecated. Use the aws.iam.RolePolicy resource instead. If Terraform should exclusively manage all inline policy associations (the current behavior of this argument), use the aws.iam.RolePoliciesExclusive resource as well. */ public Optional>> inlinePolicies() { return Optional.ofNullable(this.inlinePolicies); } @@ -278,11 +270,7 @@ public Builder forceDetachPolicies(Boolean forceDetachPolicies) { * * @return builder * - * @deprecated - * The inline_policy argument is deprecated. Use the aws.iam.RolePolicy resource instead. If Terraform should exclusively manage all inline policy associations (the current behavior of this argument), use the aws.iam.RolePoliciesExclusive resource as well. - * */ - @Deprecated /* The inline_policy argument is deprecated. Use the aws.iam.RolePolicy resource instead. If Terraform should exclusively manage all inline policy associations (the current behavior of this argument), use the aws.iam.RolePoliciesExclusive resource as well. */ public Builder inlinePolicies(@Nullable Output> inlinePolicies) { $.inlinePolicies = inlinePolicies; return this; @@ -293,11 +281,7 @@ public Builder inlinePolicies(@Nullable Output> inlin * * @return builder * - * @deprecated - * The inline_policy argument is deprecated. Use the aws.iam.RolePolicy resource instead. If Terraform should exclusively manage all inline policy associations (the current behavior of this argument), use the aws.iam.RolePoliciesExclusive resource as well. - * */ - @Deprecated /* The inline_policy argument is deprecated. Use the aws.iam.RolePolicy resource instead. If Terraform should exclusively manage all inline policy associations (the current behavior of this argument), use the aws.iam.RolePoliciesExclusive resource as well. */ public Builder inlinePolicies(List inlinePolicies) { return inlinePolicies(Output.of(inlinePolicies)); } @@ -307,11 +291,7 @@ public Builder inlinePolicies(List inlinePolicies) { * * @return builder * - * @deprecated - * The inline_policy argument is deprecated. Use the aws.iam.RolePolicy resource instead. If Terraform should exclusively manage all inline policy associations (the current behavior of this argument), use the aws.iam.RolePoliciesExclusive resource as well. - * */ - @Deprecated /* The inline_policy argument is deprecated. Use the aws.iam.RolePolicy resource instead. If Terraform should exclusively manage all inline policy associations (the current behavior of this argument), use the aws.iam.RolePoliciesExclusive resource as well. */ public Builder inlinePolicies(RoleInlinePolicyArgs... inlinePolicies) { return inlinePolicies(List.of(inlinePolicies)); } diff --git a/sdk/java/src/main/java/com/pulumi/awsx/ec2/inputs/VpcEndpointSpecArgs.java b/sdk/java/src/main/java/com/pulumi/awsx/ec2/inputs/VpcEndpointSpecArgs.java index 5a694c1cf..53c42eb9e 100644 --- a/sdk/java/src/main/java/com/pulumi/awsx/ec2/inputs/VpcEndpointSpecArgs.java +++ b/sdk/java/src/main/java/com/pulumi/awsx/ec2/inputs/VpcEndpointSpecArgs.java @@ -366,6 +366,21 @@ public String serviceName() { return this.serviceName; } + /** + * The AWS region of the VPC Endpoint Service. If specified, the VPC endpoint will connect to the service in the provided region. Applicable for endpoints of type `Interface`. + * + */ + @Import(name="serviceRegion") + private @Nullable Output serviceRegion; + + /** + * @return The AWS region of the VPC Endpoint Service. If specified, the VPC endpoint will connect to the service in the provided region. Applicable for endpoints of type `Interface`. + * + */ + public Optional> serviceRegion() { + return Optional.ofNullable(this.serviceRegion); + } + /** * Subnet configuration for the endpoint, used to select specific IPv4 and/or IPv6 addresses to the endpoint. See subnet_configuration below. * @@ -437,6 +452,7 @@ private VpcEndpointSpecArgs(VpcEndpointSpecArgs $) { this.routeTableIds = $.routeTableIds; this.securityGroupIds = $.securityGroupIds; this.serviceName = $.serviceName; + this.serviceRegion = $.serviceRegion; this.subnetConfigurations = $.subnetConfigurations; this.subnetIds = $.subnetIds; this.tags = $.tags; @@ -622,6 +638,27 @@ public Builder serviceName(String serviceName) { return this; } + /** + * @param serviceRegion The AWS region of the VPC Endpoint Service. If specified, the VPC endpoint will connect to the service in the provided region. Applicable for endpoints of type `Interface`. + * + * @return builder + * + */ + public Builder serviceRegion(@Nullable Output serviceRegion) { + $.serviceRegion = serviceRegion; + return this; + } + + /** + * @param serviceRegion The AWS region of the VPC Endpoint Service. If specified, the VPC endpoint will connect to the service in the provided region. Applicable for endpoints of type `Interface`. + * + * @return builder + * + */ + public Builder serviceRegion(String serviceRegion) { + return serviceRegion(Output.of(serviceRegion)); + } + /** * @param subnetConfigurations Subnet configuration for the endpoint, used to select specific IPv4 and/or IPv6 addresses to the endpoint. See subnet_configuration below. * diff --git a/sdk/java/src/main/java/com/pulumi/awsx/ecs/EC2ServiceArgs.java b/sdk/java/src/main/java/com/pulumi/awsx/ecs/EC2ServiceArgs.java index 2d9f2a54c..540b67557 100644 --- a/sdk/java/src/main/java/com/pulumi/awsx/ecs/EC2ServiceArgs.java +++ b/sdk/java/src/main/java/com/pulumi/awsx/ecs/EC2ServiceArgs.java @@ -13,6 +13,7 @@ import com.pulumi.aws.ecs.inputs.ServiceServiceConnectConfigurationArgs; import com.pulumi.aws.ecs.inputs.ServiceServiceRegistriesArgs; import com.pulumi.aws.ecs.inputs.ServiceVolumeConfigurationArgs; +import com.pulumi.aws.ecs.inputs.ServiceVpcLatticeConfigurationArgs; import com.pulumi.awsx.ecs.inputs.EC2ServiceTaskDefinitionArgs; import com.pulumi.core.Output; import com.pulumi.core.annotations.Import; @@ -45,6 +46,21 @@ public Optional> alarms() { return Optional.ofNullable(this.alarms); } + /** + * ECS automatically redistributes tasks within a service across Availability Zones (AZs) to mitigate the risk of impaired application availability due to underlying infrastructure failures and task lifecycle activities. The valid values are `ENABLED` and `DISABLED`. Defaults to `DISABLED`. + * + */ + @Import(name="availabilityZoneRebalancing") + private @Nullable Output availabilityZoneRebalancing; + + /** + * @return ECS automatically redistributes tasks within a service across Availability Zones (AZs) to mitigate the risk of impaired application availability due to underlying infrastructure failures and task lifecycle activities. The valid values are `ENABLED` and `DISABLED`. Defaults to `DISABLED`. + * + */ + public Optional> availabilityZoneRebalancing() { + return Optional.ofNullable(this.availabilityZoneRebalancing); + } + /** * ARN of an ECS cluster. * @@ -471,10 +487,26 @@ public Optional> volumeConfiguration() { return Optional.ofNullable(this.volumeConfiguration); } + /** + * The VPC Lattice configuration for your service that allows Lattice to connect, secure, and monitor your service across multiple accounts and VPCs. See below. + * + */ + @Import(name="vpcLatticeConfigurations") + private @Nullable Output> vpcLatticeConfigurations; + + /** + * @return The VPC Lattice configuration for your service that allows Lattice to connect, secure, and monitor your service across multiple accounts and VPCs. See below. + * + */ + public Optional>> vpcLatticeConfigurations() { + return Optional.ofNullable(this.vpcLatticeConfigurations); + } + private EC2ServiceArgs() {} private EC2ServiceArgs(EC2ServiceArgs $) { this.alarms = $.alarms; + this.availabilityZoneRebalancing = $.availabilityZoneRebalancing; this.cluster = $.cluster; this.continueBeforeSteadyState = $.continueBeforeSteadyState; this.deploymentCircuitBreaker = $.deploymentCircuitBreaker; @@ -503,6 +535,7 @@ private EC2ServiceArgs(EC2ServiceArgs $) { this.taskDefinitionArgs = $.taskDefinitionArgs; this.triggers = $.triggers; this.volumeConfiguration = $.volumeConfiguration; + this.vpcLatticeConfigurations = $.vpcLatticeConfigurations; } public static Builder builder() { @@ -544,6 +577,27 @@ public Builder alarms(ServiceAlarmsArgs alarms) { return alarms(Output.of(alarms)); } + /** + * @param availabilityZoneRebalancing ECS automatically redistributes tasks within a service across Availability Zones (AZs) to mitigate the risk of impaired application availability due to underlying infrastructure failures and task lifecycle activities. The valid values are `ENABLED` and `DISABLED`. Defaults to `DISABLED`. + * + * @return builder + * + */ + public Builder availabilityZoneRebalancing(@Nullable Output availabilityZoneRebalancing) { + $.availabilityZoneRebalancing = availabilityZoneRebalancing; + return this; + } + + /** + * @param availabilityZoneRebalancing ECS automatically redistributes tasks within a service across Availability Zones (AZs) to mitigate the risk of impaired application availability due to underlying infrastructure failures and task lifecycle activities. The valid values are `ENABLED` and `DISABLED`. Defaults to `DISABLED`. + * + * @return builder + * + */ + public Builder availabilityZoneRebalancing(String availabilityZoneRebalancing) { + return availabilityZoneRebalancing(Output.of(availabilityZoneRebalancing)); + } + /** * @param cluster ARN of an ECS cluster. * @@ -1158,6 +1212,37 @@ public Builder volumeConfiguration(ServiceVolumeConfigurationArgs volumeConfigur return volumeConfiguration(Output.of(volumeConfiguration)); } + /** + * @param vpcLatticeConfigurations The VPC Lattice configuration for your service that allows Lattice to connect, secure, and monitor your service across multiple accounts and VPCs. See below. + * + * @return builder + * + */ + public Builder vpcLatticeConfigurations(@Nullable Output> vpcLatticeConfigurations) { + $.vpcLatticeConfigurations = vpcLatticeConfigurations; + return this; + } + + /** + * @param vpcLatticeConfigurations The VPC Lattice configuration for your service that allows Lattice to connect, secure, and monitor your service across multiple accounts and VPCs. See below. + * + * @return builder + * + */ + public Builder vpcLatticeConfigurations(List vpcLatticeConfigurations) { + return vpcLatticeConfigurations(Output.of(vpcLatticeConfigurations)); + } + + /** + * @param vpcLatticeConfigurations The VPC Lattice configuration for your service that allows Lattice to connect, secure, and monitor your service across multiple accounts and VPCs. See below. + * + * @return builder + * + */ + public Builder vpcLatticeConfigurations(ServiceVpcLatticeConfigurationArgs... vpcLatticeConfigurations) { + return vpcLatticeConfigurations(List.of(vpcLatticeConfigurations)); + } + public EC2ServiceArgs build() { return $; } diff --git a/sdk/java/src/main/java/com/pulumi/awsx/ecs/FargateServiceArgs.java b/sdk/java/src/main/java/com/pulumi/awsx/ecs/FargateServiceArgs.java index 0c2dc2d76..6398ac5a0 100644 --- a/sdk/java/src/main/java/com/pulumi/awsx/ecs/FargateServiceArgs.java +++ b/sdk/java/src/main/java/com/pulumi/awsx/ecs/FargateServiceArgs.java @@ -12,6 +12,7 @@ import com.pulumi.aws.ecs.inputs.ServiceServiceConnectConfigurationArgs; import com.pulumi.aws.ecs.inputs.ServiceServiceRegistriesArgs; import com.pulumi.aws.ecs.inputs.ServiceVolumeConfigurationArgs; +import com.pulumi.aws.ecs.inputs.ServiceVpcLatticeConfigurationArgs; import com.pulumi.awsx.ecs.inputs.FargateServiceTaskDefinitionArgs; import com.pulumi.core.Output; import com.pulumi.core.annotations.Import; @@ -59,6 +60,21 @@ public Optional> assignPublicIp() { return Optional.ofNullable(this.assignPublicIp); } + /** + * ECS automatically redistributes tasks within a service across Availability Zones (AZs) to mitigate the risk of impaired application availability due to underlying infrastructure failures and task lifecycle activities. The valid values are `ENABLED` and `DISABLED`. Defaults to `DISABLED`. + * + */ + @Import(name="availabilityZoneRebalancing") + private @Nullable Output availabilityZoneRebalancing; + + /** + * @return ECS automatically redistributes tasks within a service across Availability Zones (AZs) to mitigate the risk of impaired application availability due to underlying infrastructure failures and task lifecycle activities. The valid values are `ENABLED` and `DISABLED`. Defaults to `DISABLED`. + * + */ + public Optional> availabilityZoneRebalancing() { + return Optional.ofNullable(this.availabilityZoneRebalancing); + } + /** * ARN of an ECS cluster. * @@ -470,11 +486,27 @@ public Optional> volumeConfiguration() { return Optional.ofNullable(this.volumeConfiguration); } + /** + * The VPC Lattice configuration for your service that allows Lattice to connect, secure, and monitor your service across multiple accounts and VPCs. See below. + * + */ + @Import(name="vpcLatticeConfigurations") + private @Nullable Output> vpcLatticeConfigurations; + + /** + * @return The VPC Lattice configuration for your service that allows Lattice to connect, secure, and monitor your service across multiple accounts and VPCs. See below. + * + */ + public Optional>> vpcLatticeConfigurations() { + return Optional.ofNullable(this.vpcLatticeConfigurations); + } + private FargateServiceArgs() {} private FargateServiceArgs(FargateServiceArgs $) { this.alarms = $.alarms; this.assignPublicIp = $.assignPublicIp; + this.availabilityZoneRebalancing = $.availabilityZoneRebalancing; this.cluster = $.cluster; this.continueBeforeSteadyState = $.continueBeforeSteadyState; this.deploymentCircuitBreaker = $.deploymentCircuitBreaker; @@ -502,6 +534,7 @@ private FargateServiceArgs(FargateServiceArgs $) { this.taskDefinitionArgs = $.taskDefinitionArgs; this.triggers = $.triggers; this.volumeConfiguration = $.volumeConfiguration; + this.vpcLatticeConfigurations = $.vpcLatticeConfigurations; } public static Builder builder() { @@ -564,6 +597,27 @@ public Builder assignPublicIp(Boolean assignPublicIp) { return assignPublicIp(Output.of(assignPublicIp)); } + /** + * @param availabilityZoneRebalancing ECS automatically redistributes tasks within a service across Availability Zones (AZs) to mitigate the risk of impaired application availability due to underlying infrastructure failures and task lifecycle activities. The valid values are `ENABLED` and `DISABLED`. Defaults to `DISABLED`. + * + * @return builder + * + */ + public Builder availabilityZoneRebalancing(@Nullable Output availabilityZoneRebalancing) { + $.availabilityZoneRebalancing = availabilityZoneRebalancing; + return this; + } + + /** + * @param availabilityZoneRebalancing ECS automatically redistributes tasks within a service across Availability Zones (AZs) to mitigate the risk of impaired application availability due to underlying infrastructure failures and task lifecycle activities. The valid values are `ENABLED` and `DISABLED`. Defaults to `DISABLED`. + * + * @return builder + * + */ + public Builder availabilityZoneRebalancing(String availabilityZoneRebalancing) { + return availabilityZoneRebalancing(Output.of(availabilityZoneRebalancing)); + } + /** * @param cluster ARN of an ECS cluster. * @@ -1147,6 +1201,37 @@ public Builder volumeConfiguration(ServiceVolumeConfigurationArgs volumeConfigur return volumeConfiguration(Output.of(volumeConfiguration)); } + /** + * @param vpcLatticeConfigurations The VPC Lattice configuration for your service that allows Lattice to connect, secure, and monitor your service across multiple accounts and VPCs. See below. + * + * @return builder + * + */ + public Builder vpcLatticeConfigurations(@Nullable Output> vpcLatticeConfigurations) { + $.vpcLatticeConfigurations = vpcLatticeConfigurations; + return this; + } + + /** + * @param vpcLatticeConfigurations The VPC Lattice configuration for your service that allows Lattice to connect, secure, and monitor your service across multiple accounts and VPCs. See below. + * + * @return builder + * + */ + public Builder vpcLatticeConfigurations(List vpcLatticeConfigurations) { + return vpcLatticeConfigurations(Output.of(vpcLatticeConfigurations)); + } + + /** + * @param vpcLatticeConfigurations The VPC Lattice configuration for your service that allows Lattice to connect, secure, and monitor your service across multiple accounts and VPCs. See below. + * + * @return builder + * + */ + public Builder vpcLatticeConfigurations(ServiceVpcLatticeConfigurationArgs... vpcLatticeConfigurations) { + return vpcLatticeConfigurations(List.of(vpcLatticeConfigurations)); + } + public FargateServiceArgs build() { return $; } diff --git a/sdk/java/src/main/java/com/pulumi/awsx/lb/inputs/ListenerArgs.java b/sdk/java/src/main/java/com/pulumi/awsx/lb/inputs/ListenerArgs.java index 03affa5a5..72f6ae87d 100644 --- a/sdk/java/src/main/java/com/pulumi/awsx/lb/inputs/ListenerArgs.java +++ b/sdk/java/src/main/java/com/pulumi/awsx/lb/inputs/ListenerArgs.java @@ -570,6 +570,8 @@ public Optional> sslPolicy() { /** * A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. * + * > **Note::** When a `Name` key is specified in the map, the AWS Console maps the value to the `Name Tag` column value inside the `Listener Rules` table within a specific load balancer listener page. Otherwise, the value resolves to `Default`. + * */ @Import(name="tags") private @Nullable Output> tags; @@ -577,6 +579,8 @@ public Optional> sslPolicy() { /** * @return A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. * + * > **Note::** When a `Name` key is specified in the map, the AWS Console maps the value to the `Name Tag` column value inside the `Listener Rules` table within a specific load balancer listener page. Otherwise, the value resolves to `Default`. + * */ public Optional>> tags() { return Optional.ofNullable(this.tags); @@ -789,6 +793,8 @@ public Builder sslPolicy(String sslPolicy) { /** * @param tags A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. * + * > **Note::** When a `Name` key is specified in the map, the AWS Console maps the value to the `Name Tag` column value inside the `Listener Rules` table within a specific load balancer listener page. Otherwise, the value resolves to `Default`. + * * @return builder * */ @@ -800,6 +806,8 @@ public Builder tags(@Nullable Output> tags) { /** * @param tags A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. * + * > **Note::** When a `Name` key is specified in the map, the AWS Console maps the value to the `Name Tag` column value inside the `Listener Rules` table within a specific load balancer listener page. Otherwise, the value resolves to `Default`. + * * @return builder * */ diff --git a/sdk/nodejs/ec2/getDefaultVpc.ts b/sdk/nodejs/ec2/getDefaultVpc.ts index 7e23cfc8f..eb08d54d9 100644 --- a/sdk/nodejs/ec2/getDefaultVpc.ts +++ b/sdk/nodejs/ec2/getDefaultVpc.ts @@ -37,7 +37,7 @@ export interface GetDefaultVpcResult { * [NOT YET IMPLEMENTED] Get the Default VPC for a region. */ /** @deprecated Waiting for https://github.com/pulumi/pulumi/issues/7583. Use the DefaultVpc resource until resolved. */ -export function getDefaultVpcOutput(opts?: pulumi.InvokeOptions): pulumi.Output { +export function getDefaultVpcOutput(opts?: pulumi.InvokeOutputOptions): pulumi.Output { pulumi.log.warn("getDefaultVpc is deprecated: Waiting for https://github.com/pulumi/pulumi/issues/7583. Use the DefaultVpc resource until resolved.") opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("awsx:ec2:getDefaultVpc", { diff --git a/sdk/nodejs/ecs/ec2service.ts b/sdk/nodejs/ecs/ec2service.ts index 3b185139b..101f0c88f 100644 --- a/sdk/nodejs/ecs/ec2service.ts +++ b/sdk/nodejs/ecs/ec2service.ts @@ -49,6 +49,7 @@ export class EC2Service extends pulumi.ComponentResource { opts = opts || {}; if (!opts.id) { resourceInputs["alarms"] = args ? args.alarms : undefined; + resourceInputs["availabilityZoneRebalancing"] = args ? args.availabilityZoneRebalancing : undefined; resourceInputs["cluster"] = args ? args.cluster : undefined; resourceInputs["continueBeforeSteadyState"] = args ? args.continueBeforeSteadyState : undefined; resourceInputs["deploymentCircuitBreaker"] = args ? args.deploymentCircuitBreaker : undefined; @@ -77,6 +78,7 @@ export class EC2Service extends pulumi.ComponentResource { resourceInputs["taskDefinitionArgs"] = args ? args.taskDefinitionArgs : undefined; resourceInputs["triggers"] = args ? args.triggers : undefined; resourceInputs["volumeConfiguration"] = args ? args.volumeConfiguration : undefined; + resourceInputs["vpcLatticeConfigurations"] = args ? args.vpcLatticeConfigurations : undefined; resourceInputs["service"] = undefined /*out*/; } else { resourceInputs["service"] = undefined /*out*/; @@ -95,6 +97,10 @@ export interface EC2ServiceArgs { * Information about the CloudWatch alarms. See below. */ alarms?: pulumi.Input; + /** + * ECS automatically redistributes tasks within a service across Availability Zones (AZs) to mitigate the risk of impaired application availability due to underlying infrastructure failures and task lifecycle activities. The valid values are `ENABLED` and `DISABLED`. Defaults to `DISABLED`. + */ + availabilityZoneRebalancing?: pulumi.Input; /** * ARN of an ECS cluster. */ @@ -210,4 +216,8 @@ export interface EC2ServiceArgs { * Configuration for a volume specified in the task definition as a volume that is configured at launch time. Currently, the only supported volume type is an Amazon EBS volume. See below. */ volumeConfiguration?: pulumi.Input; + /** + * The VPC Lattice configuration for your service that allows Lattice to connect, secure, and monitor your service across multiple accounts and VPCs. See below. + */ + vpcLatticeConfigurations?: pulumi.Input[]>; } diff --git a/sdk/nodejs/ecs/fargateService.ts b/sdk/nodejs/ecs/fargateService.ts index c71fdddbb..73eab8ad1 100644 --- a/sdk/nodejs/ecs/fargateService.ts +++ b/sdk/nodejs/ecs/fargateService.ts @@ -50,6 +50,7 @@ export class FargateService extends pulumi.ComponentResource { if (!opts.id) { resourceInputs["alarms"] = args ? args.alarms : undefined; resourceInputs["assignPublicIp"] = args ? args.assignPublicIp : undefined; + resourceInputs["availabilityZoneRebalancing"] = args ? args.availabilityZoneRebalancing : undefined; resourceInputs["cluster"] = args ? args.cluster : undefined; resourceInputs["continueBeforeSteadyState"] = args ? args.continueBeforeSteadyState : undefined; resourceInputs["deploymentCircuitBreaker"] = args ? args.deploymentCircuitBreaker : undefined; @@ -77,6 +78,7 @@ export class FargateService extends pulumi.ComponentResource { resourceInputs["taskDefinitionArgs"] = args ? args.taskDefinitionArgs : undefined; resourceInputs["triggers"] = args ? args.triggers : undefined; resourceInputs["volumeConfiguration"] = args ? args.volumeConfiguration : undefined; + resourceInputs["vpcLatticeConfigurations"] = args ? args.vpcLatticeConfigurations : undefined; resourceInputs["service"] = undefined /*out*/; } else { resourceInputs["service"] = undefined /*out*/; @@ -99,6 +101,10 @@ export interface FargateServiceArgs { * Assign a public IP address to the ENI (Fargate launch type only). Valid values are `true` or `false`. Default `false`. */ assignPublicIp?: pulumi.Input; + /** + * ECS automatically redistributes tasks within a service across Availability Zones (AZs) to mitigate the risk of impaired application availability due to underlying infrastructure failures and task lifecycle activities. The valid values are `ENABLED` and `DISABLED`. Defaults to `DISABLED`. + */ + availabilityZoneRebalancing?: pulumi.Input; /** * ARN of an ECS cluster. */ @@ -210,4 +216,8 @@ export interface FargateServiceArgs { * Configuration for a volume specified in the task definition as a volume that is configured at launch time. Currently, the only supported volume type is an Amazon EBS volume. See below. */ volumeConfiguration?: pulumi.Input; + /** + * The VPC Lattice configuration for your service that allows Lattice to connect, secure, and monitor your service across multiple accounts and VPCs. See below. + */ + vpcLatticeConfigurations?: pulumi.Input[]>; } diff --git a/sdk/nodejs/package.json b/sdk/nodejs/package.json index ef263580b..cf1e6dbc1 100644 --- a/sdk/nodejs/package.json +++ b/sdk/nodejs/package.json @@ -16,9 +16,9 @@ }, "dependencies": { "@aws-sdk/client-ecs": "^3.405.0", - "@pulumi/aws": "^6.59.1", - "@pulumi/docker": "^4.5.1", - "@pulumi/pulumi": "^3.136.0", + "@pulumi/aws": "^6.66.2", + "@pulumi/docker-build": "^0.0.8", + "@pulumi/pulumi": "^3.142.0", "@types/aws-lambda": "^8.10.23", "docker-classic": "npm:@pulumi/docker@3.6.1", "mime": "^2.0.0" diff --git a/sdk/nodejs/types/input.ts b/sdk/nodejs/types/input.ts index f0055f05b..f931ebea4 100644 --- a/sdk/nodejs/types/input.ts +++ b/sdk/nodejs/types/input.ts @@ -284,8 +284,6 @@ export namespace awsx { forceDetachPolicies?: pulumi.Input; /** * Configuration block defining an exclusive set of IAM inline policies associated with the IAM role. See below. If no blocks are configured, Pulumi will not manage any inline policies in this resource. Configuring one empty block (i.e., `inline_policy {}`) will cause Pulumi to remove _all_ inline policies added out of band on `apply`. - * - * @deprecated The inline_policy argument is deprecated. Use the aws.iam.RolePolicy resource instead. If Terraform should exclusively manage all inline policy associations (the current behavior of this argument), use the aws.iam.RolePoliciesExclusive resource as well. */ inlinePolicies?: pulumi.Input[]>; /** @@ -1120,8 +1118,8 @@ export namespace ec2 { * variables: * current: * fn::invoke: - * Function: aws:getCallerIdentity - * Arguments: {} + * function: aws:getCallerIdentity + * arguments: {} * ``` * * @@ -1167,6 +1165,10 @@ export namespace ec2 { * The service name. For AWS services the service name is usually in the form `com.amazonaws..` (the SageMaker Notebook service is an exception to this rule, the service name is in the form `aws.sagemaker..notebook`). */ serviceName: string; + /** + * The AWS region of the VPC Endpoint Service. If specified, the VPC endpoint will connect to the service in the provided region. Applicable for endpoints of type `Interface`. + */ + serviceRegion?: pulumi.Input; /** * Subnet configuration for the endpoint, used to select specific IPv4 and/or IPv6 addresses to the endpoint. See subnet_configuration below. */ @@ -3244,6 +3246,8 @@ export namespace lb { sslPolicy?: pulumi.Input; /** * A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + * > **Note::** When a `Name` key is specified in the map, the AWS Console maps the value to the `Name Tag` column value inside the `Listener Rules` table within a specific load balancer listener page. Otherwise, the value resolves to `Default`. */ tags?: pulumi.Input<{[key: string]: pulumi.Input}>; /** diff --git a/sdk/python/pulumi_awsx/awsx/_inputs.py b/sdk/python/pulumi_awsx/awsx/_inputs.py index 0c7a9c25d..f17bce7c9 100644 --- a/sdk/python/pulumi_awsx/awsx/_inputs.py +++ b/sdk/python/pulumi_awsx/awsx/_inputs.py @@ -1237,9 +1237,6 @@ def __init__(__self__, *, pulumi.set(__self__, "description", description) if force_detach_policies is not None: pulumi.set(__self__, "force_detach_policies", force_detach_policies) - if inline_policies is not None: - warnings.warn("""The inline_policy argument is deprecated. Use the aws.iam.RolePolicy resource instead. If Terraform should exclusively manage all inline policy associations (the current behavior of this argument), use the aws.iam.RolePoliciesExclusive resource as well.""", DeprecationWarning) - pulumi.log.warn("""inline_policies is deprecated: The inline_policy argument is deprecated. Use the aws.iam.RolePolicy resource instead. If Terraform should exclusively manage all inline policy associations (the current behavior of this argument), use the aws.iam.RolePoliciesExclusive resource as well.""") if inline_policies is not None: pulumi.set(__self__, "inline_policies", inline_policies) if managed_policy_arns is not None: @@ -1285,7 +1282,6 @@ def force_detach_policies(self, value: Optional[pulumi.Input[bool]]): @property @pulumi.getter(name="inlinePolicies") - @_utilities.deprecated("""The inline_policy argument is deprecated. Use the aws.iam.RolePolicy resource instead. If Terraform should exclusively manage all inline policy associations (the current behavior of this argument), use the aws.iam.RolePoliciesExclusive resource as well.""") def inline_policies(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['pulumi_aws.iam.RoleInlinePolicyArgs']]]]: """ Configuration block defining an exclusive set of IAM inline policies associated with the IAM role. See below. If no blocks are configured, Pulumi will not manage any inline policies in this resource. Configuring one empty block (i.e., `inline_policy {}`) will cause Pulumi to remove _all_ inline policies added out of band on `apply`. diff --git a/sdk/python/pulumi_awsx/ec2/_inputs.py b/sdk/python/pulumi_awsx/ec2/_inputs.py index 733f92867..4f7f070f2 100644 --- a/sdk/python/pulumi_awsx/ec2/_inputs.py +++ b/sdk/python/pulumi_awsx/ec2/_inputs.py @@ -921,8 +921,8 @@ class VpcEndpointSpecArgsDict(TypedDict): variables: current: fn::invoke: - Function: aws:getCallerIdentity - Arguments: {} + function: aws:getCallerIdentity + arguments: {} ``` @@ -967,6 +967,10 @@ class VpcEndpointSpecArgsDict(TypedDict): The ID of one or more security groups to associate with the network interface. Applicable for endpoints of type `Interface`. If no security groups are specified, the VPC's [default security group](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_SecurityGroups.html#DefaultSecurityGroup) is associated with the endpoint. """ + service_region: NotRequired[pulumi.Input[str]] + """ + The AWS region of the VPC Endpoint Service. If specified, the VPC endpoint will connect to the service in the provided region. Applicable for endpoints of type `Interface`. + """ subnet_configurations: NotRequired[pulumi.Input[Sequence[pulumi.Input['pulumi_aws.ec2.VpcEndpointSubnetConfigurationArgsDict']]]] """ Subnet configuration for the endpoint, used to select specific IPv4 and/or IPv6 addresses to the endpoint. See subnet_configuration below. @@ -997,6 +1001,7 @@ def __init__(__self__, *, private_dns_enabled: Optional[bool] = None, route_table_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, security_group_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + service_region: Optional[pulumi.Input[str]] = None, subnet_configurations: Optional[pulumi.Input[Sequence[pulumi.Input['pulumi_aws.ec2.VpcEndpointSubnetConfigurationArgs']]]] = None, subnet_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, @@ -1703,8 +1708,8 @@ def __init__(__self__, *, variables: current: fn::invoke: - Function: aws:getCallerIdentity - Arguments: {} + function: aws:getCallerIdentity + arguments: {} ``` @@ -1725,6 +1730,7 @@ def __init__(__self__, *, :param pulumi.Input[Sequence[pulumi.Input[str]]] route_table_ids: One or more route table IDs. Applicable for endpoints of type `Gateway`. :param pulumi.Input[Sequence[pulumi.Input[str]]] security_group_ids: The ID of one or more security groups to associate with the network interface. Applicable for endpoints of type `Interface`. If no security groups are specified, the VPC's [default security group](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_SecurityGroups.html#DefaultSecurityGroup) is associated with the endpoint. + :param pulumi.Input[str] service_region: The AWS region of the VPC Endpoint Service. If specified, the VPC endpoint will connect to the service in the provided region. Applicable for endpoints of type `Interface`. :param pulumi.Input[Sequence[pulumi.Input['pulumi_aws.ec2.VpcEndpointSubnetConfigurationArgs']]] subnet_configurations: Subnet configuration for the endpoint, used to select specific IPv4 and/or IPv6 addresses to the endpoint. See subnet_configuration below. :param pulumi.Input[Sequence[pulumi.Input[str]]] subnet_ids: The ID of one or more subnets in which to create a network interface for the endpoint. Applicable for endpoints of type `GatewayLoadBalancer` and `Interface`. Interface type endpoints cannot function without being assigned to a subnet. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. @@ -1745,6 +1751,8 @@ def __init__(__self__, *, pulumi.set(__self__, "route_table_ids", route_table_ids) if security_group_ids is not None: pulumi.set(__self__, "security_group_ids", security_group_ids) + if service_region is not None: + pulumi.set(__self__, "service_region", service_region) if subnet_configurations is not None: pulumi.set(__self__, "subnet_configurations", subnet_configurations) if subnet_ids is not None: @@ -1851,6 +1859,18 @@ def security_group_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str] def security_group_ids(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): pulumi.set(self, "security_group_ids", value) + @property + @pulumi.getter(name="serviceRegion") + def service_region(self) -> Optional[pulumi.Input[str]]: + """ + The AWS region of the VPC Endpoint Service. If specified, the VPC endpoint will connect to the service in the provided region. Applicable for endpoints of type `Interface`. + """ + return pulumi.get(self, "service_region") + + @service_region.setter + def service_region(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "service_region", value) + @property @pulumi.getter(name="subnetConfigurations") def subnet_configurations(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['pulumi_aws.ec2.VpcEndpointSubnetConfigurationArgs']]]]: diff --git a/sdk/python/pulumi_awsx/ec2/get_default_vpc.py b/sdk/python/pulumi_awsx/ec2/get_default_vpc.py index 3515fdfc8..5fca6f690 100644 --- a/sdk/python/pulumi_awsx/ec2/get_default_vpc.py +++ b/sdk/python/pulumi_awsx/ec2/get_default_vpc.py @@ -82,13 +82,13 @@ def get_default_vpc(opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGet private_subnet_ids=pulumi.get(__ret__, 'private_subnet_ids'), public_subnet_ids=pulumi.get(__ret__, 'public_subnet_ids'), vpc_id=pulumi.get(__ret__, 'vpc_id')) -def get_default_vpc_output(opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetDefaultVpcResult]: +def get_default_vpc_output(opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetDefaultVpcResult]: """ [NOT YET IMPLEMENTED] Get the Default VPC for a region. """ pulumi.log.warn("""get_default_vpc is deprecated: Waiting for https://github.com/pulumi/pulumi/issues/7583. Use the DefaultVpc resource until resolved.""") __args__ = dict() - opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('awsx:ec2:getDefaultVpc', __args__, opts=opts, typ=GetDefaultVpcResult) return __ret__.apply(lambda __response__: GetDefaultVpcResult( private_subnet_ids=pulumi.get(__response__, 'private_subnet_ids'), diff --git a/sdk/python/pulumi_awsx/ecs/ec2_service.py b/sdk/python/pulumi_awsx/ecs/ec2_service.py index 789d2c7a2..b3b2bedc3 100644 --- a/sdk/python/pulumi_awsx/ecs/ec2_service.py +++ b/sdk/python/pulumi_awsx/ecs/ec2_service.py @@ -24,6 +24,7 @@ class EC2ServiceArgs: def __init__(__self__, *, alarms: Optional[pulumi.Input['pulumi_aws.ecs.ServiceAlarmsArgs']] = None, + availability_zone_rebalancing: Optional[pulumi.Input[str]] = None, cluster: Optional[pulumi.Input[str]] = None, continue_before_steady_state: Optional[pulumi.Input[bool]] = None, deployment_circuit_breaker: Optional[pulumi.Input['pulumi_aws.ecs.ServiceDeploymentCircuitBreakerArgs']] = None, @@ -51,10 +52,12 @@ def __init__(__self__, *, task_definition: Optional[pulumi.Input[str]] = None, task_definition_args: Optional['EC2ServiceTaskDefinitionArgs'] = None, triggers: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, - volume_configuration: Optional[pulumi.Input['pulumi_aws.ecs.ServiceVolumeConfigurationArgs']] = None): + volume_configuration: Optional[pulumi.Input['pulumi_aws.ecs.ServiceVolumeConfigurationArgs']] = None, + vpc_lattice_configurations: Optional[pulumi.Input[Sequence[pulumi.Input['pulumi_aws.ecs.ServiceVpcLatticeConfigurationArgs']]]] = None): """ The set of arguments for constructing a EC2Service resource. :param pulumi.Input['pulumi_aws.ecs.ServiceAlarmsArgs'] alarms: Information about the CloudWatch alarms. See below. + :param pulumi.Input[str] availability_zone_rebalancing: ECS automatically redistributes tasks within a service across Availability Zones (AZs) to mitigate the risk of impaired application availability due to underlying infrastructure failures and task lifecycle activities. The valid values are `ENABLED` and `DISABLED`. Defaults to `DISABLED`. :param pulumi.Input[str] cluster: ARN of an ECS cluster. :param pulumi.Input[bool] continue_before_steady_state: If `true`, this provider will not wait for the service to reach a steady state (like [`aws ecs wait services-stable`](https://docs.aws.amazon.com/cli/latest/reference/ecs/wait/services-stable.html)) before continuing. Default `false`. :param pulumi.Input['pulumi_aws.ecs.ServiceDeploymentCircuitBreakerArgs'] deployment_circuit_breaker: Configuration block for deployment circuit breaker. See below. @@ -86,9 +89,12 @@ def __init__(__self__, *, :param 'EC2ServiceTaskDefinitionArgs' task_definition_args: The args of task definition that you want to run in your service. Either [taskDefinition] or [taskDefinitionArgs] must be provided. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] triggers: Map of arbitrary keys and values that, when changed, will trigger an in-place update (redeployment). Useful with `"plantimestamp()"`. When using the triggers property you also need to set the forceNewDeployment property to True. :param pulumi.Input['pulumi_aws.ecs.ServiceVolumeConfigurationArgs'] volume_configuration: Configuration for a volume specified in the task definition as a volume that is configured at launch time. Currently, the only supported volume type is an Amazon EBS volume. See below. + :param pulumi.Input[Sequence[pulumi.Input['pulumi_aws.ecs.ServiceVpcLatticeConfigurationArgs']]] vpc_lattice_configurations: The VPC Lattice configuration for your service that allows Lattice to connect, secure, and monitor your service across multiple accounts and VPCs. See below. """ if alarms is not None: pulumi.set(__self__, "alarms", alarms) + if availability_zone_rebalancing is not None: + pulumi.set(__self__, "availability_zone_rebalancing", availability_zone_rebalancing) if cluster is not None: pulumi.set(__self__, "cluster", cluster) if continue_before_steady_state is not None: @@ -145,6 +151,8 @@ def __init__(__self__, *, pulumi.set(__self__, "triggers", triggers) if volume_configuration is not None: pulumi.set(__self__, "volume_configuration", volume_configuration) + if vpc_lattice_configurations is not None: + pulumi.set(__self__, "vpc_lattice_configurations", vpc_lattice_configurations) @property @pulumi.getter @@ -158,6 +166,18 @@ def alarms(self) -> Optional[pulumi.Input['pulumi_aws.ecs.ServiceAlarmsArgs']]: def alarms(self, value: Optional[pulumi.Input['pulumi_aws.ecs.ServiceAlarmsArgs']]): pulumi.set(self, "alarms", value) + @property + @pulumi.getter(name="availabilityZoneRebalancing") + def availability_zone_rebalancing(self) -> Optional[pulumi.Input[str]]: + """ + ECS automatically redistributes tasks within a service across Availability Zones (AZs) to mitigate the risk of impaired application availability due to underlying infrastructure failures and task lifecycle activities. The valid values are `ENABLED` and `DISABLED`. Defaults to `DISABLED`. + """ + return pulumi.get(self, "availability_zone_rebalancing") + + @availability_zone_rebalancing.setter + def availability_zone_rebalancing(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "availability_zone_rebalancing", value) + @property @pulumi.getter def cluster(self) -> Optional[pulumi.Input[str]]: @@ -497,6 +517,18 @@ def volume_configuration(self) -> Optional[pulumi.Input['pulumi_aws.ecs.ServiceV def volume_configuration(self, value: Optional[pulumi.Input['pulumi_aws.ecs.ServiceVolumeConfigurationArgs']]): pulumi.set(self, "volume_configuration", value) + @property + @pulumi.getter(name="vpcLatticeConfigurations") + def vpc_lattice_configurations(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['pulumi_aws.ecs.ServiceVpcLatticeConfigurationArgs']]]]: + """ + The VPC Lattice configuration for your service that allows Lattice to connect, secure, and monitor your service across multiple accounts and VPCs. See below. + """ + return pulumi.get(self, "vpc_lattice_configurations") + + @vpc_lattice_configurations.setter + def vpc_lattice_configurations(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['pulumi_aws.ecs.ServiceVpcLatticeConfigurationArgs']]]]): + pulumi.set(self, "vpc_lattice_configurations", value) + class EC2Service(pulumi.ComponentResource): @overload @@ -504,6 +536,7 @@ def __init__(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, alarms: Optional[pulumi.Input[pulumi.InputType['pulumi_aws.ecs.ServiceAlarmsArgs']]] = None, + availability_zone_rebalancing: Optional[pulumi.Input[str]] = None, cluster: Optional[pulumi.Input[str]] = None, continue_before_steady_state: Optional[pulumi.Input[bool]] = None, deployment_circuit_breaker: Optional[pulumi.Input[pulumi.InputType['pulumi_aws.ecs.ServiceDeploymentCircuitBreakerArgs']]] = None, @@ -532,6 +565,7 @@ def __init__(__self__, task_definition_args: Optional[Union['EC2ServiceTaskDefinitionArgs', 'EC2ServiceTaskDefinitionArgsDict']] = None, triggers: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, volume_configuration: Optional[pulumi.Input[pulumi.InputType['pulumi_aws.ecs.ServiceVolumeConfigurationArgs']]] = None, + vpc_lattice_configurations: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['pulumi_aws.ecs.ServiceVpcLatticeConfigurationArgs']]]]] = None, __props__=None): """ Create an ECS Service resource for EC2 with the given unique name, arguments, and options. @@ -540,6 +574,7 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[pulumi.InputType['pulumi_aws.ecs.ServiceAlarmsArgs']] alarms: Information about the CloudWatch alarms. See below. + :param pulumi.Input[str] availability_zone_rebalancing: ECS automatically redistributes tasks within a service across Availability Zones (AZs) to mitigate the risk of impaired application availability due to underlying infrastructure failures and task lifecycle activities. The valid values are `ENABLED` and `DISABLED`. Defaults to `DISABLED`. :param pulumi.Input[str] cluster: ARN of an ECS cluster. :param pulumi.Input[bool] continue_before_steady_state: If `true`, this provider will not wait for the service to reach a steady state (like [`aws ecs wait services-stable`](https://docs.aws.amazon.com/cli/latest/reference/ecs/wait/services-stable.html)) before continuing. Default `false`. :param pulumi.Input[pulumi.InputType['pulumi_aws.ecs.ServiceDeploymentCircuitBreakerArgs']] deployment_circuit_breaker: Configuration block for deployment circuit breaker. See below. @@ -571,6 +606,7 @@ def __init__(__self__, :param Union['EC2ServiceTaskDefinitionArgs', 'EC2ServiceTaskDefinitionArgsDict'] task_definition_args: The args of task definition that you want to run in your service. Either [taskDefinition] or [taskDefinitionArgs] must be provided. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] triggers: Map of arbitrary keys and values that, when changed, will trigger an in-place update (redeployment). Useful with `"plantimestamp()"`. When using the triggers property you also need to set the forceNewDeployment property to True. :param pulumi.Input[pulumi.InputType['pulumi_aws.ecs.ServiceVolumeConfigurationArgs']] volume_configuration: Configuration for a volume specified in the task definition as a volume that is configured at launch time. Currently, the only supported volume type is an Amazon EBS volume. See below. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['pulumi_aws.ecs.ServiceVpcLatticeConfigurationArgs']]]] vpc_lattice_configurations: The VPC Lattice configuration for your service that allows Lattice to connect, secure, and monitor your service across multiple accounts and VPCs. See below. """ ... @overload @@ -598,6 +634,7 @@ def _internal_init(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, alarms: Optional[pulumi.Input[pulumi.InputType['pulumi_aws.ecs.ServiceAlarmsArgs']]] = None, + availability_zone_rebalancing: Optional[pulumi.Input[str]] = None, cluster: Optional[pulumi.Input[str]] = None, continue_before_steady_state: Optional[pulumi.Input[bool]] = None, deployment_circuit_breaker: Optional[pulumi.Input[pulumi.InputType['pulumi_aws.ecs.ServiceDeploymentCircuitBreakerArgs']]] = None, @@ -626,6 +663,7 @@ def _internal_init(__self__, task_definition_args: Optional[Union['EC2ServiceTaskDefinitionArgs', 'EC2ServiceTaskDefinitionArgsDict']] = None, triggers: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, volume_configuration: Optional[pulumi.Input[pulumi.InputType['pulumi_aws.ecs.ServiceVolumeConfigurationArgs']]] = None, + vpc_lattice_configurations: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['pulumi_aws.ecs.ServiceVpcLatticeConfigurationArgs']]]]] = None, __props__=None): opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) if not isinstance(opts, pulumi.ResourceOptions): @@ -638,6 +676,7 @@ def _internal_init(__self__, __props__ = EC2ServiceArgs.__new__(EC2ServiceArgs) __props__.__dict__["alarms"] = alarms + __props__.__dict__["availability_zone_rebalancing"] = availability_zone_rebalancing __props__.__dict__["cluster"] = cluster __props__.__dict__["continue_before_steady_state"] = continue_before_steady_state __props__.__dict__["deployment_circuit_breaker"] = deployment_circuit_breaker @@ -666,6 +705,7 @@ def _internal_init(__self__, __props__.__dict__["task_definition_args"] = task_definition_args __props__.__dict__["triggers"] = triggers __props__.__dict__["volume_configuration"] = volume_configuration + __props__.__dict__["vpc_lattice_configurations"] = vpc_lattice_configurations __props__.__dict__["service"] = None super(EC2Service, __self__).__init__( 'awsx:ecs:EC2Service', diff --git a/sdk/python/pulumi_awsx/ecs/fargate_service.py b/sdk/python/pulumi_awsx/ecs/fargate_service.py index ef618c209..4ea1bee5a 100644 --- a/sdk/python/pulumi_awsx/ecs/fargate_service.py +++ b/sdk/python/pulumi_awsx/ecs/fargate_service.py @@ -25,6 +25,7 @@ class FargateServiceArgs: def __init__(__self__, *, alarms: Optional[pulumi.Input['pulumi_aws.ecs.ServiceAlarmsArgs']] = None, assign_public_ip: Optional[pulumi.Input[bool]] = None, + availability_zone_rebalancing: Optional[pulumi.Input[str]] = None, cluster: Optional[pulumi.Input[str]] = None, continue_before_steady_state: Optional[pulumi.Input[bool]] = None, deployment_circuit_breaker: Optional[pulumi.Input['pulumi_aws.ecs.ServiceDeploymentCircuitBreakerArgs']] = None, @@ -51,11 +52,13 @@ def __init__(__self__, *, task_definition: Optional[pulumi.Input[str]] = None, task_definition_args: Optional['FargateServiceTaskDefinitionArgs'] = None, triggers: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, - volume_configuration: Optional[pulumi.Input['pulumi_aws.ecs.ServiceVolumeConfigurationArgs']] = None): + volume_configuration: Optional[pulumi.Input['pulumi_aws.ecs.ServiceVolumeConfigurationArgs']] = None, + vpc_lattice_configurations: Optional[pulumi.Input[Sequence[pulumi.Input['pulumi_aws.ecs.ServiceVpcLatticeConfigurationArgs']]]] = None): """ The set of arguments for constructing a FargateService resource. :param pulumi.Input['pulumi_aws.ecs.ServiceAlarmsArgs'] alarms: Information about the CloudWatch alarms. See below. :param pulumi.Input[bool] assign_public_ip: Assign a public IP address to the ENI (Fargate launch type only). Valid values are `true` or `false`. Default `false`. + :param pulumi.Input[str] availability_zone_rebalancing: ECS automatically redistributes tasks within a service across Availability Zones (AZs) to mitigate the risk of impaired application availability due to underlying infrastructure failures and task lifecycle activities. The valid values are `ENABLED` and `DISABLED`. Defaults to `DISABLED`. :param pulumi.Input[str] cluster: ARN of an ECS cluster. :param pulumi.Input[bool] continue_before_steady_state: If `true`, this provider will not wait for the service to reach a steady state (like [`aws ecs wait services-stable`](https://docs.aws.amazon.com/cli/latest/reference/ecs/wait/services-stable.html)) before continuing. Default `false`. :param pulumi.Input['pulumi_aws.ecs.ServiceDeploymentCircuitBreakerArgs'] deployment_circuit_breaker: Configuration block for deployment circuit breaker. See below. @@ -86,11 +89,14 @@ def __init__(__self__, *, :param 'FargateServiceTaskDefinitionArgs' task_definition_args: The args of task definition that you want to run in your service. Either [taskDefinition] or [taskDefinitionArgs] must be provided. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] triggers: Map of arbitrary keys and values that, when changed, will trigger an in-place update (redeployment). Useful with `"plantimestamp()"`. When using the triggers property you also need to set the forceNewDeployment property to True. :param pulumi.Input['pulumi_aws.ecs.ServiceVolumeConfigurationArgs'] volume_configuration: Configuration for a volume specified in the task definition as a volume that is configured at launch time. Currently, the only supported volume type is an Amazon EBS volume. See below. + :param pulumi.Input[Sequence[pulumi.Input['pulumi_aws.ecs.ServiceVpcLatticeConfigurationArgs']]] vpc_lattice_configurations: The VPC Lattice configuration for your service that allows Lattice to connect, secure, and monitor your service across multiple accounts and VPCs. See below. """ if alarms is not None: pulumi.set(__self__, "alarms", alarms) if assign_public_ip is not None: pulumi.set(__self__, "assign_public_ip", assign_public_ip) + if availability_zone_rebalancing is not None: + pulumi.set(__self__, "availability_zone_rebalancing", availability_zone_rebalancing) if cluster is not None: pulumi.set(__self__, "cluster", cluster) if continue_before_steady_state is not None: @@ -145,6 +151,8 @@ def __init__(__self__, *, pulumi.set(__self__, "triggers", triggers) if volume_configuration is not None: pulumi.set(__self__, "volume_configuration", volume_configuration) + if vpc_lattice_configurations is not None: + pulumi.set(__self__, "vpc_lattice_configurations", vpc_lattice_configurations) @property @pulumi.getter @@ -170,6 +178,18 @@ def assign_public_ip(self) -> Optional[pulumi.Input[bool]]: def assign_public_ip(self, value: Optional[pulumi.Input[bool]]): pulumi.set(self, "assign_public_ip", value) + @property + @pulumi.getter(name="availabilityZoneRebalancing") + def availability_zone_rebalancing(self) -> Optional[pulumi.Input[str]]: + """ + ECS automatically redistributes tasks within a service across Availability Zones (AZs) to mitigate the risk of impaired application availability due to underlying infrastructure failures and task lifecycle activities. The valid values are `ENABLED` and `DISABLED`. Defaults to `DISABLED`. + """ + return pulumi.get(self, "availability_zone_rebalancing") + + @availability_zone_rebalancing.setter + def availability_zone_rebalancing(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "availability_zone_rebalancing", value) + @property @pulumi.getter def cluster(self) -> Optional[pulumi.Input[str]]: @@ -497,6 +517,18 @@ def volume_configuration(self) -> Optional[pulumi.Input['pulumi_aws.ecs.ServiceV def volume_configuration(self, value: Optional[pulumi.Input['pulumi_aws.ecs.ServiceVolumeConfigurationArgs']]): pulumi.set(self, "volume_configuration", value) + @property + @pulumi.getter(name="vpcLatticeConfigurations") + def vpc_lattice_configurations(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['pulumi_aws.ecs.ServiceVpcLatticeConfigurationArgs']]]]: + """ + The VPC Lattice configuration for your service that allows Lattice to connect, secure, and monitor your service across multiple accounts and VPCs. See below. + """ + return pulumi.get(self, "vpc_lattice_configurations") + + @vpc_lattice_configurations.setter + def vpc_lattice_configurations(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['pulumi_aws.ecs.ServiceVpcLatticeConfigurationArgs']]]]): + pulumi.set(self, "vpc_lattice_configurations", value) + class FargateService(pulumi.ComponentResource): @overload @@ -505,6 +537,7 @@ def __init__(__self__, opts: Optional[pulumi.ResourceOptions] = None, alarms: Optional[pulumi.Input[pulumi.InputType['pulumi_aws.ecs.ServiceAlarmsArgs']]] = None, assign_public_ip: Optional[pulumi.Input[bool]] = None, + availability_zone_rebalancing: Optional[pulumi.Input[str]] = None, cluster: Optional[pulumi.Input[str]] = None, continue_before_steady_state: Optional[pulumi.Input[bool]] = None, deployment_circuit_breaker: Optional[pulumi.Input[pulumi.InputType['pulumi_aws.ecs.ServiceDeploymentCircuitBreakerArgs']]] = None, @@ -532,6 +565,7 @@ def __init__(__self__, task_definition_args: Optional[Union['FargateServiceTaskDefinitionArgs', 'FargateServiceTaskDefinitionArgsDict']] = None, triggers: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, volume_configuration: Optional[pulumi.Input[pulumi.InputType['pulumi_aws.ecs.ServiceVolumeConfigurationArgs']]] = None, + vpc_lattice_configurations: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['pulumi_aws.ecs.ServiceVpcLatticeConfigurationArgs']]]]] = None, __props__=None): """ Create an ECS Service resource for Fargate with the given unique name, arguments, and options. @@ -541,6 +575,7 @@ def __init__(__self__, :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[pulumi.InputType['pulumi_aws.ecs.ServiceAlarmsArgs']] alarms: Information about the CloudWatch alarms. See below. :param pulumi.Input[bool] assign_public_ip: Assign a public IP address to the ENI (Fargate launch type only). Valid values are `true` or `false`. Default `false`. + :param pulumi.Input[str] availability_zone_rebalancing: ECS automatically redistributes tasks within a service across Availability Zones (AZs) to mitigate the risk of impaired application availability due to underlying infrastructure failures and task lifecycle activities. The valid values are `ENABLED` and `DISABLED`. Defaults to `DISABLED`. :param pulumi.Input[str] cluster: ARN of an ECS cluster. :param pulumi.Input[bool] continue_before_steady_state: If `true`, this provider will not wait for the service to reach a steady state (like [`aws ecs wait services-stable`](https://docs.aws.amazon.com/cli/latest/reference/ecs/wait/services-stable.html)) before continuing. Default `false`. :param pulumi.Input[pulumi.InputType['pulumi_aws.ecs.ServiceDeploymentCircuitBreakerArgs']] deployment_circuit_breaker: Configuration block for deployment circuit breaker. See below. @@ -571,6 +606,7 @@ def __init__(__self__, :param Union['FargateServiceTaskDefinitionArgs', 'FargateServiceTaskDefinitionArgsDict'] task_definition_args: The args of task definition that you want to run in your service. Either [taskDefinition] or [taskDefinitionArgs] must be provided. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] triggers: Map of arbitrary keys and values that, when changed, will trigger an in-place update (redeployment). Useful with `"plantimestamp()"`. When using the triggers property you also need to set the forceNewDeployment property to True. :param pulumi.Input[pulumi.InputType['pulumi_aws.ecs.ServiceVolumeConfigurationArgs']] volume_configuration: Configuration for a volume specified in the task definition as a volume that is configured at launch time. Currently, the only supported volume type is an Amazon EBS volume. See below. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['pulumi_aws.ecs.ServiceVpcLatticeConfigurationArgs']]]] vpc_lattice_configurations: The VPC Lattice configuration for your service that allows Lattice to connect, secure, and monitor your service across multiple accounts and VPCs. See below. """ ... @overload @@ -599,6 +635,7 @@ def _internal_init(__self__, opts: Optional[pulumi.ResourceOptions] = None, alarms: Optional[pulumi.Input[pulumi.InputType['pulumi_aws.ecs.ServiceAlarmsArgs']]] = None, assign_public_ip: Optional[pulumi.Input[bool]] = None, + availability_zone_rebalancing: Optional[pulumi.Input[str]] = None, cluster: Optional[pulumi.Input[str]] = None, continue_before_steady_state: Optional[pulumi.Input[bool]] = None, deployment_circuit_breaker: Optional[pulumi.Input[pulumi.InputType['pulumi_aws.ecs.ServiceDeploymentCircuitBreakerArgs']]] = None, @@ -626,6 +663,7 @@ def _internal_init(__self__, task_definition_args: Optional[Union['FargateServiceTaskDefinitionArgs', 'FargateServiceTaskDefinitionArgsDict']] = None, triggers: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, volume_configuration: Optional[pulumi.Input[pulumi.InputType['pulumi_aws.ecs.ServiceVolumeConfigurationArgs']]] = None, + vpc_lattice_configurations: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['pulumi_aws.ecs.ServiceVpcLatticeConfigurationArgs']]]]] = None, __props__=None): opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) if not isinstance(opts, pulumi.ResourceOptions): @@ -639,6 +677,7 @@ def _internal_init(__self__, __props__.__dict__["alarms"] = alarms __props__.__dict__["assign_public_ip"] = assign_public_ip + __props__.__dict__["availability_zone_rebalancing"] = availability_zone_rebalancing __props__.__dict__["cluster"] = cluster __props__.__dict__["continue_before_steady_state"] = continue_before_steady_state __props__.__dict__["deployment_circuit_breaker"] = deployment_circuit_breaker @@ -666,6 +705,7 @@ def _internal_init(__self__, __props__.__dict__["task_definition_args"] = task_definition_args __props__.__dict__["triggers"] = triggers __props__.__dict__["volume_configuration"] = volume_configuration + __props__.__dict__["vpc_lattice_configurations"] = vpc_lattice_configurations __props__.__dict__["service"] = None super(FargateService, __self__).__init__( 'awsx:ecs:FargateService', diff --git a/sdk/python/pulumi_awsx/lb/_inputs.py b/sdk/python/pulumi_awsx/lb/_inputs.py index 70beac578..a3a6ef896 100644 --- a/sdk/python/pulumi_awsx/lb/_inputs.py +++ b/sdk/python/pulumi_awsx/lb/_inputs.py @@ -1656,6 +1656,8 @@ class ListenerArgsDict(TypedDict): tags: NotRequired[pulumi.Input[Mapping[str, pulumi.Input[str]]]] """ A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + + > **Note::** When a `Name` key is specified in the map, the AWS Console maps the value to the `Name Tag` column value inside the `Listener Rules` table within a specific load balancer listener page. Otherwise, the value resolves to `Default`. """ tcp_idle_timeout_seconds: NotRequired[pulumi.Input[int]] """ @@ -3283,6 +3285,8 @@ def __init__(__self__, *, :param pulumi.Input[str] protocol: Protocol for connections from clients to the load balancer. For Application Load Balancers, valid values are `HTTP` and `HTTPS`, with a default of `HTTP`. For Network Load Balancers, valid values are `TCP`, `TLS`, `UDP`, and `TCP_UDP`. Not valid to use `UDP` or `TCP_UDP` if dual-stack mode is enabled. Not valid for Gateway Load Balancers. :param pulumi.Input[str] ssl_policy: Name of the SSL Policy for the listener. Required if `protocol` is `HTTPS` or `TLS`. Default is `ELBSecurityPolicy-2016-08`. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + + > **Note::** When a `Name` key is specified in the map, the AWS Console maps the value to the `Name Tag` column value inside the `Listener Rules` table within a specific load balancer listener page. Otherwise, the value resolves to `Default`. :param pulumi.Input[int] tcp_idle_timeout_seconds: TCP idle timeout value in seconds. Can only be set if protocol is `TCP` on Network Load Balancer, or with a Gateway Load Balancer. Not supported for Application Load Balancers. Valid values are between `60` and `6000` inclusive. Default: `350`. """ if alpn_policy is not None: @@ -3393,6 +3397,8 @@ def ssl_policy(self, value: Optional[pulumi.Input[str]]): def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: """ A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + + > **Note::** When a `Name` key is specified in the map, the AWS Console maps the value to the `Name Tag` column value inside the `Listener Rules` table within a specific load balancer listener page. Otherwise, the value resolves to `Default`. """ return pulumi.get(self, "tags") diff --git a/sdk/python/pyproject.toml b/sdk/python/pyproject.toml index 9dd50dbed..a9acb7bf5 100644 --- a/sdk/python/pyproject.toml +++ b/sdk/python/pyproject.toml @@ -1,10 +1,10 @@ [project] name = "pulumi_awsx" description = "Pulumi Amazon Web Services (AWS) AWSX Components." - dependencies = ["parver>=0.2.1", "pulumi>=3.136.0,<4.0.0", "pulumi-aws>=6.0.4,<7.0.0", "pulumi-docker>=4.5.1,<5.0.0", "semver>=2.8.1", "typing-extensions>=4.11; python_version < \"3.11\""] + dependencies = ["parver>=0.2.1", "pulumi>=3.142.0,<4.0.0", "pulumi-aws>=6.0.4,<7.0.0", "pulumi-docker-build>=0.0.8,<1.0.0", "semver>=2.8.1", "typing-extensions>=4.11; python_version < \"3.11\""] keywords = ["pulumi", "aws", "awsx", "kind/component", "category/cloud"] readme = "README.md" - requires-python = ">=3.8" + requires-python = ">=3.9" version = "2.0.0a0+dev" [project.license] text = "Apache-2.0"