{"version":"2","toolVersion":"5.9.49","snippets":{"1a63afbad29c13d877453ab9195cf89f5784d89ce12c277c157913069c9f8736":{"translations":{"python":{"source":"from aws_cdk.aws_ecr_assets import DockerImageAsset\n\n\nimage = DockerImageAsset(self, \"CDKDockerImage\",\n directory=path.join(__dirname, \"docker\")\n)\n\n# Copy from cdk docker image asset to another ECR.\necrdeploy.ECRDeployment(self, \"DeployDockerImage1\",\n src=ecrdeploy.DockerImageName(image.image_uri),\n dest=ecrdeploy.DockerImageName(f\"{cdk.Aws.ACCOUNT_ID}.dkr.ecr.us-west-2.amazonaws.com/my-nginx:latest\")\n)\n\n# Copy from docker registry to ECR.\necrdeploy.ECRDeployment(self, \"DeployDockerImage2\",\n src=ecrdeploy.DockerImageName(\"nginx:latest\"),\n dest=ecrdeploy.DockerImageName(f\"{cdk.Aws.ACCOUNT_ID}.dkr.ecr.us-west-2.amazonaws.com/my-nginx2:latest\")\n)\n\n# Copy from private docker registry to ECR.\n# The format of secret in aws secrets manager must be either:\n# - plain text in format :\n# - json in format {\"username\":\"\",\"password\":\"\"}\necrdeploy.ECRDeployment(self, \"DeployDockerImage3\",\n src=ecrdeploy.DockerImageName(\"javacs3/nginx:latest\", \"username:password\"),\n # src: new ecrdeploy.DockerImageName('javacs3/nginx:latest', 'aws-secrets-manager-secret-name'),\n # src: new ecrdeploy.DockerImageName('javacs3/nginx:latest', 'arn:aws:secretsmanager:us-west-2:000000000000:secret:id'),\n dest=ecrdeploy.DockerImageName(f\"{cdk.Aws.ACCOUNT_ID}.dkr.ecr.us-west-2.amazonaws.com/my-nginx3:latest\")\n).add_to_principal_policy(iam.PolicyStatement(\n effect=iam.Effect.ALLOW,\n actions=[\"secretsmanager:GetSecretValue\"\n ],\n resources=[\"*\"]\n))\n\n# Copy multi-architecture image index (manifest) with all architectures.\necrdeploy.ECRDeployment(self, \"DeployDockerImage4\",\n src=ecrdeploy.DockerImageName(\"public.ecr.aws/nginx/nginx:latest\"),\n dest=ecrdeploy.DockerImageName(f\"{cdk.Aws.ACCOUNT_ID}.dkr.ecr.us-west-2.amazonaws.com/my-nginx4:manifest\"),\n copy_image_index=True,\n arch_image_tags={\n \"amd64\": \"my-nginx-amd64\",\n \"arm64\": \"my-nginx-arm64\"\n }\n)\n\n# Copy image to a public ECR registry.\n# The required ecr-public and sts permissions are automatically attached\n# when the destination is a public.ecr.aws URI.\necrdeploy.ECRDeployment(self, \"DeployDockerImage5\",\n src=ecrdeploy.DockerImageName(f\"{cdk.Aws.ACCOUNT_ID}.dkr.ecr.us-west-2.amazonaws.com/my-nginx:latest\"),\n dest=ecrdeploy.DockerImageName(\"public.ecr.aws/your-alias/your-repo:latest\"),\n copy_image_index=True,\n arch_image_tags={\n \"amd64\": \"latest-amd64\",\n \"arm64\": \"latest-arm64\"\n }\n)","version":"2"},"csharp":{"source":"using Amazon.CDK.AWS.Ecr.Assets;\n\n\nvar image = new DockerImageAsset(this, \"CDKDockerImage\", new DockerImageAssetProps {\n Directory = Join(__dirname, \"docker\")\n});\n\n// Copy from cdk docker image asset to another ECR.\n// Copy from cdk docker image asset to another ECR.\nnew ECRDeployment(this, \"DeployDockerImage1\", new ECRDeploymentProps {\n Src = new DockerImageName(image.ImageUri),\n Dest = new DockerImageName($\"{cdk.Aws.ACCOUNT_ID}.dkr.ecr.us-west-2.amazonaws.com/my-nginx:latest\")\n});\n\n// Copy from docker registry to ECR.\n// Copy from docker registry to ECR.\nnew ECRDeployment(this, \"DeployDockerImage2\", new ECRDeploymentProps {\n Src = new DockerImageName(\"nginx:latest\"),\n Dest = new DockerImageName($\"{cdk.Aws.ACCOUNT_ID}.dkr.ecr.us-west-2.amazonaws.com/my-nginx2:latest\")\n});\n\n// Copy from private docker registry to ECR.\n// The format of secret in aws secrets manager must be either:\n// - plain text in format :\n// - json in format {\"username\":\"\",\"password\":\"\"}\n// Copy from private docker registry to ECR.\n// The format of secret in aws secrets manager must be either:\n// - plain text in format :\n// - json in format {\"username\":\"\",\"password\":\"\"}\nnew ECRDeployment(this, \"DeployDockerImage3\", new ECRDeploymentProps {\n Src = new DockerImageName(\"javacs3/nginx:latest\", \"username:password\"),\n // src: new ecrdeploy.DockerImageName('javacs3/nginx:latest', 'aws-secrets-manager-secret-name'),\n // src: new ecrdeploy.DockerImageName('javacs3/nginx:latest', 'arn:aws:secretsmanager:us-west-2:000000000000:secret:id'),\n Dest = new DockerImageName($\"{cdk.Aws.ACCOUNT_ID}.dkr.ecr.us-west-2.amazonaws.com/my-nginx3:latest\")\n}).AddToPrincipalPolicy(new PolicyStatement(new PolicyStatementProps {\n Effect = Effect.ALLOW,\n Actions = new [] { \"secretsmanager:GetSecretValue\" },\n Resources = new [] { \"*\" }\n}));\n\n// Copy multi-architecture image index (manifest) with all architectures.\n// Copy multi-architecture image index (manifest) with all architectures.\nnew ECRDeployment(this, \"DeployDockerImage4\", new ECRDeploymentProps {\n Src = new DockerImageName(\"public.ecr.aws/nginx/nginx:latest\"),\n Dest = new DockerImageName($\"{cdk.Aws.ACCOUNT_ID}.dkr.ecr.us-west-2.amazonaws.com/my-nginx4:manifest\"),\n CopyImageIndex = true,\n ArchImageTags = new Dictionary {\n { \"amd64\", \"my-nginx-amd64\" },\n { \"arm64\", \"my-nginx-arm64\" }\n }\n});\n\n// Copy image to a public ECR registry.\n// The required ecr-public and sts permissions are automatically attached\n// when the destination is a public.ecr.aws URI.\n// Copy image to a public ECR registry.\n// The required ecr-public and sts permissions are automatically attached\n// when the destination is a public.ecr.aws URI.\nnew ECRDeployment(this, \"DeployDockerImage5\", new ECRDeploymentProps {\n Src = new DockerImageName($\"{cdk.Aws.ACCOUNT_ID}.dkr.ecr.us-west-2.amazonaws.com/my-nginx:latest\"),\n Dest = new DockerImageName(\"public.ecr.aws/your-alias/your-repo:latest\"),\n CopyImageIndex = true,\n ArchImageTags = new Dictionary {\n { \"amd64\", \"latest-amd64\" },\n { \"arm64\", \"latest-arm64\" }\n }\n});","version":"1"},"java":{"source":"import software.amazon.awscdk.services.ecr.assets.DockerImageAsset;\n\n\nDockerImageAsset image = DockerImageAsset.Builder.create(this, \"CDKDockerImage\")\n .directory(join(__dirname, \"docker\"))\n .build();\n\n// Copy from cdk docker image asset to another ECR.\n// Copy from cdk docker image asset to another ECR.\nECRDeployment.Builder.create(this, \"DeployDockerImage1\")\n .src(new DockerImageName(image.getImageUri()))\n .dest(new DockerImageName(String.format(\"%s.dkr.ecr.us-west-2.amazonaws.com/my-nginx:latest\", Aws.ACCOUNT_ID)))\n .build();\n\n// Copy from docker registry to ECR.\n// Copy from docker registry to ECR.\nECRDeployment.Builder.create(this, \"DeployDockerImage2\")\n .src(new DockerImageName(\"nginx:latest\"))\n .dest(new DockerImageName(String.format(\"%s.dkr.ecr.us-west-2.amazonaws.com/my-nginx2:latest\", Aws.ACCOUNT_ID)))\n .build();\n\n// Copy from private docker registry to ECR.\n// The format of secret in aws secrets manager must be either:\n// - plain text in format :\n// - json in format {\"username\":\"\",\"password\":\"\"}\n// Copy from private docker registry to ECR.\n// The format of secret in aws secrets manager must be either:\n// - plain text in format :\n// - json in format {\"username\":\"\",\"password\":\"\"}\nECRDeployment.Builder.create(this, \"DeployDockerImage3\")\n .src(new DockerImageName(\"javacs3/nginx:latest\", \"username:password\"))\n // src: new ecrdeploy.DockerImageName('javacs3/nginx:latest', 'aws-secrets-manager-secret-name'),\n // src: new ecrdeploy.DockerImageName('javacs3/nginx:latest', 'arn:aws:secretsmanager:us-west-2:000000000000:secret:id'),\n .dest(new DockerImageName(String.format(\"%s.dkr.ecr.us-west-2.amazonaws.com/my-nginx3:latest\", Aws.ACCOUNT_ID)))\n .build().addToPrincipalPolicy(PolicyStatement.Builder.create()\n .effect(Effect.ALLOW)\n .actions(List.of(\"secretsmanager:GetSecretValue\"))\n .resources(List.of(\"*\"))\n .build());\n\n// Copy multi-architecture image index (manifest) with all architectures.\n// Copy multi-architecture image index (manifest) with all architectures.\nECRDeployment.Builder.create(this, \"DeployDockerImage4\")\n .src(new DockerImageName(\"public.ecr.aws/nginx/nginx:latest\"))\n .dest(new DockerImageName(String.format(\"%s.dkr.ecr.us-west-2.amazonaws.com/my-nginx4:manifest\", Aws.ACCOUNT_ID)))\n .copyImageIndex(true)\n .archImageTags(Map.of(\n \"amd64\", \"my-nginx-amd64\",\n \"arm64\", \"my-nginx-arm64\"))\n .build();\n\n// Copy image to a public ECR registry.\n// The required ecr-public and sts permissions are automatically attached\n// when the destination is a public.ecr.aws URI.\n// Copy image to a public ECR registry.\n// The required ecr-public and sts permissions are automatically attached\n// when the destination is a public.ecr.aws URI.\nECRDeployment.Builder.create(this, \"DeployDockerImage5\")\n .src(new DockerImageName(String.format(\"%s.dkr.ecr.us-west-2.amazonaws.com/my-nginx:latest\", Aws.ACCOUNT_ID)))\n .dest(new DockerImageName(\"public.ecr.aws/your-alias/your-repo:latest\"))\n .copyImageIndex(true)\n .archImageTags(Map.of(\n \"amd64\", \"latest-amd64\",\n \"arm64\", \"latest-arm64\"))\n .build();","version":"1"},"go":{"source":"import \"github.com/aws/aws-cdk-go/awscdk\"\n\n\nimage := awscdk.NewDockerImageAsset(this, jsii.String(\"CDKDockerImage\"), &DockerImageAssetProps{\n\tDirectory: path.join(__dirname, jsii.String(\"docker\")),\n})\n\n// Copy from cdk docker image asset to another ECR.\n// Copy from cdk docker image asset to another ECR.\necrdeploy.NewECRDeployment(this, jsii.String(\"DeployDockerImage1\"), &ECRDeploymentProps{\n\tSrc: ecrdeploy.NewDockerImageName(image.ImageUri),\n\tDest: ecrdeploy.NewDockerImageName(fmt.Sprintf(\"%v.dkr.ecr.us-west-2.amazonaws.com/my-nginx:latest\", cdk.Aws_ACCOUNT_ID())),\n})\n\n// Copy from docker registry to ECR.\n// Copy from docker registry to ECR.\necrdeploy.NewECRDeployment(this, jsii.String(\"DeployDockerImage2\"), &ECRDeploymentProps{\n\tSrc: ecrdeploy.NewDockerImageName(jsii.String(\"nginx:latest\")),\n\tDest: ecrdeploy.NewDockerImageName(fmt.Sprintf(\"%v.dkr.ecr.us-west-2.amazonaws.com/my-nginx2:latest\", cdk.Aws_ACCOUNT_ID())),\n})\n\n// Copy from private docker registry to ECR.\n// The format of secret in aws secrets manager must be either:\n// - plain text in format :\n// - json in format {\"username\":\"\",\"password\":\"\"}\n// Copy from private docker registry to ECR.\n// The format of secret in aws secrets manager must be either:\n// - plain text in format :\n// - json in format {\"username\":\"\",\"password\":\"\"}\necrdeploy.NewECRDeployment(this, jsii.String(\"DeployDockerImage3\"), &ECRDeploymentProps{\n\tSrc: ecrdeploy.NewDockerImageName(jsii.String(\"javacs3/nginx:latest\"), jsii.String(\"username:password\")),\n\t// src: new ecrdeploy.DockerImageName('javacs3/nginx:latest', 'aws-secrets-manager-secret-name'),\n\t// src: new ecrdeploy.DockerImageName('javacs3/nginx:latest', 'arn:aws:secretsmanager:us-west-2:000000000000:secret:id'),\n\tDest: ecrdeploy.NewDockerImageName(fmt.Sprintf(\"%v.dkr.ecr.us-west-2.amazonaws.com/my-nginx3:latest\", cdk.Aws_ACCOUNT_ID())),\n}).AddToPrincipalPolicy(awscdk.Aws_iam.NewPolicyStatement(&PolicyStatementProps{\n\tEffect: awscdk.*Aws_iam.Effect_ALLOW,\n\tActions: []*string{\n\t\tjsii.String(\"secretsmanager:GetSecretValue\"),\n\t},\n\tResources: []*string{\n\t\tjsii.String(\"*\"),\n\t},\n}))\n\n// Copy multi-architecture image index (manifest) with all architectures.\n// Copy multi-architecture image index (manifest) with all architectures.\necrdeploy.NewECRDeployment(this, jsii.String(\"DeployDockerImage4\"), &ECRDeploymentProps{\n\tSrc: ecrdeploy.NewDockerImageName(jsii.String(\"public.ecr.aws/nginx/nginx:latest\")),\n\tDest: ecrdeploy.NewDockerImageName(fmt.Sprintf(\"%v.dkr.ecr.us-west-2.amazonaws.com/my-nginx4:manifest\", cdk.Aws_ACCOUNT_ID())),\n\tCopyImageIndex: jsii.Boolean(true),\n\tArchImageTags: map[string]*string{\n\t\t\"amd64\": jsii.String(\"my-nginx-amd64\"),\n\t\t\"arm64\": jsii.String(\"my-nginx-arm64\"),\n\t},\n})\n\n// Copy image to a public ECR registry.\n// The required ecr-public and sts permissions are automatically attached\n// when the destination is a public.ecr.aws URI.\n// Copy image to a public ECR registry.\n// The required ecr-public and sts permissions are automatically attached\n// when the destination is a public.ecr.aws URI.\necrdeploy.NewECRDeployment(this, jsii.String(\"DeployDockerImage5\"), &ECRDeploymentProps{\n\tSrc: ecrdeploy.NewDockerImageName(fmt.Sprintf(\"%v.dkr.ecr.us-west-2.amazonaws.com/my-nginx:latest\", cdk.Aws_ACCOUNT_ID())),\n\tDest: ecrdeploy.NewDockerImageName(jsii.String(\"public.ecr.aws/your-alias/your-repo:latest\")),\n\tCopyImageIndex: jsii.Boolean(true),\n\tArchImageTags: map[string]*string{\n\t\t\"amd64\": jsii.String(\"latest-amd64\"),\n\t\t\"arm64\": jsii.String(\"latest-arm64\"),\n\t},\n})","version":"1"},"$":{"source":"import { DockerImageAsset } from 'aws-cdk-lib/aws-ecr-assets';\n\nconst image = new DockerImageAsset(this, 'CDKDockerImage', {\n directory: path.join(__dirname, 'docker'),\n});\n\n// Copy from cdk docker image asset to another ECR.\nnew ecrdeploy.ECRDeployment(this, 'DeployDockerImage1', {\n src: new ecrdeploy.DockerImageName(image.imageUri),\n dest: new ecrdeploy.DockerImageName(`${cdk.Aws.ACCOUNT_ID}.dkr.ecr.us-west-2.amazonaws.com/my-nginx:latest`),\n});\n\n// Copy from docker registry to ECR.\nnew ecrdeploy.ECRDeployment(this, 'DeployDockerImage2', {\n src: new ecrdeploy.DockerImageName('nginx:latest'),\n dest: new ecrdeploy.DockerImageName(`${cdk.Aws.ACCOUNT_ID}.dkr.ecr.us-west-2.amazonaws.com/my-nginx2:latest`),\n});\n\n// Copy from private docker registry to ECR.\n// The format of secret in aws secrets manager must be either:\n// - plain text in format :\n// - json in format {\"username\":\"\",\"password\":\"\"}\nnew ecrdeploy.ECRDeployment(this, 'DeployDockerImage3', {\n src: new ecrdeploy.DockerImageName('javacs3/nginx:latest', 'username:password'),\n // src: new ecrdeploy.DockerImageName('javacs3/nginx:latest', 'aws-secrets-manager-secret-name'),\n // src: new ecrdeploy.DockerImageName('javacs3/nginx:latest', 'arn:aws:secretsmanager:us-west-2:000000000000:secret:id'),\n dest: new ecrdeploy.DockerImageName(`${cdk.Aws.ACCOUNT_ID}.dkr.ecr.us-west-2.amazonaws.com/my-nginx3:latest`),\n}).addToPrincipalPolicy(new iam.PolicyStatement({\n effect: iam.Effect.ALLOW,\n actions: [\n 'secretsmanager:GetSecretValue',\n ],\n resources: ['*'],\n}));\n\n// Copy multi-architecture image index (manifest) with all architectures.\nnew ecrdeploy.ECRDeployment(this, 'DeployDockerImage4', {\n src: new ecrdeploy.DockerImageName('public.ecr.aws/nginx/nginx:latest'),\n dest: new ecrdeploy.DockerImageName(`${cdk.Aws.ACCOUNT_ID}.dkr.ecr.us-west-2.amazonaws.com/my-nginx4:manifest`),\n copyImageIndex: true,\n archImageTags: {\n amd64: 'my-nginx-amd64',\n arm64: 'my-nginx-arm64',\n },\n});\n\n// Copy image to a public ECR registry.\n// The required ecr-public and sts permissions are automatically attached\n// when the destination is a public.ecr.aws URI.\nnew ecrdeploy.ECRDeployment(this, 'DeployDockerImage5', {\n src: new ecrdeploy.DockerImageName(`${cdk.Aws.ACCOUNT_ID}.dkr.ecr.us-west-2.amazonaws.com/my-nginx:latest`),\n dest: new ecrdeploy.DockerImageName('public.ecr.aws/your-alias/your-repo:latest'),\n copyImageIndex: true,\n archImageTags: {\n amd64: 'latest-amd64',\n arm64: 'latest-arm64',\n },\n});","version":"0"}},"location":{"api":{"api":"moduleReadme","moduleFqn":"cdk-ecr-deployment"},"field":{"field":"markdown","line":24}},"didCompile":true,"fqnsReferenced":["aws-cdk-lib.aws_ecr_assets.DockerImageAsset","aws-cdk-lib.aws_ecr_assets.DockerImageAsset#imageUri","aws-cdk-lib.aws_ecr_assets.DockerImageAssetProps","aws-cdk-lib.aws_iam.Effect","aws-cdk-lib.aws_iam.Effect#ALLOW","aws-cdk-lib.aws_iam.PolicyStatement","aws-cdk-lib.aws_iam.PolicyStatementProps","cdk-ecr-deployment.DockerImageName","cdk-ecr-deployment.ECRDeployment","cdk-ecr-deployment.ECRDeployment#addToPrincipalPolicy","cdk-ecr-deployment.ECRDeploymentProps","cdk-ecr-deployment.IImageName","constructs.Construct"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\nimport { DockerImageAsset } from 'aws-cdk-lib/aws-ecr-assets';\n/// !hide\n// Hoisted imports ended before !hide marker above\n// Fixture with packages imported, but nothing else\nimport * as path from 'node:path';\nimport { Construct } from 'constructs';\n import * as ecrdeploy from 'cdk-ecr-deployment';\nimport {\n Stack,\n aws_iam as iam,\n} from 'aws-cdk-lib';\nimport * as cdk from 'aws-cdk-lib';\n\nclass Fixture extends Stack {\n constructor(scope: Construct, id: string) {\n super(scope, id);\n\n // Code snippet begins after !show marker below\n/// !show\n\n\nconst image = new DockerImageAsset(this, 'CDKDockerImage', {\n directory: path.join(__dirname, 'docker'),\n});\n\n// Copy from cdk docker image asset to another ECR.\nnew ecrdeploy.ECRDeployment(this, 'DeployDockerImage1', {\n src: new ecrdeploy.DockerImageName(image.imageUri),\n dest: new ecrdeploy.DockerImageName(`${cdk.Aws.ACCOUNT_ID}.dkr.ecr.us-west-2.amazonaws.com/my-nginx:latest`),\n});\n\n// Copy from docker registry to ECR.\nnew ecrdeploy.ECRDeployment(this, 'DeployDockerImage2', {\n src: new ecrdeploy.DockerImageName('nginx:latest'),\n dest: new ecrdeploy.DockerImageName(`${cdk.Aws.ACCOUNT_ID}.dkr.ecr.us-west-2.amazonaws.com/my-nginx2:latest`),\n});\n\n// Copy from private docker registry to ECR.\n// The format of secret in aws secrets manager must be either:\n// - plain text in format :\n// - json in format {\"username\":\"\",\"password\":\"\"}\nnew ecrdeploy.ECRDeployment(this, 'DeployDockerImage3', {\n src: new ecrdeploy.DockerImageName('javacs3/nginx:latest', 'username:password'),\n // src: new ecrdeploy.DockerImageName('javacs3/nginx:latest', 'aws-secrets-manager-secret-name'),\n // src: new ecrdeploy.DockerImageName('javacs3/nginx:latest', 'arn:aws:secretsmanager:us-west-2:000000000000:secret:id'),\n dest: new ecrdeploy.DockerImageName(`${cdk.Aws.ACCOUNT_ID}.dkr.ecr.us-west-2.amazonaws.com/my-nginx3:latest`),\n}).addToPrincipalPolicy(new iam.PolicyStatement({\n effect: iam.Effect.ALLOW,\n actions: [\n 'secretsmanager:GetSecretValue',\n ],\n resources: ['*'],\n}));\n\n// Copy multi-architecture image index (manifest) with all architectures.\nnew ecrdeploy.ECRDeployment(this, 'DeployDockerImage4', {\n src: new ecrdeploy.DockerImageName('public.ecr.aws/nginx/nginx:latest'),\n dest: new ecrdeploy.DockerImageName(`${cdk.Aws.ACCOUNT_ID}.dkr.ecr.us-west-2.amazonaws.com/my-nginx4:manifest`),\n copyImageIndex: true,\n archImageTags: {\n amd64: 'my-nginx-amd64',\n arm64: 'my-nginx-arm64',\n },\n});\n\n// Copy image to a public ECR registry.\n// The required ecr-public and sts permissions are automatically attached\n// when the destination is a public.ecr.aws URI.\nnew ecrdeploy.ECRDeployment(this, 'DeployDockerImage5', {\n src: new ecrdeploy.DockerImageName(`${cdk.Aws.ACCOUNT_ID}.dkr.ecr.us-west-2.amazonaws.com/my-nginx:latest`),\n dest: new ecrdeploy.DockerImageName('public.ecr.aws/your-alias/your-repo:latest'),\n copyImageIndex: true,\n archImageTags: {\n amd64: 'latest-amd64',\n arm64: 'latest-arm64',\n },\n});\n/// !hide\n// Code snippet ended before !hide marker above\n }\n}","syntaxKindCounter":{"11":19,"16":5,"18":5,"80":81,"110":6,"112":2,"210":2,"211":9,"212":31,"214":2,"215":17,"229":5,"240":5,"244":1,"245":5,"261":1,"262":1,"273":1,"274":1,"276":1,"277":1,"304":22,"308":1},"fqnsFingerprint":"1a042c641deebd36a1b3e0cde30365fbf401a75dafff6e57ce44f87a8a194aaf"}}}