@aws-cdk/cloud-assembly-schema
Version:
Schema for the protocol between CDK framework and CDK CLI
1,035 lines (1,034 loc) • 60.8 kB
JSON
{
"$ref": "#/definitions/AssemblyManifest",
"definitions": {
"AssemblyManifest": {
"description": "A manifest which describes the cloud assembly.",
"type": "object",
"properties": {
"version": {
"description": "Protocol version",
"type": "string"
},
"minimumCliVersion": {
"description": "Required CLI version, if available\n\nIf the manifest producer knows, it can put the minimum version of the CLI\nhere that supports reading this assembly.\n\nIf set, it can be used to show a more informative error message to users. (Default - Minimum CLI version unknown)",
"type": "string"
},
"artifacts": {
"description": "The set of artifacts in this assembly. (Default - no artifacts.)",
"type": "object",
"additionalProperties": {
"$ref": "#/definitions/ArtifactManifest"
}
},
"missing": {
"description": "Missing context information. If this field has values, it means that the\ncloud assembly is not complete and should not be deployed. (Default - no missing context.)",
"type": "array",
"items": {
"$ref": "#/definitions/MissingContext"
}
},
"runtime": {
"description": "Runtime information. (Default - no info.)",
"$ref": "#/definitions/RuntimeInfo"
}
},
"required": [
"version"
]
},
"ArtifactManifest": {
"description": "A manifest for a single artifact within the cloud assembly.",
"type": "object",
"properties": {
"type": {
"$ref": "#/definitions/ArtifactType",
"description": "The type of artifact."
},
"environment": {
"description": "The environment into which this artifact is deployed. (Default - no envrionment.)",
"type": "string"
},
"metadata": {
"description": "Associated metadata.\n\nMetadata can be stored directly in the assembly manifest, as well as in a\nseparate file (see `additionalMetadataFile`). It should prefer to be stored\nin the additional file, as that will reduce the size of the assembly\nmanifest in cases of a lot of metdata (which CDK does emit by default). (Default - no metadata.)",
"type": "object",
"additionalProperties": {
"type": "array",
"items": {
"$ref": "#/definitions/MetadataEntry"
}
}
},
"additionalMetadataFile": {
"description": "A file with additional metadata entries.\n\nThe schema of this file is exactly the same as the type of the `metadata` field.\nIn other words, that file contains an object mapping construct paths to arrays\nof metadata entries. (Default - no additional metadata)",
"type": "string"
},
"dependencies": {
"description": "IDs of artifacts that must be deployed before this artifact. (Default - no dependencies.)",
"type": "array",
"items": {
"type": "string"
}
},
"properties": {
"description": "The set of properties for this artifact (depends on type) (Default - no properties.)",
"anyOf": [
{
"$ref": "#/definitions/AwsCloudFormationStackProperties"
},
{
"$ref": "#/definitions/AssetManifestProperties"
},
{
"$ref": "#/definitions/TreeArtifactProperties"
},
{
"$ref": "#/definitions/NestedCloudAssemblyProperties"
},
{
"$ref": "#/definitions/FeatureFlagReportProperties"
}
]
},
"displayName": {
"description": "A string that can be shown to a user to uniquely identify this artifact inside a cloud assembly tree\n\nIs used by the CLI to present a list of stacks to the user in a way that\nmakes sense to them. Even though the property name \"display name\" doesn't\nimply it, this field is used to select stacks as well, so all stacks should\nhave a unique display name. (Default - no display name)",
"type": "string"
}
},
"required": [
"type"
]
},
"ArtifactType": {
"description": "Type of cloud artifact.",
"type": "string",
"enum": [
"none",
"aws:cloudformation:stack",
"cdk:tree",
"cdk:asset-manifest",
"cdk:cloud-assembly",
"cdk:feature-flag-report"
]
},
"MetadataEntry": {
"description": "A metadata entry in a cloud assembly artifact.",
"type": "object",
"properties": {
"type": {
"description": "The type of the metadata entry.",
"type": "string"
},
"data": {
"description": "The data. (Default - no data.)",
"anyOf": [
{
"$ref": "#/definitions/FileAssetMetadataEntry"
},
{
"$ref": "#/definitions/ContainerImageAssetMetadataEntry"
},
{
"type": "array",
"items": {
"$ref": "#/definitions/Tag"
}
},
{
"type": [
"string",
"number",
"boolean"
]
},
{
"description": "Free form data."
}
]
},
"trace": {
"description": "A stack trace for when the entry was created. (Default - no trace.)",
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"type"
]
},
"FileAssetMetadataEntry": {
"description": "Metadata Entry spec for files.",
"type": "object",
"properties": {
"packaging": {
"description": "Requested packaging style",
"enum": [
"file",
"zip"
],
"type": "string"
},
"s3BucketParameter": {
"description": "Name of parameter where S3 bucket should be passed in",
"type": "string"
},
"s3KeyParameter": {
"description": "Name of parameter where S3 key should be passed in",
"type": "string"
},
"artifactHashParameter": {
"description": "The name of the parameter where the hash of the bundled asset should be passed in.",
"type": "string"
},
"id": {
"description": "Logical identifier for the asset",
"type": "string"
},
"sourceHash": {
"description": "The hash of the asset source.",
"type": "string"
},
"path": {
"description": "Path on disk to the asset",
"type": "string"
}
},
"required": [
"artifactHashParameter",
"id",
"packaging",
"path",
"s3BucketParameter",
"s3KeyParameter",
"sourceHash"
]
},
"ContainerImageAssetMetadataEntry": {
"description": "Metadata Entry spec for container images.",
"type": "object",
"properties": {
"packaging": {
"description": "Type of asset",
"type": "string",
"const": "container-image"
},
"imageNameParameter": {
"description": "ECR Repository name and repo digest (separated by \"@sha256:\") where this\nimage is stored. (Default undefined If not specified, `repositoryName` and `imageTag` are\nrequired because otherwise how will the stack know where to find the asset,\nha?)",
"type": "string"
},
"repositoryName": {
"description": "ECR repository name, if omitted a default name based on the asset's ID is\nused instead. Specify this property if you need to statically address the\nimage, e.g. from a Kubernetes Pod. Note, this is only the repository name,\nwithout the registry and the tag parts. (Default - this parameter is REQUIRED after 1.21.0)",
"type": "string"
},
"imageTag": {
"description": "The docker image tag to use for tagging pushed images. This field is\nrequired if `imageParameterName` is ommited (otherwise, the app won't be\nable to find the image). (Default - this parameter is REQUIRED after 1.21.0)",
"type": "string"
},
"buildArgs": {
"description": "Build args to pass to the `docker build` command (Default no build args are passed)",
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"buildSsh": {
"description": "SSH agent socket or keys to pass to the `docker build` command (Default no ssh arg is passed)",
"type": "string"
},
"buildSecrets": {
"description": "Build secrets to pass to the `docker build` command (Default no build secrets are passed)",
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"target": {
"description": "Docker target to build to (Default no build target)",
"type": "string"
},
"file": {
"description": "Path to the Dockerfile (relative to the directory). (Default - no file is passed)",
"type": "string"
},
"networkMode": {
"description": "Networking mode for the RUN commands during build. (Default - no networking mode specified)",
"type": "string"
},
"platform": {
"description": "Platform to build for. _Requires Docker Buildx_. (Default - current machine platform)",
"type": "string"
},
"outputs": {
"description": "Outputs to pass to the `docker build` command. (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/ContainerImageAssetCacheOption"
}
},
"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/ContainerImageAssetCacheOption"
},
"cacheDisabled": {
"description": "Disable the cache and pass `--no-cache` to the `docker build` command. (Default - cache is used)",
"type": "boolean"
},
"id": {
"description": "Logical identifier for the asset",
"type": "string"
},
"sourceHash": {
"description": "The hash of the asset source.",
"type": "string"
},
"path": {
"description": "Path on disk to the asset",
"type": "string"
}
},
"required": [
"id",
"packaging",
"path",
"sourceHash"
]
},
"ContainerImageAssetCacheOption": {
"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"
]
},
"Tag": {
"description": "Metadata Entry spec for stack tag.",
"type": "object",
"properties": {
"key": {
"description": "Tag key.\n\n(In the actual file on disk this will be cased as \"Key\", and the structure is\npatched to match this structure upon loading:\nhttps://github.com/aws/aws-cdk/blob/4aadaa779b48f35838cccd4e25107b2338f05547/packages/%40aws-cdk/cloud-assembly-schema/lib/manifest.ts#L137)",
"type": "string"
},
"value": {
"description": "Tag value.\n\n(In the actual file on disk this will be cased as \"Value\", and the structure is\npatched to match this structure upon loading:\nhttps://github.com/aws/aws-cdk/blob/4aadaa779b48f35838cccd4e25107b2338f05547/packages/%40aws-cdk/cloud-assembly-schema/lib/manifest.ts#L137)",
"type": "string"
}
},
"required": [
"key",
"value"
]
},
"AwsCloudFormationStackProperties": {
"description": "Artifact properties for CloudFormation stacks.",
"type": "object",
"properties": {
"templateFile": {
"description": "A file relative to the assembly root which contains the CloudFormation template for this stack.",
"type": "string"
},
"parameters": {
"description": "Values for CloudFormation stack parameters that should be passed when the stack is deployed. (Default - No parameters)",
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"tags": {
"description": "Values for CloudFormation stack tags that should be passed when the stack is deployed.\n\nN.B.: Tags are also written to stack metadata, under the path of the Stack\nconstruct. Only in CDK CLI v1 are those tags found in metadata used for\nactual deployments; in all stable versions of CDK only the stack tags\ndirectly found in the `tags` property of `AwsCloudFormationStack` artifact\n(i.e., this property) are used. (Default - No tags)",
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"notificationArns": {
"description": "SNS Notification ARNs that should receive CloudFormation Stack Events. (Default - No notification arns)",
"type": "array",
"items": {
"type": "string"
}
},
"stackName": {
"description": "The name to use for the CloudFormation stack. (Default - name derived from artifact ID)",
"type": "string"
},
"terminationProtection": {
"description": "Whether to enable termination protection for this stack.",
"default": false,
"type": "boolean"
},
"assumeRoleArn": {
"description": "The role that needs to be assumed to deploy the stack (Default - No role is assumed (current credentials are used))",
"type": "string"
},
"assumeRoleExternalId": {
"description": "External ID to use when assuming role for cloudformation deployments (Default - No external ID)",
"type": "string"
},
"assumeRoleAdditionalOptions": {
"description": "Additional options to pass to STS when assuming the role.\n\n- `RoleArn` should not be used. Use the dedicated `assumeRoleArn` property instead.\n- `ExternalId` should not be used. Use the dedicated `assumeRoleExternalId` instead. (Default - No additional options.)",
"type": "object",
"additionalProperties": {}
},
"cloudFormationExecutionRoleArn": {
"description": "The role that is passed to CloudFormation to execute the change set (Default - No role is passed (currently assumed role/credentials are used))",
"type": "string"
},
"lookupRole": {
"description": "The role to use to look up values from the target AWS account (Default - No role is assumed (current credentials are used))",
"$ref": "#/definitions/BootstrapRole"
},
"stackTemplateAssetObjectUrl": {
"description": "If the stack template has already been included in the asset manifest, its asset URL (Default - Not uploaded yet, upload just before deploying)",
"type": "string"
},
"requiresBootstrapStackVersion": {
"description": "Version of bootstrap stack required to deploy this stack (Default - No bootstrap stack required)",
"type": "number"
},
"bootstrapStackVersionSsmParameter": {
"description": "SSM parameter where the bootstrap stack version number can be found\n\nOnly used if `requiresBootstrapStackVersion` is set.\n\n- If this value is not set, the bootstrap stack name must be known at\n deployment time so the stack version can be looked up from the stack\n outputs.\n- If this value is set, the bootstrap stack can have any name because\n we won't need to look it up. (Default - Bootstrap stack version number looked up)",
"type": "string"
},
"validateOnSynth": {
"description": "Whether this stack should be validated by the CLI after synthesis (Default - false)",
"type": "boolean"
}
},
"required": [
"templateFile"
]
},
"BootstrapRole": {
"description": "Information needed to access an IAM role created\nas part of the bootstrap process",
"type": "object",
"properties": {
"arn": {
"description": "The ARN of the IAM role created as part of bootrapping\ne.g. lookupRoleArn",
"type": "string"
},
"assumeRoleExternalId": {
"description": "External ID to use when assuming the bootstrap role (Default - No external ID)",
"type": "string"
},
"assumeRoleAdditionalOptions": {
"description": "Additional options to pass to STS when assuming the role.\n\n- `RoleArn` should not be used. Use the dedicated `arn` property instead.\n- `ExternalId` should not be used. Use the dedicated `assumeRoleExternalId` instead. (Default - No additional options.)",
"type": "object",
"additionalProperties": {}
},
"requiresBootstrapStackVersion": {
"description": "Version of bootstrap stack required to use this role (Default - No bootstrap stack required)",
"type": "number"
},
"bootstrapStackVersionSsmParameter": {
"description": "Name of SSM parameter with bootstrap stack version (Default - Discover SSM parameter by reading stack)",
"type": "string"
}
},
"required": [
"arn"
]
},
"AssetManifestProperties": {
"description": "Artifact properties for the Asset Manifest",
"type": "object",
"properties": {
"file": {
"description": "Filename of the asset manifest",
"type": "string"
},
"requiresBootstrapStackVersion": {
"description": "Version of bootstrap stack required to deploy this stack (Default - Version 1 (basic modern bootstrap stack))",
"type": "number"
},
"bootstrapStackVersionSsmParameter": {
"description": "SSM parameter where the bootstrap stack version number can be found\n\n- If this value is not set, the bootstrap stack name must be known at\n deployment time so the stack version can be looked up from the stack\n outputs.\n- If this value is set, the bootstrap stack can have any name because\n we won't need to look it up. (Default - Bootstrap stack version number looked up)",
"type": "string"
}
},
"required": [
"file"
]
},
"TreeArtifactProperties": {
"description": "Artifact properties for the Construct Tree Artifact",
"type": "object",
"properties": {
"file": {
"description": "Filename of the tree artifact",
"type": "string"
}
},
"required": [
"file"
]
},
"NestedCloudAssemblyProperties": {
"description": "Artifact properties for nested cloud assemblies",
"type": "object",
"properties": {
"directoryName": {
"description": "Relative path to the nested cloud assembly",
"type": "string"
},
"displayName": {
"description": "Display name for the cloud assembly (Default - The artifact ID)",
"type": "string"
}
},
"required": [
"directoryName"
]
},
"FeatureFlagReportProperties": {
"description": "Artifact properties for a feature flag report\n\nA feature flag report is small enough that all the properties can be inlined\nhere, and doesn't need an additional file.",
"type": "object",
"properties": {
"module": {
"description": "The library that this feature flag report applies to.",
"type": "string"
},
"flags": {
"description": "Information about every feature flag supported by this library.",
"type": "object",
"additionalProperties": {
"$ref": "#/definitions/FeatureFlag"
}
}
},
"required": [
"flags",
"module"
]
},
"FeatureFlag": {
"description": "A single feature flag",
"type": "object",
"properties": {
"recommendedValue": {
"description": "The library-recommended value for this flag, if any\n\nIt is possible that there is no recommended value. (Default - No recommended value.)"
},
"userValue": {
"description": "The value configured by the user\n\nThis is the value configured at the root of the tree. Users may also have\nconfigured values at specific locations in the tree; we don't report on\nthose. (Default - Not configured by the user)"
},
"explanation": {
"description": "Explanation about the purpose of this flag that can be shown to the user. (Default - No description)",
"type": "string"
},
"unconfiguredBehavesLike": {
"description": "The value of the flag that produces the same behavior as when the flag is not configured at all\n\nThe structure of this field is a historical accident. The type of this field\nshould have been boolean, which should have contained the default value for\nthe flag appropriate for the *current* version of the CDK library. We are\nnot rectifying this accident because doing so\n\nInstead, the canonical way to access this value is by evaluating\n`unconfiguredBehavesLike?.v2 ?? false`.",
"default": false,
"$ref": "#/definitions/UnconfiguredBehavesLike"
}
}
},
"UnconfiguredBehavesLike": {
"type": "object",
"properties": {
"v1": {
"description": "Historical accident, don't use.\n\nThis value may be present, but it should never be used. The actual value is\nin the `v2` field, regardless of the version of the CDK library. (Default - ignore)"
},
"v2": {
"description": "The value of the flag that produces the same behavior as when the flag is not configured at all\n\nEven though it is called 'v2', this is the official name of this field. In\nany future versions of CDK (v3, v4, ...), this field will still be called 'v2'.\n\nThe structure of this field is a historical accident. See the comment on\n`unconfiguredBehavesLike` for more information.",
"default": false
}
}
},
"MissingContext": {
"description": "Represents a missing piece of context.",
"type": "object",
"properties": {
"key": {
"description": "The missing context key.",
"type": "string"
},
"provider": {
"$ref": "#/definitions/ContextProvider",
"description": "The provider from which we expect this context key to be obtained."
},
"props": {
"$ref": "#/definitions/ContextQueryProperties",
"description": "A set of provider-specific options."
}
},
"required": [
"key",
"props",
"provider"
]
},
"ContextProvider": {
"description": "Identifier for the context provider",
"type": "string",
"enum": [
"ami",
"availability-zones",
"hosted-zone",
"ssm",
"vpc-provider",
"endpoint-service-availability-zones",
"load-balancer",
"load-balancer-listener",
"security-group",
"key-provider",
"cc-api-provider",
"plugin"
]
},
"ContextQueryProperties": {
"anyOf": [
{
"$ref": "#/definitions/AmiContextQuery"
},
{
"$ref": "#/definitions/AvailabilityZonesContextQuery"
},
{
"$ref": "#/definitions/HostedZoneContextQuery"
},
{
"$ref": "#/definitions/SSMParameterContextQuery"
},
{
"$ref": "#/definitions/VpcContextQuery"
},
{
"$ref": "#/definitions/EndpointServiceAvailabilityZonesContextQuery"
},
{
"$ref": "#/definitions/LoadBalancerContextQuery"
},
{
"$ref": "#/definitions/LoadBalancerListenerContextQuery"
},
{
"$ref": "#/definitions/SecurityGroupContextQuery"
},
{
"$ref": "#/definitions/KeyContextQuery"
},
{
"$ref": "#/definitions/CcApiContextQuery"
},
{
"$ref": "#/definitions/PluginContextQuery"
}
]
},
"AmiContextQuery": {
"description": "Query to AMI context provider",
"type": "object",
"properties": {
"owners": {
"description": "Owners to DescribeImages call (Default - All owners)",
"type": "array",
"items": {
"type": "string"
}
},
"filters": {
"description": "Filters to DescribeImages call",
"type": "object",
"additionalProperties": {
"type": "array",
"items": {
"type": "string"
}
}
},
"account": {
"description": "Query account",
"type": "string"
},
"region": {
"description": "Query region",
"type": "string"
},
"lookupRoleArn": {
"description": "The ARN of the role that should be used to look up the missing values (Default - None)",
"type": "string"
},
"lookupRoleExternalId": {
"description": "The ExternalId that needs to be supplied while assuming this role (Default - No ExternalId will be supplied)",
"type": "string"
},
"assumeRoleAdditionalOptions": {
"description": "Additional options to pass to STS when assuming the lookup role.\n\n- `RoleArn` should not be used. Use the dedicated `lookupRoleArn` property instead.\n- `ExternalId` should not be used. Use the dedicated `lookupRoleExternalId` instead. (Default - No additional options.)",
"type": "object",
"additionalProperties": {}
}
},
"required": [
"account",
"filters",
"region"
]
},
"AvailabilityZonesContextQuery": {
"description": "Query to availability zone context provider",
"type": "object",
"properties": {
"account": {
"description": "Query account",
"type": "string"
},
"region": {
"description": "Query region",
"type": "string"
},
"lookupRoleArn": {
"description": "The ARN of the role that should be used to look up the missing values (Default - None)",
"type": "string"
},
"lookupRoleExternalId": {
"description": "The ExternalId that needs to be supplied while assuming this role (Default - No ExternalId will be supplied)",
"type": "string"
},
"assumeRoleAdditionalOptions": {
"description": "Additional options to pass to STS when assuming the lookup role.\n\n- `RoleArn` should not be used. Use the dedicated `lookupRoleArn` property instead.\n- `ExternalId` should not be used. Use the dedicated `lookupRoleExternalId` instead. (Default - No additional options.)",
"type": "object",
"additionalProperties": {}
}
},
"required": [
"account",
"region"
]
},
"HostedZoneContextQuery": {
"description": "Query to hosted zone context provider",
"type": "object",
"properties": {
"domainName": {
"description": "The domain name e.g. example.com to lookup",
"type": "string"
},
"privateZone": {
"description": "True if the zone you want to find is a private hosted zone",
"default": false,
"type": "boolean"
},
"vpcId": {
"description": "The VPC ID to that the private zone must be associated with\n\nIf you provide VPC ID and privateZone is false, this will return no results\nand raise an error. (Default - Required if privateZone=true)",
"type": "string"
},
"account": {
"description": "Query account",
"type": "string"
},
"region": {
"description": "Query region",
"type": "string"
},
"lookupRoleArn": {
"description": "The ARN of the role that should be used to look up the missing values (Default - None)",
"type": "string"
},
"lookupRoleExternalId": {
"description": "The ExternalId that needs to be supplied while assuming this role (Default - No ExternalId will be supplied)",
"type": "string"
},
"assumeRoleAdditionalOptions": {
"description": "Additional options to pass to STS when assuming the lookup role.\n\n- `RoleArn` should not be used. Use the dedicated `lookupRoleArn` property instead.\n- `ExternalId` should not be used. Use the dedicated `lookupRoleExternalId` instead. (Default - No additional options.)",
"type": "object",
"additionalProperties": {}
}
},
"required": [
"account",
"domainName",
"region"
]
},
"SSMParameterContextQuery": {
"description": "Query to SSM Parameter Context Provider",
"type": "object",
"properties": {
"parameterName": {
"description": "Parameter name to query",
"type": "string"
},
"account": {
"description": "Query account",
"type": "string"
},
"region": {
"description": "Query region",
"type": "string"
},
"lookupRoleArn": {
"description": "The ARN of the role that should be used to look up the missing values (Default - None)",
"type": "string"
},
"lookupRoleExternalId": {
"description": "The ExternalId that needs to be supplied while assuming this role (Default - No ExternalId will be supplied)",
"type": "string"
},
"assumeRoleAdditionalOptions": {
"description": "Additional options to pass to STS when assuming the lookup role.\n\n- `RoleArn` should not be used. Use the dedicated `lookupRoleArn` property instead.\n- `ExternalId` should not be used. Use the dedicated `lookupRoleExternalId` instead. (Default - No additional options.)",
"type": "object",
"additionalProperties": {}
}
},
"required": [
"account",
"parameterName",
"region"
]
},
"VpcContextQuery": {
"description": "Query input for looking up a VPC",
"type": "object",
"properties": {
"filter": {
"description": "Filters to apply to the VPC\n\nFilter parameters are the same as passed to DescribeVpcs.",
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"returnAsymmetricSubnets": {
"description": "Whether to populate the subnetGroups field of the `VpcContextResponse`,\nwhich contains potentially asymmetric subnet groups.",
"default": false,
"type": "boolean"
},
"subnetGroupNameTag": {
"description": "Optional tag for subnet group name.\nIf not provided, we'll look at the aws-cdk:subnet-name tag.\nIf the subnet does not have the specified tag,\nwe'll use its type as the name. (Default 'aws-cdk:subnet-name')",
"type": "string"
},
"returnVpnGateways": {
"description": "Whether to populate the `vpnGatewayId` field of the `VpcContextResponse`,\nwhich contains the VPN Gateway ID, if one exists. You can explicitly\ndisable this in order to avoid the lookup if you know the VPC does not have\na VPN Gatway attached. (Default true)",
"type": "boolean"
},
"account": {
"description": "Query account",
"type": "string"
},
"region": {
"description": "Query region",
"type": "string"
},
"lookupRoleArn": {
"description": "The ARN of the role that should be used to look up the missing values (Default - None)",
"type": "string"
},
"lookupRoleExternalId": {
"description": "The ExternalId that needs to be supplied while assuming this role (Default - No ExternalId will be supplied)",
"type": "string"
},
"assumeRoleAdditionalOptions": {
"description": "Additional options to pass to STS when assuming the lookup role.\n\n- `RoleArn` should not be used. Use the dedicated `lookupRoleArn` property instead.\n- `ExternalId` should not be used. Use the dedicated `lookupRoleExternalId` instead. (Default - No additional options.)",
"type": "object",
"additionalProperties": {}
}
},
"required": [
"account",
"filter",
"region"
]
},
"EndpointServiceAvailabilityZonesContextQuery": {
"description": "Query to endpoint service context provider",
"type": "object",
"properties": {
"serviceName": {
"description": "Query service name",
"type": "string"
},
"account": {
"description": "Query account",
"type": "string"
},
"region": {
"description": "Query region",
"type": "string"
},
"lookupRoleArn": {
"description": "The ARN of the role that should be used to look up the missing values (Default - None)",
"type": "string"
},
"lookupRoleExternalId": {
"description": "The ExternalId that needs to be supplied while assuming this role (Default - No ExternalId will be supplied)",
"type": "string"
},
"assumeRoleAdditionalOptions": {
"description": "Additional options to pass to STS when assuming the lookup role.\n\n- `RoleArn` should not be used. Use the dedicated `lookupRoleArn` property instead.\n- `ExternalId` should not be used. Use the dedicated `lookupRoleExternalId` instead. (Default - No additional options.)",
"type": "object",
"additionalProperties": {}
}
},
"required": [
"account",
"region",
"serviceName"
]
},
"LoadBalancerContextQuery": {
"description": "Query input for looking up a load balancer",
"type": "object",
"properties": {
"loadBalancerType": {
"$ref": "#/definitions/LoadBalancerType",
"description": "Filter load balancers by their type"
},
"loadBalancerArn": {
"description": "Find by load balancer's ARN (Default - does not search by load balancer arn)",
"type": "string"
},
"loadBalancerTags": {
"description": "Match load balancer tags (Default - does not match load balancers by tags)",
"type": "array",
"items": {
"$ref": "#/definitions/Tag"
}
},
"account": {
"description": "Query account",
"type": "string"
},
"region": {
"description": "Query region",
"type": "string"
},
"lookupRoleArn": {
"description": "The ARN of the role that should be used to look up the missing values (Default - None)",
"type": "string"
},
"lookupRoleExternalId": {
"description": "The ExternalId that needs to be supplied while assuming this role (Default - No ExternalId will be supplied)",
"type": "string"
},
"assumeRoleAdditionalOptions": {
"description": "Additional options to pass to STS when assuming the lookup role.\n\n- `RoleArn` should not be used. Use the dedicated `lookupRoleArn` property instead.\n- `ExternalId` should not be used. Use the dedicated `lookupRoleExternalId` instead. (Default - No additional options.)",
"type": "object",
"additionalProperties": {}
}
},
"required": [
"account",
"loadBalancerType",
"region"
]
},
"LoadBalancerType": {
"description": "Type of load balancer",
"type": "string",
"enum": [
"network",
"application"
]
},
"LoadBalancerListenerContextQuery": {
"description": "Query input for looking up a load balancer listener",
"type": "object",
"properties": {
"listenerArn": {
"description": "Find by listener's arn (Default - does not find by listener arn)",
"type": "string"
},
"listenerProtocol": {
"description": "Filter by listener protocol (Default - does not filter by listener protocol)",
"enum": [
"HTTP",
"HTTPS",
"TCP",
"TCP_UDP",
"TLS",
"UDP"
],
"type": "string"
},
"listenerPort": {
"description": "Filter listeners by listener port (Default - does not filter by a listener port)",
"type": "number"
},
"loadBalancerType": {
"$ref": "#/definitions/LoadBalancerType",
"description": "Filter load balancers by their type"
},
"loadBalancerArn": {
"description": "Find by load balancer's ARN (Default - does not search by load balancer arn)",
"type": "string"
},
"loadBalancerTags": {
"description": "Match load balancer tags (Default - does not match load balancers by tags)",
"type": "array",
"items": {
"$ref": "#/definitions/Tag"
}
},
"account": {
"description": "Query account",
"type": "string"
},
"region": {
"description": "Query region",
"type": "string"
},
"lookupRoleArn": {
"description": "The ARN of the role that should be used to look up the missing values (Default - None)",
"type": "string"
},
"lookupRoleExternalId": {
"description": "The ExternalId that needs to be supplied while assuming this role (Default - No ExternalId will be supplied)",
"type": "string"
},
"assumeRoleAdditionalOptions": {
"description": "Additional options to pass to STS when assuming the lookup role.\n\n- `RoleArn` should not be used. Use the dedicated `lookupRoleArn` property instead.\n- `ExternalId` should not be used. Use the dedicated `lookupRoleExternalId` instead. (Default - No additional options.)",
"type": "object",
"additionalProperties": {}
}
},
"required": [
"account",
"loadBalancerType",
"region"
]
},
"SecurityGroupContextQuery": {
"description": "Query input for looking up a security group",
"type": "object",
"properties": {
"securityGroupId": {
"description": "Security group id (Default - None)",
"type": "string"
},
"securityGroupName": {
"description": "Security group name (Default - None)",
"type": "string"
},
"vpcId": {
"description": "VPC ID (Default - None)",
"type": "string"
},
"account": {
"description": "Query account",
"type": "string"
},
"region": {
"description": "Query region",
"type": "string"
},
"lookupRoleArn": {
"description": "The ARN of the role that should be used to look up the missing values (Default - None)",