aws-cdk-lib
Version:
Version 2 of the AWS Cloud Development Kit library
253 lines • 11.3 kB
JSON
{
"$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#"
}