UNPKG

aws-cdk-lib

Version:

Version 2 of the AWS Cloud Development Kit library

253 lines 11.3 kB
{ "$ref": "#/definitions/AssetManifest", "definitions": { "AssetManifest": { "description": "Definitions for the asset manifest", "type": "object", "properties": { "version": { "description": "Version of the manifest", "type": "string" }, "files": { "description": "The file assets in this manifest (Default - No files)", "type": "object", "additionalProperties": { "$ref": "#/definitions/FileAsset" } }, "dockerImages": { "description": "The Docker image assets in this manifest (Default - No Docker images)", "type": "object", "additionalProperties": { "$ref": "#/definitions/DockerImageAsset" } } }, "required": [ "version" ] }, "FileAsset": { "description": "A file asset", "type": "object", "properties": { "source": { "$ref": "#/definitions/FileSource", "description": "Source description for file assets" }, "destinations": { "description": "Destinations for this file asset", "type": "object", "additionalProperties": { "$ref": "#/definitions/FileDestination" } } }, "required": [ "destinations", "source" ] }, "FileSource": { "description": "Describe the source of a file asset", "type": "object", "properties": { "executable": { "description": "External command which will produce the file asset to upload. (Default - Exactly one of `executable` and `path` is required.)", "type": "array", "items": { "type": "string" } }, "path": { "description": "The filesystem object to upload\n\nThis path is relative to the asset manifest location. (Default - Exactly one of `executable` and `path` is required.)", "type": "string" }, "packaging": { "description": "Packaging method\n\nOnly allowed when `path` is specified. (Default FILE)", "enum": [ "file", "zip" ], "type": "string" } } }, "FileDestination": { "description": "Where in S3 a file asset needs to be published", "type": "object", "properties": { "bucketName": { "description": "The name of the bucket", "type": "string" }, "objectKey": { "description": "The destination object key", "type": "string" }, "region": { "description": "The region where this asset will need to be published (Default - Current region)", "type": "string" }, "assumeRoleArn": { "description": "The role that needs to be assumed while publishing this asset (Default - No role will be assumed)", "type": "string" }, "assumeRoleExternalId": { "description": "The ExternalId that needs to be supplied while assuming this role (Default - No ExternalId will be supplied)", "type": "string" } }, "required": [ "bucketName", "objectKey" ] }, "DockerImageAsset": { "description": "A file asset", "type": "object", "properties": { "source": { "$ref": "#/definitions/DockerImageSource", "description": "Source description for file assets" }, "destinations": { "description": "Destinations for this file asset", "type": "object", "additionalProperties": { "$ref": "#/definitions/DockerImageDestination" } } }, "required": [ "destinations", "source" ] }, "DockerImageSource": { "description": "Properties for how to produce a Docker image from a source", "type": "object", "properties": { "directory": { "description": "The directory containing the Docker image build instructions.\n\nThis path is relative to the asset manifest location. (Default - Exactly one of `directory` and `executable` is required)", "type": "string" }, "executable": { "description": "A command-line executable that returns the name of a local\nDocker image on stdout after being run. (Default - Exactly one of `directory` and `executable` is required)", "type": "array", "items": { "type": "string" } }, "dockerFile": { "description": "The name of the file with build instructions\n\nOnly allowed when `directory` is set. (Default Dockerfile)", "type": "string" }, "dockerBuildTarget": { "description": "Target build stage in a Dockerfile with multiple build stages\n\nOnly allowed when `directory` is set. (Default - The last stage in the Dockerfile)", "type": "string" }, "dockerBuildArgs": { "description": "Additional build arguments\n\nOnly allowed when `directory` is set. (Default - No additional build arguments)", "type": "object", "additionalProperties": { "type": "string" } }, "dockerBuildSsh": { "description": "SSH agent socket or keys\n\nRequires building with docker buildkit. (Default - No ssh flag is set)", "type": "string" }, "dockerBuildSecrets": { "description": "Additional build secrets\n\nOnly allowed when `directory` is set. (Default - No additional build secrets)", "type": "object", "additionalProperties": { "type": "string" } }, "networkMode": { "description": "Networking mode for the RUN commands during build. _Requires Docker Engine API v1.25+_.\n\nSpecify this property to build images on a specific networking mode. (Default - no networking mode specified)", "type": "string" }, "platform": { "description": "Platform to build for. _Requires Docker Buildx_.\n\nSpecify this property to build images on a specific platform/architecture. (Default - current machine platform)", "type": "string" }, "dockerOutputs": { "description": "Outputs (Default - no outputs are passed to the build command (default outputs are used))", "type": "array", "items": { "type": "string" } }, "cacheFrom": { "description": "Cache from options to pass to the `docker build` command. (Default - no cache from options are passed to the build command)", "type": "array", "items": { "$ref": "#/definitions/DockerCacheOption" } }, "cacheTo": { "description": "Cache to options to pass to the `docker build` command. (Default - no cache to options are passed to the build command)", "$ref": "#/definitions/DockerCacheOption" }, "cacheDisabled": { "description": "Disable the cache and pass `--no-cache` to the `docker build` command. (Default - cache is used)", "type": "boolean" } } }, "DockerCacheOption": { "description": "Options for configuring the Docker cache backend", "type": "object", "properties": { "type": { "description": "The type of cache to use.\nRefer to https://docs.docker.com/build/cache/backends/ for full list of backends. (Default - unspecified)", "type": "string" }, "params": { "description": "Any parameters to pass into the docker cache backend configuration.\nRefer to https://docs.docker.com/build/cache/backends/ for cache backend configuration. (Default {} No options provided)", "type": "object", "additionalProperties": { "type": "string" } } }, "required": [ "type" ] }, "DockerImageDestination": { "description": "Where to publish docker images", "type": "object", "properties": { "repositoryName": { "description": "Name of the ECR repository to publish to", "type": "string" }, "imageTag": { "description": "Tag of the image to publish", "type": "string" }, "region": { "description": "The region where this asset will need to be published (Default - Current region)", "type": "string" }, "assumeRoleArn": { "description": "The role that needs to be assumed while publishing this asset (Default - No role will be assumed)", "type": "string" }, "assumeRoleExternalId": { "description": "The ExternalId that needs to be supplied while assuming this role (Default - No ExternalId will be supplied)", "type": "string" } }, "required": [ "imageTag", "repositoryName" ] } }, "$schema": "http://json-schema.org/draft-07/schema#" }