{ "author": { "name": "Amazon Web Services", "organization": true, "roles": [ "author" ], "url": "https://aws.amazon.com" }, "dependencies": { "@aws-cdk/assets": "1.204.0", "@aws-cdk/aws-ecr": "1.204.0", "@aws-cdk/aws-iam": "1.204.0", "@aws-cdk/aws-s3": "1.204.0", "@aws-cdk/core": "1.204.0", "@aws-cdk/cx-api": "1.204.0", "constructs": "^3.3.69" }, "dependencyClosure": { "@aws-cdk/assets": { "targets": { "dotnet": { "iconUrl": "https://raw.githubusercontent.com/aws/aws-cdk/master/logo/default-256-dark.png", "namespace": "Amazon.CDK.Assets", "packageId": "Amazon.CDK.Assets" }, "java": { "maven": { "artifactId": "cdk-assets", "groupId": "software.amazon.awscdk" }, "package": "software.amazon.awscdk.assets" }, "js": { "npm": "@aws-cdk/assets" }, "python": { "classifiers": [ "Framework :: AWS CDK", "Framework :: AWS CDK :: 1" ], "distName": "aws-cdk.assets", "module": "aws_cdk.assets" } } }, "@aws-cdk/aws-ecr": { "targets": { "dotnet": { "iconUrl": "https://raw.githubusercontent.com/aws/aws-cdk/master/logo/default-256-dark.png", "namespace": "Amazon.CDK.AWS.ECR", "packageId": "Amazon.CDK.AWS.ECR" }, "java": { "maven": { "artifactId": "ecr", "groupId": "software.amazon.awscdk" }, "package": "software.amazon.awscdk.services.ecr" }, "js": { "npm": "@aws-cdk/aws-ecr" }, "python": { "classifiers": [ "Framework :: AWS CDK", "Framework :: AWS CDK :: 1" ], "distName": "aws-cdk.aws-ecr", "module": "aws_cdk.aws_ecr" } } }, "@aws-cdk/aws-events": { "targets": { "dotnet": { "iconUrl": "https://raw.githubusercontent.com/aws/aws-cdk/master/logo/default-256-dark.png", "namespace": "Amazon.CDK.AWS.Events", "packageId": "Amazon.CDK.AWS.Events" }, "java": { "maven": { "artifactId": "events", "groupId": "software.amazon.awscdk" }, "package": "software.amazon.awscdk.services.events" }, "js": { "npm": "@aws-cdk/aws-events" }, "python": { "classifiers": [ "Framework :: AWS CDK", "Framework :: AWS CDK :: 1" ], "distName": "aws-cdk.aws-events", "module": "aws_cdk.aws_events" } } }, "@aws-cdk/aws-iam": { "targets": { "dotnet": { "iconUrl": "https://raw.githubusercontent.com/aws/aws-cdk/master/logo/default-256-dark.png", "namespace": "Amazon.CDK.AWS.IAM", "packageId": "Amazon.CDK.AWS.IAM" }, "java": { "maven": { "artifactId": "iam", "groupId": "software.amazon.awscdk" }, "package": "software.amazon.awscdk.services.iam" }, "js": { "npm": "@aws-cdk/aws-iam" }, "python": { "classifiers": [ "Framework :: AWS CDK", "Framework :: AWS CDK :: 1" ], "distName": "aws-cdk.aws-iam", "module": "aws_cdk.aws_iam" } } }, "@aws-cdk/aws-kms": { "targets": { "dotnet": { "iconUrl": "https://raw.githubusercontent.com/aws/aws-cdk/master/logo/default-256-dark.png", "namespace": "Amazon.CDK.AWS.KMS", "packageId": "Amazon.CDK.AWS.KMS" }, "java": { "maven": { "artifactId": "kms", "groupId": "software.amazon.awscdk" }, "package": "software.amazon.awscdk.services.kms" }, "js": { "npm": "@aws-cdk/aws-kms" }, "python": { "classifiers": [ "Framework :: AWS CDK", "Framework :: AWS CDK :: 1" ], "distName": "aws-cdk.aws-kms", "module": "aws_cdk.aws_kms" } } }, "@aws-cdk/aws-s3": { "targets": { "dotnet": { "iconUrl": "https://raw.githubusercontent.com/aws/aws-cdk/master/logo/default-256-dark.png", "namespace": "Amazon.CDK.AWS.S3", "packageId": "Amazon.CDK.AWS.S3" }, "java": { "maven": { "artifactId": "s3", "groupId": "software.amazon.awscdk" }, "package": "software.amazon.awscdk.services.s3" }, "js": { "npm": "@aws-cdk/aws-s3" }, "python": { "classifiers": [ "Framework :: AWS CDK", "Framework :: AWS CDK :: 1" ], "distName": "aws-cdk.aws-s3", "module": "aws_cdk.aws_s3" } } }, "@aws-cdk/cloud-assembly-schema": { "targets": { "dotnet": { "iconUrl": "https://raw.githubusercontent.com/aws/aws-cdk/master/logo/default-256-dark.png", "namespace": "Amazon.CDK.CloudAssembly.Schema", "packageId": "Amazon.CDK.CloudAssembly.Schema" }, "java": { "maven": { "artifactId": "cdk-cloud-assembly-schema", "groupId": "software.amazon.awscdk" }, "package": "software.amazon.awscdk.cloudassembly.schema" }, "js": { "npm": "@aws-cdk/cloud-assembly-schema" }, "python": { "classifiers": [ "Framework :: AWS CDK", "Framework :: AWS CDK :: 1" ], "distName": "aws-cdk.cloud-assembly-schema", "module": "aws_cdk.cloud_assembly_schema" } } }, "@aws-cdk/core": { "targets": { "dotnet": { "iconUrl": "https://raw.githubusercontent.com/aws/aws-cdk/master/logo/default-256-dark.png", "namespace": "Amazon.CDK", "packageId": "Amazon.CDK" }, "java": { "maven": { "artifactId": "core", "groupId": "software.amazon.awscdk" }, "package": "software.amazon.awscdk.core" }, "js": { "npm": "@aws-cdk/core" }, "python": { "classifiers": [ "Framework :: AWS CDK", "Framework :: AWS CDK :: 1" ], "distName": "aws-cdk.core", "module": "aws_cdk.core" } } }, "@aws-cdk/cx-api": { "targets": { "dotnet": { "iconUrl": "https://raw.githubusercontent.com/aws/aws-cdk/master/logo/default-256-dark.png", "namespace": "Amazon.CDK.CXAPI", "packageId": "Amazon.CDK.CXAPI" }, "java": { "maven": { "artifactId": "cdk-cx-api", "groupId": "software.amazon.awscdk" }, "package": "software.amazon.awscdk.cxapi" }, "js": { "npm": "@aws-cdk/cx-api" }, "python": { "classifiers": [ "Framework :: AWS CDK", "Framework :: AWS CDK :: 1" ], "distName": "aws-cdk.cx-api", "module": "aws_cdk.cx_api" } } }, "@aws-cdk/region-info": { "targets": { "dotnet": { "iconUrl": "https://raw.githubusercontent.com/aws/aws-cdk/master/logo/default-256-dark.png", "namespace": "Amazon.CDK.RegionInfo", "packageId": "Amazon.CDK.RegionInfo" }, "java": { "maven": { "artifactId": "cdk-region-info", "groupId": "software.amazon.awscdk" }, "package": "software.amazon.awscdk.regioninfo" }, "js": { "npm": "@aws-cdk/region-info" }, "python": { "classifiers": [ "Framework :: AWS CDK", "Framework :: AWS CDK :: 1" ], "distName": "aws-cdk.region-info", "module": "aws_cdk.region_info" } } }, "constructs": { "targets": { "dotnet": { "namespace": "Constructs", "packageId": "Constructs" }, "go": { "moduleName": "github.com/aws/constructs-go" }, "java": { "maven": { "artifactId": "constructs", "groupId": "software.constructs" }, "package": "software.constructs" }, "js": { "npm": "constructs" }, "python": { "distName": "constructs", "module": "constructs" } } } }, "description": "Docker image assets deployed to ECR", "docs": { "deprecated": "AWS CDK v1 has reached End-of-Support on 2023-06-01.\nThis package is no longer being updated, and users should migrate to AWS CDK v2.\n\nFor more information on how to migrate, see https://docs.aws.amazon.com/cdk/v2/guide/migrating-v2.html", "stability": "stable" }, "homepage": "https://github.com/aws/aws-cdk", "jsiiVersion": "1.84.0 (build 5404dcf)", "keywords": [ "aws", "cdk", "constructs", "assets", "docker" ], "license": "Apache-2.0", "metadata": { "jsii": { "compiledWithDeprecationWarnings": true, "pacmak": { "hasDefaultInterfaces": true }, "rosetta": { "strict": true } } }, "name": "@aws-cdk/aws-ecr-assets", "readme": { "markdown": "# AWS CDK Docker Image Assets\n\n\n---\n\n![End-of-Support](https://img.shields.io/badge/End--of--Support-critical.svg?style=for-the-badge)\n\n> AWS CDK v1 has reached End-of-Support on 2023-06-01.\n> This package is no longer being updated, and users should migrate to AWS CDK v2.\n>\n> For more information on how to migrate, see the [_Migrating to AWS CDK v2_ guide][doc].\n>\n> [doc]: https://docs.aws.amazon.com/cdk/v2/guide/migrating-v2.html\n\n---\n\n\n\nThis module allows bundling Docker images as assets.\n\n## Images from Dockerfile\n\nImages are built from a local Docker context directory (with a `Dockerfile`),\nuploaded to Amazon Elastic Container Registry (ECR) by the CDK toolkit\nand/or your app's CI/CD pipeline, and can be naturally referenced in your CDK app.\n\n```ts\nimport { DockerImageAsset } from '@aws-cdk/aws-ecr-assets';\n\nconst asset = new DockerImageAsset(this, 'MyBuildImage', {\n directory: path.join(__dirname, 'my-image'),\n});\n```\n\nThe directory `my-image` must include a `Dockerfile`.\n\nThis will instruct the toolkit to build a Docker image from `my-image`, push it\nto an Amazon ECR repository and wire the name of the repository as CloudFormation\nparameters to your stack.\n\nBy default, all files in the given directory will be copied into the docker\n*build context*. If there is a large directory that you know you definitely\ndon't need in the build context you can improve the performance by adding the\nnames of files and directories to ignore to a file called `.dockerignore`, or\npass them via the `exclude` property. If both are available, the patterns\nfound in `exclude` are appended to the patterns found in `.dockerignore`.\n\nThe `ignoreMode` property controls how the set of ignore patterns is\ninterpreted. The recommended setting for Docker image assets is\n`IgnoreMode.DOCKER`. If the context flag\n`@aws-cdk/aws-ecr-assets:dockerIgnoreSupport` is set to `true` in your\n`cdk.json` (this is by default for new projects, but must be set manually for\nold projects) then `IgnoreMode.DOCKER` is the default and you don't need to\nconfigure it on the asset itself.\n\nUse `asset.imageUri` to reference the image. It includes both the ECR image URL\nand tag.\n\nYou can optionally pass build args to the `docker build` command by specifying\nthe `buildArgs` property. It is recommended to skip hashing of `buildArgs` for\nvalues that can change between different machines to maintain a consistent\nasset hash.\n\n```ts\nimport { DockerImageAsset } from '@aws-cdk/aws-ecr-assets';\n\nconst asset = new DockerImageAsset(this, 'MyBuildImage', {\n directory: path.join(__dirname, 'my-image'),\n buildArgs: {\n HTTP_PROXY: 'http://10.20.30.2:1234',\n },\n invalidation: {\n buildArgs: false,\n },\n});\n```\n\nYou can optionally pass a target to the `docker build` command by specifying\nthe `target` property:\n\n```ts\nimport { DockerImageAsset } from '@aws-cdk/aws-ecr-assets';\n\nconst asset = new DockerImageAsset(this, 'MyBuildImage', {\n directory: path.join(__dirname, 'my-image'),\n target: 'a-target',\n});\n```\n\nYou can optionally pass networking mode to the `docker build` command by specifying\nthe `networkMode` property:\n\n```ts\nimport { DockerImageAsset, NetworkMode } from '@aws-cdk/aws-ecr-assets';\n\nconst asset = new DockerImageAsset(this, 'MyBuildImage', {\n directory: path.join(__dirname, 'my-image'),\n networkMode: NetworkMode.HOST,\n})\n```\n\nYou can optionally pass an alternate platform to the `docker build` command by specifying\nthe `platform` property:\n\n```ts\nimport { DockerImageAsset, Platform } from '@aws-cdk/aws-ecr-assets';\n\nconst asset = new DockerImageAsset(this, 'MyBuildImage', {\n directory: path.join(__dirname, 'my-image'),\n platform: Platform.LINUX_ARM64,\n})\n```\n\n## Images from Tarball\n\nImages are loaded from a local tarball, uploaded to ECR by the CDK toolkit and/or your app's CI-CD pipeline, and can be\nnaturally referenced in your CDK app.\n\n```ts\nimport { TarballImageAsset } from '@aws-cdk/aws-ecr-assets';\n\nconst asset = new TarballImageAsset(this, 'MyBuildImage', {\n tarballFile: 'local-image.tar',\n});\n```\n\nThis will instruct the toolkit to add the tarball as a file asset. During deployment it will load the container image\nfrom `local-image.tar`, push it to an Amazon ECR repository and wire the name of the repository as CloudFormation parameters\nto your stack.\n\n## Publishing images to ECR repositories\n\n`DockerImageAsset` is designed for seamless build & consumption of image assets by CDK code deployed to multiple environments\nthrough the CDK CLI or through CI/CD workflows. To that end, the ECR repository behind this construct is controlled by the AWS CDK.\nThe mechanics of where these images are published and how are intentionally kept as an implementation detail, and the construct\ndoes not support customizations such as specifying the ECR repository name or tags.\n\nIf you are looking for a way to _publish_ image assets to an ECR repository in your control, you should consider using\n[cdklabs/cdk-ecr-deployment], which is able to replicate an image asset from the CDK-controlled ECR repository to a repository of\nyour choice.\n\nHere an example from the [cdklabs/cdk-ecr-deployment] project:\n\n```text\n// This example available in TypeScript only\n\nimport { DockerImageAsset } from '@aws-cdk/aws-ecr-assets';\nimport * as ecrdeploy from 'cdk-ecr-deployment';\n\nconst image = new DockerImageAsset(this, 'CDKDockerImage', {\n directory: path.join(__dirname, 'docker'),\n});\n\nnew ecrdeploy.ECRDeployment(this, 'DeployDockerImage', {\n src: new ecrdeploy.DockerImageName(image.imageUri),\n dest: new ecrdeploy.DockerImageName(`${cdk.Aws.ACCOUNT_ID}.dkr.ecr.us-west-2.amazonaws.com/test:nginx`),\n});\n```\n\n⚠️ Please note that this is a 3rd-party construct library and is not officially supported by AWS.\nYou are welcome to +1 [this GitHub issue](https://github.com/aws/aws-cdk/issues/12597) if you would like to see\nnative support for this use-case in the AWS CDK.\n\n[cdklabs/cdk-ecr-deployment]: https://github.com/cdklabs/cdk-ecr-deployment\n\n## Pull Permissions\n\nDepending on the consumer of your image asset, you will need to make sure\nthe principal has permissions to pull the image.\n\nIn most cases, you should use the `asset.repository.grantPull(principal)`\nmethod. This will modify the IAM policy of the principal to allow it to\npull images from this repository.\n\nIf the pulling principal is not in the same account or is an AWS service that\ndoesn't assume a role in your account (e.g. AWS CodeBuild), pull permissions\nmust be granted on the __resource policy__ (and not on the principal's policy).\nTo do that, you can use `asset.repository.addToResourcePolicy(statement)` to\ngrant the desired principal the following permissions: \"ecr:GetDownloadUrlForLayer\",\n\"ecr:BatchGetImage\" and \"ecr:BatchCheckLayerAvailability\".\n" }, "repository": { "directory": "packages/@aws-cdk/aws-ecr-assets", "type": "git", "url": "https://github.com/aws/aws-cdk.git" }, "schema": "jsii/0.10.0", "targets": { "dotnet": { "iconUrl": "https://raw.githubusercontent.com/aws/aws-cdk/master/logo/default-256-dark.png", "namespace": "Amazon.CDK.AWS.Ecr.Assets", "packageId": "Amazon.CDK.ECR.Assets" }, "java": { "maven": { "artifactId": "ecr-assets", "groupId": "software.amazon.awscdk" }, "package": "software.amazon.awscdk.services.ecr.assets" }, "js": { "npm": "@aws-cdk/aws-ecr-assets" }, "python": { "classifiers": [ "Framework :: AWS CDK", "Framework :: AWS CDK :: 1" ], "distName": "aws-cdk.aws-ecr-assets", "module": "aws_cdk.aws_ecr_assets" } }, "types": { "@aws-cdk/aws-ecr-assets.DockerImageAsset": { "assembly": "@aws-cdk/aws-ecr-assets", "base": "@aws-cdk/core.Construct", "docs": { "remarks": "The image will be created in build time and uploaded to an ECR repository.", "stability": "stable", "summary": "An asset that represents a Docker image.", "example": "import { DockerImageAsset, NetworkMode } from '@aws-cdk/aws-ecr-assets';\n\nconst asset = new DockerImageAsset(this, 'MyBuildImage', {\n directory: path.join(__dirname, 'my-image'),\n networkMode: NetworkMode.HOST,\n})", "custom": { "exampleMetadata": "infused" } }, "fqn": "@aws-cdk/aws-ecr-assets.DockerImageAsset", "initializer": { "docs": { "stability": "stable" }, "locationInModule": { "filename": "lib/image-asset.ts", "line": 276 }, "parameters": [ { "name": "scope", "type": { "fqn": "constructs.Construct" } }, { "name": "id", "type": { "primitive": "string" } }, { "name": "props", "type": { "fqn": "@aws-cdk/aws-ecr-assets.DockerImageAssetProps" } } ] }, "interfaces": [ "@aws-cdk/assets.IAsset" ], "kind": "class", "locationInModule": { "filename": "lib/image-asset.ts", "line": 225 }, "methods": [ { "docs": { "remarks": "This can be used by tools such as SAM CLI to provide local\nexperience such as local invocation and debugging of Lambda functions.\n\nAsset metadata will only be included if the stack is synthesized with the\n\"aws:cdk:enable-asset-metadata\" context key defined, which is the default\nbehavior when synthesizing via the CDK Toolkit.", "see": "https://github.com/aws/aws-cdk/issues/1432", "stability": "stable", "summary": "Adds CloudFormation template metadata to the specified resource with information that indicates which resource property is mapped to this local asset." }, "locationInModule": { "filename": "lib/image-asset.ts", "line": 388 }, "name": "addResourceMetadata", "parameters": [ { "docs": { "summary": "The CloudFormation resource which is using this asset [disable-awslint:ref-via-interface]." }, "name": "resource", "type": { "fqn": "@aws-cdk/core.CfnResource" } }, { "docs": { "summary": "The property name where this asset is referenced." }, "name": "resourceProperty", "type": { "primitive": "string" } } ] } ], "name": "DockerImageAsset", "properties": [ { "docs": { "remarks": "As this is a plain string, it\ncan be used in construct IDs in order to enforce creation of a new resource when the content\nhash has changed.", "stability": "stable", "summary": "A hash of this asset, which is available at construction time." }, "immutable": true, "locationInModule": { "filename": "lib/image-asset.ts", "line": 250 }, "name": "assetHash", "type": { "primitive": "string" } }, { "docs": { "deprecated": "use assetHash", "remarks": "As this is a plain\nstring, it can be used in construct IDs in order to enforce creation of a new resource when\nthe content hash has changed.", "stability": "deprecated", "summary": "A hash of the source of this asset, which is available at construction time." }, "immutable": true, "locationInModule": { "filename": "lib/image-asset.ts", "line": 243 }, "name": "sourceHash", "overrides": "@aws-cdk/assets.IAsset", "type": { "primitive": "string" } }, { "docs": { "remarks": "Use this reference to pull\nthe asset.", "stability": "stable", "summary": "The full URI of the image (including a tag)." }, "locationInModule": { "filename": "lib/image-asset.ts", "line": 230 }, "name": "imageUri", "type": { "primitive": "string" } }, { "docs": { "stability": "stable", "summary": "Repository where the image is stored." }, "locationInModule": { "filename": "lib/image-asset.ts", "line": 235 }, "name": "repository", "type": { "fqn": "@aws-cdk/aws-ecr.IRepository" } } ], "symbolId": "lib/image-asset:DockerImageAsset" }, "@aws-cdk/aws-ecr-assets.DockerImageAssetInvalidationOptions": { "assembly": "@aws-cdk/aws-ecr-assets", "datatype": true, "docs": { "stability": "stable", "summary": "Options to control invalidation of `DockerImageAsset` asset hashes.", "example": "import { DockerImageAsset } from '@aws-cdk/aws-ecr-assets';\n\nconst asset = new DockerImageAsset(this, 'MyBuildImage', {\n directory: path.join(__dirname, 'my-image'),\n buildArgs: {\n HTTP_PROXY: 'http://10.20.30.2:1234',\n },\n invalidation: {\n buildArgs: false,\n },\n});", "custom": { "exampleMetadata": "infused" } }, "fqn": "@aws-cdk/aws-ecr-assets.DockerImageAssetInvalidationOptions", "kind": "interface", "locationInModule": { "filename": "lib/image-asset.ts", "line": 92 }, "name": "DockerImageAssetInvalidationOptions", "properties": [ { "abstract": true, "docs": { "default": "true", "stability": "stable", "summary": "Use `buildArgs` while calculating the asset hash." }, "immutable": true, "locationInModule": { "filename": "lib/image-asset.ts", "line": 105 }, "name": "buildArgs", "optional": true, "type": { "primitive": "boolean" } }, { "abstract": true, "docs": { "default": "true", "stability": "stable", "summary": "Use `extraHash` while calculating the asset hash." }, "immutable": true, "locationInModule": { "filename": "lib/image-asset.ts", "line": 98 }, "name": "extraHash", "optional": true, "type": { "primitive": "boolean" } }, { "abstract": true, "docs": { "default": "true", "stability": "stable", "summary": "Use `file` while calculating the asset hash." }, "immutable": true, "locationInModule": { "filename": "lib/image-asset.ts", "line": 119 }, "name": "file", "optional": true, "type": { "primitive": "boolean" } }, { "abstract": true, "docs": { "default": "true", "stability": "stable", "summary": "Use `networkMode` while calculating the asset hash." }, "immutable": true, "locationInModule": { "filename": "lib/image-asset.ts", "line": 133 }, "name": "networkMode", "optional": true, "type": { "primitive": "boolean" } }, { "abstract": true, "docs": { "default": "true", "stability": "stable", "summary": "Use `platform` while calculating the asset hash." }, "immutable": true, "locationInModule": { "filename": "lib/image-asset.ts", "line": 140 }, "name": "platform", "optional": true, "type": { "primitive": "boolean" } }, { "abstract": true, "docs": { "default": "true", "stability": "stable", "summary": "Use `repositoryName` while calculating the asset hash." }, "immutable": true, "locationInModule": { "filename": "lib/image-asset.ts", "line": 126 }, "name": "repositoryName", "optional": true, "type": { "primitive": "boolean" } }, { "abstract": true, "docs": { "default": "true", "stability": "stable", "summary": "Use `target` while calculating the asset hash." }, "immutable": true, "locationInModule": { "filename": "lib/image-asset.ts", "line": 112 }, "name": "target", "optional": true, "type": { "primitive": "boolean" } } ], "symbolId": "lib/image-asset:DockerImageAssetInvalidationOptions" }, "@aws-cdk/aws-ecr-assets.DockerImageAssetOptions": { "assembly": "@aws-cdk/aws-ecr-assets", "datatype": true, "docs": { "stability": "stable", "summary": "Options for DockerImageAsset.", "example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as assets from '@aws-cdk/assets';\nimport * as ecr_assets from '@aws-cdk/aws-ecr-assets';\nimport * as cdk from '@aws-cdk/core';\n\ndeclare const networkMode: ecr_assets.NetworkMode;\ndeclare const platform: ecr_assets.Platform;\nconst dockerImageAssetOptions: ecr_assets.DockerImageAssetOptions = {\n buildArgs: {\n buildArgsKey: 'buildArgs',\n },\n exclude: ['exclude'],\n extraHash: 'extraHash',\n file: 'file',\n follow: assets.FollowMode.NEVER,\n followSymlinks: cdk.SymlinkFollowMode.NEVER,\n ignoreMode: cdk.IgnoreMode.GLOB,\n invalidation: {\n buildArgs: false,\n extraHash: false,\n file: false,\n networkMode: false,\n platform: false,\n repositoryName: false,\n target: false,\n },\n networkMode: networkMode,\n platform: platform,\n repositoryName: 'repositoryName',\n target: 'target',\n};", "custom": { "exampleMetadata": "fixture=_generated" } }, "fqn": "@aws-cdk/aws-ecr-assets.DockerImageAssetOptions", "interfaces": [ "@aws-cdk/assets.FingerprintOptions", "@aws-cdk/core.FileFingerprintOptions" ], "kind": "interface", "locationInModule": { "filename": "lib/image-asset.ts", "line": 146 }, "name": "DockerImageAssetOptions", "properties": [ { "abstract": true, "docs": { "default": "- no build args are passed", "remarks": "Since Docker build arguments are resolved before deployment, keys and\nvalues cannot refer to unresolved tokens (such as `lambda.functionArn` or\n`queue.queueUrl`).", "stability": "stable", "summary": "Build args to pass to the `docker build` command." }, "immutable": true, "locationInModule": { "filename": "lib/image-asset.ts", "line": 170 }, "name": "buildArgs", "optional": true, "type": { "collection": { "elementtype": { "primitive": "string" }, "kind": "map" } } }, { "abstract": true, "docs": { "default": "'Dockerfile'", "stability": "stable", "summary": "Path to the Dockerfile (relative to the directory)." }, "immutable": true, "locationInModule": { "filename": "lib/image-asset.ts", "line": 184 }, "name": "file", "optional": true, "type": { "primitive": "string" } }, { "abstract": true, "docs": { "default": "- hash all parameters", "stability": "stable", "summary": "Options to control which parameters are used to invalidate the asset hash." }, "immutable": true, "locationInModule": { "filename": "lib/image-asset.ts", "line": 205 }, "name": "invalidation", "optional": true, "type": { "fqn": "@aws-cdk/aws-ecr-assets.DockerImageAssetInvalidationOptions" } }, { "abstract": true, "docs": { "default": "- no networking mode specified (the default networking mode `NetworkMode.DEFAULT` will be used)", "remarks": "Support docker API 1.25+.", "stability": "stable", "summary": "Networking mode for the RUN commands during build." }, "immutable": true, "locationInModule": { "filename": "lib/image-asset.ts", "line": 191 }, "name": "networkMode", "optional": true, "type": { "fqn": "@aws-cdk/aws-ecr-assets.NetworkMode" } }, { "abstract": true, "docs": { "default": "- no platform specified (the current machine architecture will be used)", "remarks": "_Requires Docker Buildx_.", "stability": "stable", "summary": "Platform to build for." }, "immutable": true, "locationInModule": { "filename": "lib/image-asset.ts", "line": 198 }, "name": "platform", "optional": true, "type": { "fqn": "@aws-cdk/aws-ecr-assets.Platform" } }, { "abstract": true, "docs": { "default": "- the default ECR repository for CDK assets", "deprecated": "to control the location of docker image assets, please override\n`Stack.addDockerImageAsset`. this feature will be removed in future\nreleases.", "remarks": "Specify this property if you need to statically address the image, e.g.\nfrom a Kubernetes Pod. Note, this is only the repository name, without the\nregistry and the tag parts.", "stability": "deprecated", "summary": "ECR repository name." }, "immutable": true, "locationInModule": { "filename": "lib/image-asset.ts", "line": 159 }, "name": "repositoryName", "optional": true, "type": { "primitive": "string" } }, { "abstract": true, "docs": { "default": "- no target", "stability": "stable", "summary": "Docker target to build to." }, "immutable": true, "locationInModule": { "filename": "lib/image-asset.ts", "line": 177 }, "name": "target", "optional": true, "type": { "primitive": "string" } } ], "symbolId": "lib/image-asset:DockerImageAssetOptions" }, "@aws-cdk/aws-ecr-assets.DockerImageAssetProps": { "assembly": "@aws-cdk/aws-ecr-assets", "datatype": true, "docs": { "stability": "stable", "summary": "Props for DockerImageAssets.", "example": "import { DockerImageAsset } from '@aws-cdk/aws-ecr-assets';\n\nconst asset = new DockerImageAsset(this, 'MyBuildImage', {\n directory: path.join(__dirname, 'my-image'),\n buildArgs: {\n HTTP_PROXY: 'http://10.20.30.2:1234',\n },\n invalidation: {\n buildArgs: false,\n },\n});", "custom": { "exampleMetadata": "infused" } }, "fqn": "@aws-cdk/aws-ecr-assets.DockerImageAssetProps", "interfaces": [ "@aws-cdk/aws-ecr-assets.DockerImageAssetOptions" ], "kind": "interface", "locationInModule": { "filename": "lib/image-asset.ts", "line": 211 }, "name": "DockerImageAssetProps", "properties": [ { "abstract": true, "docs": { "remarks": "Any directory inside with a name that matches the CDK output folder (cdk.out by default) will be excluded from the asset", "stability": "stable", "summary": "The directory where the Dockerfile is stored." }, "immutable": true, "locationInModule": { "filename": "lib/image-asset.ts", "line": 217 }, "name": "directory", "type": { "primitive": "string" } } ], "symbolId": "lib/image-asset:DockerImageAssetProps" }, "@aws-cdk/aws-ecr-assets.NetworkMode": { "assembly": "@aws-cdk/aws-ecr-assets", "docs": { "stability": "stable", "summary": "networking mode on build time supported by docker.", "example": "import { DockerImageAsset, NetworkMode } from '@aws-cdk/aws-ecr-assets';\n\nconst asset = new DockerImageAsset(this, 'MyBuildImage', {\n directory: path.join(__dirname, 'my-image'),\n networkMode: NetworkMode.HOST,\n})", "custom": { "exampleMetadata": "infused" } }, "fqn": "@aws-cdk/aws-ecr-assets.NetworkMode", "kind": "class", "locationInModule": { "filename": "lib/image-asset.ts", "line": 18 }, "methods": [ { "docs": { "stability": "stable", "summary": "Used to specify a custom networking mode Use this if the networking mode name is not yet supported by the CDK." }, "locationInModule": { "filename": "lib/image-asset.ts", "line": 49 }, "name": "custom", "parameters": [ { "docs": { "summary": "The networking mode to use for docker build." }, "name": "mode", "type": { "primitive": "string" } } ], "returns": { "type": { "fqn": "@aws-cdk/aws-ecr-assets.NetworkMode" } }, "static": true }, { "docs": { "stability": "stable", "summary": "Reuse another container's network stack." }, "locationInModule": { "filename": "lib/image-asset.ts", "line": 39 }, "name": "fromContainer", "parameters": [ { "docs": { "summary": "The target container's id or name." }, "name": "containerId", "type": { "primitive": "string" } } ], "returns": { "type": { "fqn": "@aws-cdk/aws-ecr-assets.NetworkMode" } }, "static": true } ], "name": "NetworkMode", "properties": [ { "const": true, "docs": { "stability": "stable", "summary": "The default networking mode if omitted, create a network stack on the default Docker bridge." }, "immutable": true, "locationInModule": { "filename": "lib/image-asset.ts", "line": 22 }, "name": "DEFAULT", "static": true, "type": { "fqn": "@aws-cdk/aws-ecr-assets.NetworkMode" } }, { "const": true, "docs": { "stability": "stable", "summary": "Use the Docker host network stack." }, "immutable": true, "locationInModule": { "filename": "lib/image-asset.ts", "line": 27 }, "name": "HOST", "static": true, "type": { "fqn": "@aws-cdk/aws-ecr-assets.NetworkMode" } }, { "const": true, "docs": { "stability": "stable", "summary": "Disable the network stack, only the loopback device will be created." }, "immutable": true, "locationInModule": { "filename": "lib/image-asset.ts", "line": 32 }, "name": "NONE", "static": true, "type": { "fqn": "@aws-cdk/aws-ecr-assets.NetworkMode" } }, { "docs": { "stability": "stable", "summary": "The networking mode to use for docker build." }, "immutable": true, "locationInModule": { "filename": "lib/image-asset.ts", "line": 56 }, "name": "mode", "type": { "primitive": "string" } } ], "symbolId": "lib/image-asset:NetworkMode" }, "@aws-cdk/aws-ecr-assets.Platform": { "assembly": "@aws-cdk/aws-ecr-assets", "docs": { "stability": "stable", "summary": "platform supported by docker.", "example": "import { DockerImageAsset, Platform } from '@aws-cdk/aws-ecr-assets';\n\nconst asset = new DockerImageAsset(this, 'MyBuildImage', {\n directory: path.join(__dirname, 'my-image'),\n platform: Platform.LINUX_ARM64,\n})", "custom": { "exampleMetadata": "infused" } }, "fqn": "@aws-cdk/aws-ecr-assets.Platform", "kind": "class", "locationInModule": { "filename": "lib/image-asset.ts", "line": 62 }, "methods": [ { "docs": { "stability": "stable", "summary": "Used to specify a custom platform Use this if the platform name is not yet supported by the CDK." }, "locationInModule": { "filename": "lib/image-asset.ts", "line": 79 }, "name": "custom", "parameters": [ { "docs": { "summary": "The platform to use for docker build." }, "name": "platform", "type": { "primitive": "string" } } ], "returns": { "type": { "fqn": "@aws-cdk/aws-ecr-assets.Platform" } }, "static": true } ], "name": "Platform", "properties": [ { "const": true, "docs": { "stability": "stable", "summary": "Build for linux/amd64." }, "immutable": true, "locationInModule": { "filename": "lib/image-asset.ts", "line": 66 }, "name": "LINUX_AMD64", "static": true, "type": { "fqn": "@aws-cdk/aws-ecr-assets.Platform" } }, { "const": true, "docs": { "stability": "stable", "summary": "Build for linux/arm64." }, "immutable": true, "locationInModule": { "filename": "lib/image-asset.ts", "line": 71 }, "name": "LINUX_ARM64", "static": true, "type": { "fqn": "@aws-cdk/aws-ecr-assets.Platform" } }, { "docs": { "stability": "stable", "summary": "The platform to use for docker build." }, "immutable": true, "locationInModule": { "filename": "lib/image-asset.ts", "line": 86 }, "name": "platform", "type": { "primitive": "string" } } ], "symbolId": "lib/image-asset:Platform" }, "@aws-cdk/aws-ecr-assets.TarballImageAsset": { "assembly": "@aws-cdk/aws-ecr-assets", "base": "@aws-cdk/core.Construct", "docs": { "remarks": "The image will loaded from an existing tarball and uploaded to an ECR repository.", "stability": "stable", "summary": "An asset that represents a Docker image.", "example": "import { TarballImageAsset } from '@aws-cdk/aws-ecr-assets';\n\nconst asset = new TarballImageAsset(this, 'MyBuildImage', {\n tarballFile: 'local-image.tar',\n});", "custom": { "exampleMetadata": "infused" } }, "fqn": "@aws-cdk/aws-ecr-assets.TarballImageAsset", "initializer": { "docs": { "stability": "stable" }, "locationInModule": { "filename": "lib/tarball-asset.ts", "line": 60 }, "parameters": [ { "name": "scope", "type": { "fqn": "constructs.Construct" } }, { "name": "id", "type": { "primitive": "string" } }, { "name": "props", "type": { "fqn": "@aws-cdk/aws-ecr-assets.TarballImageAssetProps" } } ] }, "interfaces": [ "@aws-cdk/assets.IAsset" ], "kind": "class", "locationInModule": { "filename": "lib/tarball-asset.ts", "line": 33 }, "name": "TarballImageAsset", "properties": [ { "docs": { "remarks": "As this is a plain string, it\ncan be used in construct IDs in order to enforce creation of a new resource when the content\nhash has changed.", "stability": "stable", "summary": "A hash of this asset, which is available at construction time." }, "immutable": true, "locationInModule": { "filename": "lib/tarball-asset.ts", "line": 58 }, "name": "assetHash", "type": { "primitive": "string" } }, { "docs": { "deprecated": "use assetHash", "remarks": "As this is a plain\nstring, it can be used in construct IDs in order to enforce creation of a new resource when\nthe content hash has changed.", "stability": "deprecated", "summary": "A hash of the source of this asset, which is available at construction time." }, "immutable": true, "locationInModule": { "filename": "lib/tarball-asset.ts", "line": 51 }, "name": "sourceHash", "overrides": "@aws-cdk/assets.IAsset", "type": { "primitive": "string" } }, { "docs": { "remarks": "Use this reference to pull\nthe asset.", "stability": "stable", "summary": "The full URI of the image (including a tag)." }, "locationInModule": { "filename": "lib/tarball-asset.ts", "line": 38 }, "name": "imageUri", "type": { "primitive": "string" } }, { "docs": { "stability": "stable", "summary": "Repository where the image is stored." }, "locationInModule": { "filename": "lib/tarball-asset.ts", "line": 43 }, "name": "repository", "type": { "fqn": "@aws-cdk/aws-ecr.IRepository" } } ], "symbolId": "lib/tarball-asset:TarballImageAsset" }, "@aws-cdk/aws-ecr-assets.TarballImageAssetProps": { "assembly": "@aws-cdk/aws-ecr-assets", "datatype": true, "docs": { "stability": "stable", "summary": "Options for TarballImageAsset.", "example": "import { TarballImageAsset } from '@aws-cdk/aws-ecr-assets';\n\nconst asset = new TarballImageAsset(this, 'MyBuildImage', {\n tarballFile: 'local-image.tar',\n});", "custom": { "exampleMetadata": "infused" } }, "fqn": "@aws-cdk/aws-ecr-assets.TarballImageAssetProps", "kind": "interface", "locationInModule": { "filename": "lib/tarball-asset.ts", "line": 17 }, "name": "TarballImageAssetProps", "properties": [ { "abstract": true, "docs": { "remarks": "It is recommended to to use the script running directory (e.g. `__dirname`\nin Node.js projects or dirname of `__file__` in Python) if your tarball\nis located as a resource inside your project.", "stability": "stable", "summary": "Absolute path to the tarball." }, "immutable": true, "locationInModule": { "filename": "lib/tarball-asset.ts", "line": 25 }, "name": "tarballFile", "type": { "primitive": "string" } } ], "symbolId": "lib/tarball-asset:TarballImageAssetProps" } }, "version": "1.204.0", "fingerprint": "**********" }