cloudassemblyschema

package
v1.168.0-devpreview Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 9, 2022 License: Apache-2.0 Imports: 3 Imported by: 3

README

Cloud Assembly Schema

This module is part of the AWS Cloud Development Kit project.

Cloud Assembly

The Cloud Assembly is the output of the synthesis operation. It is produced as part of the cdk synth command, or the app.synth() method invocation.

Its essentially a set of files and directories, one of which is the manifest.json file. It defines the set of instructions that are needed in order to deploy the assembly directory.

For example, when cdk deploy is executed, the CLI reads this file and performs its instructions:

  • Build container images.
  • Upload assets.
  • Deploy CloudFormation templates.

Therefore, the assembly is how the CDK class library and CDK CLI (or any other consumer) communicate. To ensure compatibility between the assembly and its consumers, we treat the manifest file as a well defined, versioned schema.

Schema

This module contains the typescript structs that comprise the manifest.json file, as well as the generated json-schema.

Versioning

The schema version is specified in the cloud-assembly.version.json file, under the version property. It follows semantic versioning, but with a small twist.

When we add instructions to the assembly, they are reflected in the manifest file and the json-schema accordingly. Every such instruction, is crucial for ensuring the correct deployment behavior. This means that to properly deploy a cloud assembly, consumers must be aware of every such instruction modification.

For this reason, every change to the schema, even though it might not strictly break validation of the json-schema format, is considered major version bump.

How to consume

If you'd like to consume the schema file in order to do validations on manifest.json files, simply download it from this repo and run it against standard json-schema validators, such as jsonschema.

Consumers must take into account the major version of the schema they are consuming. They should reject cloud assemblies with a major version that is higher than what they expect. While schema validation might pass on such assemblies, the deployment integrity cannot be guaranteed because some instructions will be ignored.

For example, if your consumer was built when the schema version was 2.0.0, you should reject deploying cloud assemblies with a manifest version of 3.0.0.

Contributing

See Contribution Guide

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Manifest_Save

func Manifest_Save(manifest *AssemblyManifest, filePath *string)

Deprecated. Deprecated: use `saveAssemblyManifest()`.

func Manifest_SaveAssemblyManifest

func Manifest_SaveAssemblyManifest(manifest *AssemblyManifest, filePath *string)

Validates and saves the cloud assembly manifest to file. Experimental.

func Manifest_SaveAssetManifest

func Manifest_SaveAssetManifest(manifest *AssetManifest, filePath *string)

Validates and saves the asset manifest to file. Experimental.

func Manifest_SaveIntegManifest

func Manifest_SaveIntegManifest(manifest *IntegManifest, filePath *string)

Validates and saves the integ manifest to file. Experimental.

func Manifest_Version

func Manifest_Version() *string

Fetch the current schema version number. Experimental.

Types

type AmiContextQuery

type AmiContextQuery struct {
	// Account to query.
	// Experimental.
	Account *string `field:"required" json:"account" yaml:"account"`
	// Filters to DescribeImages call.
	// Experimental.
	Filters *map[string]*[]*string `field:"required" json:"filters" yaml:"filters"`
	// Region to query.
	// Experimental.
	Region *string `field:"required" json:"region" yaml:"region"`
	// The ARN of the role that should be used to look up the missing values.
	// Experimental.
	LookupRoleArn *string `field:"optional" json:"lookupRoleArn" yaml:"lookupRoleArn"`
	// Owners to DescribeImages call.
	// Experimental.
	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"),
	},
}

Experimental.

type ArtifactManifest

type ArtifactManifest struct {
	// The type of artifact.
	// Experimental.
	Type ArtifactType `field:"required" json:"type" yaml:"type"`
	// IDs of artifacts that must be deployed before this artifact.
	// Experimental.
	Dependencies *[]*string `field:"optional" json:"dependencies" yaml:"dependencies"`
	// A string that represents this artifact.
	//
	// Should only be used in user interfaces.
	// Experimental.
	DisplayName *string `field:"optional" json:"displayName" yaml:"displayName"`
	// The environment into which this artifact is deployed.
	// Experimental.
	Environment *string `field:"optional" json:"environment" yaml:"environment"`
	// Associated metadata.
	// Experimental.
	Metadata *map[string]*[]*MetadataEntry `field:"optional" json:"metadata" yaml:"metadata"`
	// The set of properties for this artifact (depends on type).
	// Experimental.
	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),
	},
}

Experimental.

type ArtifactMetadataEntryType

type ArtifactMetadataEntryType string

Type of artifact metadata entry. Experimental.

const (
	// Asset in metadata.
	// Experimental.
	ArtifactMetadataEntryType_ASSET ArtifactMetadataEntryType = "ASSET"
	// Metadata key used to print INFO-level messages by the toolkit when an app is syntheized.
	// Experimental.
	ArtifactMetadataEntryType_INFO ArtifactMetadataEntryType = "INFO"
	// Metadata key used to print WARNING-level messages by the toolkit when an app is syntheized.
	// Experimental.
	ArtifactMetadataEntryType_WARN ArtifactMetadataEntryType = "WARN"
	// Metadata key used to print ERROR-level messages by the toolkit when an app is syntheized.
	// Experimental.
	ArtifactMetadataEntryType_ERROR ArtifactMetadataEntryType = "ERROR"
	// Represents the CloudFormation logical ID of a resource at a certain path.
	// Experimental.
	ArtifactMetadataEntryType_LOGICAL_ID ArtifactMetadataEntryType = "LOGICAL_ID"
	// Represents tags of a stack.
	// Experimental.
	ArtifactMetadataEntryType_STACK_TAGS ArtifactMetadataEntryType = "STACK_TAGS"
)

type ArtifactType

type ArtifactType string

Type of cloud artifact. Experimental.

const (
	// Stub required because of JSII.
	// Experimental.
	ArtifactType_NONE ArtifactType = "NONE"
	// The artifact is an AWS CloudFormation stack.
	// Experimental.
	ArtifactType_AWS_CLOUDFORMATION_STACK ArtifactType = "AWS_CLOUDFORMATION_STACK"
	// The artifact contains the CDK application's construct tree.
	// Experimental.
	ArtifactType_CDK_TREE ArtifactType = "CDK_TREE"
	// Manifest for all assets in the Cloud Assembly.
	// Experimental.
	ArtifactType_ASSET_MANIFEST ArtifactType = "ASSET_MANIFEST"
	// Nested Cloud Assembly.
	// Experimental.
	ArtifactType_NESTED_CLOUD_ASSEMBLY ArtifactType = "NESTED_CLOUD_ASSEMBLY"
)

type AssemblyManifest

type AssemblyManifest struct {
	// Protocol version.
	// Experimental.
	Version *string `field:"required" json:"version" yaml:"version"`
	// The set of artifacts in this assembly.
	// Experimental.
	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.
	// Experimental.
	Missing *[]*MissingContext `field:"optional" json:"missing" yaml:"missing"`
	// Runtime information.
	// Experimental.
	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"),
		},
	},
}

Experimental.

func Manifest_Load

func Manifest_Load(filePath *string) *AssemblyManifest

Deprecated. Deprecated: use `loadAssemblyManifest()`.

func Manifest_LoadAssemblyManifest

func Manifest_LoadAssemblyManifest(filePath *string, options *LoadManifestOptions) *AssemblyManifest

Load and validates the cloud assembly manifest from file. Experimental.

type AssetManifest

type AssetManifest struct {
	// Version of the manifest.
	// Experimental.
	Version *string `field:"required" json:"version" yaml:"version"`
	// The Docker image assets in this manifest.
	// Experimental.
	DockerImages *map[string]*DockerImageAsset `field:"optional" json:"dockerImages" yaml:"dockerImages"`
	// The file assets in this manifest.
	// Experimental.
	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{
				"directory": jsii.String("directory"),
				"dockerBuildArgs": map[string]*string{
					"dockerBuildArgsKey": jsii.String("dockerBuildArgs"),
				},
				"dockerBuildTarget": jsii.String("dockerBuildTarget"),
				"dockerFile": jsii.String("dockerFile"),
				"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"),
			},
		},
	},
}

Experimental.

func Manifest_LoadAssetManifest

func Manifest_LoadAssetManifest(filePath *string) *AssetManifest

Load and validates the asset manifest from file. Experimental.

type AssetManifestProperties

type AssetManifestProperties struct {
	// Filename of the asset manifest.
	// Experimental.
	File *string `field:"required" json:"file" yaml:"file"`
	// SSM parameter where the bootstrap stack version number can be found.
	//
	// - If this value is not set, the bootstrap stack name must be known at
	//    deployment time so the stack version can be looked up from the stack
	//    outputs.
	// - If this value is set, the bootstrap stack can have any name because
	//    we won't need to look it up.
	// Experimental.
	BootstrapStackVersionSsmParameter *string `field:"optional" json:"bootstrapStackVersionSsmParameter" yaml:"bootstrapStackVersionSsmParameter"`
	// Version of bootstrap stack required to deploy this stack.
	// Experimental.
	RequiresBootstrapStackVersion *float64 `field:"optional" json:"requiresBootstrapStackVersion" yaml:"requiresBootstrapStackVersion"`
}

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),
}

Experimental.

type AvailabilityZonesContextQuery

type AvailabilityZonesContextQuery struct {
	// Query account.
	// Experimental.
	Account *string `field:"required" json:"account" yaml:"account"`
	// Query region.
	// Experimental.
	Region *string `field:"required" json:"region" yaml:"region"`
	// The ARN of the role that should be used to look up the missing values.
	// Experimental.
	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"),
}

Experimental.

type AwsCloudFormationStackProperties

type AwsCloudFormationStackProperties struct {
	// A file relative to the assembly root which contains the CloudFormation template for this stack.
	// Experimental.
	TemplateFile *string `field:"required" json:"templateFile" yaml:"templateFile"`
	// The role that needs to be assumed to deploy the stack.
	// Experimental.
	AssumeRoleArn *string `field:"optional" json:"assumeRoleArn" yaml:"assumeRoleArn"`
	// External ID to use when assuming role for cloudformation deployments.
	// Experimental.
	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.
	// Experimental.
	BootstrapStackVersionSsmParameter *string `field:"optional" json:"bootstrapStackVersionSsmParameter" yaml:"bootstrapStackVersionSsmParameter"`
	// The role that is passed to CloudFormation to execute the change set.
	// Experimental.
	CloudFormationExecutionRoleArn *string `field:"optional" json:"cloudFormationExecutionRoleArn" yaml:"cloudFormationExecutionRoleArn"`
	// The role to use to look up values from the target AWS account.
	// Experimental.
	LookupRole *BootstrapRole `field:"optional" json:"lookupRole" yaml:"lookupRole"`
	// Values for CloudFormation stack parameters that should be passed when the stack is deployed.
	// Experimental.
	Parameters *map[string]*string `field:"optional" json:"parameters" yaml:"parameters"`
	// Version of bootstrap stack required to deploy this stack.
	// Experimental.
	RequiresBootstrapStackVersion *float64 `field:"optional" json:"requiresBootstrapStackVersion" yaml:"requiresBootstrapStackVersion"`
	// The name to use for the CloudFormation stack.
	// Experimental.
	StackName *string `field:"optional" json:"stackName" yaml:"stackName"`
	// If the stack template has already been included in the asset manifest, its asset URL.
	// Experimental.
	StackTemplateAssetObjectUrl *string `field:"optional" json:"stackTemplateAssetObjectUrl" yaml:"stackTemplateAssetObjectUrl"`
	// Values for CloudFormation stack tags that should be passed when the stack is deployed.
	// Experimental.
	Tags *map[string]*string `field:"optional" json:"tags" yaml:"tags"`
	// Whether to enable termination protection for this stack.
	// Experimental.
	TerminationProtection *bool `field:"optional" json:"terminationProtection" yaml:"terminationProtection"`
	// Whether this stack should be validated by the CLI after synthesis.
	// Experimental.
	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),
}

Experimental.

type AwsDestination

type AwsDestination struct {
	// The role that needs to be assumed while publishing this asset.
	// Experimental.
	AssumeRoleArn *string `field:"optional" json:"assumeRoleArn" yaml:"assumeRoleArn"`
	// The ExternalId that needs to be supplied while assuming this role.
	// Experimental.
	AssumeRoleExternalId *string `field:"optional" json:"assumeRoleExternalId" yaml:"assumeRoleExternalId"`
	// The region where this asset will need to be published.
	// Experimental.
	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"),
}

Experimental.

type BootstrapRole

type BootstrapRole struct {
	// The ARN of the IAM role created as part of bootrapping e.g. lookupRoleArn.
	// Experimental.
	Arn *string `field:"required" json:"arn" yaml:"arn"`
	// External ID to use when assuming the bootstrap role.
	// Experimental.
	AssumeRoleExternalId *string `field:"optional" json:"assumeRoleExternalId" yaml:"assumeRoleExternalId"`
	// Name of SSM parameter with bootstrap stack version.
	// Experimental.
	BootstrapStackVersionSsmParameter *string `field:"optional" json:"bootstrapStackVersionSsmParameter" yaml:"bootstrapStackVersionSsmParameter"`
	// Version of bootstrap stack required to use this role.
	// Experimental.
	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),
}

Experimental.

type CdkCommand

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.
	// Experimental.
	Enabled *bool `field:"optional" json:"enabled" yaml:"enabled"`
	// This can be used in combination with `expectedError` to validate that a specific message is returned.
	// Experimental.
	ExpectedMessage *string `field:"optional" json:"expectedMessage" yaml:"expectedMessage"`
	// If the runner should expect this command to fail.
	// Experimental.
	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),
}

Experimental.

type CdkCommands

type CdkCommands struct {
	// Options to for the cdk deploy command.
	// Experimental.
	Deploy *DeployCommand `field:"optional" json:"deploy" yaml:"deploy"`
	// Options to for the cdk destroy command.
	// Experimental.
	Destroy *DestroyCommand `field:"optional" json:"destroy" yaml:"destroy"`
}

Options for specific cdk commands that are run as part of the integration test workflow.

Example:

app := awscdk.NewApp()

stackUnderTest := awscdk.NewStack(app, jsii.String("StackUnderTest"))

stack := awscdk.NewStack(app, jsii.String("stack"))

testCase := awscdk.NewIntegTest(app, jsii.String("CustomizedDeploymentWorkflow"), &integTestProps{
	testCases: []stack{
		stackUnderTest,
	},
	diffAssets: jsii.Boolean(true),
	stackUpdateWorkflow: jsii.Boolean(true),
	cdkCommandOptions: &cdkCommands{
		deploy: &deployCommand{
			args: &deployOptions{
				requireApproval: awscdk.RequireApproval_NEVER,
				json: jsii.Boolean(true),
			},
		},
		destroy: &destroyCommand{
			args: &destroyOptions{
				force: jsii.Boolean(true),
			},
		},
	},
})

Experimental.

type ContainerImageAssetMetadataEntry

type ContainerImageAssetMetadataEntry struct {
	// Logical identifier for the asset.
	// Experimental.
	Id *string `field:"required" json:"id" yaml:"id"`
	// Type of asset.
	// Experimental.
	Packaging *string `field:"required" json:"packaging" yaml:"packaging"`
	// Path on disk to the asset.
	// Experimental.
	Path *string `field:"required" json:"path" yaml:"path"`
	// The hash of the asset source.
	// Experimental.
	SourceHash *string `field:"required" json:"sourceHash" yaml:"sourceHash"`
	// Build args to pass to the `docker build` command.
	// Experimental.
	BuildArgs *map[string]*string `field:"optional" json:"buildArgs" yaml:"buildArgs"`
	// Path to the Dockerfile (relative to the directory).
	// Experimental.
	File *string `field:"optional" json:"file" yaml:"file"`
	// ECR Repository name and repo digest (separated by "@sha256:") where this image is stored.
	// Deprecated: specify `repositoryName` and `imageTag` instead, and then you
	// know where the image will go.
	ImageNameParameter *string `field:"optional" json:"imageNameParameter" yaml:"imageNameParameter"`
	// The docker image tag to use for tagging pushed images.
	//
	// This field is
	// required if `imageParameterName` is ommited (otherwise, the app won't be
	// able to find the image).
	// Experimental.
	ImageTag *string `field:"optional" json:"imageTag" yaml:"imageTag"`
	// Networking mode for the RUN commands during build.
	// Experimental.
	NetworkMode *string `field:"optional" json:"networkMode" yaml:"networkMode"`
	// Platform to build for.
	//
	// _Requires Docker Buildx_.
	// Experimental.
	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.
	// Experimental.
	RepositoryName *string `field:"optional" json:"repositoryName" yaml:"repositoryName"`
	// Docker target to build to.
	// Experimental.
	Target *string `field:"optional" json:"target" yaml:"target"`
}

Metadata Entry spec for container images.

Example:

// Example automatically generated from non-compiling source. May contain errors.
// 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"

containerImageAssetMetadataEntry := &containerImageAssetMetadataEntry{
	id: jsii.String("id"),
	packaging: jsii.String("packaging"),
	path: jsii.String("path"),
	sourceHash: jsii.String("sourceHash"),

	// the properties below are optional
	buildArgs: map[string]*string{
		"buildArgsKey": jsii.String("buildArgs"),
	},
	file: jsii.String("file"),
	imageNameParameter: jsii.String("imageNameParameter"),
	imageTag: jsii.String("imageTag"),
	networkMode: jsii.String("networkMode"),
	platform: jsii.String("platform"),
	repositoryName: jsii.String("repositoryName"),
	target: jsii.String("target"),
}

Experimental.

type ContextProvider

type ContextProvider string

Identifier for the context provider. Experimental.

const (
	// AMI provider.
	// Experimental.
	ContextProvider_AMI_PROVIDER ContextProvider = "AMI_PROVIDER"
	// AZ provider.
	// Experimental.
	ContextProvider_AVAILABILITY_ZONE_PROVIDER ContextProvider = "AVAILABILITY_ZONE_PROVIDER"
	// Route53 Hosted Zone provider.
	// Experimental.
	ContextProvider_HOSTED_ZONE_PROVIDER ContextProvider = "HOSTED_ZONE_PROVIDER"
	// SSM Parameter Provider.
	// Experimental.
	ContextProvider_SSM_PARAMETER_PROVIDER ContextProvider = "SSM_PARAMETER_PROVIDER"
	// VPC Provider.
	// Experimental.
	ContextProvider_VPC_PROVIDER ContextProvider = "VPC_PROVIDER"
	// VPC Endpoint Service AZ Provider.
	// Experimental.
	ContextProvider_ENDPOINT_SERVICE_AVAILABILITY_ZONE_PROVIDER ContextProvider = "ENDPOINT_SERVICE_AVAILABILITY_ZONE_PROVIDER"
	// Load balancer provider.
	// Experimental.
	ContextProvider_LOAD_BALANCER_PROVIDER ContextProvider = "LOAD_BALANCER_PROVIDER"
	// Load balancer listener provider.
	// Experimental.
	ContextProvider_LOAD_BALANCER_LISTENER_PROVIDER ContextProvider = "LOAD_BALANCER_LISTENER_PROVIDER"
	// Security group provider.
	// Experimental.
	ContextProvider_SECURITY_GROUP_PROVIDER ContextProvider = "SECURITY_GROUP_PROVIDER"
	// KMS Key Provider.
	// Experimental.
	ContextProvider_KEY_PROVIDER ContextProvider = "KEY_PROVIDER"
	// A plugin provider (the actual plugin name will be in the properties).
	// Experimental.
	ContextProvider_PLUGIN ContextProvider = "PLUGIN"
)

type DefaultCdkOptions

type DefaultCdkOptions struct {
	// Deploy all stacks.
	//
	// Requried if `stacks` is not set.
	// Experimental.
	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".
	// Experimental.
	App *string `field:"optional" json:"app" yaml:"app"`
	// Include "aws:asset:*" CloudFormation metadata for resources that use assets.
	// Experimental.
	AssetMetadata *bool `field:"optional" json:"assetMetadata" yaml:"assetMetadata"`
	// Path to CA certificate to use when validating HTTPS requests.
	// Experimental.
	CaBundlePath *string `field:"optional" json:"caBundlePath" yaml:"caBundlePath"`
	// Show colors and other style from console output.
	// Experimental.
	Color *bool `field:"optional" json:"color" yaml:"color"`
	// Additional context.
	// Experimental.
	Context *map[string]*string `field:"optional" json:"context" yaml:"context"`
	// enable emission of additional debugging information, such as creation stack traces of tokens.
	// Experimental.
	Debug *bool `field:"optional" json:"debug" yaml:"debug"`
	// Force trying to fetch EC2 instance credentials.
	// Experimental.
	Ec2Creds *bool `field:"optional" json:"ec2Creds" yaml:"ec2Creds"`
	// Ignores synthesis errors, which will likely produce an invalid output.
	// Experimental.
	IgnoreErrors *bool `field:"optional" json:"ignoreErrors" yaml:"ignoreErrors"`
	// Use JSON output instead of YAML when templates are printed to STDOUT.
	// Experimental.
	Json *bool `field:"optional" json:"json" yaml:"json"`
	// Perform context lookups.
	//
	// Synthesis fails if this is disabled and context lookups need
	// to be performed.
	// Experimental.
	Lookups *bool `field:"optional" json:"lookups" yaml:"lookups"`
	// Show relevant notices.
	// Experimental.
	Notices *bool `field:"optional" json:"notices" yaml:"notices"`
	// Emits the synthesized cloud assembly into a directory.
	// Experimental.
	Output *string `field:"optional" json:"output" yaml:"output"`
	// Include "aws:cdk:path" CloudFormation metadata for each resource.
	// Experimental.
	PathMetadata *bool `field:"optional" json:"pathMetadata" yaml:"pathMetadata"`
	// Use the indicated AWS profile as the default environment.
	// Experimental.
	Profile *string `field:"optional" json:"profile" yaml:"profile"`
	// Use the indicated proxy.
	//
	// Will read from
	// HTTPS_PROXY environment if specified.
	// Experimental.
	Proxy *string `field:"optional" json:"proxy" yaml:"proxy"`
	// Role to pass to CloudFormation for deployment.
	// Experimental.
	RoleArn *string `field:"optional" json:"roleArn" yaml:"roleArn"`
	// List of stacks to deploy.
	//
	// Requried if `all` is not set.
	// Experimental.
	Stacks *[]*string `field:"optional" json:"stacks" yaml:"stacks"`
	// Copy assets to the output directory.
	//
	// Needed for local debugging the source files with SAM CLI.
	// Experimental.
	Staging *bool `field:"optional" json:"staging" yaml:"staging"`
	// Do not construct stacks with warnings.
	// Experimental.
	Strict *bool `field:"optional" json:"strict" yaml:"strict"`
	// Print trace for stack warnings.
	// Experimental.
	Trace *bool `field:"optional" json:"trace" yaml:"trace"`
	// show debug logs.
	// Experimental.
	Verbose *bool `field:"optional" json:"verbose" yaml:"verbose"`
	// Include "AWS::CDK::Metadata" resource in synthesized templates.
	// Experimental.
	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),
}

Experimental.

type DeployCommand

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.
	// Experimental.
	Enabled *bool `field:"optional" json:"enabled" yaml:"enabled"`
	// This can be used in combination with `expectedError` to validate that a specific message is returned.
	// Experimental.
	ExpectedMessage *string `field:"optional" json:"expectedMessage" yaml:"expectedMessage"`
	// If the runner should expect this command to fail.
	// Experimental.
	ExpectError *bool `field:"optional" json:"expectError" yaml:"expectError"`
	// Additional arguments to pass to the command This can be used to test specific CLI functionality.
	// Experimental.
	Args *DeployOptions `field:"optional" json:"args" yaml:"args"`
}

Represents a cdk deploy command.

Example:

app := awscdk.NewApp()

stackUnderTest := awscdk.NewStack(app, jsii.String("StackUnderTest"))

stack := awscdk.NewStack(app, jsii.String("stack"))

testCase := awscdk.NewIntegTest(app, jsii.String("CustomizedDeploymentWorkflow"), &integTestProps{
	testCases: []stack{
		stackUnderTest,
	},
	diffAssets: jsii.Boolean(true),
	stackUpdateWorkflow: jsii.Boolean(true),
	cdkCommandOptions: &cdkCommands{
		deploy: &deployCommand{
			args: &deployOptions{
				requireApproval: awscdk.RequireApproval_NEVER,
				json: jsii.Boolean(true),
			},
		},
		destroy: &destroyCommand{
			args: &destroyOptions{
				force: jsii.Boolean(true),
			},
		},
	},
})

Experimental.

type DeployOptions

type DeployOptions struct {
	// Deploy all stacks.
	//
	// Requried if `stacks` is not set.
	// Experimental.
	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".
	// Experimental.
	App *string `field:"optional" json:"app" yaml:"app"`
	// Include "aws:asset:*" CloudFormation metadata for resources that use assets.
	// Experimental.
	AssetMetadata *bool `field:"optional" json:"assetMetadata" yaml:"assetMetadata"`
	// Path to CA certificate to use when validating HTTPS requests.
	// Experimental.
	CaBundlePath *string `field:"optional" json:"caBundlePath" yaml:"caBundlePath"`
	// Show colors and other style from console output.
	// Experimental.
	Color *bool `field:"optional" json:"color" yaml:"color"`
	// Additional context.
	// Experimental.
	Context *map[string]*string `field:"optional" json:"context" yaml:"context"`
	// enable emission of additional debugging information, such as creation stack traces of tokens.
	// Experimental.
	Debug *bool `field:"optional" json:"debug" yaml:"debug"`
	// Force trying to fetch EC2 instance credentials.
	// Experimental.
	Ec2Creds *bool `field:"optional" json:"ec2Creds" yaml:"ec2Creds"`
	// Ignores synthesis errors, which will likely produce an invalid output.
	// Experimental.
	IgnoreErrors *bool `field:"optional" json:"ignoreErrors" yaml:"ignoreErrors"`
	// Use JSON output instead of YAML when templates are printed to STDOUT.
	// Experimental.
	Json *bool `field:"optional" json:"json" yaml:"json"`
	// Perform context lookups.
	//
	// Synthesis fails if this is disabled and context lookups need
	// to be performed.
	// Experimental.
	Lookups *bool `field:"optional" json:"lookups" yaml:"lookups"`
	// Show relevant notices.
	// Experimental.
	Notices *bool `field:"optional" json:"notices" yaml:"notices"`
	// Emits the synthesized cloud assembly into a directory.
	// Experimental.
	Output *string `field:"optional" json:"output" yaml:"output"`
	// Include "aws:cdk:path" CloudFormation metadata for each resource.
	// Experimental.
	PathMetadata *bool `field:"optional" json:"pathMetadata" yaml:"pathMetadata"`
	// Use the indicated AWS profile as the default environment.
	// Experimental.
	Profile *string `field:"optional" json:"profile" yaml:"profile"`
	// Use the indicated proxy.
	//
	// Will read from
	// HTTPS_PROXY environment if specified.
	// Experimental.
	Proxy *string `field:"optional" json:"proxy" yaml:"proxy"`
	// Role to pass to CloudFormation for deployment.
	// Experimental.
	RoleArn *string `field:"optional" json:"roleArn" yaml:"roleArn"`
	// List of stacks to deploy.
	//
	// Requried if `all` is not set.
	// Experimental.
	Stacks *[]*string `field:"optional" json:"stacks" yaml:"stacks"`
	// Copy assets to the output directory.
	//
	// Needed for local debugging the source files with SAM CLI.
	// Experimental.
	Staging *bool `field:"optional" json:"staging" yaml:"staging"`
	// Do not construct stacks with warnings.
	// Experimental.
	Strict *bool `field:"optional" json:"strict" yaml:"strict"`
	// Print trace for stack warnings.
	// Experimental.
	Trace *bool `field:"optional" json:"trace" yaml:"trace"`
	// show debug logs.
	// Experimental.
	Verbose *bool `field:"optional" json:"verbose" yaml:"verbose"`
	// Include "AWS::CDK::Metadata" resource in synthesized templates.
	// Experimental.
	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.
	// Experimental.
	ChangeSetName *string `field:"optional" json:"changeSetName" yaml:"changeSetName"`
	// Whether we are on a CI system.
	// Experimental.
	Ci *bool `field:"optional" json:"ci" yaml:"ci"`
	// Only perform action on the given stack.
	// Experimental.
	Exclusively *bool `field:"optional" json:"exclusively" yaml:"exclusively"`
	// Whether to execute the ChangeSet Not providing `execute` parameter will result in execution of ChangeSet.
	// Experimental.
	Execute *bool `field:"optional" json:"execute" yaml:"execute"`
	// Always deploy, even if templates are identical.
	// Experimental.
	Force *bool `field:"optional" json:"force" yaml:"force"`
	// ARNs of SNS topics that CloudFormation will notify with stack related events.
	// Experimental.
	NotificationArns *[]*string `field:"optional" json:"notificationArns" yaml:"notificationArns"`
	// Path to file where stack outputs will be written after a successful deploy as JSON.
	// Experimental.
	OutputsFile *string `field:"optional" json:"outputsFile" yaml:"outputsFile"`
	// Additional parameters for CloudFormation at deploy time.
	// Experimental.
	Parameters *map[string]*string `field:"optional" json:"parameters" yaml:"parameters"`
	// What kind of security changes require approval.
	// Experimental.
	RequireApproval RequireApproval `field:"optional" json:"requireApproval" yaml:"requireApproval"`
	// Reuse the assets with the given asset IDs.
	// Experimental.
	ReuseAssets *[]*string `field:"optional" json:"reuseAssets" yaml:"reuseAssets"`
	// Rollback failed deployments.
	// Experimental.
	Rollback *bool `field:"optional" json:"rollback" yaml:"rollback"`
	// Name of the toolkit stack to use/deploy.
	// Experimental.
	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.
	// Experimental.
	UsePreviousParameters *bool `field:"optional" json:"usePreviousParameters" yaml:"usePreviousParameters"`
}

Options to use with cdk deploy.

Example:

app := awscdk.NewApp()

stackUnderTest := awscdk.NewStack(app, jsii.String("StackUnderTest"))

stack := awscdk.NewStack(app, jsii.String("stack"))

testCase := awscdk.NewIntegTest(app, jsii.String("CustomizedDeploymentWorkflow"), &integTestProps{
	testCases: []stack{
		stackUnderTest,
	},
	diffAssets: jsii.Boolean(true),
	stackUpdateWorkflow: jsii.Boolean(true),
	cdkCommandOptions: &cdkCommands{
		deploy: &deployCommand{
			args: &deployOptions{
				requireApproval: awscdk.RequireApproval_NEVER,
				json: jsii.Boolean(true),
			},
		},
		destroy: &destroyCommand{
			args: &destroyOptions{
				force: jsii.Boolean(true),
			},
		},
	},
})

Experimental.

type DestroyCommand

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.
	// Experimental.
	Enabled *bool `field:"optional" json:"enabled" yaml:"enabled"`
	// This can be used in combination with `expectedError` to validate that a specific message is returned.
	// Experimental.
	ExpectedMessage *string `field:"optional" json:"expectedMessage" yaml:"expectedMessage"`
	// If the runner should expect this command to fail.
	// Experimental.
	ExpectError *bool `field:"optional" json:"expectError" yaml:"expectError"`
	// Additional arguments to pass to the command This can be used to test specific CLI functionality.
	// Experimental.
	Args *DestroyOptions `field:"optional" json:"args" yaml:"args"`
}

Represents a cdk destroy command.

Example:

app := awscdk.NewApp()

stackUnderTest := awscdk.NewStack(app, jsii.String("StackUnderTest"))

stack := awscdk.NewStack(app, jsii.String("stack"))

testCase := awscdk.NewIntegTest(app, jsii.String("CustomizedDeploymentWorkflow"), &integTestProps{
	testCases: []stack{
		stackUnderTest,
	},
	diffAssets: jsii.Boolean(true),
	stackUpdateWorkflow: jsii.Boolean(true),
	cdkCommandOptions: &cdkCommands{
		deploy: &deployCommand{
			args: &deployOptions{
				requireApproval: awscdk.RequireApproval_NEVER,
				json: jsii.Boolean(true),
			},
		},
		destroy: &destroyCommand{
			args: &destroyOptions{
				force: jsii.Boolean(true),
			},
		},
	},
})

Experimental.

type DestroyOptions

type DestroyOptions struct {
	// Deploy all stacks.
	//
	// Requried if `stacks` is not set.
	// Experimental.
	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".
	// Experimental.
	App *string `field:"optional" json:"app" yaml:"app"`
	// Include "aws:asset:*" CloudFormation metadata for resources that use assets.
	// Experimental.
	AssetMetadata *bool `field:"optional" json:"assetMetadata" yaml:"assetMetadata"`
	// Path to CA certificate to use when validating HTTPS requests.
	// Experimental.
	CaBundlePath *string `field:"optional" json:"caBundlePath" yaml:"caBundlePath"`
	// Show colors and other style from console output.
	// Experimental.
	Color *bool `field:"optional" json:"color" yaml:"color"`
	// Additional context.
	// Experimental.
	Context *map[string]*string `field:"optional" json:"context" yaml:"context"`
	// enable emission of additional debugging information, such as creation stack traces of tokens.
	// Experimental.
	Debug *bool `field:"optional" json:"debug" yaml:"debug"`
	// Force trying to fetch EC2 instance credentials.
	// Experimental.
	Ec2Creds *bool `field:"optional" json:"ec2Creds" yaml:"ec2Creds"`
	// Ignores synthesis errors, which will likely produce an invalid output.
	// Experimental.
	IgnoreErrors *bool `field:"optional" json:"ignoreErrors" yaml:"ignoreErrors"`
	// Use JSON output instead of YAML when templates are printed to STDOUT.
	// Experimental.
	Json *bool `field:"optional" json:"json" yaml:"json"`
	// Perform context lookups.
	//
	// Synthesis fails if this is disabled and context lookups need
	// to be performed.
	// Experimental.
	Lookups *bool `field:"optional" json:"lookups" yaml:"lookups"`
	// Show relevant notices.
	// Experimental.
	Notices *bool `field:"optional" json:"notices" yaml:"notices"`
	// Emits the synthesized cloud assembly into a directory.
	// Experimental.
	Output *string `field:"optional" json:"output" yaml:"output"`
	// Include "aws:cdk:path" CloudFormation metadata for each resource.
	// Experimental.
	PathMetadata *bool `field:"optional" json:"pathMetadata" yaml:"pathMetadata"`
	// Use the indicated AWS profile as the default environment.
	// Experimental.
	Profile *string `field:"optional" json:"profile" yaml:"profile"`
	// Use the indicated proxy.
	//
	// Will read from
	// HTTPS_PROXY environment if specified.
	// Experimental.
	Proxy *string `field:"optional" json:"proxy" yaml:"proxy"`
	// Role to pass to CloudFormation for deployment.
	// Experimental.
	RoleArn *string `field:"optional" json:"roleArn" yaml:"roleArn"`
	// List of stacks to deploy.
	//
	// Requried if `all` is not set.
	// Experimental.
	Stacks *[]*string `field:"optional" json:"stacks" yaml:"stacks"`
	// Copy assets to the output directory.
	//
	// Needed for local debugging the source files with SAM CLI.
	// Experimental.
	Staging *bool `field:"optional" json:"staging" yaml:"staging"`
	// Do not construct stacks with warnings.
	// Experimental.
	Strict *bool `field:"optional" json:"strict" yaml:"strict"`
	// Print trace for stack warnings.
	// Experimental.
	Trace *bool `field:"optional" json:"trace" yaml:"trace"`
	// show debug logs.
	// Experimental.
	Verbose *bool `field:"optional" json:"verbose" yaml:"verbose"`
	// Include "AWS::CDK::Metadata" resource in synthesized templates.
	// Experimental.
	VersionReporting *bool `field:"optional" json:"versionReporting" yaml:"versionReporting"`
	// Only destroy the given stack.
	// Experimental.
	Exclusively *bool `field:"optional" json:"exclusively" yaml:"exclusively"`
	// Do not ask for permission before destroying stacks.
	// Experimental.
	Force *bool `field:"optional" json:"force" yaml:"force"`
}

Options to use with cdk destroy.

Example:

app := awscdk.NewApp()

stackUnderTest := awscdk.NewStack(app, jsii.String("StackUnderTest"))

stack := awscdk.NewStack(app, jsii.String("stack"))

testCase := awscdk.NewIntegTest(app, jsii.String("CustomizedDeploymentWorkflow"), &integTestProps{
	testCases: []stack{
		stackUnderTest,
	},
	diffAssets: jsii.Boolean(true),
	stackUpdateWorkflow: jsii.Boolean(true),
	cdkCommandOptions: &cdkCommands{
		deploy: &deployCommand{
			args: &deployOptions{
				requireApproval: awscdk.RequireApproval_NEVER,
				json: jsii.Boolean(true),
			},
		},
		destroy: &destroyCommand{
			args: &destroyOptions{
				force: jsii.Boolean(true),
			},
		},
	},
})

Experimental.

type DockerImageAsset

type DockerImageAsset struct {
	// Destinations for this file asset.
	// Experimental.
	Destinations *map[string]*DockerImageDestination `field:"required" json:"destinations" yaml:"destinations"`
	// Source description for file assets.
	// Experimental.
	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{
		directory: jsii.String("directory"),
		dockerBuildArgs: map[string]*string{
			"dockerBuildArgsKey": jsii.String("dockerBuildArgs"),
		},
		dockerBuildTarget: jsii.String("dockerBuildTarget"),
		dockerFile: jsii.String("dockerFile"),
		executable: []*string{
			jsii.String("executable"),
		},
		networkMode: jsii.String("networkMode"),
		platform: jsii.String("platform"),
	},
}

Experimental.

type DockerImageDestination

type DockerImageDestination struct {
	// The role that needs to be assumed while publishing this asset.
	// Experimental.
	AssumeRoleArn *string `field:"optional" json:"assumeRoleArn" yaml:"assumeRoleArn"`
	// The ExternalId that needs to be supplied while assuming this role.
	// Experimental.
	AssumeRoleExternalId *string `field:"optional" json:"assumeRoleExternalId" yaml:"assumeRoleExternalId"`
	// The region where this asset will need to be published.
	// Experimental.
	Region *string `field:"optional" json:"region" yaml:"region"`
	// Tag of the image to publish.
	// Experimental.
	ImageTag *string `field:"required" json:"imageTag" yaml:"imageTag"`
	// Name of the ECR repository to publish to.
	// Experimental.
	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"),
}

Experimental.

type DockerImageSource

type DockerImageSource struct {
	// The directory containing the Docker image build instructions.
	//
	// This path is relative to the asset manifest location.
	// Experimental.
	Directory *string `field:"optional" json:"directory" yaml:"directory"`
	// Additional build arguments.
	//
	// Only allowed when `directory` is set.
	// Experimental.
	DockerBuildArgs *map[string]*string `field:"optional" json:"dockerBuildArgs" yaml:"dockerBuildArgs"`
	// Target build stage in a Dockerfile with multiple build stages.
	//
	// Only allowed when `directory` is set.
	// Experimental.
	DockerBuildTarget *string `field:"optional" json:"dockerBuildTarget" yaml:"dockerBuildTarget"`
	// The name of the file with build instructions.
	//
	// Only allowed when `directory` is set.
	// Experimental.
	DockerFile *string `field:"optional" json:"dockerFile" yaml:"dockerFile"`
	// A command-line executable that returns the name of a local Docker image on stdout after being run.
	// Experimental.
	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.
	// Experimental.
	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.
	// Experimental.
	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{
	directory: jsii.String("directory"),
	dockerBuildArgs: map[string]*string{
		"dockerBuildArgsKey": jsii.String("dockerBuildArgs"),
	},
	dockerBuildTarget: jsii.String("dockerBuildTarget"),
	dockerFile: jsii.String("dockerFile"),
	executable: []*string{
		jsii.String("executable"),
	},
	networkMode: jsii.String("networkMode"),
	platform: jsii.String("platform"),
}

Experimental.

type EndpointServiceAvailabilityZonesContextQuery

type EndpointServiceAvailabilityZonesContextQuery struct {
	// Query account.
	// Experimental.
	Account *string `field:"required" json:"account" yaml:"account"`
	// Query region.
	// Experimental.
	Region *string `field:"required" json:"region" yaml:"region"`
	// Query service name.
	// Experimental.
	ServiceName *string `field:"required" json:"serviceName" yaml:"serviceName"`
	// The ARN of the role that should be used to look up the missing values.
	// Experimental.
	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"),
}

Experimental.

type FileAsset

type FileAsset struct {
	// Destinations for this file asset.
	// Experimental.
	Destinations *map[string]*FileDestination `field:"required" json:"destinations" yaml:"destinations"`
	// Source description for file assets.
	// Experimental.
	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"),
	},
}

Experimental.

type FileAssetMetadataEntry

type FileAssetMetadataEntry struct {
	// The name of the parameter where the hash of the bundled asset should be passed in.
	// Experimental.
	ArtifactHashParameter *string `field:"required" json:"artifactHashParameter" yaml:"artifactHashParameter"`
	// Logical identifier for the asset.
	// Experimental.
	Id *string `field:"required" json:"id" yaml:"id"`
	// Requested packaging style.
	// Experimental.
	Packaging *string `field:"required" json:"packaging" yaml:"packaging"`
	// Path on disk to the asset.
	// Experimental.
	Path *string `field:"required" json:"path" yaml:"path"`
	// Name of parameter where S3 bucket should be passed in.
	// Experimental.
	S3BucketParameter *string `field:"required" json:"s3BucketParameter" yaml:"s3BucketParameter"`
	// Name of parameter where S3 key should be passed in.
	// Experimental.
	S3KeyParameter *string `field:"required" json:"s3KeyParameter" yaml:"s3KeyParameter"`
	// The hash of the asset source.
	// Experimental.
	SourceHash *string `field:"required" json:"sourceHash" yaml:"sourceHash"`
}

Metadata Entry spec for files.

Example:

// Example automatically generated from non-compiling source. May contain errors.
// 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"

fileAssetMetadataEntry := &fileAssetMetadataEntry{
	artifactHashParameter: jsii.String("artifactHashParameter"),
	id: jsii.String("id"),
	packaging: jsii.String("packaging"),
	path: jsii.String("path"),
	s3BucketParameter: jsii.String("s3BucketParameter"),
	s3KeyParameter: jsii.String("s3KeyParameter"),
	sourceHash: jsii.String("sourceHash"),
}

Experimental.

type FileAssetPackaging

type FileAssetPackaging string

Packaging strategy for file assets. Experimental.

const (
	// Upload the given path as a file.
	// Experimental.
	FileAssetPackaging_FILE FileAssetPackaging = "FILE"
	// The given path is a directory, zip it and upload.
	// Experimental.
	FileAssetPackaging_ZIP_DIRECTORY FileAssetPackaging = "ZIP_DIRECTORY"
)

type FileDestination

type FileDestination struct {
	// The role that needs to be assumed while publishing this asset.
	// Experimental.
	AssumeRoleArn *string `field:"optional" json:"assumeRoleArn" yaml:"assumeRoleArn"`
	// The ExternalId that needs to be supplied while assuming this role.
	// Experimental.
	AssumeRoleExternalId *string `field:"optional" json:"assumeRoleExternalId" yaml:"assumeRoleExternalId"`
	// The region where this asset will need to be published.
	// Experimental.
	Region *string `field:"optional" json:"region" yaml:"region"`
	// The name of the bucket.
	// Experimental.
	BucketName *string `field:"required" json:"bucketName" yaml:"bucketName"`
	// The destination object key.
	// Experimental.
	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"),
}

Experimental.

type FileSource

type FileSource struct {
	// External command which will produce the file asset to upload.
	// Experimental.
	Executable *[]*string `field:"optional" json:"executable" yaml:"executable"`
	// Packaging method.
	//
	// Only allowed when `path` is specified.
	// Experimental.
	Packaging FileAssetPackaging `field:"optional" json:"packaging" yaml:"packaging"`
	// The filesystem object to upload.
	//
	// This path is relative to the asset manifest location.
	// Experimental.
	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"),
}

Experimental.

type Hooks

type Hooks struct {
	// Commands to run prior after deploying the cdk stacks in the integration test.
	// Experimental.
	PostDeploy *[]*string `field:"optional" json:"postDeploy" yaml:"postDeploy"`
	// Commands to run after destroying the cdk stacks in the integration test.
	// Experimental.
	PostDestroy *[]*string `field:"optional" json:"postDestroy" yaml:"postDestroy"`
	// Commands to run prior to deploying the cdk stacks in the integration test.
	// Experimental.
	PreDeploy *[]*string `field:"optional" json:"preDeploy" yaml:"preDeploy"`
	// Commands to run prior to destroying the cdk stacks in the integration test.
	// Experimental.
	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"),
	},
}

Experimental.

type HostedZoneContextQuery

type HostedZoneContextQuery struct {
	// Query account.
	// Experimental.
	Account *string `field:"required" json:"account" yaml:"account"`
	// The domain name e.g. example.com to lookup.
	// Experimental.
	DomainName *string `field:"required" json:"domainName" yaml:"domainName"`
	// Query region.
	// Experimental.
	Region *string `field:"required" json:"region" yaml:"region"`
	// The ARN of the role that should be used to look up the missing values.
	// Experimental.
	LookupRoleArn *string `field:"optional" json:"lookupRoleArn" yaml:"lookupRoleArn"`
	// True if the zone you want to find is a private hosted zone.
	// Experimental.
	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.
	// Experimental.
	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"),
}

Experimental.

type IntegManifest

type IntegManifest struct {
	// test cases.
	// Experimental.
	TestCases *map[string]*TestCase `field:"required" json:"testCases" yaml:"testCases"`
	// Version of the manifest.
	// Experimental.
	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.
	// Experimental.
	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.
	// Experimental.
	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"),
			"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),
						"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"),
	},
}

Experimental.

func Manifest_LoadIntegManifest

func Manifest_LoadIntegManifest(filePath *string) *IntegManifest

Load and validates the integ manifest from file. Experimental.

type KeyContextQuery

type KeyContextQuery struct {
	// Query account.
	// Experimental.
	Account *string `field:"required" json:"account" yaml:"account"`
	// Alias name used to search the Key.
	// Experimental.
	AliasName *string `field:"required" json:"aliasName" yaml:"aliasName"`
	// Query region.
	// Experimental.
	Region *string `field:"required" json:"region" yaml:"region"`
	// The ARN of the role that should be used to look up the missing values.
	// Experimental.
	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"),
}

Experimental.

type LoadBalancerContextQuery

type LoadBalancerContextQuery struct {
	// Filter load balancers by their type.
	// Experimental.
	LoadBalancerType LoadBalancerType `field:"required" json:"loadBalancerType" yaml:"loadBalancerType"`
	// Find by load balancer's ARN.
	// Experimental.
	LoadBalancerArn *string `field:"optional" json:"loadBalancerArn" yaml:"loadBalancerArn"`
	// Match load balancer tags.
	// Experimental.
	LoadBalancerTags *[]*Tag `field:"optional" json:"loadBalancerTags" yaml:"loadBalancerTags"`
	// Query account.
	// Experimental.
	Account *string `field:"required" json:"account" yaml:"account"`
	// Query region.
	// Experimental.
	Region *string `field:"required" json:"region" yaml:"region"`
	// The ARN of the role that should be used to look up the missing values.
	// Experimental.
	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"),
}

Experimental.

type LoadBalancerFilter

type LoadBalancerFilter struct {
	// Filter load balancers by their type.
	// Experimental.
	LoadBalancerType LoadBalancerType `field:"required" json:"loadBalancerType" yaml:"loadBalancerType"`
	// Find by load balancer's ARN.
	// Experimental.
	LoadBalancerArn *string `field:"optional" json:"loadBalancerArn" yaml:"loadBalancerArn"`
	// Match load balancer tags.
	// Experimental.
	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"),
		},
	},
}

Experimental.

type LoadBalancerListenerContextQuery

type LoadBalancerListenerContextQuery struct {
	// Filter load balancers by their type.
	// Experimental.
	LoadBalancerType LoadBalancerType `field:"required" json:"loadBalancerType" yaml:"loadBalancerType"`
	// Find by load balancer's ARN.
	// Experimental.
	LoadBalancerArn *string `field:"optional" json:"loadBalancerArn" yaml:"loadBalancerArn"`
	// Match load balancer tags.
	// Experimental.
	LoadBalancerTags *[]*Tag `field:"optional" json:"loadBalancerTags" yaml:"loadBalancerTags"`
	// Query account.
	// Experimental.
	Account *string `field:"required" json:"account" yaml:"account"`
	// Query region.
	// Experimental.
	Region *string `field:"required" json:"region" yaml:"region"`
	// Find by listener's arn.
	// Experimental.
	ListenerArn *string `field:"optional" json:"listenerArn" yaml:"listenerArn"`
	// Filter listeners by listener port.
	// Experimental.
	ListenerPort *float64 `field:"optional" json:"listenerPort" yaml:"listenerPort"`
	// Filter by listener protocol.
	// Experimental.
	ListenerProtocol LoadBalancerListenerProtocol `field:"optional" json:"listenerProtocol" yaml:"listenerProtocol"`
	// The ARN of the role that should be used to look up the missing values.
	// Experimental.
	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"),
}

Experimental.

type LoadBalancerListenerProtocol

type LoadBalancerListenerProtocol string

The protocol for connections from clients to the load balancer. Experimental.

const (
	// HTTP protocol.
	// Experimental.
	LoadBalancerListenerProtocol_HTTP LoadBalancerListenerProtocol = "HTTP"
	// HTTPS protocol.
	// Experimental.
	LoadBalancerListenerProtocol_HTTPS LoadBalancerListenerProtocol = "HTTPS"
	// TCP protocol.
	// Experimental.
	LoadBalancerListenerProtocol_TCP LoadBalancerListenerProtocol = "TCP"
	// TLS protocol.
	// Experimental.
	LoadBalancerListenerProtocol_TLS LoadBalancerListenerProtocol = "TLS"
	// UDP protocol.
	// Experimental.
	LoadBalancerListenerProtocol_UDP LoadBalancerListenerProtocol = "UDP"
	// TCP and UDP protocol.
	// Experimental.
	LoadBalancerListenerProtocol_TCP_UDP LoadBalancerListenerProtocol = "TCP_UDP"
)

type LoadBalancerType

type LoadBalancerType string

Type of load balancer. Experimental.

const (
	// Network load balancer.
	// Experimental.
	LoadBalancerType_NETWORK LoadBalancerType = "NETWORK"
	// Application load balancer.
	// Experimental.
	LoadBalancerType_APPLICATION LoadBalancerType = "APPLICATION"
)

type LoadManifestOptions

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.
	// Experimental.
	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.
	// Experimental.
	SkipVersionCheck *bool `field:"optional" json:"skipVersionCheck" yaml:"skipVersionCheck"`
}

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),
}

Experimental.

type Manifest

type Manifest interface {
}

Protocol utility class. Experimental.

type MetadataEntry

type MetadataEntry struct {
	// The type of the metadata entry.
	// Experimental.
	Type *string `field:"required" json:"type" yaml:"type"`
	// The data.
	// Experimental.
	Data interface{} `field:"optional" json:"data" yaml:"data"`
	// A stack trace for when the entry was created.
	// Experimental.
	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"),
	},
}

Experimental.

type MissingContext

type MissingContext struct {
	// The missing context key.
	// Experimental.
	Key *string `field:"required" json:"key" yaml:"key"`
	// A set of provider-specific options.
	// Experimental.
	Props interface{} `field:"required" json:"props" yaml:"props"`
	// The provider from which we expect this context key to be obtained.
	// Experimental.
	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,
}

Experimental.

type NestedCloudAssemblyProperties

type NestedCloudAssemblyProperties struct {
	// Relative path to the nested cloud assembly.
	// Experimental.
	DirectoryName *string `field:"required" json:"directoryName" yaml:"directoryName"`
	// Display name for the cloud assembly.
	// Experimental.
	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"),
}

Experimental.

type PluginContextQuery

type PluginContextQuery struct {
	// The name of the plugin.
	// Experimental.
	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"),
}

Experimental.

type RequireApproval

type RequireApproval string

In what scenarios should the CLI ask for approval.

Example:

app := awscdk.NewApp()

stackUnderTest := awscdk.NewStack(app, jsii.String("StackUnderTest"))

stack := awscdk.NewStack(app, jsii.String("stack"))

testCase := awscdk.NewIntegTest(app, jsii.String("CustomizedDeploymentWorkflow"), &integTestProps{
	testCases: []stack{
		stackUnderTest,
	},
	diffAssets: jsii.Boolean(true),
	stackUpdateWorkflow: jsii.Boolean(true),
	cdkCommandOptions: &cdkCommands{
		deploy: &deployCommand{
			args: &deployOptions{
				requireApproval: awscdk.RequireApproval_NEVER,
				json: jsii.Boolean(true),
			},
		},
		destroy: &destroyCommand{
			args: &destroyOptions{
				force: jsii.Boolean(true),
			},
		},
	},
})

Experimental.

const (
	// Never ask for approval.
	// Experimental.
	RequireApproval_NEVER RequireApproval = "NEVER"
	// Prompt for approval for any type  of change to the stack.
	// Experimental.
	RequireApproval_ANYCHANGE RequireApproval = "ANYCHANGE"
	// Only prompt for approval if there are security related changes.
	// Experimental.
	RequireApproval_BROADENING RequireApproval = "BROADENING"
)

type RuntimeInfo

type RuntimeInfo struct {
	// The list of libraries loaded in the application, associated with their versions.
	// Experimental.
	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"),
	},
}

Experimental.

type SSMParameterContextQuery

type SSMParameterContextQuery struct {
	// Query account.
	// Experimental.
	Account *string `field:"required" json:"account" yaml:"account"`
	// Parameter name to query.
	// Experimental.
	ParameterName *string `field:"required" json:"parameterName" yaml:"parameterName"`
	// Query region.
	// Experimental.
	Region *string `field:"required" json:"region" yaml:"region"`
	// The ARN of the role that should be used to look up the missing values.
	// Experimental.
	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"),
}

Experimental.

type SecurityGroupContextQuery

type SecurityGroupContextQuery struct {
	// Query account.
	// Experimental.
	Account *string `field:"required" json:"account" yaml:"account"`
	// Query region.
	// Experimental.
	Region *string `field:"required" json:"region" yaml:"region"`
	// The ARN of the role that should be used to look up the missing values.
	// Experimental.
	LookupRoleArn *string `field:"optional" json:"lookupRoleArn" yaml:"lookupRoleArn"`
	// Security group id.
	// Experimental.
	SecurityGroupId *string `field:"optional" json:"securityGroupId" yaml:"securityGroupId"`
	// Security group name.
	// Experimental.
	SecurityGroupName *string `field:"optional" json:"securityGroupName" yaml:"securityGroupName"`
	// VPC ID.
	// Experimental.
	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"),
}

Experimental.

type Tag

type Tag struct {
	// Tag key.
	//
	// (In the actual file on disk this will be cased as "Key", and the structure is
	// patched to match this structure upon loading:
	// https://github.com/aws/aws-cdk/blob/4aadaa779b48f35838cccd4e25107b2338f05547/packages/%40aws-cdk/cloud-assembly-schema/lib/manifest.ts#L137)
	// Experimental.
	Key *string `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)
	// Experimental.
	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"),
}

Experimental.

type TestCase

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']
	// Experimental.
	AllowDestroy *[]*string `field:"optional" json:"allowDestroy" yaml:"allowDestroy"`
	// Additional options to use for each CDK command.
	// Experimental.
	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.
	// Experimental.
	DiffAssets *bool `field:"optional" json:"diffAssets" yaml:"diffAssets"`
	// Additional commands to run at predefined points in the test workflow.
	//
	// e.g. { postDeploy: ['yarn', 'test'] }
	// Experimental.
	Hooks *Hooks `field:"optional" json:"hooks" yaml:"hooks"`
	// Limit deployment to these regions.
	// Experimental.
	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.
	// Experimental.
	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.
	// Experimental.
	Stacks *[]*string `field:"required" json:"stacks" yaml:"stacks"`
	// The name of the stack that contains assertions.
	// Experimental.
	AssertionStack *string `field:"optional" json:"assertionStack" yaml:"assertionStack"`
}

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"),
	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),
				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),
}

Experimental.

type TestOptions

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']
	// Experimental.
	AllowDestroy *[]*string `field:"optional" json:"allowDestroy" yaml:"allowDestroy"`
	// Additional options to use for each CDK command.
	// Experimental.
	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.
	// Experimental.
	DiffAssets *bool `field:"optional" json:"diffAssets" yaml:"diffAssets"`
	// Additional commands to run at predefined points in the test workflow.
	//
	// e.g. { postDeploy: ['yarn', 'test'] }
	// Experimental.
	Hooks *Hooks `field:"optional" json:"hooks" yaml:"hooks"`
	// Limit deployment to these regions.
	// Experimental.
	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.
	// Experimental.
	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),
				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),
}

Experimental.

type TreeArtifactProperties

type TreeArtifactProperties struct {
	// Filename of the tree artifact.
	// Experimental.
	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"),
}

Experimental.

type VpcContextQuery

type VpcContextQuery struct {
	// Query account.
	// Experimental.
	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
	//
	// Experimental.
	Filter *map[string]*string `field:"required" json:"filter" yaml:"filter"`
	// Query region.
	// Experimental.
	Region *string `field:"required" json:"region" yaml:"region"`
	// The ARN of the role that should be used to look up the missing values.
	// Experimental.
	LookupRoleArn *string `field:"optional" json:"lookupRoleArn" yaml:"lookupRoleArn"`
	// Whether to populate the subnetGroups field of the {@link VpcContextResponse}, which contains potentially asymmetric subnet groups.
	// Experimental.
	ReturnAsymmetricSubnets *bool `field:"optional" json:"returnAsymmetricSubnets" yaml:"returnAsymmetricSubnets"`
	// Optional tag for subnet group name.
	//
	// If not provided, we'll look at the aws-cdk:subnet-name tag.
	// If the subnet does not have the specified tag,
	// we'll use its type as the name.
	// Experimental.
	SubnetGroupNameTag *string `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),
	subnetGroupNameTag: jsii.String("subnetGroupNameTag"),
}

Experimental.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL