Documentation
¶
Index ¶
- func Manifest_Save(manifest *AssemblyManifest, filePath *string)
- func Manifest_SaveAssemblyManifest(manifest *AssemblyManifest, filePath *string)
- func Manifest_SaveAssetManifest(manifest *AssetManifest, filePath *string)
- func Manifest_Version() *string
- type AmiContextQuery
- type ArtifactManifest
- type ArtifactMetadataEntryType
- type ArtifactType
- type AssemblyManifest
- type AssetManifest
- type AssetManifestProperties
- type AvailabilityZonesContextQuery
- type AwsCloudFormationStackProperties
- type AwsDestination
- type ContainerImageAssetMetadataEntry
- type ContextProvider
- type DockerImageAsset
- type DockerImageDestination
- type DockerImageSource
- type EndpointServiceAvailabilityZonesContextQuery
- type FileAsset
- type FileAssetMetadataEntry
- type FileAssetPackaging
- type FileDestination
- type FileSource
- type HostedZoneContextQuery
- type LoadBalancerContextQuery
- type LoadBalancerFilter
- type LoadBalancerListenerContextQuery
- type LoadBalancerListenerProtocol
- type LoadBalancerType
- type Manifest
- type MetadataEntry
- type MissingContext
- type NestedCloudAssemblyProperties
- type RuntimeInfo
- type SSMParameterContextQuery
- type SecurityGroupContextQuery
- type Tag
- type TreeArtifactProperties
- type VpcContextQuery
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Manifest_Save ¶
func Manifest_Save(manifest *AssemblyManifest, filePath *string)
Deprecated. Deprecated: use `saveAssemblyManifest()`
func Manifest_SaveAssemblyManifest ¶
func Manifest_SaveAssemblyManifest(manifest *AssemblyManifest, filePath *string)
Validates and saves the cloud assembly manifest to file. Experimental.
func Manifest_SaveAssetManifest ¶
func Manifest_SaveAssetManifest(manifest *AssetManifest, filePath *string)
Validates and saves the asset manifest to file. Experimental.
func Manifest_Version ¶
func Manifest_Version() *string
Fetch the current schema version number. Experimental.
Types ¶
type AmiContextQuery ¶
type AmiContextQuery struct {
// Account to query.
// Experimental.
Account *string `json:"account"`
// Filters to DescribeImages call.
// Experimental.
Filters *map[string]*[]*string `json:"filters"`
// Region to query.
// Experimental.
Region *string `json:"region"`
// Owners to DescribeImages call.
// Experimental.
Owners *[]*string `json:"owners"`
}
Query to AMI context provider. Experimental.
type ArtifactManifest ¶
type ArtifactManifest struct {
// The type of artifact.
// Experimental.
Type ArtifactType `json:"type"`
// IDs of artifacts that must be deployed before this artifact.
// Experimental.
Dependencies *[]*string `json:"dependencies"`
// The environment into which this artifact is deployed.
// Experimental.
Environment *string `json:"environment"`
// Associated metadata.
// Experimental.
Metadata *map[string]*[]*MetadataEntry `json:"metadata"`
// The set of properties for this artifact (depends on type).
// Experimental.
Properties interface{} `json:"properties"`
}
A manifest for a single artifact within the cloud assembly. Experimental.
type ArtifactMetadataEntryType ¶
type ArtifactMetadataEntryType string
Type of artifact metadata entry. Experimental.
const ( ArtifactMetadataEntryType_ASSET ArtifactMetadataEntryType = "ASSET" ArtifactMetadataEntryType_INFO ArtifactMetadataEntryType = "INFO" ArtifactMetadataEntryType_WARN ArtifactMetadataEntryType = "WARN" ArtifactMetadataEntryType_ERROR ArtifactMetadataEntryType = "ERROR" ArtifactMetadataEntryType_LOGICAL_ID ArtifactMetadataEntryType = "LOGICAL_ID" ArtifactMetadataEntryType_STACK_TAGS ArtifactMetadataEntryType = "STACK_TAGS" )
type ArtifactType ¶
type ArtifactType string
Type of cloud artifact. Experimental.
const ( ArtifactType_NONE ArtifactType = "NONE" ArtifactType_AWS_CLOUDFORMATION_STACK ArtifactType = "AWS_CLOUDFORMATION_STACK" ArtifactType_CDK_TREE ArtifactType = "CDK_TREE" ArtifactType_ASSET_MANIFEST ArtifactType = "ASSET_MANIFEST" ArtifactType_NESTED_CLOUD_ASSEMBLY ArtifactType = "NESTED_CLOUD_ASSEMBLY" )
type AssemblyManifest ¶
type AssemblyManifest struct {
// Protocol version.
// Experimental.
Version *string `json:"version"`
// The set of artifacts in this assembly.
// Experimental.
Artifacts *map[string]*ArtifactManifest `json:"artifacts"`
// Missing context information.
//
// If this field has values, it means that the
// cloud assembly is not complete and should not be deployed.
// Experimental.
Missing *[]*MissingContext `json:"missing"`
// Runtime information.
// Experimental.
Runtime *RuntimeInfo `json:"runtime"`
}
A manifest which describes the cloud assembly. Experimental.
func Manifest_Load ¶
func Manifest_Load(filePath *string) *AssemblyManifest
Deprecated. Deprecated: use `loadAssemblyManifest()`
func Manifest_LoadAssemblyManifest ¶
func Manifest_LoadAssemblyManifest(filePath *string) *AssemblyManifest
Load and validates the cloud assembly manifest from file. Experimental.
type AssetManifest ¶
type AssetManifest struct {
// Version of the manifest.
// Experimental.
Version *string `json:"version"`
// The Docker image assets in this manifest.
// Experimental.
DockerImages *map[string]*DockerImageAsset `json:"dockerImages"`
// The file assets in this manifest.
// Experimental.
Files *map[string]*FileAsset `json:"files"`
}
Definitions for the asset manifest. Experimental.
func Manifest_LoadAssetManifest ¶
func Manifest_LoadAssetManifest(filePath *string) *AssetManifest
Load and validates the asset manifest from file. Experimental.
type AssetManifestProperties ¶
type AssetManifestProperties struct {
// Filename of the asset manifest.
// Experimental.
File *string `json:"file"`
// SSM parameter where the bootstrap stack version number can be found.
//
// - If this value is not set, the bootstrap stack name must be known at
// deployment time so the stack version can be looked up from the stack
// outputs.
// - If this value is set, the bootstrap stack can have any name because
// we won't need to look it up.
// Experimental.
BootstrapStackVersionSsmParameter *string `json:"bootstrapStackVersionSsmParameter"`
// Version of bootstrap stack required to deploy this stack.
// Experimental.
RequiresBootstrapStackVersion *float64 `json:"requiresBootstrapStackVersion"`
}
Artifact properties for the Asset Manifest. Experimental.
type AvailabilityZonesContextQuery ¶
type AvailabilityZonesContextQuery struct {
// Query account.
// Experimental.
Account *string `json:"account"`
// Query region.
// Experimental.
Region *string `json:"region"`
}
Query to availability zone context provider. Experimental.
type AwsCloudFormationStackProperties ¶
type AwsCloudFormationStackProperties struct {
// A file relative to the assembly root which contains the CloudFormation template for this stack.
// Experimental.
TemplateFile *string `json:"templateFile"`
// The role that needs to be assumed to deploy the stack.
// Experimental.
AssumeRoleArn *string `json:"assumeRoleArn"`
// SSM parameter where the bootstrap stack version number can be found.
//
// Only used if `requiresBootstrapStackVersion` is set.
//
// - If this value is not set, the bootstrap stack name must be known at
// deployment time so the stack version can be looked up from the stack
// outputs.
// - If this value is set, the bootstrap stack can have any name because
// we won't need to look it up.
// Experimental.
BootstrapStackVersionSsmParameter *string `json:"bootstrapStackVersionSsmParameter"`
// The role that is passed to CloudFormation to execute the change set.
// Experimental.
CloudFormationExecutionRoleArn *string `json:"cloudFormationExecutionRoleArn"`
// Values for CloudFormation stack parameters that should be passed when the stack is deployed.
// Experimental.
Parameters *map[string]*string `json:"parameters"`
// Version of bootstrap stack required to deploy this stack.
// Experimental.
RequiresBootstrapStackVersion *float64 `json:"requiresBootstrapStackVersion"`
// The name to use for the CloudFormation stack.
// Experimental.
StackName *string `json:"stackName"`
// If the stack template has already been included in the asset manifest, its asset URL.
// Experimental.
StackTemplateAssetObjectUrl *string `json:"stackTemplateAssetObjectUrl"`
// Values for CloudFormation stack tags that should be passed when the stack is deployed.
// Experimental.
Tags *map[string]*string `json:"tags"`
// Whether to enable termination protection for this stack.
// Experimental.
TerminationProtection *bool `json:"terminationProtection"`
}
Artifact properties for CloudFormation stacks. Experimental.
type AwsDestination ¶
type AwsDestination struct {
// The role that needs to be assumed while publishing this asset.
// Experimental.
AssumeRoleArn *string `json:"assumeRoleArn"`
// The ExternalId that needs to be supplied while assuming this role.
// Experimental.
AssumeRoleExternalId *string `json:"assumeRoleExternalId"`
// The region where this asset will need to be published.
// Experimental.
Region *string `json:"region"`
}
Destination for assets that need to be uploaded to AWS. Experimental.
type ContainerImageAssetMetadataEntry ¶
type ContainerImageAssetMetadataEntry struct {
// Logical identifier for the asset.
// Experimental.
Id *string `json:"id"`
// Type of asset.
// Experimental.
Packaging *string `json:"packaging"`
// Path on disk to the asset.
// Experimental.
Path *string `json:"path"`
// The hash of the asset source.
// Experimental.
SourceHash *string `json:"sourceHash"`
// Build args to pass to the `docker build` command.
// Experimental.
BuildArgs *map[string]*string `json:"buildArgs"`
// Path to the Dockerfile (relative to the directory).
// Experimental.
File *string `json:"file"`
// ECR Repository name and repo digest (separated by "@sha256:") where this image is stored.
// Deprecated: specify `repositoryName` and `imageTag` instead, and then you
// know where the image will go.
ImageNameParameter *string `json:"imageNameParameter"`
// The docker image tag to use for tagging pushed images.
//
// This field is
// required if `imageParameterName` is ommited (otherwise, the app won't be
// able to find the image).
// Experimental.
ImageTag *string `json:"imageTag"`
// ECR repository name, if omitted a default name based on the asset's ID is used instead.
//
// Specify this property if you need to statically address the
// image, e.g. from a Kubernetes Pod. Note, this is only the repository name,
// without the registry and the tag parts.
// Experimental.
RepositoryName *string `json:"repositoryName"`
// Docker target to build to.
// Experimental.
Target *string `json:"target"`
}
Metadata Entry spec for container images. Experimental.
type ContextProvider ¶
type ContextProvider string
Identifier for the context provider. Experimental.
const ( ContextProvider_AMI_PROVIDER ContextProvider = "AMI_PROVIDER" ContextProvider_AVAILABILITY_ZONE_PROVIDER ContextProvider = "AVAILABILITY_ZONE_PROVIDER" ContextProvider_HOSTED_ZONE_PROVIDER ContextProvider = "HOSTED_ZONE_PROVIDER" ContextProvider_SSM_PARAMETER_PROVIDER ContextProvider = "SSM_PARAMETER_PROVIDER" ContextProvider_VPC_PROVIDER ContextProvider = "VPC_PROVIDER" ContextProvider_ENDPOINT_SERVICE_AVAILABILITY_ZONE_PROVIDER ContextProvider = "ENDPOINT_SERVICE_AVAILABILITY_ZONE_PROVIDER" ContextProvider_LOAD_BALANCER_PROVIDER ContextProvider = "LOAD_BALANCER_PROVIDER" ContextProvider_LOAD_BALANCER_LISTENER_PROVIDER ContextProvider = "LOAD_BALANCER_LISTENER_PROVIDER" ContextProvider_SECURITY_GROUP_PROVIDER ContextProvider = "SECURITY_GROUP_PROVIDER" )
type DockerImageAsset ¶
type DockerImageAsset struct {
// Destinations for this file asset.
// Experimental.
Destinations *map[string]*DockerImageDestination `json:"destinations"`
// Source description for file assets.
// Experimental.
Source *DockerImageSource `json:"source"`
}
A file asset. Experimental.
type DockerImageDestination ¶
type DockerImageDestination struct {
// The role that needs to be assumed while publishing this asset.
// Experimental.
AssumeRoleArn *string `json:"assumeRoleArn"`
// The ExternalId that needs to be supplied while assuming this role.
// Experimental.
AssumeRoleExternalId *string `json:"assumeRoleExternalId"`
// The region where this asset will need to be published.
// Experimental.
Region *string `json:"region"`
// Tag of the image to publish.
// Experimental.
ImageTag *string `json:"imageTag"`
// Name of the ECR repository to publish to.
// Experimental.
RepositoryName *string `json:"repositoryName"`
}
Where to publish docker images. Experimental.
type DockerImageSource ¶
type DockerImageSource struct {
// The directory containing the Docker image build instructions.
//
// This path is relative to the asset manifest location.
// Experimental.
Directory *string `json:"directory"`
// Additional build arguments.
//
// Only allowed when `directory` is set.
// Experimental.
DockerBuildArgs *map[string]*string `json:"dockerBuildArgs"`
// Target build stage in a Dockerfile with multiple build stages.
//
// Only allowed when `directory` is set.
// Experimental.
DockerBuildTarget *string `json:"dockerBuildTarget"`
// The name of the file with build instructions.
//
// Only allowed when `directory` is set.
// Experimental.
DockerFile *string `json:"dockerFile"`
// A command-line executable that returns the name of a local Docker image on stdout after being run.
// Experimental.
Executable *[]*string `json:"executable"`
}
Properties for how to produce a Docker image from a source. Experimental.
type EndpointServiceAvailabilityZonesContextQuery ¶
type EndpointServiceAvailabilityZonesContextQuery struct {
// Query account.
// Experimental.
Account *string `json:"account"`
// Query region.
// Experimental.
Region *string `json:"region"`
// Query service name.
// Experimental.
ServiceName *string `json:"serviceName"`
}
Query to endpoint service context provider. Experimental.
type FileAsset ¶
type FileAsset struct {
// Destinations for this file asset.
// Experimental.
Destinations *map[string]*FileDestination `json:"destinations"`
// Source description for file assets.
// Experimental.
Source *FileSource `json:"source"`
}
A file asset. Experimental.
type FileAssetMetadataEntry ¶
type FileAssetMetadataEntry struct {
// The name of the parameter where the hash of the bundled asset should be passed in.
// Experimental.
ArtifactHashParameter *string `json:"artifactHashParameter"`
// Logical identifier for the asset.
// Experimental.
Id *string `json:"id"`
// Requested packaging style.
// Experimental.
Packaging *string `json:"packaging"`
// Path on disk to the asset.
// Experimental.
Path *string `json:"path"`
// Name of parameter where S3 bucket should be passed in.
// Experimental.
S3BucketParameter *string `json:"s3BucketParameter"`
// Name of parameter where S3 key should be passed in.
// Experimental.
S3KeyParameter *string `json:"s3KeyParameter"`
// The hash of the asset source.
// Experimental.
SourceHash *string `json:"sourceHash"`
}
Metadata Entry spec for files. Experimental.
type FileAssetPackaging ¶
type FileAssetPackaging string
Packaging strategy for file assets. Experimental.
const ( FileAssetPackaging_FILE FileAssetPackaging = "FILE" FileAssetPackaging_ZIP_DIRECTORY FileAssetPackaging = "ZIP_DIRECTORY" )
type FileDestination ¶
type FileDestination struct {
// The role that needs to be assumed while publishing this asset.
// Experimental.
AssumeRoleArn *string `json:"assumeRoleArn"`
// The ExternalId that needs to be supplied while assuming this role.
// Experimental.
AssumeRoleExternalId *string `json:"assumeRoleExternalId"`
// The region where this asset will need to be published.
// Experimental.
Region *string `json:"region"`
// The name of the bucket.
// Experimental.
BucketName *string `json:"bucketName"`
// The destination object key.
// Experimental.
ObjectKey *string `json:"objectKey"`
}
Where in S3 a file asset needs to be published. Experimental.
type FileSource ¶
type FileSource struct {
// External command which will produce the file asset to upload.
// Experimental.
Executable *[]*string `json:"executable"`
// Packaging method.
//
// Only allowed when `path` is specified.
// Experimental.
Packaging FileAssetPackaging `json:"packaging"`
// The filesystem object to upload.
//
// This path is relative to the asset manifest location.
// Experimental.
Path *string `json:"path"`
}
Describe the source of a file asset. Experimental.
type HostedZoneContextQuery ¶
type HostedZoneContextQuery struct {
// Query account.
// Experimental.
Account *string `json:"account"`
// The domain name e.g. example.com to lookup.
// Experimental.
DomainName *string `json:"domainName"`
// Query region.
// Experimental.
Region *string `json:"region"`
// True if the zone you want to find is a private hosted zone.
// Experimental.
PrivateZone *bool `json:"privateZone"`
// The VPC ID to that the private zone must be associated with.
//
// If you provide VPC ID and privateZone is false, this will return no results
// and raise an error.
// Experimental.
VpcId *string `json:"vpcId"`
}
Query to hosted zone context provider. Experimental.
type LoadBalancerContextQuery ¶
type LoadBalancerContextQuery struct {
// Filter load balancers by their type.
// Experimental.
LoadBalancerType LoadBalancerType `json:"loadBalancerType"`
// Find by load balancer's ARN.
// Experimental.
LoadBalancerArn *string `json:"loadBalancerArn"`
// Match load balancer tags.
// Experimental.
LoadBalancerTags *[]*Tag `json:"loadBalancerTags"`
// Query account.
// Experimental.
Account *string `json:"account"`
// Query region.
// Experimental.
Region *string `json:"region"`
}
Query input for looking up a load balancer. Experimental.
type LoadBalancerFilter ¶
type LoadBalancerFilter struct {
// Filter load balancers by their type.
// Experimental.
LoadBalancerType LoadBalancerType `json:"loadBalancerType"`
// Find by load balancer's ARN.
// Experimental.
LoadBalancerArn *string `json:"loadBalancerArn"`
// Match load balancer tags.
// Experimental.
LoadBalancerTags *[]*Tag `json:"loadBalancerTags"`
}
Filters for selecting load balancers. Experimental.
type LoadBalancerListenerContextQuery ¶
type LoadBalancerListenerContextQuery struct {
// Filter load balancers by their type.
// Experimental.
LoadBalancerType LoadBalancerType `json:"loadBalancerType"`
// Find by load balancer's ARN.
// Experimental.
LoadBalancerArn *string `json:"loadBalancerArn"`
// Match load balancer tags.
// Experimental.
LoadBalancerTags *[]*Tag `json:"loadBalancerTags"`
// Query account.
// Experimental.
Account *string `json:"account"`
// Query region.
// Experimental.
Region *string `json:"region"`
// Find by listener's arn.
// Experimental.
ListenerArn *string `json:"listenerArn"`
// Filter listeners by listener port.
// Experimental.
ListenerPort *float64 `json:"listenerPort"`
// Filter by listener protocol.
// Experimental.
ListenerProtocol LoadBalancerListenerProtocol `json:"listenerProtocol"`
}
Query input for looking up a load balancer listener. Experimental.
type LoadBalancerListenerProtocol ¶
type LoadBalancerListenerProtocol string
The protocol for connections from clients to the load balancer. Experimental.
const ( LoadBalancerListenerProtocol_HTTP LoadBalancerListenerProtocol = "HTTP" LoadBalancerListenerProtocol_HTTPS LoadBalancerListenerProtocol = "HTTPS" LoadBalancerListenerProtocol_TCP LoadBalancerListenerProtocol = "TCP" LoadBalancerListenerProtocol_TLS LoadBalancerListenerProtocol = "TLS" LoadBalancerListenerProtocol_UDP LoadBalancerListenerProtocol = "UDP" LoadBalancerListenerProtocol_TCP_UDP LoadBalancerListenerProtocol = "TCP_UDP" )
type LoadBalancerType ¶
type LoadBalancerType string
Type of load balancer. Experimental.
const ( LoadBalancerType_NETWORK LoadBalancerType = "NETWORK" LoadBalancerType_APPLICATION LoadBalancerType = "APPLICATION" )
type MetadataEntry ¶
type MetadataEntry struct {
// The type of the metadata entry.
// Experimental.
Type *string `json:"type"`
// The data.
// Experimental.
Data interface{} `json:"data"`
// A stack trace for when the entry was created.
// Experimental.
Trace *[]*string `json:"trace"`
}
A metadata entry in a cloud assembly artifact. Experimental.
type MissingContext ¶
type MissingContext struct {
// The missing context key.
// Experimental.
Key *string `json:"key"`
// A set of provider-specific options.
// Experimental.
Props interface{} `json:"props"`
// The provider from which we expect this context key to be obtained.
// Experimental.
Provider ContextProvider `json:"provider"`
}
Represents a missing piece of context. Experimental.
type NestedCloudAssemblyProperties ¶
type NestedCloudAssemblyProperties struct {
// Relative path to the nested cloud assembly.
// Experimental.
DirectoryName *string `json:"directoryName"`
// Display name for the cloud assembly.
// Experimental.
DisplayName *string `json:"displayName"`
}
Artifact properties for nested cloud assemblies. Experimental.
type RuntimeInfo ¶
type RuntimeInfo struct {
// The list of libraries loaded in the application, associated with their versions.
// Experimental.
Libraries *map[string]*string `json:"libraries"`
}
Information about the application's runtime components. Experimental.
type SSMParameterContextQuery ¶
type SSMParameterContextQuery struct {
// Query account.
// Experimental.
Account *string `json:"account"`
// Parameter name to query.
// Experimental.
ParameterName *string `json:"parameterName"`
// Query region.
// Experimental.
Region *string `json:"region"`
}
Query to SSM Parameter Context Provider. Experimental.
type SecurityGroupContextQuery ¶
type SecurityGroupContextQuery struct {
// Query account.
// Experimental.
Account *string `json:"account"`
// Query region.
// Experimental.
Region *string `json:"region"`
// Security group id.
// Experimental.
SecurityGroupId *string `json:"securityGroupId"`
}
Query input for looking up a security group. Experimental.
type Tag ¶
type Tag struct {
// Tag key.
//
// (In the actual file on disk this will be cased as "Key", and the structure is
// patched to match this structure upon loading:
// https://github.com/aws/aws-cdk/blob/4aadaa779b48f35838cccd4e25107b2338f05547/packages/%40aws-cdk/cloud-assembly-schema/lib/manifest.ts#L137)
// Experimental.
Key *string `json:"key"`
// Tag value.
//
// (In the actual file on disk this will be cased as "Value", and the structure is
// patched to match this structure upon loading:
// https://github.com/aws/aws-cdk/blob/4aadaa779b48f35838cccd4e25107b2338f05547/packages/%40aws-cdk/cloud-assembly-schema/lib/manifest.ts#L137)
// Experimental.
Value *string `json:"value"`
}
Metadata Entry spec for stack tag. Experimental.
type TreeArtifactProperties ¶
type TreeArtifactProperties struct {
// Filename of the tree artifact.
// Experimental.
File *string `json:"file"`
}
Artifact properties for the Construct Tree Artifact. Experimental.
type VpcContextQuery ¶
type VpcContextQuery struct {
// Query account.
// Experimental.
Account *string `json:"account"`
// Filters to apply to the VPC.
//
// Filter parameters are the same as passed to DescribeVpcs.
// See: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeVpcs.html
//
// Experimental.
Filter *map[string]*string `json:"filter"`
// Query region.
// Experimental.
Region *string `json:"region"`
// Whether to populate the subnetGroups field of the {@link VpcContextResponse}, which contains potentially asymmetric subnet groups.
// Experimental.
ReturnAsymmetricSubnets *bool `json:"returnAsymmetricSubnets"`
// Optional tag for subnet group name.
//
// If not provided, we'll look at the aws-cdk:subnet-name tag.
// If the subnet does not have the specified tag,
// we'll use its type as the name.
// Experimental.
SubnetGroupNameTag *string `json:"subnetGroupNameTag"`
}
Query input for looking up a VPC. Experimental.