Documentation
¶
Index ¶
- func Manifest_SaveAssemblyManifest(manifest *AssemblyManifest, filePath *string)
- func Manifest_SaveAssetManifest(manifest *AssetManifest, filePath *string)
- func Manifest_SaveIntegManifest(manifest *IntegManifest, filePath *string)
- func Manifest_Version() *string
- type AmiContextQuery
- type ArtifactManifest
- type ArtifactMetadataEntryType
- type ArtifactType
- type AssemblyManifest
- type AssetManifest
- type AssetManifestOptions
- type AssetManifestProperties
- type AvailabilityZonesContextQuery
- type AwsCloudFormationStackProperties
- type AwsDestination
- type BootstrapRole
- type CdkCommand
- type CdkCommands
- type ContainerImageAssetCacheOption
- type ContainerImageAssetMetadataEntry
- type ContextProvider
- type DefaultCdkOptions
- type DeployCommand
- type DeployOptions
- type DestroyCommand
- type DestroyOptions
- type DockerCacheOption
- type DockerImageAsset
- type DockerImageDestination
- type DockerImageSource
- type EndpointServiceAvailabilityZonesContextQuery
- type FileAsset
- type FileAssetMetadataEntry
- type FileAssetPackaging
- type FileDestination
- type FileSource
- type Hooks
- type HostedZoneContextQuery
- type IntegManifest
- type KeyContextQuery
- type LoadBalancerContextQuery
- type LoadBalancerFilter
- type LoadBalancerListenerContextQuery
- type LoadBalancerListenerProtocol
- type LoadBalancerType
- type LoadManifestOptions
- type Manifest
- type MetadataEntry
- type MissingContext
- type NestedCloudAssemblyProperties
- type PluginContextQuery
- type RequireApproval
- type RuntimeInfo
- type SSMParameterContextQuery
- type SecurityGroupContextQuery
- type Tag
- type TestCase
- type TestOptions
- type TreeArtifactProperties
- type VpcContextQuery
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Manifest_SaveAssemblyManifest ¶
func Manifest_SaveAssemblyManifest(manifest *AssemblyManifest, filePath *string)
Validates and saves the cloud assembly manifest to file.
func Manifest_SaveAssetManifest ¶
func Manifest_SaveAssetManifest(manifest *AssetManifest, filePath *string)
Validates and saves the asset manifest to file.
func Manifest_SaveIntegManifest ¶ added in v2.20.0
func Manifest_SaveIntegManifest(manifest *IntegManifest, filePath *string)
Validates and saves the integ manifest to file.
Types ¶
type AmiContextQuery ¶
type AmiContextQuery struct {
// Account to query.
Account *string `field:"required" json:"account" yaml:"account"`
// Filters to DescribeImages call.
Filters *map[string]*[]*string `field:"required" json:"filters" yaml:"filters"`
// Region to query.
Region *string `field:"required" json:"region" yaml:"region"`
// The ARN of the role that should be used to look up the missing values.
// Default: - None.
//
LookupRoleArn *string `field:"optional" json:"lookupRoleArn" yaml:"lookupRoleArn"`
// Owners to DescribeImages call.
// Default: - All owners.
//
Owners *[]*string `field:"optional" json:"owners" yaml:"owners"`
}
Query to AMI context provider.
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
amiContextQuery := &AmiContextQuery{
Account: jsii.String("account"),
Filters: map[string][]*string{
"filtersKey": []*string{
jsii.String("filters"),
},
},
Region: jsii.String("region"),
// the properties below are optional
LookupRoleArn: jsii.String("lookupRoleArn"),
Owners: []*string{
jsii.String("owners"),
},
}
type ArtifactManifest ¶
type ArtifactManifest struct {
// The type of artifact.
Type ArtifactType `field:"required" json:"type" yaml:"type"`
// IDs of artifacts that must be deployed before this artifact.
// Default: - no dependencies.
//
Dependencies *[]*string `field:"optional" json:"dependencies" yaml:"dependencies"`
// A string that represents this artifact.
//
// Should only be used in user interfaces.
// Default: - no display name.
//
DisplayName *string `field:"optional" json:"displayName" yaml:"displayName"`
// The environment into which this artifact is deployed.
// Default: - no envrionment.
//
Environment *string `field:"optional" json:"environment" yaml:"environment"`
// Associated metadata.
// Default: - no metadata.
//
Metadata *map[string]*[]*MetadataEntry `field:"optional" json:"metadata" yaml:"metadata"`
// The set of properties for this artifact (depends on type).
// Default: - no properties.
//
Properties interface{} `field:"optional" json:"properties" yaml:"properties"`
}
A manifest for a single artifact within the cloud assembly.
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
artifactManifest := &ArtifactManifest{
Type: awscdk.Cloud_assembly_schema.ArtifactType_NONE,
// the properties below are optional
Dependencies: []*string{
jsii.String("dependencies"),
},
DisplayName: jsii.String("displayName"),
Environment: jsii.String("environment"),
Metadata: map[string][]metadataEntry{
"metadataKey": []*metadataEntry{
&metadataEntry{
"type": jsii.String("type"),
// the properties below are optional
"data": jsii.String("data"),
"trace": []*string{
jsii.String("trace"),
},
},
},
},
Properties: &AwsCloudFormationStackProperties{
TemplateFile: jsii.String("templateFile"),
// the properties below are optional
AssumeRoleArn: jsii.String("assumeRoleArn"),
AssumeRoleExternalId: jsii.String("assumeRoleExternalId"),
BootstrapStackVersionSsmParameter: jsii.String("bootstrapStackVersionSsmParameter"),
CloudFormationExecutionRoleArn: jsii.String("cloudFormationExecutionRoleArn"),
LookupRole: &BootstrapRole{
Arn: jsii.String("arn"),
// the properties below are optional
AssumeRoleExternalId: jsii.String("assumeRoleExternalId"),
BootstrapStackVersionSsmParameter: jsii.String("bootstrapStackVersionSsmParameter"),
RequiresBootstrapStackVersion: jsii.Number(123),
},
Parameters: map[string]*string{
"parametersKey": jsii.String("parameters"),
},
RequiresBootstrapStackVersion: jsii.Number(123),
StackName: jsii.String("stackName"),
StackTemplateAssetObjectUrl: jsii.String("stackTemplateAssetObjectUrl"),
Tags: map[string]*string{
"tagsKey": jsii.String("tags"),
},
TerminationProtection: jsii.Boolean(false),
ValidateOnSynth: jsii.Boolean(false),
},
}
type ArtifactMetadataEntryType ¶
type ArtifactMetadataEntryType string
Type of artifact metadata entry.
const ( // Asset in metadata. ArtifactMetadataEntryType_ASSET ArtifactMetadataEntryType = "ASSET" // Metadata key used to print INFO-level messages by the toolkit when an app is syntheized. ArtifactMetadataEntryType_INFO ArtifactMetadataEntryType = "INFO" // Metadata key used to print WARNING-level messages by the toolkit when an app is syntheized. ArtifactMetadataEntryType_WARN ArtifactMetadataEntryType = "WARN" // Metadata key used to print ERROR-level messages by the toolkit when an app is syntheized. ArtifactMetadataEntryType_ERROR ArtifactMetadataEntryType = "ERROR" // Represents the CloudFormation logical ID of a resource at a certain path. ArtifactMetadataEntryType_LOGICAL_ID ArtifactMetadataEntryType = "LOGICAL_ID" // Represents tags of a stack. ArtifactMetadataEntryType_STACK_TAGS ArtifactMetadataEntryType = "STACK_TAGS" )
type ArtifactType ¶
type ArtifactType string
Type of cloud artifact.
const ( // Stub required because of JSII. ArtifactType_NONE ArtifactType = "NONE" // The artifact is an AWS CloudFormation stack. ArtifactType_AWS_CLOUDFORMATION_STACK ArtifactType = "AWS_CLOUDFORMATION_STACK" // The artifact contains the CDK application's construct tree. ArtifactType_CDK_TREE ArtifactType = "CDK_TREE" // Manifest for all assets in the Cloud Assembly. ArtifactType_ASSET_MANIFEST ArtifactType = "ASSET_MANIFEST" // Nested Cloud Assembly. ArtifactType_NESTED_CLOUD_ASSEMBLY ArtifactType = "NESTED_CLOUD_ASSEMBLY" )
type AssemblyManifest ¶
type AssemblyManifest struct {
// Protocol version.
Version *string `field:"required" json:"version" yaml:"version"`
// The set of artifacts in this assembly.
// Default: - no artifacts.
//
Artifacts *map[string]*ArtifactManifest `field:"optional" json:"artifacts" yaml:"artifacts"`
// Missing context information.
//
// If this field has values, it means that the
// cloud assembly is not complete and should not be deployed.
// Default: - no missing context.
//
Missing *[]*MissingContext `field:"optional" json:"missing" yaml:"missing"`
// Runtime information.
// Default: - no info.
//
Runtime *RuntimeInfo `field:"optional" json:"runtime" yaml:"runtime"`
}
A manifest which describes the cloud assembly.
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
assemblyManifest := &AssemblyManifest{
Version: jsii.String("version"),
// the properties below are optional
Artifacts: map[string]artifactManifest{
"artifactsKey": &artifactManifest{
"type": awscdk.cloud_assembly_schema.ArtifactType_NONE,
// the properties below are optional
"dependencies": []*string{
jsii.String("dependencies"),
},
"displayName": jsii.String("displayName"),
"environment": jsii.String("environment"),
"metadata": map[string][]MetadataEntry{
"metadataKey": []MetadataEntry{
&MetadataEntry{
"type": jsii.String("type"),
// the properties below are optional
"data": jsii.String("data"),
"trace": []*string{
jsii.String("trace"),
},
},
},
},
"properties": &AwsCloudFormationStackProperties{
"templateFile": jsii.String("templateFile"),
// the properties below are optional
"assumeRoleArn": jsii.String("assumeRoleArn"),
"assumeRoleExternalId": jsii.String("assumeRoleExternalId"),
"bootstrapStackVersionSsmParameter": jsii.String("bootstrapStackVersionSsmParameter"),
"cloudFormationExecutionRoleArn": jsii.String("cloudFormationExecutionRoleArn"),
"lookupRole": &BootstrapRole{
"arn": jsii.String("arn"),
// the properties below are optional
"assumeRoleExternalId": jsii.String("assumeRoleExternalId"),
"bootstrapStackVersionSsmParameter": jsii.String("bootstrapStackVersionSsmParameter"),
"requiresBootstrapStackVersion": jsii.Number(123),
},
"parameters": map[string]*string{
"parametersKey": jsii.String("parameters"),
},
"requiresBootstrapStackVersion": jsii.Number(123),
"stackName": jsii.String("stackName"),
"stackTemplateAssetObjectUrl": jsii.String("stackTemplateAssetObjectUrl"),
"tags": map[string]*string{
"tagsKey": jsii.String("tags"),
},
"terminationProtection": jsii.Boolean(false),
"validateOnSynth": jsii.Boolean(false),
},
},
},
Missing: []missingContext{
&missingContext{
Key: jsii.String("key"),
Props: &AmiContextQuery{
Account: jsii.String("account"),
Filters: map[string][]*string{
"filtersKey": []*string{
jsii.String("filters"),
},
},
Region: jsii.String("region"),
// the properties below are optional
LookupRoleArn: jsii.String("lookupRoleArn"),
Owners: []interface{}{
jsii.String("owners"),
},
},
Provider: awscdk.Cloud_assembly_schema.ContextProvider_AMI_PROVIDER,
},
},
Runtime: &RuntimeInfo{
Libraries: map[string]*string{
"librariesKey": jsii.String("libraries"),
},
},
}
func Manifest_LoadAssemblyManifest ¶
func Manifest_LoadAssemblyManifest(filePath *string, options *LoadManifestOptions) *AssemblyManifest
Load and validates the cloud assembly manifest from file.
type AssetManifest ¶
type AssetManifest struct {
// Version of the manifest.
Version *string `field:"required" json:"version" yaml:"version"`
// The Docker image assets in this manifest.
// Default: - No Docker images.
//
DockerImages *map[string]*DockerImageAsset `field:"optional" json:"dockerImages" yaml:"dockerImages"`
// The file assets in this manifest.
// Default: - No files.
//
Files *map[string]*FileAsset `field:"optional" json:"files" yaml:"files"`
}
Definitions for the asset manifest.
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
assetManifest := &AssetManifest{
Version: jsii.String("version"),
// the properties below are optional
DockerImages: map[string]dockerImageAsset{
"dockerImagesKey": &dockerImageAsset{
"destinations": map[string]DockerImageDestination{
"destinationsKey": &DockerImageDestination{
"imageTag": jsii.String("imageTag"),
"repositoryName": jsii.String("repositoryName"),
// the properties below are optional
"assumeRoleArn": jsii.String("assumeRoleArn"),
"assumeRoleExternalId": jsii.String("assumeRoleExternalId"),
"region": jsii.String("region"),
},
},
"source": &DockerImageSource{
"cacheDisabled": jsii.Boolean(false),
"cacheFrom": []DockerCacheOption{
&DockerCacheOption{
"type": jsii.String("type"),
// the properties below are optional
"params": map[string]*string{
"paramsKey": jsii.String("params"),
},
},
},
"cacheTo": &DockerCacheOption{
"type": jsii.String("type"),
// the properties below are optional
"params": map[string]*string{
"paramsKey": jsii.String("params"),
},
},
"directory": jsii.String("directory"),
"dockerBuildArgs": map[string]*string{
"dockerBuildArgsKey": jsii.String("dockerBuildArgs"),
},
"dockerBuildSecrets": map[string]*string{
"dockerBuildSecretsKey": jsii.String("dockerBuildSecrets"),
},
"dockerBuildSsh": jsii.String("dockerBuildSsh"),
"dockerBuildTarget": jsii.String("dockerBuildTarget"),
"dockerFile": jsii.String("dockerFile"),
"dockerOutputs": []*string{
jsii.String("dockerOutputs"),
},
"executable": []*string{
jsii.String("executable"),
},
"networkMode": jsii.String("networkMode"),
"platform": jsii.String("platform"),
},
},
},
Files: map[string]fileAsset{
"filesKey": &fileAsset{
"destinations": map[string]FileDestination{
"destinationsKey": &FileDestination{
"bucketName": jsii.String("bucketName"),
"objectKey": jsii.String("objectKey"),
// the properties below are optional
"assumeRoleArn": jsii.String("assumeRoleArn"),
"assumeRoleExternalId": jsii.String("assumeRoleExternalId"),
"region": jsii.String("region"),
},
},
"source": &FileSource{
"executable": []*string{
jsii.String("executable"),
},
"packaging": awscdk.cloud_assembly_schema.FileAssetPackaging_FILE,
"path": jsii.String("path"),
},
},
},
}
func Manifest_LoadAssetManifest ¶
func Manifest_LoadAssetManifest(filePath *string) *AssetManifest
Load and validates the asset manifest from file.
type AssetManifestOptions ¶ added in v2.45.0
type AssetManifestOptions struct {
// 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.
// Default: - Bootstrap stack version number looked up.
//
BootstrapStackVersionSsmParameter *string `field:"optional" json:"bootstrapStackVersionSsmParameter" yaml:"bootstrapStackVersionSsmParameter"`
// Version of bootstrap stack required to deploy this stack.
// Default: - Version 1 (basic modern bootstrap stack).
//
RequiresBootstrapStackVersion *float64 `field:"optional" json:"requiresBootstrapStackVersion" yaml:"requiresBootstrapStackVersion"`
}
Configuration options for the Asset Manifest.
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
assetManifestOptions := &AssetManifestOptions{
BootstrapStackVersionSsmParameter: jsii.String("bootstrapStackVersionSsmParameter"),
RequiresBootstrapStackVersion: jsii.Number(123),
}
type AssetManifestProperties ¶
type AssetManifestProperties struct {
// 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.
// Default: - Bootstrap stack version number looked up.
//
BootstrapStackVersionSsmParameter *string `field:"optional" json:"bootstrapStackVersionSsmParameter" yaml:"bootstrapStackVersionSsmParameter"`
// Version of bootstrap stack required to deploy this stack.
// Default: - Version 1 (basic modern bootstrap stack).
//
RequiresBootstrapStackVersion *float64 `field:"optional" json:"requiresBootstrapStackVersion" yaml:"requiresBootstrapStackVersion"`
// Filename of the asset manifest.
File *string `field:"required" json:"file" yaml:"file"`
}
Artifact properties for the Asset Manifest.
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
assetManifestProperties := &AssetManifestProperties{
File: jsii.String("file"),
// the properties below are optional
BootstrapStackVersionSsmParameter: jsii.String("bootstrapStackVersionSsmParameter"),
RequiresBootstrapStackVersion: jsii.Number(123),
}
type AvailabilityZonesContextQuery ¶
type AvailabilityZonesContextQuery struct {
// Query account.
Account *string `field:"required" json:"account" yaml:"account"`
// Query region.
Region *string `field:"required" json:"region" yaml:"region"`
// The ARN of the role that should be used to look up the missing values.
// Default: - None.
//
LookupRoleArn *string `field:"optional" json:"lookupRoleArn" yaml:"lookupRoleArn"`
}
Query to availability zone context provider.
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
availabilityZonesContextQuery := &AvailabilityZonesContextQuery{
Account: jsii.String("account"),
Region: jsii.String("region"),
// the properties below are optional
LookupRoleArn: jsii.String("lookupRoleArn"),
}
type AwsCloudFormationStackProperties ¶
type AwsCloudFormationStackProperties struct {
// A file relative to the assembly root which contains the CloudFormation template for this stack.
TemplateFile *string `field:"required" json:"templateFile" yaml:"templateFile"`
// The role that needs to be assumed to deploy the stack.
// Default: - No role is assumed (current credentials are used).
//
AssumeRoleArn *string `field:"optional" json:"assumeRoleArn" yaml:"assumeRoleArn"`
// External ID to use when assuming role for cloudformation deployments.
// Default: - No external ID.
//
AssumeRoleExternalId *string `field:"optional" json:"assumeRoleExternalId" yaml:"assumeRoleExternalId"`
// 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.
// Default: - Bootstrap stack version number looked up.
//
BootstrapStackVersionSsmParameter *string `field:"optional" json:"bootstrapStackVersionSsmParameter" yaml:"bootstrapStackVersionSsmParameter"`
// The role that is passed to CloudFormation to execute the change set.
// Default: - No role is passed (currently assumed role/credentials are used).
//
CloudFormationExecutionRoleArn *string `field:"optional" json:"cloudFormationExecutionRoleArn" yaml:"cloudFormationExecutionRoleArn"`
// The role to use to look up values from the target AWS account.
// Default: - No role is assumed (current credentials are used).
//
LookupRole *BootstrapRole `field:"optional" json:"lookupRole" yaml:"lookupRole"`
// Values for CloudFormation stack parameters that should be passed when the stack is deployed.
// Default: - No parameters.
//
Parameters *map[string]*string `field:"optional" json:"parameters" yaml:"parameters"`
// Version of bootstrap stack required to deploy this stack.
// Default: - No bootstrap stack required.
//
RequiresBootstrapStackVersion *float64 `field:"optional" json:"requiresBootstrapStackVersion" yaml:"requiresBootstrapStackVersion"`
// The name to use for the CloudFormation stack.
// Default: - name derived from artifact ID.
//
StackName *string `field:"optional" json:"stackName" yaml:"stackName"`
// If the stack template has already been included in the asset manifest, its asset URL.
// Default: - Not uploaded yet, upload just before deploying.
//
StackTemplateAssetObjectUrl *string `field:"optional" json:"stackTemplateAssetObjectUrl" yaml:"stackTemplateAssetObjectUrl"`
// Values for CloudFormation stack tags that should be passed when the stack is deployed.
// Default: - No tags.
//
Tags *map[string]*string `field:"optional" json:"tags" yaml:"tags"`
// Whether to enable termination protection for this stack.
// Default: false.
//
TerminationProtection *bool `field:"optional" json:"terminationProtection" yaml:"terminationProtection"`
// Whether this stack should be validated by the CLI after synthesis.
// Default: - false.
//
ValidateOnSynth *bool `field:"optional" json:"validateOnSynth" yaml:"validateOnSynth"`
}
Artifact properties for CloudFormation stacks.
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
awsCloudFormationStackProperties := &AwsCloudFormationStackProperties{
TemplateFile: jsii.String("templateFile"),
// the properties below are optional
AssumeRoleArn: jsii.String("assumeRoleArn"),
AssumeRoleExternalId: jsii.String("assumeRoleExternalId"),
BootstrapStackVersionSsmParameter: jsii.String("bootstrapStackVersionSsmParameter"),
CloudFormationExecutionRoleArn: jsii.String("cloudFormationExecutionRoleArn"),
LookupRole: &BootstrapRole{
Arn: jsii.String("arn"),
// the properties below are optional
AssumeRoleExternalId: jsii.String("assumeRoleExternalId"),
BootstrapStackVersionSsmParameter: jsii.String("bootstrapStackVersionSsmParameter"),
RequiresBootstrapStackVersion: jsii.Number(123),
},
Parameters: map[string]*string{
"parametersKey": jsii.String("parameters"),
},
RequiresBootstrapStackVersion: jsii.Number(123),
StackName: jsii.String("stackName"),
StackTemplateAssetObjectUrl: jsii.String("stackTemplateAssetObjectUrl"),
Tags: map[string]*string{
"tagsKey": jsii.String("tags"),
},
TerminationProtection: jsii.Boolean(false),
ValidateOnSynth: jsii.Boolean(false),
}
type AwsDestination ¶
type AwsDestination struct {
// The role that needs to be assumed while publishing this asset.
// Default: - No role will be assumed.
//
AssumeRoleArn *string `field:"optional" json:"assumeRoleArn" yaml:"assumeRoleArn"`
// The ExternalId that needs to be supplied while assuming this role.
// Default: - No ExternalId will be supplied.
//
AssumeRoleExternalId *string `field:"optional" json:"assumeRoleExternalId" yaml:"assumeRoleExternalId"`
// The region where this asset will need to be published.
// Default: - Current region.
//
Region *string `field:"optional" json:"region" yaml:"region"`
}
Destination for assets that need to be uploaded to AWS.
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
awsDestination := &AwsDestination{
AssumeRoleArn: jsii.String("assumeRoleArn"),
AssumeRoleExternalId: jsii.String("assumeRoleExternalId"),
Region: jsii.String("region"),
}
type BootstrapRole ¶ added in v2.7.0
type BootstrapRole struct {
// The ARN of the IAM role created as part of bootrapping e.g. lookupRoleArn.
Arn *string `field:"required" json:"arn" yaml:"arn"`
// External ID to use when assuming the bootstrap role.
// Default: - No external ID.
//
AssumeRoleExternalId *string `field:"optional" json:"assumeRoleExternalId" yaml:"assumeRoleExternalId"`
// Name of SSM parameter with bootstrap stack version.
// Default: - Discover SSM parameter by reading stack.
//
BootstrapStackVersionSsmParameter *string `field:"optional" json:"bootstrapStackVersionSsmParameter" yaml:"bootstrapStackVersionSsmParameter"`
// Version of bootstrap stack required to use this role.
// Default: - No bootstrap stack required.
//
RequiresBootstrapStackVersion *float64 `field:"optional" json:"requiresBootstrapStackVersion" yaml:"requiresBootstrapStackVersion"`
}
Information needed to access an IAM role created as part of the bootstrap process.
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
bootstrapRole := &BootstrapRole{
Arn: jsii.String("arn"),
// the properties below are optional
AssumeRoleExternalId: jsii.String("assumeRoleExternalId"),
BootstrapStackVersionSsmParameter: jsii.String("bootstrapStackVersionSsmParameter"),
RequiresBootstrapStackVersion: jsii.Number(123),
}
type CdkCommand ¶ added in v2.20.0
type CdkCommand struct {
// Whether or not to run this command as part of the workflow This can be used if you only want to test some of the workflow for example enable `synth` and disable `deploy` & `destroy` in order to limit the test to synthesis.
// Default: true.
//
Enabled *bool `field:"optional" json:"enabled" yaml:"enabled"`
// This can be used in combination with `expectedError` to validate that a specific message is returned.
// Default: - do not validate message.
//
ExpectedMessage *string `field:"optional" json:"expectedMessage" yaml:"expectedMessage"`
// If the runner should expect this command to fail.
// Default: false.
//
ExpectError *bool `field:"optional" json:"expectError" yaml:"expectError"`
}
Represents a cdk command i.e. `synth`, `deploy`, & `destroy`.
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
cdkCommand := &CdkCommand{
Enabled: jsii.Boolean(false),
ExpectedMessage: jsii.String("expectedMessage"),
ExpectError: jsii.Boolean(false),
}
type CdkCommands ¶ added in v2.20.0
type CdkCommands struct {
// Options to for the cdk deploy command.
// Default: - default deploy options.
//
Deploy *DeployCommand `field:"optional" json:"deploy" yaml:"deploy"`
// Options to for the cdk destroy command.
// Default: - default destroy options.
//
Destroy *DestroyCommand `field:"optional" json:"destroy" yaml:"destroy"`
}
Options for specific cdk commands that are run as part of the integration test workflow.
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
cdkCommands := &CdkCommands{
Deploy: &DeployCommand{
Args: &DeployOptions{
All: jsii.Boolean(false),
App: jsii.String("app"),
AssetMetadata: jsii.Boolean(false),
CaBundlePath: jsii.String("caBundlePath"),
ChangeSetName: jsii.String("changeSetName"),
Ci: jsii.Boolean(false),
Color: jsii.Boolean(false),
Concurrency: jsii.Number(123),
Context: map[string]*string{
"contextKey": jsii.String("context"),
},
Debug: jsii.Boolean(false),
Ec2Creds: jsii.Boolean(false),
Exclusively: jsii.Boolean(false),
Execute: jsii.Boolean(false),
Force: jsii.Boolean(false),
IgnoreErrors: jsii.Boolean(false),
Json: jsii.Boolean(false),
Lookups: jsii.Boolean(false),
Notices: jsii.Boolean(false),
NotificationArns: []*string{
jsii.String("notificationArns"),
},
Output: jsii.String("output"),
OutputsFile: jsii.String("outputsFile"),
Parameters: map[string]*string{
"parametersKey": jsii.String("parameters"),
},
PathMetadata: jsii.Boolean(false),
Profile: jsii.String("profile"),
Proxy: jsii.String("proxy"),
RequireApproval: awscdk.Cloud_assembly_schema.RequireApproval_NEVER,
ReuseAssets: []*string{
jsii.String("reuseAssets"),
},
RoleArn: jsii.String("roleArn"),
Rollback: jsii.Boolean(false),
Stacks: []*string{
jsii.String("stacks"),
},
Staging: jsii.Boolean(false),
Strict: jsii.Boolean(false),
ToolkitStackName: jsii.String("toolkitStackName"),
Trace: jsii.Boolean(false),
UsePreviousParameters: jsii.Boolean(false),
Verbose: jsii.Boolean(false),
VersionReporting: jsii.Boolean(false),
},
Enabled: jsii.Boolean(false),
ExpectedMessage: jsii.String("expectedMessage"),
ExpectError: jsii.Boolean(false),
},
Destroy: &DestroyCommand{
Args: &DestroyOptions{
All: jsii.Boolean(false),
App: jsii.String("app"),
AssetMetadata: jsii.Boolean(false),
CaBundlePath: jsii.String("caBundlePath"),
Color: jsii.Boolean(false),
Context: map[string]*string{
"contextKey": jsii.String("context"),
},
Debug: jsii.Boolean(false),
Ec2Creds: jsii.Boolean(false),
Exclusively: jsii.Boolean(false),
Force: jsii.Boolean(false),
IgnoreErrors: jsii.Boolean(false),
Json: jsii.Boolean(false),
Lookups: jsii.Boolean(false),
Notices: jsii.Boolean(false),
Output: jsii.String("output"),
PathMetadata: jsii.Boolean(false),
Profile: jsii.String("profile"),
Proxy: jsii.String("proxy"),
RoleArn: jsii.String("roleArn"),
Stacks: []*string{
jsii.String("stacks"),
},
Staging: jsii.Boolean(false),
Strict: jsii.Boolean(false),
Trace: jsii.Boolean(false),
Verbose: jsii.Boolean(false),
VersionReporting: jsii.Boolean(false),
},
Enabled: jsii.Boolean(false),
ExpectedMessage: jsii.String("expectedMessage"),
ExpectError: jsii.Boolean(false),
},
}
type ContainerImageAssetCacheOption ¶ added in v2.69.0
type ContainerImageAssetCacheOption struct {
// The type of cache to use.
//
// Refer to https://docs.docker.com/build/cache/backends/ for full list of backends.
//
// Example:
// "registry"
//
// Default: - unspecified.
//
Type *string `field:"required" json:"type" yaml:"type"`
// Any parameters to pass into the docker cache backend configuration.
//
// Refer to https://docs.docker.com/build/cache/backends/ for cache backend configuration.
//
// Example:
// var branch string
//
//
// params := map[string]interface{}{
// "ref": fmt.Sprintf("12345678.dkr.ecr.us-west-2.amazonaws.com/cache:%v", branch),
// "mode": jsii.String("max"),
// }
//
// Default: {} No options provided.
//
Params *map[string]*string `field:"optional" json:"params" yaml:"params"`
}
Options for configuring the Docker cache backend.
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
containerImageAssetCacheOption := &ContainerImageAssetCacheOption{
Type: jsii.String("type"),
// the properties below are optional
Params: map[string]*string{
"paramsKey": jsii.String("params"),
},
}
type ContainerImageAssetMetadataEntry ¶
type ContainerImageAssetMetadataEntry struct {
// Logical identifier for the asset.
Id *string `field:"required" json:"id" yaml:"id"`
// Type of asset.
Packaging *string `field:"required" json:"packaging" yaml:"packaging"`
// Path on disk to the asset.
Path *string `field:"required" json:"path" yaml:"path"`
// The hash of the asset source.
SourceHash *string `field:"required" json:"sourceHash" yaml:"sourceHash"`
// Build args to pass to the `docker build` command.
// Default: no build args are passed.
//
BuildArgs *map[string]*string `field:"optional" json:"buildArgs" yaml:"buildArgs"`
// Build secrets to pass to the `docker build` command.
// Default: no build secrets are passed.
//
BuildSecrets *map[string]*string `field:"optional" json:"buildSecrets" yaml:"buildSecrets"`
// SSH agent socket or keys to pass to the `docker build` command.
// Default: no ssh arg is passed.
//
BuildSsh *string `field:"optional" json:"buildSsh" yaml:"buildSsh"`
// Disable the cache and pass `--no-cache` to the `docker build` command.
// Default: - cache is used.
//
CacheDisabled *bool `field:"optional" json:"cacheDisabled" yaml:"cacheDisabled"`
// Cache from options to pass to the `docker build` command.
// See: https://docs.docker.com/build/cache/backends/
//
// Default: - no cache from options are passed to the build command.
//
CacheFrom *[]*ContainerImageAssetCacheOption `field:"optional" json:"cacheFrom" yaml:"cacheFrom"`
// Cache to options to pass to the `docker build` command.
// See: https://docs.docker.com/build/cache/backends/
//
// Default: - no cache to options are passed to the build command.
//
CacheTo *ContainerImageAssetCacheOption `field:"optional" json:"cacheTo" yaml:"cacheTo"`
// Path to the Dockerfile (relative to the directory).
// Default: - no file is passed.
//
File *string `field:"optional" json:"file" yaml:"file"`
// 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).
// Default: - this parameter is REQUIRED after 1.21.0
//
ImageTag *string `field:"optional" json:"imageTag" yaml:"imageTag"`
// Networking mode for the RUN commands during build.
// Default: - no networking mode specified.
//
NetworkMode *string `field:"optional" json:"networkMode" yaml:"networkMode"`
// Outputs to pass to the `docker build` command.
// See: https://docs.docker.com/engine/reference/commandline/build/#custom-build-outputs
//
// Default: - no outputs are passed to the build command (default outputs are used).
//
Outputs *[]*string `field:"optional" json:"outputs" yaml:"outputs"`
// Platform to build for.
//
// _Requires Docker Buildx_.
// Default: - current machine platform.
//
Platform *string `field:"optional" json:"platform" yaml:"platform"`
// 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.
// Default: - this parameter is REQUIRED after 1.21.0
//
RepositoryName *string `field:"optional" json:"repositoryName" yaml:"repositoryName"`
// Docker target to build to.
// Default: no build target.
//
Target *string `field:"optional" json:"target" yaml:"target"`
}
Metadata Entry spec for container images.
Example:
entry := map[string]*string{
"packaging": jsii.String("container-image"),
"repositoryName": jsii.String("repository-name"),
"imageTag": jsii.String("tag"),
}
type ContextProvider ¶
type ContextProvider string
Identifier for the context provider.
const ( // AMI provider. ContextProvider_AMI_PROVIDER ContextProvider = "AMI_PROVIDER" // AZ provider. ContextProvider_AVAILABILITY_ZONE_PROVIDER ContextProvider = "AVAILABILITY_ZONE_PROVIDER" // Route53 Hosted Zone provider. ContextProvider_HOSTED_ZONE_PROVIDER ContextProvider = "HOSTED_ZONE_PROVIDER" // SSM Parameter Provider. ContextProvider_SSM_PARAMETER_PROVIDER ContextProvider = "SSM_PARAMETER_PROVIDER" // VPC Provider. ContextProvider_VPC_PROVIDER ContextProvider = "VPC_PROVIDER" // VPC Endpoint Service AZ Provider. ContextProvider_ENDPOINT_SERVICE_AVAILABILITY_ZONE_PROVIDER ContextProvider = "ENDPOINT_SERVICE_AVAILABILITY_ZONE_PROVIDER" // Load balancer provider. ContextProvider_LOAD_BALANCER_PROVIDER ContextProvider = "LOAD_BALANCER_PROVIDER" // Load balancer listener provider. ContextProvider_LOAD_BALANCER_LISTENER_PROVIDER ContextProvider = "LOAD_BALANCER_LISTENER_PROVIDER" // Security group provider. ContextProvider_SECURITY_GROUP_PROVIDER ContextProvider = "SECURITY_GROUP_PROVIDER" // KMS Key Provider. ContextProvider_KEY_PROVIDER ContextProvider = "KEY_PROVIDER" // A plugin provider (the actual plugin name will be in the properties). ContextProvider_PLUGIN ContextProvider = "PLUGIN" )
type DefaultCdkOptions ¶ added in v2.20.0
type DefaultCdkOptions struct {
// Deploy all stacks.
//
// Requried if `stacks` is not set.
// Default: - false.
//
All *bool `field:"optional" json:"all" yaml:"all"`
// command-line for executing your app or a cloud assembly directory e.g. "node bin/my-app.js" or "cdk.out".
// Default: - read from cdk.json
//
App *string `field:"optional" json:"app" yaml:"app"`
// Include "aws:asset:*" CloudFormation metadata for resources that use assets.
// Default: true.
//
AssetMetadata *bool `field:"optional" json:"assetMetadata" yaml:"assetMetadata"`
// Path to CA certificate to use when validating HTTPS requests.
// Default: - read from AWS_CA_BUNDLE environment variable.
//
CaBundlePath *string `field:"optional" json:"caBundlePath" yaml:"caBundlePath"`
// Show colors and other style from console output.
// Default: true.
//
Color *bool `field:"optional" json:"color" yaml:"color"`
// Additional context.
// Default: - no additional context.
//
Context *map[string]*string `field:"optional" json:"context" yaml:"context"`
// enable emission of additional debugging information, such as creation stack traces of tokens.
// Default: false.
//
Debug *bool `field:"optional" json:"debug" yaml:"debug"`
// Force trying to fetch EC2 instance credentials.
// Default: - guess EC2 instance status.
//
Ec2Creds *bool `field:"optional" json:"ec2Creds" yaml:"ec2Creds"`
// Ignores synthesis errors, which will likely produce an invalid output.
// Default: false.
//
IgnoreErrors *bool `field:"optional" json:"ignoreErrors" yaml:"ignoreErrors"`
// Use JSON output instead of YAML when templates are printed to STDOUT.
// Default: false.
//
Json *bool `field:"optional" json:"json" yaml:"json"`
// Perform context lookups.
//
// Synthesis fails if this is disabled and context lookups need
// to be performed.
// Default: true.
//
Lookups *bool `field:"optional" json:"lookups" yaml:"lookups"`
// Show relevant notices.
// Default: true.
//
Notices *bool `field:"optional" json:"notices" yaml:"notices"`
// Emits the synthesized cloud assembly into a directory.
// Default: cdk.out
//
Output *string `field:"optional" json:"output" yaml:"output"`
// Include "aws:cdk:path" CloudFormation metadata for each resource.
// Default: true.
//
PathMetadata *bool `field:"optional" json:"pathMetadata" yaml:"pathMetadata"`
// Use the indicated AWS profile as the default environment.
// Default: - no profile is used.
//
Profile *string `field:"optional" json:"profile" yaml:"profile"`
// Use the indicated proxy.
//
// Will read from
// HTTPS_PROXY environment if specified.
// Default: - no proxy.
//
Proxy *string `field:"optional" json:"proxy" yaml:"proxy"`
// Role to pass to CloudFormation for deployment.
// Default: - use the bootstrap cfn-exec role.
//
RoleArn *string `field:"optional" json:"roleArn" yaml:"roleArn"`
// List of stacks to deploy.
//
// Requried if `all` is not set.
// Default: - [].
//
Stacks *[]*string `field:"optional" json:"stacks" yaml:"stacks"`
// Copy assets to the output directory.
//
// Needed for local debugging the source files with SAM CLI.
// Default: false.
//
Staging *bool `field:"optional" json:"staging" yaml:"staging"`
// Do not construct stacks with warnings.
// Default: false.
//
Strict *bool `field:"optional" json:"strict" yaml:"strict"`
// Print trace for stack warnings.
// Default: false.
//
Trace *bool `field:"optional" json:"trace" yaml:"trace"`
// show debug logs.
// Default: false.
//
Verbose *bool `field:"optional" json:"verbose" yaml:"verbose"`
// Include "AWS::CDK::Metadata" resource in synthesized templates.
// Default: true.
//
VersionReporting *bool `field:"optional" json:"versionReporting" yaml:"versionReporting"`
}
Default CDK CLI options that apply to all commands.
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
defaultCdkOptions := &DefaultCdkOptions{
All: jsii.Boolean(false),
App: jsii.String("app"),
AssetMetadata: jsii.Boolean(false),
CaBundlePath: jsii.String("caBundlePath"),
Color: jsii.Boolean(false),
Context: map[string]*string{
"contextKey": jsii.String("context"),
},
Debug: jsii.Boolean(false),
Ec2Creds: jsii.Boolean(false),
IgnoreErrors: jsii.Boolean(false),
Json: jsii.Boolean(false),
Lookups: jsii.Boolean(false),
Notices: jsii.Boolean(false),
Output: jsii.String("output"),
PathMetadata: jsii.Boolean(false),
Profile: jsii.String("profile"),
Proxy: jsii.String("proxy"),
RoleArn: jsii.String("roleArn"),
Stacks: []*string{
jsii.String("stacks"),
},
Staging: jsii.Boolean(false),
Strict: jsii.Boolean(false),
Trace: jsii.Boolean(false),
Verbose: jsii.Boolean(false),
VersionReporting: jsii.Boolean(false),
}
type DeployCommand ¶ added in v2.20.0
type DeployCommand struct {
// Whether or not to run this command as part of the workflow This can be used if you only want to test some of the workflow for example enable `synth` and disable `deploy` & `destroy` in order to limit the test to synthesis.
// Default: true.
//
Enabled *bool `field:"optional" json:"enabled" yaml:"enabled"`
// This can be used in combination with `expectedError` to validate that a specific message is returned.
// Default: - do not validate message.
//
ExpectedMessage *string `field:"optional" json:"expectedMessage" yaml:"expectedMessage"`
// If the runner should expect this command to fail.
// Default: false.
//
ExpectError *bool `field:"optional" json:"expectError" yaml:"expectError"`
// Additional arguments to pass to the command This can be used to test specific CLI functionality.
// Default: - only default args are used.
//
Args *DeployOptions `field:"optional" json:"args" yaml:"args"`
}
Represents a cdk deploy command.
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
deployCommand := &DeployCommand{
Args: &DeployOptions{
All: jsii.Boolean(false),
App: jsii.String("app"),
AssetMetadata: jsii.Boolean(false),
CaBundlePath: jsii.String("caBundlePath"),
ChangeSetName: jsii.String("changeSetName"),
Ci: jsii.Boolean(false),
Color: jsii.Boolean(false),
Concurrency: jsii.Number(123),
Context: map[string]*string{
"contextKey": jsii.String("context"),
},
Debug: jsii.Boolean(false),
Ec2Creds: jsii.Boolean(false),
Exclusively: jsii.Boolean(false),
Execute: jsii.Boolean(false),
Force: jsii.Boolean(false),
IgnoreErrors: jsii.Boolean(false),
Json: jsii.Boolean(false),
Lookups: jsii.Boolean(false),
Notices: jsii.Boolean(false),
NotificationArns: []*string{
jsii.String("notificationArns"),
},
Output: jsii.String("output"),
OutputsFile: jsii.String("outputsFile"),
Parameters: map[string]*string{
"parametersKey": jsii.String("parameters"),
},
PathMetadata: jsii.Boolean(false),
Profile: jsii.String("profile"),
Proxy: jsii.String("proxy"),
RequireApproval: awscdk.Cloud_assembly_schema.RequireApproval_NEVER,
ReuseAssets: []*string{
jsii.String("reuseAssets"),
},
RoleArn: jsii.String("roleArn"),
Rollback: jsii.Boolean(false),
Stacks: []*string{
jsii.String("stacks"),
},
Staging: jsii.Boolean(false),
Strict: jsii.Boolean(false),
ToolkitStackName: jsii.String("toolkitStackName"),
Trace: jsii.Boolean(false),
UsePreviousParameters: jsii.Boolean(false),
Verbose: jsii.Boolean(false),
VersionReporting: jsii.Boolean(false),
},
Enabled: jsii.Boolean(false),
ExpectedMessage: jsii.String("expectedMessage"),
ExpectError: jsii.Boolean(false),
}
type DeployOptions ¶ added in v2.20.0
type DeployOptions struct {
// Deploy all stacks.
//
// Requried if `stacks` is not set.
// Default: - false.
//
All *bool `field:"optional" json:"all" yaml:"all"`
// command-line for executing your app or a cloud assembly directory e.g. "node bin/my-app.js" or "cdk.out".
// Default: - read from cdk.json
//
App *string `field:"optional" json:"app" yaml:"app"`
// Include "aws:asset:*" CloudFormation metadata for resources that use assets.
// Default: true.
//
AssetMetadata *bool `field:"optional" json:"assetMetadata" yaml:"assetMetadata"`
// Path to CA certificate to use when validating HTTPS requests.
// Default: - read from AWS_CA_BUNDLE environment variable.
//
CaBundlePath *string `field:"optional" json:"caBundlePath" yaml:"caBundlePath"`
// Show colors and other style from console output.
// Default: true.
//
Color *bool `field:"optional" json:"color" yaml:"color"`
// Additional context.
// Default: - no additional context.
//
Context *map[string]*string `field:"optional" json:"context" yaml:"context"`
// enable emission of additional debugging information, such as creation stack traces of tokens.
// Default: false.
//
Debug *bool `field:"optional" json:"debug" yaml:"debug"`
// Force trying to fetch EC2 instance credentials.
// Default: - guess EC2 instance status.
//
Ec2Creds *bool `field:"optional" json:"ec2Creds" yaml:"ec2Creds"`
// Ignores synthesis errors, which will likely produce an invalid output.
// Default: false.
//
IgnoreErrors *bool `field:"optional" json:"ignoreErrors" yaml:"ignoreErrors"`
// Use JSON output instead of YAML when templates are printed to STDOUT.
// Default: false.
//
Json *bool `field:"optional" json:"json" yaml:"json"`
// Perform context lookups.
//
// Synthesis fails if this is disabled and context lookups need
// to be performed.
// Default: true.
//
Lookups *bool `field:"optional" json:"lookups" yaml:"lookups"`
// Show relevant notices.
// Default: true.
//
Notices *bool `field:"optional" json:"notices" yaml:"notices"`
// Emits the synthesized cloud assembly into a directory.
// Default: cdk.out
//
Output *string `field:"optional" json:"output" yaml:"output"`
// Include "aws:cdk:path" CloudFormation metadata for each resource.
// Default: true.
//
PathMetadata *bool `field:"optional" json:"pathMetadata" yaml:"pathMetadata"`
// Use the indicated AWS profile as the default environment.
// Default: - no profile is used.
//
Profile *string `field:"optional" json:"profile" yaml:"profile"`
// Use the indicated proxy.
//
// Will read from
// HTTPS_PROXY environment if specified.
// Default: - no proxy.
//
Proxy *string `field:"optional" json:"proxy" yaml:"proxy"`
// Role to pass to CloudFormation for deployment.
// Default: - use the bootstrap cfn-exec role.
//
RoleArn *string `field:"optional" json:"roleArn" yaml:"roleArn"`
// List of stacks to deploy.
//
// Requried if `all` is not set.
// Default: - [].
//
Stacks *[]*string `field:"optional" json:"stacks" yaml:"stacks"`
// Copy assets to the output directory.
//
// Needed for local debugging the source files with SAM CLI.
// Default: false.
//
Staging *bool `field:"optional" json:"staging" yaml:"staging"`
// Do not construct stacks with warnings.
// Default: false.
//
Strict *bool `field:"optional" json:"strict" yaml:"strict"`
// Print trace for stack warnings.
// Default: false.
//
Trace *bool `field:"optional" json:"trace" yaml:"trace"`
// show debug logs.
// Default: false.
//
Verbose *bool `field:"optional" json:"verbose" yaml:"verbose"`
// Include "AWS::CDK::Metadata" resource in synthesized templates.
// Default: true.
//
VersionReporting *bool `field:"optional" json:"versionReporting" yaml:"versionReporting"`
// Optional name to use for the CloudFormation change set.
//
// If not provided, a name will be generated automatically.
// Default: - auto generate a name.
//
ChangeSetName *string `field:"optional" json:"changeSetName" yaml:"changeSetName"`
// Whether we are on a CI system.
// Default: false.
//
Ci *bool `field:"optional" json:"ci" yaml:"ci"`
// Deploy multiple stacks in parallel.
// Default: 1.
//
Concurrency *float64 `field:"optional" json:"concurrency" yaml:"concurrency"`
// Only perform action on the given stack.
// Default: false.
//
Exclusively *bool `field:"optional" json:"exclusively" yaml:"exclusively"`
// Whether to execute the ChangeSet Not providing `execute` parameter will result in execution of ChangeSet.
// Default: true.
//
Execute *bool `field:"optional" json:"execute" yaml:"execute"`
// Always deploy, even if templates are identical.
// Default: false.
//
Force *bool `field:"optional" json:"force" yaml:"force"`
// ARNs of SNS topics that CloudFormation will notify with stack related events.
// Default: - no notifications.
//
NotificationArns *[]*string `field:"optional" json:"notificationArns" yaml:"notificationArns"`
// Path to file where stack outputs will be written after a successful deploy as JSON.
// Default: - Outputs are not written to any file.
//
OutputsFile *string `field:"optional" json:"outputsFile" yaml:"outputsFile"`
// Additional parameters for CloudFormation at deploy time.
// Default: {}.
//
Parameters *map[string]*string `field:"optional" json:"parameters" yaml:"parameters"`
// What kind of security changes require approval.
// Default: RequireApproval.Never
//
RequireApproval RequireApproval `field:"optional" json:"requireApproval" yaml:"requireApproval"`
// Reuse the assets with the given asset IDs.
// Default: - do not reuse assets.
//
ReuseAssets *[]*string `field:"optional" json:"reuseAssets" yaml:"reuseAssets"`
// Rollback failed deployments.
// Default: true.
//
Rollback *bool `field:"optional" json:"rollback" yaml:"rollback"`
// Name of the toolkit stack to use/deploy.
// Default: CDKToolkit.
//
ToolkitStackName *string `field:"optional" json:"toolkitStackName" yaml:"toolkitStackName"`
// Use previous values for unspecified parameters.
//
// If not set, all parameters must be specified for every deployment.
// Default: true.
//
UsePreviousParameters *bool `field:"optional" json:"usePreviousParameters" yaml:"usePreviousParameters"`
}
Options to use with cdk deploy.
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
deployOptions := &DeployOptions{
All: jsii.Boolean(false),
App: jsii.String("app"),
AssetMetadata: jsii.Boolean(false),
CaBundlePath: jsii.String("caBundlePath"),
ChangeSetName: jsii.String("changeSetName"),
Ci: jsii.Boolean(false),
Color: jsii.Boolean(false),
Concurrency: jsii.Number(123),
Context: map[string]*string{
"contextKey": jsii.String("context"),
},
Debug: jsii.Boolean(false),
Ec2Creds: jsii.Boolean(false),
Exclusively: jsii.Boolean(false),
Execute: jsii.Boolean(false),
Force: jsii.Boolean(false),
IgnoreErrors: jsii.Boolean(false),
Json: jsii.Boolean(false),
Lookups: jsii.Boolean(false),
Notices: jsii.Boolean(false),
NotificationArns: []*string{
jsii.String("notificationArns"),
},
Output: jsii.String("output"),
OutputsFile: jsii.String("outputsFile"),
Parameters: map[string]*string{
"parametersKey": jsii.String("parameters"),
},
PathMetadata: jsii.Boolean(false),
Profile: jsii.String("profile"),
Proxy: jsii.String("proxy"),
RequireApproval: awscdk.Cloud_assembly_schema.RequireApproval_NEVER,
ReuseAssets: []*string{
jsii.String("reuseAssets"),
},
RoleArn: jsii.String("roleArn"),
Rollback: jsii.Boolean(false),
Stacks: []*string{
jsii.String("stacks"),
},
Staging: jsii.Boolean(false),
Strict: jsii.Boolean(false),
ToolkitStackName: jsii.String("toolkitStackName"),
Trace: jsii.Boolean(false),
UsePreviousParameters: jsii.Boolean(false),
Verbose: jsii.Boolean(false),
VersionReporting: jsii.Boolean(false),
}
type DestroyCommand ¶ added in v2.20.0
type DestroyCommand struct {
// Whether or not to run this command as part of the workflow This can be used if you only want to test some of the workflow for example enable `synth` and disable `deploy` & `destroy` in order to limit the test to synthesis.
// Default: true.
//
Enabled *bool `field:"optional" json:"enabled" yaml:"enabled"`
// This can be used in combination with `expectedError` to validate that a specific message is returned.
// Default: - do not validate message.
//
ExpectedMessage *string `field:"optional" json:"expectedMessage" yaml:"expectedMessage"`
// If the runner should expect this command to fail.
// Default: false.
//
ExpectError *bool `field:"optional" json:"expectError" yaml:"expectError"`
// Additional arguments to pass to the command This can be used to test specific CLI functionality.
// Default: - only default args are used.
//
Args *DestroyOptions `field:"optional" json:"args" yaml:"args"`
}
Represents a cdk destroy command.
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
destroyCommand := &DestroyCommand{
Args: &DestroyOptions{
All: jsii.Boolean(false),
App: jsii.String("app"),
AssetMetadata: jsii.Boolean(false),
CaBundlePath: jsii.String("caBundlePath"),
Color: jsii.Boolean(false),
Context: map[string]*string{
"contextKey": jsii.String("context"),
},
Debug: jsii.Boolean(false),
Ec2Creds: jsii.Boolean(false),
Exclusively: jsii.Boolean(false),
Force: jsii.Boolean(false),
IgnoreErrors: jsii.Boolean(false),
Json: jsii.Boolean(false),
Lookups: jsii.Boolean(false),
Notices: jsii.Boolean(false),
Output: jsii.String("output"),
PathMetadata: jsii.Boolean(false),
Profile: jsii.String("profile"),
Proxy: jsii.String("proxy"),
RoleArn: jsii.String("roleArn"),
Stacks: []*string{
jsii.String("stacks"),
},
Staging: jsii.Boolean(false),
Strict: jsii.Boolean(false),
Trace: jsii.Boolean(false),
Verbose: jsii.Boolean(false),
VersionReporting: jsii.Boolean(false),
},
Enabled: jsii.Boolean(false),
ExpectedMessage: jsii.String("expectedMessage"),
ExpectError: jsii.Boolean(false),
}
type DestroyOptions ¶ added in v2.20.0
type DestroyOptions struct {
// Deploy all stacks.
//
// Requried if `stacks` is not set.
// Default: - false.
//
All *bool `field:"optional" json:"all" yaml:"all"`
// command-line for executing your app or a cloud assembly directory e.g. "node bin/my-app.js" or "cdk.out".
// Default: - read from cdk.json
//
App *string `field:"optional" json:"app" yaml:"app"`
// Include "aws:asset:*" CloudFormation metadata for resources that use assets.
// Default: true.
//
AssetMetadata *bool `field:"optional" json:"assetMetadata" yaml:"assetMetadata"`
// Path to CA certificate to use when validating HTTPS requests.
// Default: - read from AWS_CA_BUNDLE environment variable.
//
CaBundlePath *string `field:"optional" json:"caBundlePath" yaml:"caBundlePath"`
// Show colors and other style from console output.
// Default: true.
//
Color *bool `field:"optional" json:"color" yaml:"color"`
// Additional context.
// Default: - no additional context.
//
Context *map[string]*string `field:"optional" json:"context" yaml:"context"`
// enable emission of additional debugging information, such as creation stack traces of tokens.
// Default: false.
//
Debug *bool `field:"optional" json:"debug" yaml:"debug"`
// Force trying to fetch EC2 instance credentials.
// Default: - guess EC2 instance status.
//
Ec2Creds *bool `field:"optional" json:"ec2Creds" yaml:"ec2Creds"`
// Ignores synthesis errors, which will likely produce an invalid output.
// Default: false.
//
IgnoreErrors *bool `field:"optional" json:"ignoreErrors" yaml:"ignoreErrors"`
// Use JSON output instead of YAML when templates are printed to STDOUT.
// Default: false.
//
Json *bool `field:"optional" json:"json" yaml:"json"`
// Perform context lookups.
//
// Synthesis fails if this is disabled and context lookups need
// to be performed.
// Default: true.
//
Lookups *bool `field:"optional" json:"lookups" yaml:"lookups"`
// Show relevant notices.
// Default: true.
//
Notices *bool `field:"optional" json:"notices" yaml:"notices"`
// Emits the synthesized cloud assembly into a directory.
// Default: cdk.out
//
Output *string `field:"optional" json:"output" yaml:"output"`
// Include "aws:cdk:path" CloudFormation metadata for each resource.
// Default: true.
//
PathMetadata *bool `field:"optional" json:"pathMetadata" yaml:"pathMetadata"`
// Use the indicated AWS profile as the default environment.
// Default: - no profile is used.
//
Profile *string `field:"optional" json:"profile" yaml:"profile"`
// Use the indicated proxy.
//
// Will read from
// HTTPS_PROXY environment if specified.
// Default: - no proxy.
//
Proxy *string `field:"optional" json:"proxy" yaml:"proxy"`
// Role to pass to CloudFormation for deployment.
// Default: - use the bootstrap cfn-exec role.
//
RoleArn *string `field:"optional" json:"roleArn" yaml:"roleArn"`
// List of stacks to deploy.
//
// Requried if `all` is not set.
// Default: - [].
//
Stacks *[]*string `field:"optional" json:"stacks" yaml:"stacks"`
// Copy assets to the output directory.
//
// Needed for local debugging the source files with SAM CLI.
// Default: false.
//
Staging *bool `field:"optional" json:"staging" yaml:"staging"`
// Do not construct stacks with warnings.
// Default: false.
//
Strict *bool `field:"optional" json:"strict" yaml:"strict"`
// Print trace for stack warnings.
// Default: false.
//
Trace *bool `field:"optional" json:"trace" yaml:"trace"`
// show debug logs.
// Default: false.
//
Verbose *bool `field:"optional" json:"verbose" yaml:"verbose"`
// Include "AWS::CDK::Metadata" resource in synthesized templates.
// Default: true.
//
VersionReporting *bool `field:"optional" json:"versionReporting" yaml:"versionReporting"`
// Only destroy the given stack.
// Default: false.
//
Exclusively *bool `field:"optional" json:"exclusively" yaml:"exclusively"`
// Do not ask for permission before destroying stacks.
// Default: false.
//
Force *bool `field:"optional" json:"force" yaml:"force"`
}
Options to use with cdk destroy.
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
destroyOptions := &DestroyOptions{
All: jsii.Boolean(false),
App: jsii.String("app"),
AssetMetadata: jsii.Boolean(false),
CaBundlePath: jsii.String("caBundlePath"),
Color: jsii.Boolean(false),
Context: map[string]*string{
"contextKey": jsii.String("context"),
},
Debug: jsii.Boolean(false),
Ec2Creds: jsii.Boolean(false),
Exclusively: jsii.Boolean(false),
Force: jsii.Boolean(false),
IgnoreErrors: jsii.Boolean(false),
Json: jsii.Boolean(false),
Lookups: jsii.Boolean(false),
Notices: jsii.Boolean(false),
Output: jsii.String("output"),
PathMetadata: jsii.Boolean(false),
Profile: jsii.String("profile"),
Proxy: jsii.String("proxy"),
RoleArn: jsii.String("roleArn"),
Stacks: []*string{
jsii.String("stacks"),
},
Staging: jsii.Boolean(false),
Strict: jsii.Boolean(false),
Trace: jsii.Boolean(false),
Verbose: jsii.Boolean(false),
VersionReporting: jsii.Boolean(false),
}
type DockerCacheOption ¶ added in v2.69.0
type DockerCacheOption struct {
// The type of cache to use.
//
// Refer to https://docs.docker.com/build/cache/backends/ for full list of backends.
//
// Example:
// "registry"
//
// Default: - unspecified.
//
Type *string `field:"required" json:"type" yaml:"type"`
// Any parameters to pass into the docker cache backend configuration.
//
// Refer to https://docs.docker.com/build/cache/backends/ for cache backend configuration.
//
// Example:
// var branch string
//
//
// params := map[string]interface{}{
// "ref": fmt.Sprintf("12345678.dkr.ecr.us-west-2.amazonaws.com/cache:%v", branch),
// "mode": jsii.String("max"),
// }
//
// Default: {} No options provided.
//
Params *map[string]*string `field:"optional" json:"params" yaml:"params"`
}
Options for configuring the Docker cache backend.
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
dockerCacheOption := &DockerCacheOption{
Type: jsii.String("type"),
// the properties below are optional
Params: map[string]*string{
"paramsKey": jsii.String("params"),
},
}
type DockerImageAsset ¶
type DockerImageAsset struct {
// Destinations for this file asset.
Destinations *map[string]*DockerImageDestination `field:"required" json:"destinations" yaml:"destinations"`
// Source description for file assets.
Source *DockerImageSource `field:"required" json:"source" yaml:"source"`
}
A file asset.
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
dockerImageAsset := &DockerImageAsset{
Destinations: map[string]dockerImageDestination{
"destinationsKey": &dockerImageDestination{
"imageTag": jsii.String("imageTag"),
"repositoryName": jsii.String("repositoryName"),
// the properties below are optional
"assumeRoleArn": jsii.String("assumeRoleArn"),
"assumeRoleExternalId": jsii.String("assumeRoleExternalId"),
"region": jsii.String("region"),
},
},
Source: &DockerImageSource{
CacheDisabled: jsii.Boolean(false),
CacheFrom: []dockerCacheOption{
&dockerCacheOption{
Type: jsii.String("type"),
// the properties below are optional
Params: map[string]*string{
"paramsKey": jsii.String("params"),
},
},
},
CacheTo: &dockerCacheOption{
Type: jsii.String("type"),
// the properties below are optional
Params: map[string]*string{
"paramsKey": jsii.String("params"),
},
},
Directory: jsii.String("directory"),
DockerBuildArgs: map[string]*string{
"dockerBuildArgsKey": jsii.String("dockerBuildArgs"),
},
DockerBuildSecrets: map[string]*string{
"dockerBuildSecretsKey": jsii.String("dockerBuildSecrets"),
},
DockerBuildSsh: jsii.String("dockerBuildSsh"),
DockerBuildTarget: jsii.String("dockerBuildTarget"),
DockerFile: jsii.String("dockerFile"),
DockerOutputs: []*string{
jsii.String("dockerOutputs"),
},
Executable: []*string{
jsii.String("executable"),
},
NetworkMode: jsii.String("networkMode"),
Platform: jsii.String("platform"),
},
}
type DockerImageDestination ¶
type DockerImageDestination struct {
// The role that needs to be assumed while publishing this asset.
// Default: - No role will be assumed.
//
AssumeRoleArn *string `field:"optional" json:"assumeRoleArn" yaml:"assumeRoleArn"`
// The ExternalId that needs to be supplied while assuming this role.
// Default: - No ExternalId will be supplied.
//
AssumeRoleExternalId *string `field:"optional" json:"assumeRoleExternalId" yaml:"assumeRoleExternalId"`
// The region where this asset will need to be published.
// Default: - Current region.
//
Region *string `field:"optional" json:"region" yaml:"region"`
// Tag of the image to publish.
ImageTag *string `field:"required" json:"imageTag" yaml:"imageTag"`
// Name of the ECR repository to publish to.
RepositoryName *string `field:"required" json:"repositoryName" yaml:"repositoryName"`
}
Where to publish docker images.
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
dockerImageDestination := &DockerImageDestination{
ImageTag: jsii.String("imageTag"),
RepositoryName: jsii.String("repositoryName"),
// the properties below are optional
AssumeRoleArn: jsii.String("assumeRoleArn"),
AssumeRoleExternalId: jsii.String("assumeRoleExternalId"),
Region: jsii.String("region"),
}
type DockerImageSource ¶
type DockerImageSource struct {
// Disable the cache and pass `--no-cache` to the `docker build` command.
// Default: - cache is used.
//
CacheDisabled *bool `field:"optional" json:"cacheDisabled" yaml:"cacheDisabled"`
// Cache from options to pass to the `docker build` command.
// See: https://docs.docker.com/build/cache/backends/
//
// Default: - no cache from options are passed to the build command.
//
CacheFrom *[]*DockerCacheOption `field:"optional" json:"cacheFrom" yaml:"cacheFrom"`
// Cache to options to pass to the `docker build` command.
// See: https://docs.docker.com/build/cache/backends/
//
// Default: - no cache to options are passed to the build command.
//
CacheTo *DockerCacheOption `field:"optional" json:"cacheTo" yaml:"cacheTo"`
// The directory containing the Docker image build instructions.
//
// This path is relative to the asset manifest location.
// Default: - Exactly one of `directory` and `executable` is required.
//
Directory *string `field:"optional" json:"directory" yaml:"directory"`
// Additional build arguments.
//
// Only allowed when `directory` is set.
// Default: - No additional build arguments.
//
DockerBuildArgs *map[string]*string `field:"optional" json:"dockerBuildArgs" yaml:"dockerBuildArgs"`
// Additional build secrets.
//
// Only allowed when `directory` is set.
// Default: - No additional build secrets.
//
DockerBuildSecrets *map[string]*string `field:"optional" json:"dockerBuildSecrets" yaml:"dockerBuildSecrets"`
// SSH agent socket or keys.
//
// Requires building with docker buildkit.
// Default: - No ssh flag is set.
//
DockerBuildSsh *string `field:"optional" json:"dockerBuildSsh" yaml:"dockerBuildSsh"`
// Target build stage in a Dockerfile with multiple build stages.
//
// Only allowed when `directory` is set.
// Default: - The last stage in the Dockerfile.
//
DockerBuildTarget *string `field:"optional" json:"dockerBuildTarget" yaml:"dockerBuildTarget"`
// The name of the file with build instructions.
//
// Only allowed when `directory` is set.
// Default: "Dockerfile".
//
DockerFile *string `field:"optional" json:"dockerFile" yaml:"dockerFile"`
// Outputs.
// See: https://docs.docker.com/engine/reference/commandline/build/#custom-build-outputs
//
// Default: - no outputs are passed to the build command (default outputs are used).
//
DockerOutputs *[]*string `field:"optional" json:"dockerOutputs" yaml:"dockerOutputs"`
// A command-line executable that returns the name of a local Docker image on stdout after being run.
// Default: - Exactly one of `directory` and `executable` is required.
//
Executable *[]*string `field:"optional" json:"executable" yaml:"executable"`
// Networking mode for the RUN commands during build. _Requires Docker Engine API v1.25+_.
//
// Specify this property to build images on a specific networking mode.
// Default: - no networking mode specified.
//
NetworkMode *string `field:"optional" json:"networkMode" yaml:"networkMode"`
// Platform to build for. _Requires Docker Buildx_.
//
// Specify this property to build images on a specific platform/architecture.
// Default: - current machine platform.
//
Platform *string `field:"optional" json:"platform" yaml:"platform"`
}
Properties for how to produce a Docker image from a source.
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
dockerImageSource := &DockerImageSource{
CacheDisabled: jsii.Boolean(false),
CacheFrom: []dockerCacheOption{
&dockerCacheOption{
Type: jsii.String("type"),
// the properties below are optional
Params: map[string]*string{
"paramsKey": jsii.String("params"),
},
},
},
CacheTo: &dockerCacheOption{
Type: jsii.String("type"),
// the properties below are optional
Params: map[string]*string{
"paramsKey": jsii.String("params"),
},
},
Directory: jsii.String("directory"),
DockerBuildArgs: map[string]*string{
"dockerBuildArgsKey": jsii.String("dockerBuildArgs"),
},
DockerBuildSecrets: map[string]*string{
"dockerBuildSecretsKey": jsii.String("dockerBuildSecrets"),
},
DockerBuildSsh: jsii.String("dockerBuildSsh"),
DockerBuildTarget: jsii.String("dockerBuildTarget"),
DockerFile: jsii.String("dockerFile"),
DockerOutputs: []*string{
jsii.String("dockerOutputs"),
},
Executable: []*string{
jsii.String("executable"),
},
NetworkMode: jsii.String("networkMode"),
Platform: jsii.String("platform"),
}
type EndpointServiceAvailabilityZonesContextQuery ¶
type EndpointServiceAvailabilityZonesContextQuery struct {
// Query account.
Account *string `field:"required" json:"account" yaml:"account"`
// Query region.
Region *string `field:"required" json:"region" yaml:"region"`
// Query service name.
ServiceName *string `field:"required" json:"serviceName" yaml:"serviceName"`
// The ARN of the role that should be used to look up the missing values.
// Default: - None.
//
LookupRoleArn *string `field:"optional" json:"lookupRoleArn" yaml:"lookupRoleArn"`
}
Query to endpoint service context provider.
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
endpointServiceAvailabilityZonesContextQuery := &EndpointServiceAvailabilityZonesContextQuery{
Account: jsii.String("account"),
Region: jsii.String("region"),
ServiceName: jsii.String("serviceName"),
// the properties below are optional
LookupRoleArn: jsii.String("lookupRoleArn"),
}
type FileAsset ¶
type FileAsset struct {
// Destinations for this file asset.
Destinations *map[string]*FileDestination `field:"required" json:"destinations" yaml:"destinations"`
// Source description for file assets.
Source *FileSource `field:"required" json:"source" yaml:"source"`
}
A file asset.
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
fileAsset := &FileAsset{
Destinations: map[string]fileDestination{
"destinationsKey": &fileDestination{
"bucketName": jsii.String("bucketName"),
"objectKey": jsii.String("objectKey"),
// the properties below are optional
"assumeRoleArn": jsii.String("assumeRoleArn"),
"assumeRoleExternalId": jsii.String("assumeRoleExternalId"),
"region": jsii.String("region"),
},
},
Source: &FileSource{
Executable: []*string{
jsii.String("executable"),
},
Packaging: awscdk.Cloud_assembly_schema.FileAssetPackaging_FILE,
Path: jsii.String("path"),
},
}
type FileAssetMetadataEntry ¶
type FileAssetMetadataEntry struct {
// The name of the parameter where the hash of the bundled asset should be passed in.
ArtifactHashParameter *string `field:"required" json:"artifactHashParameter" yaml:"artifactHashParameter"`
// Logical identifier for the asset.
Id *string `field:"required" json:"id" yaml:"id"`
// Requested packaging style.
Packaging *string `field:"required" json:"packaging" yaml:"packaging"`
// Path on disk to the asset.
Path *string `field:"required" json:"path" yaml:"path"`
// Name of parameter where S3 bucket should be passed in.
S3BucketParameter *string `field:"required" json:"s3BucketParameter" yaml:"s3BucketParameter"`
// Name of parameter where S3 key should be passed in.
S3KeyParameter *string `field:"required" json:"s3KeyParameter" yaml:"s3KeyParameter"`
// The hash of the asset source.
SourceHash *string `field:"required" json:"sourceHash" yaml:"sourceHash"`
}
Metadata Entry spec for files.
Example:
entry := map[string]*string{
"packaging": jsii.String("file"),
"s3BucketParameter": jsii.String("bucket-parameter"),
"s3KeyParamenter": jsii.String("key-parameter"),
"artifactHashParameter": jsii.String("hash-parameter"),
}
type FileAssetPackaging ¶
type FileAssetPackaging string
Packaging strategy for file assets.
const ( // Upload the given path as a file. FileAssetPackaging_FILE FileAssetPackaging = "FILE" // The given path is a directory, zip it and upload. FileAssetPackaging_ZIP_DIRECTORY FileAssetPackaging = "ZIP_DIRECTORY" )
type FileDestination ¶
type FileDestination struct {
// The role that needs to be assumed while publishing this asset.
// Default: - No role will be assumed.
//
AssumeRoleArn *string `field:"optional" json:"assumeRoleArn" yaml:"assumeRoleArn"`
// The ExternalId that needs to be supplied while assuming this role.
// Default: - No ExternalId will be supplied.
//
AssumeRoleExternalId *string `field:"optional" json:"assumeRoleExternalId" yaml:"assumeRoleExternalId"`
// The region where this asset will need to be published.
// Default: - Current region.
//
Region *string `field:"optional" json:"region" yaml:"region"`
// The name of the bucket.
BucketName *string `field:"required" json:"bucketName" yaml:"bucketName"`
// The destination object key.
ObjectKey *string `field:"required" json:"objectKey" yaml:"objectKey"`
}
Where in S3 a file asset needs to be published.
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
fileDestination := &FileDestination{
BucketName: jsii.String("bucketName"),
ObjectKey: jsii.String("objectKey"),
// the properties below are optional
AssumeRoleArn: jsii.String("assumeRoleArn"),
AssumeRoleExternalId: jsii.String("assumeRoleExternalId"),
Region: jsii.String("region"),
}
type FileSource ¶
type FileSource struct {
// External command which will produce the file asset to upload.
// Default: - Exactly one of `executable` and `path` is required.
//
Executable *[]*string `field:"optional" json:"executable" yaml:"executable"`
// Packaging method.
//
// Only allowed when `path` is specified.
// Default: FILE.
//
Packaging FileAssetPackaging `field:"optional" json:"packaging" yaml:"packaging"`
// The filesystem object to upload.
//
// This path is relative to the asset manifest location.
// Default: - Exactly one of `executable` and `path` is required.
//
Path *string `field:"optional" json:"path" yaml:"path"`
}
Describe the source of a file asset.
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
fileSource := &FileSource{
Executable: []*string{
jsii.String("executable"),
},
Packaging: awscdk.Cloud_assembly_schema.FileAssetPackaging_FILE,
Path: jsii.String("path"),
}
type Hooks ¶ added in v2.20.0
type Hooks struct {
// Commands to run prior after deploying the cdk stacks in the integration test.
// Default: - no commands.
//
PostDeploy *[]*string `field:"optional" json:"postDeploy" yaml:"postDeploy"`
// Commands to run after destroying the cdk stacks in the integration test.
// Default: - no commands.
//
PostDestroy *[]*string `field:"optional" json:"postDestroy" yaml:"postDestroy"`
// Commands to run prior to deploying the cdk stacks in the integration test.
// Default: - no commands.
//
PreDeploy *[]*string `field:"optional" json:"preDeploy" yaml:"preDeploy"`
// Commands to run prior to destroying the cdk stacks in the integration test.
// Default: - no commands.
//
PreDestroy *[]*string `field:"optional" json:"preDestroy" yaml:"preDestroy"`
}
Commands to run at predefined points during the integration test workflow.
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
hooks := &Hooks{
PostDeploy: []*string{
jsii.String("postDeploy"),
},
PostDestroy: []*string{
jsii.String("postDestroy"),
},
PreDeploy: []*string{
jsii.String("preDeploy"),
},
PreDestroy: []*string{
jsii.String("preDestroy"),
},
}
type HostedZoneContextQuery ¶
type HostedZoneContextQuery struct {
// Query account.
Account *string `field:"required" json:"account" yaml:"account"`
// The domain name e.g. example.com to lookup.
DomainName *string `field:"required" json:"domainName" yaml:"domainName"`
// Query region.
Region *string `field:"required" json:"region" yaml:"region"`
// The ARN of the role that should be used to look up the missing values.
// Default: - None.
//
LookupRoleArn *string `field:"optional" json:"lookupRoleArn" yaml:"lookupRoleArn"`
// True if the zone you want to find is a private hosted zone.
// Default: false.
//
PrivateZone *bool `field:"optional" json:"privateZone" yaml:"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.
// Default: - Required if privateZone=true.
//
VpcId *string `field:"optional" json:"vpcId" yaml:"vpcId"`
}
Query to hosted zone context provider.
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
hostedZoneContextQuery := &HostedZoneContextQuery{
Account: jsii.String("account"),
DomainName: jsii.String("domainName"),
Region: jsii.String("region"),
// the properties below are optional
LookupRoleArn: jsii.String("lookupRoleArn"),
PrivateZone: jsii.Boolean(false),
VpcId: jsii.String("vpcId"),
}
type IntegManifest ¶ added in v2.20.0
type IntegManifest struct {
// test cases.
TestCases *map[string]*TestCase `field:"required" json:"testCases" yaml:"testCases"`
// Version of the manifest.
Version *string `field:"required" json:"version" yaml:"version"`
// Enable lookups for this test.
//
// If lookups are enabled
// then `stackUpdateWorkflow` must be set to false.
// Lookups should only be enabled when you are explicitely testing
// lookups.
// Default: false.
//
EnableLookups *bool `field:"optional" json:"enableLookups" yaml:"enableLookups"`
// Additional context to use when performing a synth.
//
// Any context provided here will override
// any default context.
// Default: - no additional context.
//
SynthContext *map[string]*string `field:"optional" json:"synthContext" yaml:"synthContext"`
}
Definitions for the integration testing manifest.
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
integManifest := &IntegManifest{
TestCases: map[string]testCase{
"testCasesKey": &testCase{
"stacks": []*string{
jsii.String("stacks"),
},
// the properties below are optional
"allowDestroy": []*string{
jsii.String("allowDestroy"),
},
"assertionStack": jsii.String("assertionStack"),
"assertionStackName": jsii.String("assertionStackName"),
"cdkCommandOptions": &CdkCommands{
"deploy": &DeployCommand{
"args": &DeployOptions{
"all": jsii.Boolean(false),
"app": jsii.String("app"),
"assetMetadata": jsii.Boolean(false),
"caBundlePath": jsii.String("caBundlePath"),
"changeSetName": jsii.String("changeSetName"),
"ci": jsii.Boolean(false),
"color": jsii.Boolean(false),
"concurrency": jsii.Number(123),
"context": map[string]*string{
"contextKey": jsii.String("context"),
},
"debug": jsii.Boolean(false),
"ec2Creds": jsii.Boolean(false),
"exclusively": jsii.Boolean(false),
"execute": jsii.Boolean(false),
"force": jsii.Boolean(false),
"ignoreErrors": jsii.Boolean(false),
"json": jsii.Boolean(false),
"lookups": jsii.Boolean(false),
"notices": jsii.Boolean(false),
"notificationArns": []*string{
jsii.String("notificationArns"),
},
"output": jsii.String("output"),
"outputsFile": jsii.String("outputsFile"),
"parameters": map[string]*string{
"parametersKey": jsii.String("parameters"),
},
"pathMetadata": jsii.Boolean(false),
"profile": jsii.String("profile"),
"proxy": jsii.String("proxy"),
"requireApproval": awscdk.cloud_assembly_schema.RequireApproval_NEVER,
"reuseAssets": []*string{
jsii.String("reuseAssets"),
},
"roleArn": jsii.String("roleArn"),
"rollback": jsii.Boolean(false),
"stacks": []*string{
jsii.String("stacks"),
},
"staging": jsii.Boolean(false),
"strict": jsii.Boolean(false),
"toolkitStackName": jsii.String("toolkitStackName"),
"trace": jsii.Boolean(false),
"usePreviousParameters": jsii.Boolean(false),
"verbose": jsii.Boolean(false),
"versionReporting": jsii.Boolean(false),
},
"enabled": jsii.Boolean(false),
"expectedMessage": jsii.String("expectedMessage"),
"expectError": jsii.Boolean(false),
},
"destroy": &DestroyCommand{
"args": &DestroyOptions{
"all": jsii.Boolean(false),
"app": jsii.String("app"),
"assetMetadata": jsii.Boolean(false),
"caBundlePath": jsii.String("caBundlePath"),
"color": jsii.Boolean(false),
"context": map[string]*string{
"contextKey": jsii.String("context"),
},
"debug": jsii.Boolean(false),
"ec2Creds": jsii.Boolean(false),
"exclusively": jsii.Boolean(false),
"force": jsii.Boolean(false),
"ignoreErrors": jsii.Boolean(false),
"json": jsii.Boolean(false),
"lookups": jsii.Boolean(false),
"notices": jsii.Boolean(false),
"output": jsii.String("output"),
"pathMetadata": jsii.Boolean(false),
"profile": jsii.String("profile"),
"proxy": jsii.String("proxy"),
"roleArn": jsii.String("roleArn"),
"stacks": []*string{
jsii.String("stacks"),
},
"staging": jsii.Boolean(false),
"strict": jsii.Boolean(false),
"trace": jsii.Boolean(false),
"verbose": jsii.Boolean(false),
"versionReporting": jsii.Boolean(false),
},
"enabled": jsii.Boolean(false),
"expectedMessage": jsii.String("expectedMessage"),
"expectError": jsii.Boolean(false),
},
},
"diffAssets": jsii.Boolean(false),
"hooks": &Hooks{
"postDeploy": []*string{
jsii.String("postDeploy"),
},
"postDestroy": []*string{
jsii.String("postDestroy"),
},
"preDeploy": []*string{
jsii.String("preDeploy"),
},
"preDestroy": []*string{
jsii.String("preDestroy"),
},
},
"regions": []*string{
jsii.String("regions"),
},
"stackUpdateWorkflow": jsii.Boolean(false),
},
},
Version: jsii.String("version"),
// the properties below are optional
EnableLookups: jsii.Boolean(false),
SynthContext: map[string]*string{
"synthContextKey": jsii.String("synthContext"),
},
}
func Manifest_LoadIntegManifest ¶ added in v2.20.0
func Manifest_LoadIntegManifest(filePath *string) *IntegManifest
Load and validates the integ manifest from file.
type KeyContextQuery ¶
type KeyContextQuery struct {
// Query account.
Account *string `field:"required" json:"account" yaml:"account"`
// Alias name used to search the Key.
AliasName *string `field:"required" json:"aliasName" yaml:"aliasName"`
// Query region.
Region *string `field:"required" json:"region" yaml:"region"`
// The ARN of the role that should be used to look up the missing values.
// Default: - None.
//
LookupRoleArn *string `field:"optional" json:"lookupRoleArn" yaml:"lookupRoleArn"`
}
Query input for looking up a KMS Key.
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
keyContextQuery := &KeyContextQuery{
Account: jsii.String("account"),
AliasName: jsii.String("aliasName"),
Region: jsii.String("region"),
// the properties below are optional
LookupRoleArn: jsii.String("lookupRoleArn"),
}
type LoadBalancerContextQuery ¶
type LoadBalancerContextQuery struct {
// Filter load balancers by their type.
LoadBalancerType LoadBalancerType `field:"required" json:"loadBalancerType" yaml:"loadBalancerType"`
// Find by load balancer's ARN.
// Default: - does not search by load balancer arn.
//
LoadBalancerArn *string `field:"optional" json:"loadBalancerArn" yaml:"loadBalancerArn"`
// Match load balancer tags.
// Default: - does not match load balancers by tags.
//
LoadBalancerTags *[]*Tag `field:"optional" json:"loadBalancerTags" yaml:"loadBalancerTags"`
// Query account.
Account *string `field:"required" json:"account" yaml:"account"`
// Query region.
Region *string `field:"required" json:"region" yaml:"region"`
// The ARN of the role that should be used to look up the missing values.
// Default: - None.
//
LookupRoleArn *string `field:"optional" json:"lookupRoleArn" yaml:"lookupRoleArn"`
}
Query input for looking up a load balancer.
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
loadBalancerContextQuery := &LoadBalancerContextQuery{
Account: jsii.String("account"),
LoadBalancerType: awscdk.Cloud_assembly_schema.LoadBalancerType_NETWORK,
Region: jsii.String("region"),
// the properties below are optional
LoadBalancerArn: jsii.String("loadBalancerArn"),
LoadBalancerTags: []tag{
&tag{
Key: jsii.String("key"),
Value: jsii.String("value"),
},
},
LookupRoleArn: jsii.String("lookupRoleArn"),
}
type LoadBalancerFilter ¶
type LoadBalancerFilter struct {
// Filter load balancers by their type.
LoadBalancerType LoadBalancerType `field:"required" json:"loadBalancerType" yaml:"loadBalancerType"`
// Find by load balancer's ARN.
// Default: - does not search by load balancer arn.
//
LoadBalancerArn *string `field:"optional" json:"loadBalancerArn" yaml:"loadBalancerArn"`
// Match load balancer tags.
// Default: - does not match load balancers by tags.
//
LoadBalancerTags *[]*Tag `field:"optional" json:"loadBalancerTags" yaml:"loadBalancerTags"`
}
Filters for selecting load balancers.
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
loadBalancerFilter := &LoadBalancerFilter{
LoadBalancerType: awscdk.Cloud_assembly_schema.LoadBalancerType_NETWORK,
// the properties below are optional
LoadBalancerArn: jsii.String("loadBalancerArn"),
LoadBalancerTags: []tag{
&tag{
Key: jsii.String("key"),
Value: jsii.String("value"),
},
},
}
type LoadBalancerListenerContextQuery ¶
type LoadBalancerListenerContextQuery struct {
// Filter load balancers by their type.
LoadBalancerType LoadBalancerType `field:"required" json:"loadBalancerType" yaml:"loadBalancerType"`
// Find by load balancer's ARN.
// Default: - does not search by load balancer arn.
//
LoadBalancerArn *string `field:"optional" json:"loadBalancerArn" yaml:"loadBalancerArn"`
// Match load balancer tags.
// Default: - does not match load balancers by tags.
//
LoadBalancerTags *[]*Tag `field:"optional" json:"loadBalancerTags" yaml:"loadBalancerTags"`
// Query account.
Account *string `field:"required" json:"account" yaml:"account"`
// Query region.
Region *string `field:"required" json:"region" yaml:"region"`
// Find by listener's arn.
// Default: - does not find by listener arn.
//
ListenerArn *string `field:"optional" json:"listenerArn" yaml:"listenerArn"`
// Filter listeners by listener port.
// Default: - does not filter by a listener port.
//
ListenerPort *float64 `field:"optional" json:"listenerPort" yaml:"listenerPort"`
// Filter by listener protocol.
// Default: - does not filter by listener protocol.
//
ListenerProtocol LoadBalancerListenerProtocol `field:"optional" json:"listenerProtocol" yaml:"listenerProtocol"`
// The ARN of the role that should be used to look up the missing values.
// Default: - None.
//
LookupRoleArn *string `field:"optional" json:"lookupRoleArn" yaml:"lookupRoleArn"`
}
Query input for looking up a load balancer listener.
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
loadBalancerListenerContextQuery := &LoadBalancerListenerContextQuery{
Account: jsii.String("account"),
LoadBalancerType: awscdk.Cloud_assembly_schema.LoadBalancerType_NETWORK,
Region: jsii.String("region"),
// the properties below are optional
ListenerArn: jsii.String("listenerArn"),
ListenerPort: jsii.Number(123),
ListenerProtocol: awscdk.*Cloud_assembly_schema.LoadBalancerListenerProtocol_HTTP,
LoadBalancerArn: jsii.String("loadBalancerArn"),
LoadBalancerTags: []tag{
&tag{
Key: jsii.String("key"),
Value: jsii.String("value"),
},
},
LookupRoleArn: jsii.String("lookupRoleArn"),
}
type LoadBalancerListenerProtocol ¶
type LoadBalancerListenerProtocol string
The protocol for connections from clients to the load balancer.
const ( // HTTP protocol. LoadBalancerListenerProtocol_HTTP LoadBalancerListenerProtocol = "HTTP" // HTTPS protocol. LoadBalancerListenerProtocol_HTTPS LoadBalancerListenerProtocol = "HTTPS" // TCP protocol. LoadBalancerListenerProtocol_TCP LoadBalancerListenerProtocol = "TCP" // TLS protocol. LoadBalancerListenerProtocol_TLS LoadBalancerListenerProtocol = "TLS" // UDP protocol. LoadBalancerListenerProtocol_UDP LoadBalancerListenerProtocol = "UDP" // TCP and UDP protocol. LoadBalancerListenerProtocol_TCP_UDP LoadBalancerListenerProtocol = "TCP_UDP" )
type LoadBalancerType ¶
type LoadBalancerType string
Type of load balancer.
const ( // Network load balancer. LoadBalancerType_NETWORK LoadBalancerType = "NETWORK" // Application load balancer. LoadBalancerType_APPLICATION LoadBalancerType = "APPLICATION" )
type LoadManifestOptions ¶ added in v2.17.0
type LoadManifestOptions struct {
// Skip enum checks.
//
// This means you may read enum values you don't know about yet. Make sure to always
// check the values of enums you encounter in the manifest.
// Default: false.
//
SkipEnumCheck *bool `field:"optional" json:"skipEnumCheck" yaml:"skipEnumCheck"`
// Skip the version check.
//
// This means you may read a newer cloud assembly than the CX API is designed
// to support, and your application may not be aware of all features that in use
// in the Cloud Assembly.
// Default: false.
//
SkipVersionCheck *bool `field:"optional" json:"skipVersionCheck" yaml:"skipVersionCheck"`
// Topologically sort all artifacts.
//
// This parameter is only respected by the constructor of `CloudAssembly`. The
// property lives here for backwards compatibility reasons.
// Default: true.
//
TopoSort *bool `field:"optional" json:"topoSort" yaml:"topoSort"`
}
Options for the loadManifest operation.
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
loadManifestOptions := &LoadManifestOptions{
SkipEnumCheck: jsii.Boolean(false),
SkipVersionCheck: jsii.Boolean(false),
TopoSort: jsii.Boolean(false),
}
type MetadataEntry ¶
type MetadataEntry struct {
// The type of the metadata entry.
Type *string `field:"required" json:"type" yaml:"type"`
// The data.
// Default: - no data.
//
Data interface{} `field:"optional" json:"data" yaml:"data"`
// A stack trace for when the entry was created.
// Default: - no trace.
//
Trace *[]*string `field:"optional" json:"trace" yaml:"trace"`
}
A metadata entry in a cloud assembly artifact.
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
metadataEntry := &MetadataEntry{
Type: jsii.String("type"),
// the properties below are optional
Data: jsii.String("data"),
Trace: []*string{
jsii.String("trace"),
},
}
type MissingContext ¶
type MissingContext struct {
// The missing context key.
Key *string `field:"required" json:"key" yaml:"key"`
// A set of provider-specific options.
Props interface{} `field:"required" json:"props" yaml:"props"`
// The provider from which we expect this context key to be obtained.
Provider ContextProvider `field:"required" json:"provider" yaml:"provider"`
}
Represents a missing piece of context.
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
missingContext := &MissingContext{
Key: jsii.String("key"),
Props: &AmiContextQuery{
Account: jsii.String("account"),
Filters: map[string][]*string{
"filtersKey": []*string{
jsii.String("filters"),
},
},
Region: jsii.String("region"),
// the properties below are optional
LookupRoleArn: jsii.String("lookupRoleArn"),
Owners: []interface{}{
jsii.String("owners"),
},
},
Provider: awscdk.Cloud_assembly_schema.ContextProvider_AMI_PROVIDER,
}
type NestedCloudAssemblyProperties ¶
type NestedCloudAssemblyProperties struct {
// Relative path to the nested cloud assembly.
DirectoryName *string `field:"required" json:"directoryName" yaml:"directoryName"`
// Display name for the cloud assembly.
// Default: - The artifact ID.
//
DisplayName *string `field:"optional" json:"displayName" yaml:"displayName"`
}
Artifact properties for nested cloud assemblies.
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
nestedCloudAssemblyProperties := &NestedCloudAssemblyProperties{
DirectoryName: jsii.String("directoryName"),
// the properties below are optional
DisplayName: jsii.String("displayName"),
}
type PluginContextQuery ¶ added in v2.11.0
type PluginContextQuery struct {
// The name of the plugin.
PluginName *string `field:"required" json:"pluginName" yaml:"pluginName"`
}
Query input for plugins.
This alternate branch is necessary because it needs to be able to escape all type checking we do on on the cloud assembly -- we cannot know the properties that will be used a priori.
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
pluginContextQuery := &PluginContextQuery{
PluginName: jsii.String("pluginName"),
}
type RequireApproval ¶ added in v2.20.0
type RequireApproval string
In what scenarios should the CLI ask for approval.
const ( // Never ask for approval. RequireApproval_NEVER RequireApproval = "NEVER" // Prompt for approval for any type of change to the stack. RequireApproval_ANYCHANGE RequireApproval = "ANYCHANGE" // Only prompt for approval if there are security related changes. RequireApproval_BROADENING RequireApproval = "BROADENING" )
type RuntimeInfo ¶
type RuntimeInfo struct {
// The list of libraries loaded in the application, associated with their versions.
Libraries *map[string]*string `field:"required" json:"libraries" yaml:"libraries"`
}
Information about the application's runtime components.
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
runtimeInfo := &RuntimeInfo{
Libraries: map[string]*string{
"librariesKey": jsii.String("libraries"),
},
}
type SSMParameterContextQuery ¶
type SSMParameterContextQuery struct {
// Query account.
Account *string `field:"required" json:"account" yaml:"account"`
// Parameter name to query.
ParameterName *string `field:"required" json:"parameterName" yaml:"parameterName"`
// Query region.
Region *string `field:"required" json:"region" yaml:"region"`
// The ARN of the role that should be used to look up the missing values.
// Default: - None.
//
LookupRoleArn *string `field:"optional" json:"lookupRoleArn" yaml:"lookupRoleArn"`
}
Query to SSM Parameter Context Provider.
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
sSMParameterContextQuery := &SSMParameterContextQuery{
Account: jsii.String("account"),
ParameterName: jsii.String("parameterName"),
Region: jsii.String("region"),
// the properties below are optional
LookupRoleArn: jsii.String("lookupRoleArn"),
}
type SecurityGroupContextQuery ¶
type SecurityGroupContextQuery struct {
// Query account.
Account *string `field:"required" json:"account" yaml:"account"`
// Query region.
Region *string `field:"required" json:"region" yaml:"region"`
// The ARN of the role that should be used to look up the missing values.
// Default: - None.
//
LookupRoleArn *string `field:"optional" json:"lookupRoleArn" yaml:"lookupRoleArn"`
// Security group id.
// Default: - None.
//
SecurityGroupId *string `field:"optional" json:"securityGroupId" yaml:"securityGroupId"`
// Security group name.
// Default: - None.
//
SecurityGroupName *string `field:"optional" json:"securityGroupName" yaml:"securityGroupName"`
// VPC ID.
// Default: - None.
//
VpcId *string `field:"optional" json:"vpcId" yaml:"vpcId"`
}
Query input for looking up a security group.
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
securityGroupContextQuery := &SecurityGroupContextQuery{
Account: jsii.String("account"),
Region: jsii.String("region"),
// the properties below are optional
LookupRoleArn: jsii.String("lookupRoleArn"),
SecurityGroupId: jsii.String("securityGroupId"),
SecurityGroupName: jsii.String("securityGroupName"),
VpcId: jsii.String("vpcId"),
}
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)
Key *string `field:"required" json:"key" yaml:"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)
Value *string `field:"required" json:"value" yaml:"value"`
}
Metadata Entry spec for stack tag.
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
tag := &Tag{
Key: jsii.String("key"),
Value: jsii.String("value"),
}
type TestCase ¶ added in v2.20.0
type TestCase struct {
// List of CloudFormation resource types in this stack that can be destroyed as part of an update without failing the test.
//
// This list should only include resources that for this specific
// integration test we are sure will not cause errors or an outage if
// destroyed. For example, maybe we know that a new resource will be created
// first before the old resource is destroyed which prevents any outage.
//
// e.g. ['AWS::IAM::Role']
// Default: - do not allow destruction of any resources on update.
//
AllowDestroy *[]*string `field:"optional" json:"allowDestroy" yaml:"allowDestroy"`
// Additional options to use for each CDK command.
// Default: - runner default options.
//
CdkCommandOptions *CdkCommands `field:"optional" json:"cdkCommandOptions" yaml:"cdkCommandOptions"`
// Whether or not to include asset hashes in the diff Asset hashes can introduces a lot of unneccessary noise into tests, but there are some cases where asset hashes _should_ be included.
//
// For example
// any tests involving custom resources or bundling.
// Default: false.
//
DiffAssets *bool `field:"optional" json:"diffAssets" yaml:"diffAssets"`
// Additional commands to run at predefined points in the test workflow.
//
// e.g. { postDeploy: ['yarn', 'test'] }
// Default: - no hooks.
//
Hooks *Hooks `field:"optional" json:"hooks" yaml:"hooks"`
// Limit deployment to these regions.
// Default: - can run in any region.
//
Regions *[]*string `field:"optional" json:"regions" yaml:"regions"`
// Run update workflow on this test case This should only be set to false to test scenarios that are not possible to test as part of the update workflow.
// Default: true.
//
StackUpdateWorkflow *bool `field:"optional" json:"stackUpdateWorkflow" yaml:"stackUpdateWorkflow"`
// Stacks that should be tested as part of this test case The stackNames will be passed as args to the cdk commands so dependent stacks will be automatically deployed unless `exclusively` is passed.
Stacks *[]*string `field:"required" json:"stacks" yaml:"stacks"`
// The node id of the stack that contains assertions.
//
// This is the value that can be used to deploy the stack with the CDK CLI.
// Default: - no assertion stack.
//
AssertionStack *string `field:"optional" json:"assertionStack" yaml:"assertionStack"`
// The name of the stack that contains assertions.
// Default: - no assertion stack.
//
AssertionStackName *string `field:"optional" json:"assertionStackName" yaml:"assertionStackName"`
}
Represents an integration test case.
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
testCase := &TestCase{
Stacks: []*string{
jsii.String("stacks"),
},
// the properties below are optional
AllowDestroy: []*string{
jsii.String("allowDestroy"),
},
AssertionStack: jsii.String("assertionStack"),
AssertionStackName: jsii.String("assertionStackName"),
CdkCommandOptions: &CdkCommands{
Deploy: &DeployCommand{
Args: &DeployOptions{
All: jsii.Boolean(false),
App: jsii.String("app"),
AssetMetadata: jsii.Boolean(false),
CaBundlePath: jsii.String("caBundlePath"),
ChangeSetName: jsii.String("changeSetName"),
Ci: jsii.Boolean(false),
Color: jsii.Boolean(false),
Concurrency: jsii.Number(123),
Context: map[string]*string{
"contextKey": jsii.String("context"),
},
Debug: jsii.Boolean(false),
Ec2Creds: jsii.Boolean(false),
Exclusively: jsii.Boolean(false),
Execute: jsii.Boolean(false),
Force: jsii.Boolean(false),
IgnoreErrors: jsii.Boolean(false),
Json: jsii.Boolean(false),
Lookups: jsii.Boolean(false),
Notices: jsii.Boolean(false),
NotificationArns: []*string{
jsii.String("notificationArns"),
},
Output: jsii.String("output"),
OutputsFile: jsii.String("outputsFile"),
Parameters: map[string]*string{
"parametersKey": jsii.String("parameters"),
},
PathMetadata: jsii.Boolean(false),
Profile: jsii.String("profile"),
Proxy: jsii.String("proxy"),
RequireApproval: awscdk.Cloud_assembly_schema.RequireApproval_NEVER,
ReuseAssets: []*string{
jsii.String("reuseAssets"),
},
RoleArn: jsii.String("roleArn"),
Rollback: jsii.Boolean(false),
Stacks: []*string{
jsii.String("stacks"),
},
Staging: jsii.Boolean(false),
Strict: jsii.Boolean(false),
ToolkitStackName: jsii.String("toolkitStackName"),
Trace: jsii.Boolean(false),
UsePreviousParameters: jsii.Boolean(false),
Verbose: jsii.Boolean(false),
VersionReporting: jsii.Boolean(false),
},
Enabled: jsii.Boolean(false),
ExpectedMessage: jsii.String("expectedMessage"),
ExpectError: jsii.Boolean(false),
},
Destroy: &DestroyCommand{
Args: &DestroyOptions{
All: jsii.Boolean(false),
App: jsii.String("app"),
AssetMetadata: jsii.Boolean(false),
CaBundlePath: jsii.String("caBundlePath"),
Color: jsii.Boolean(false),
Context: map[string]*string{
"contextKey": jsii.String("context"),
},
Debug: jsii.Boolean(false),
Ec2Creds: jsii.Boolean(false),
Exclusively: jsii.Boolean(false),
Force: jsii.Boolean(false),
IgnoreErrors: jsii.Boolean(false),
Json: jsii.Boolean(false),
Lookups: jsii.Boolean(false),
Notices: jsii.Boolean(false),
Output: jsii.String("output"),
PathMetadata: jsii.Boolean(false),
Profile: jsii.String("profile"),
Proxy: jsii.String("proxy"),
RoleArn: jsii.String("roleArn"),
Stacks: []*string{
jsii.String("stacks"),
},
Staging: jsii.Boolean(false),
Strict: jsii.Boolean(false),
Trace: jsii.Boolean(false),
Verbose: jsii.Boolean(false),
VersionReporting: jsii.Boolean(false),
},
Enabled: jsii.Boolean(false),
ExpectedMessage: jsii.String("expectedMessage"),
ExpectError: jsii.Boolean(false),
},
},
DiffAssets: jsii.Boolean(false),
Hooks: &Hooks{
PostDeploy: []*string{
jsii.String("postDeploy"),
},
PostDestroy: []*string{
jsii.String("postDestroy"),
},
PreDeploy: []*string{
jsii.String("preDeploy"),
},
PreDestroy: []*string{
jsii.String("preDestroy"),
},
},
Regions: []*string{
jsii.String("regions"),
},
StackUpdateWorkflow: jsii.Boolean(false),
}
type TestOptions ¶ added in v2.21.0
type TestOptions struct {
// List of CloudFormation resource types in this stack that can be destroyed as part of an update without failing the test.
//
// This list should only include resources that for this specific
// integration test we are sure will not cause errors or an outage if
// destroyed. For example, maybe we know that a new resource will be created
// first before the old resource is destroyed which prevents any outage.
//
// e.g. ['AWS::IAM::Role']
// Default: - do not allow destruction of any resources on update.
//
AllowDestroy *[]*string `field:"optional" json:"allowDestroy" yaml:"allowDestroy"`
// Additional options to use for each CDK command.
// Default: - runner default options.
//
CdkCommandOptions *CdkCommands `field:"optional" json:"cdkCommandOptions" yaml:"cdkCommandOptions"`
// Whether or not to include asset hashes in the diff Asset hashes can introduces a lot of unneccessary noise into tests, but there are some cases where asset hashes _should_ be included.
//
// For example
// any tests involving custom resources or bundling.
// Default: false.
//
DiffAssets *bool `field:"optional" json:"diffAssets" yaml:"diffAssets"`
// Additional commands to run at predefined points in the test workflow.
//
// e.g. { postDeploy: ['yarn', 'test'] }
// Default: - no hooks.
//
Hooks *Hooks `field:"optional" json:"hooks" yaml:"hooks"`
// Limit deployment to these regions.
// Default: - can run in any region.
//
Regions *[]*string `field:"optional" json:"regions" yaml:"regions"`
// Run update workflow on this test case This should only be set to false to test scenarios that are not possible to test as part of the update workflow.
// Default: true.
//
StackUpdateWorkflow *bool `field:"optional" json:"stackUpdateWorkflow" yaml:"stackUpdateWorkflow"`
}
The set of options to control the workflow of the test runner.
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
testOptions := &TestOptions{
AllowDestroy: []*string{
jsii.String("allowDestroy"),
},
CdkCommandOptions: &CdkCommands{
Deploy: &DeployCommand{
Args: &DeployOptions{
All: jsii.Boolean(false),
App: jsii.String("app"),
AssetMetadata: jsii.Boolean(false),
CaBundlePath: jsii.String("caBundlePath"),
ChangeSetName: jsii.String("changeSetName"),
Ci: jsii.Boolean(false),
Color: jsii.Boolean(false),
Concurrency: jsii.Number(123),
Context: map[string]*string{
"contextKey": jsii.String("context"),
},
Debug: jsii.Boolean(false),
Ec2Creds: jsii.Boolean(false),
Exclusively: jsii.Boolean(false),
Execute: jsii.Boolean(false),
Force: jsii.Boolean(false),
IgnoreErrors: jsii.Boolean(false),
Json: jsii.Boolean(false),
Lookups: jsii.Boolean(false),
Notices: jsii.Boolean(false),
NotificationArns: []*string{
jsii.String("notificationArns"),
},
Output: jsii.String("output"),
OutputsFile: jsii.String("outputsFile"),
Parameters: map[string]*string{
"parametersKey": jsii.String("parameters"),
},
PathMetadata: jsii.Boolean(false),
Profile: jsii.String("profile"),
Proxy: jsii.String("proxy"),
RequireApproval: awscdk.Cloud_assembly_schema.RequireApproval_NEVER,
ReuseAssets: []*string{
jsii.String("reuseAssets"),
},
RoleArn: jsii.String("roleArn"),
Rollback: jsii.Boolean(false),
Stacks: []*string{
jsii.String("stacks"),
},
Staging: jsii.Boolean(false),
Strict: jsii.Boolean(false),
ToolkitStackName: jsii.String("toolkitStackName"),
Trace: jsii.Boolean(false),
UsePreviousParameters: jsii.Boolean(false),
Verbose: jsii.Boolean(false),
VersionReporting: jsii.Boolean(false),
},
Enabled: jsii.Boolean(false),
ExpectedMessage: jsii.String("expectedMessage"),
ExpectError: jsii.Boolean(false),
},
Destroy: &DestroyCommand{
Args: &DestroyOptions{
All: jsii.Boolean(false),
App: jsii.String("app"),
AssetMetadata: jsii.Boolean(false),
CaBundlePath: jsii.String("caBundlePath"),
Color: jsii.Boolean(false),
Context: map[string]*string{
"contextKey": jsii.String("context"),
},
Debug: jsii.Boolean(false),
Ec2Creds: jsii.Boolean(false),
Exclusively: jsii.Boolean(false),
Force: jsii.Boolean(false),
IgnoreErrors: jsii.Boolean(false),
Json: jsii.Boolean(false),
Lookups: jsii.Boolean(false),
Notices: jsii.Boolean(false),
Output: jsii.String("output"),
PathMetadata: jsii.Boolean(false),
Profile: jsii.String("profile"),
Proxy: jsii.String("proxy"),
RoleArn: jsii.String("roleArn"),
Stacks: []*string{
jsii.String("stacks"),
},
Staging: jsii.Boolean(false),
Strict: jsii.Boolean(false),
Trace: jsii.Boolean(false),
Verbose: jsii.Boolean(false),
VersionReporting: jsii.Boolean(false),
},
Enabled: jsii.Boolean(false),
ExpectedMessage: jsii.String("expectedMessage"),
ExpectError: jsii.Boolean(false),
},
},
DiffAssets: jsii.Boolean(false),
Hooks: &Hooks{
PostDeploy: []*string{
jsii.String("postDeploy"),
},
PostDestroy: []*string{
jsii.String("postDestroy"),
},
PreDeploy: []*string{
jsii.String("preDeploy"),
},
PreDestroy: []*string{
jsii.String("preDestroy"),
},
},
Regions: []*string{
jsii.String("regions"),
},
StackUpdateWorkflow: jsii.Boolean(false),
}
type TreeArtifactProperties ¶
type TreeArtifactProperties struct {
// Filename of the tree artifact.
File *string `field:"required" json:"file" yaml:"file"`
}
Artifact properties for the Construct Tree Artifact.
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
treeArtifactProperties := &TreeArtifactProperties{
File: jsii.String("file"),
}
type VpcContextQuery ¶
type VpcContextQuery struct {
// Query account.
Account *string `field:"required" json:"account" yaml:"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
//
Filter *map[string]*string `field:"required" json:"filter" yaml:"filter"`
// Query region.
Region *string `field:"required" json:"region" yaml:"region"`
// The ARN of the role that should be used to look up the missing values.
// Default: - None.
//
LookupRoleArn *string `field:"optional" json:"lookupRoleArn" yaml:"lookupRoleArn"`
// Whether to populate the subnetGroups field of the `VpcContextResponse`, which contains potentially asymmetric subnet groups.
// Default: false.
//
ReturnAsymmetricSubnets *bool `field:"optional" json:"returnAsymmetricSubnets" yaml:"returnAsymmetricSubnets"`
// Whether to populate the `vpnGatewayId` field of the `VpcContextResponse`, which contains the VPN Gateway ID, if one exists.
//
// You can explicitly
// disable this in order to avoid the lookup if you know the VPC does not have
// a VPN Gatway attached.
// Default: true.
//
ReturnVpnGateways *bool `field:"optional" json:"returnVpnGateways" yaml:"returnVpnGateways"`
// 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.
// Default: 'aws-cdk:subnet-name'.
//
SubnetGroupNameTag *string `field:"optional" json:"subnetGroupNameTag" yaml:"subnetGroupNameTag"`
}
Query input for looking up a VPC.
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
vpcContextQuery := &VpcContextQuery{
Account: jsii.String("account"),
Filter: map[string]*string{
"filterKey": jsii.String("filter"),
},
Region: jsii.String("region"),
// the properties below are optional
LookupRoleArn: jsii.String("lookupRoleArn"),
ReturnAsymmetricSubnets: jsii.Boolean(false),
ReturnVpnGateways: jsii.Boolean(false),
SubnetGroupNameTag: jsii.String("subnetGroupNameTag"),
}
Source Files
¶
- AmiContextQuery.go
- ArtifactManifest.go
- ArtifactMetadataEntryType.go
- ArtifactType.go
- AssemblyManifest.go
- AssetManifest.go
- AssetManifestOptions.go
- AssetManifestProperties.go
- AvailabilityZonesContextQuery.go
- AwsCloudFormationStackProperties.go
- AwsDestination.go
- BootstrapRole.go
- CdkCommand.go
- CdkCommands.go
- ContainerImageAssetCacheOption.go
- ContainerImageAssetMetadataEntry.go
- ContextProvider.go
- DefaultCdkOptions.go
- DeployCommand.go
- DeployOptions.go
- DestroyCommand.go
- DestroyOptions.go
- DockerCacheOption.go
- DockerImageAsset.go
- DockerImageDestination.go
- DockerImageSource.go
- EndpointServiceAvailabilityZonesContextQuery.go
- FileAsset.go
- FileAssetMetadataEntry.go
- FileAssetPackaging.go
- FileDestination.go
- FileSource.go
- Hooks.go
- HostedZoneContextQuery.go
- IntegManifest.go
- KeyContextQuery.go
- LoadBalancerContextQuery.go
- LoadBalancerFilter.go
- LoadBalancerListenerContextQuery.go
- LoadBalancerListenerProtocol.go
- LoadBalancerType.go
- LoadManifestOptions.go
- Manifest.go
- Manifest__checks.go
- MetadataEntry.go
- MissingContext.go
- NestedCloudAssemblyProperties.go
- PluginContextQuery.go
- RequireApproval.go
- RuntimeInfo.go
- SSMParameterContextQuery.go
- SecurityGroupContextQuery.go
- Tag.go
- TestCase.go
- TestOptions.go
- TreeArtifactProperties.go
- VpcContextQuery.go
- main.go