cxapi

package
v1.204.0-devpreview Latest Latest
Warning

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

Go to latest
Published: Jun 19, 2023 License: Apache-2.0 Imports: 5 Imported by: 3

README

Cloud Executable API

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

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func AssetManifestArtifact_IsAssetManifestArtifact

func AssetManifestArtifact_IsAssetManifestArtifact(art interface{}) *bool

Checks if `art` is an instance of this class.

Use this method instead of `instanceof` to properly detect `AssetManifestArtifact` instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `cx-api` library on disk are seen as independent, completely different libraries. As a consequence, the class `AssetManifestArtifact` in each copy of the `cx-api` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `cx-api` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead. Experimental.

func EnvironmentPlaceholders_CURRENT_ACCOUNT

func EnvironmentPlaceholders_CURRENT_ACCOUNT() *string

func EnvironmentPlaceholders_CURRENT_PARTITION

func EnvironmentPlaceholders_CURRENT_PARTITION() *string

func EnvironmentPlaceholders_CURRENT_REGION

func EnvironmentPlaceholders_CURRENT_REGION() *string

func EnvironmentPlaceholders_Replace

func EnvironmentPlaceholders_Replace(object interface{}, values *EnvironmentPlaceholderValues) interface{}

Replace the environment placeholders in all strings found in a complex object.

Duplicated between cdk-assets and aws-cdk CLI because we don't have a good single place to put it (they're nominally independent tools). Experimental.

func EnvironmentPlaceholders_ReplaceAsync

func EnvironmentPlaceholders_ReplaceAsync(object interface{}, provider IEnvironmentPlaceholderProvider) interface{}

Like 'replace', but asynchronous. Experimental.

func EnvironmentUtils_Format

func EnvironmentUtils_Format(account *string, region *string) *string

Format an environment string from an account and region. Experimental.

func NewAssetManifestArtifact_Override

func NewAssetManifestArtifact_Override(a AssetManifestArtifact, assembly CloudAssembly, name *string, artifact *cloudassemblyschema.ArtifactManifest)

Experimental.

func NewCloudArtifact_Override

func NewCloudArtifact_Override(c CloudArtifact, assembly CloudAssembly, id *string, manifest *cloudassemblyschema.ArtifactManifest)

Experimental.

func NewCloudAssemblyBuilder_Override

func NewCloudAssemblyBuilder_Override(c CloudAssemblyBuilder, outdir *string, props *CloudAssemblyBuilderProps)

Initializes a cloud assembly builder. Experimental.

func NewCloudAssembly_Override

func NewCloudAssembly_Override(c CloudAssembly, directory *string, loadOptions *cloudassemblyschema.LoadManifestOptions)

Reads a cloud assembly from the specified directory. Experimental.

func NewCloudFormationStackArtifact_Override

func NewCloudFormationStackArtifact_Override(c CloudFormationStackArtifact, assembly CloudAssembly, artifactId *string, artifact *cloudassemblyschema.ArtifactManifest)

Experimental.

func NewEnvironmentPlaceholders_Override

func NewEnvironmentPlaceholders_Override(e EnvironmentPlaceholders)

Experimental.

func NewEnvironmentUtils_Override

func NewEnvironmentUtils_Override(e EnvironmentUtils)

Experimental.

func NewNestedCloudAssemblyArtifact_Override

func NewNestedCloudAssemblyArtifact_Override(n NestedCloudAssemblyArtifact, assembly CloudAssembly, name *string, artifact *cloudassemblyschema.ArtifactManifest)

Experimental.

func NewTreeCloudArtifact_Override

func NewTreeCloudArtifact_Override(t TreeCloudArtifact, assembly CloudAssembly, name *string, artifact *cloudassemblyschema.ArtifactManifest)

Experimental.

Types

type AssemblyBuildOptions

type AssemblyBuildOptions struct {
	// Include the specified runtime information (module versions) in manifest.
	// Deprecated: All template modifications that should result from this should
	// have already been inserted into the template.
	RuntimeInfo *RuntimeInfo `field:"optional" json:"runtimeInfo" yaml:"runtimeInfo"`
}

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"

assemblyBuildOptions := &AssemblyBuildOptions{
	RuntimeInfo: &RuntimeInfo{
		Libraries: map[string]*string{
			"librariesKey": jsii.String("libraries"),
		},
	},
}

Experimental.

type AssetManifestArtifact

type AssetManifestArtifact interface {
	CloudArtifact
	// Experimental.
	Assembly() CloudAssembly
	// Name of SSM parameter with bootstrap stack version.
	// Experimental.
	BootstrapStackVersionSsmParameter() *string
	// Returns all the artifacts that this artifact depends on.
	// Experimental.
	Dependencies() *[]CloudArtifact
	// The file name of the asset manifest.
	// Experimental.
	File() *string
	// An identifier that shows where this artifact is located in the tree of nested assemblies, based on their manifests.
	//
	// Defaults to the normal
	// id. Should only be used in user interfaces.
	// Experimental.
	HierarchicalId() *string
	// Experimental.
	Id() *string
	// The artifact's manifest.
	// Experimental.
	Manifest() *cloudassemblyschema.ArtifactManifest
	// The set of messages extracted from the artifact's metadata.
	// Experimental.
	Messages() *[]*SynthesisMessage
	// Version of bootstrap stack required to deploy this stack.
	// Experimental.
	RequiresBootstrapStackVersion() *float64
	// Returns: all the metadata entries of a specific type in this artifact.
	// Experimental.
	FindMetadataByType(type_ *string) *[]*MetadataEntryResult
}

Asset manifest is a description of a set of assets which need to be built and 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"
import "github.com/aws/aws-cdk-go/awscdk"

var cloudAssembly cloudAssembly

assetManifestArtifact := awscdk.Cx_api.NewAssetManifestArtifact(cloudAssembly, jsii.String("name"), &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.

func NewAssetManifestArtifact

func NewAssetManifestArtifact(assembly CloudAssembly, name *string, artifact *cloudassemblyschema.ArtifactManifest) AssetManifestArtifact

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"`
	// 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"`
	// The name to use for the CloudFormation stack.
	// Experimental.
	StackName *string `field:"optional" json:"stackName" yaml:"stackName"`
	// Whether to enable termination protection for this stack.
	// Experimental.
	TerminationProtection *bool `field:"optional" json:"terminationProtection" yaml:"terminationProtection"`
}

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
	Parameters: map[string]*string{
		"parametersKey": jsii.String("parameters"),
	},
	StackName: jsii.String("stackName"),
	TerminationProtection: jsii.Boolean(false),
}

Experimental.

type CloudArtifact

type CloudArtifact interface {
	// Experimental.
	Assembly() CloudAssembly
	// Returns all the artifacts that this artifact depends on.
	// Experimental.
	Dependencies() *[]CloudArtifact
	// An identifier that shows where this artifact is located in the tree of nested assemblies, based on their manifests.
	//
	// Defaults to the normal
	// id. Should only be used in user interfaces.
	// Experimental.
	HierarchicalId() *string
	// Experimental.
	Id() *string
	// The artifact's manifest.
	// Experimental.
	Manifest() *cloudassemblyschema.ArtifactManifest
	// The set of messages extracted from the artifact's metadata.
	// Experimental.
	Messages() *[]*SynthesisMessage
	// Returns: all the metadata entries of a specific type in this artifact.
	// Experimental.
	FindMetadataByType(type_ *string) *[]*MetadataEntryResult
}

Represents an artifact within a 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"
import "github.com/aws/aws-cdk-go/awscdk"

var cloudAssembly cloudAssembly

cloudArtifact := awscdk.Cx_api.CloudArtifact_FromManifest(cloudAssembly, jsii.String("MyCloudArtifact"), &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.

func AssetManifestArtifact_FromManifest

func AssetManifestArtifact_FromManifest(assembly CloudAssembly, id *string, artifact *cloudassemblyschema.ArtifactManifest) CloudArtifact

Returns a subclass of `CloudArtifact` based on the artifact type defined in the artifact manifest.

Returns: the `CloudArtifact` that matches the artifact type or `undefined` if it's an artifact type that is unrecognized by this module. Experimental.

func CloudArtifact_FromManifest

func CloudArtifact_FromManifest(assembly CloudAssembly, id *string, artifact *cloudassemblyschema.ArtifactManifest) CloudArtifact

Returns a subclass of `CloudArtifact` based on the artifact type defined in the artifact manifest.

Returns: the `CloudArtifact` that matches the artifact type or `undefined` if it's an artifact type that is unrecognized by this module. Experimental.

func CloudFormationStackArtifact_FromManifest

func CloudFormationStackArtifact_FromManifest(assembly CloudAssembly, id *string, artifact *cloudassemblyschema.ArtifactManifest) CloudArtifact

Returns a subclass of `CloudArtifact` based on the artifact type defined in the artifact manifest.

Returns: the `CloudArtifact` that matches the artifact type or `undefined` if it's an artifact type that is unrecognized by this module. Experimental.

func NestedCloudAssemblyArtifact_FromManifest

func NestedCloudAssemblyArtifact_FromManifest(assembly CloudAssembly, id *string, artifact *cloudassemblyschema.ArtifactManifest) CloudArtifact

Returns a subclass of `CloudArtifact` based on the artifact type defined in the artifact manifest.

Returns: the `CloudArtifact` that matches the artifact type or `undefined` if it's an artifact type that is unrecognized by this module. Experimental.

func NewCloudArtifact

func NewCloudArtifact(assembly CloudAssembly, id *string, manifest *cloudassemblyschema.ArtifactManifest) CloudArtifact

Experimental.

func TreeCloudArtifact_FromManifest

func TreeCloudArtifact_FromManifest(assembly CloudAssembly, id *string, artifact *cloudassemblyschema.ArtifactManifest) CloudArtifact

Returns a subclass of `CloudArtifact` based on the artifact type defined in the artifact manifest.

Returns: the `CloudArtifact` that matches the artifact type or `undefined` if it's an artifact type that is unrecognized by this module. Experimental.

type CloudAssembly

type CloudAssembly interface {
	// All artifacts included in this assembly.
	// Experimental.
	Artifacts() *[]CloudArtifact
	// The root directory of the cloud assembly.
	// Experimental.
	Directory() *string
	// The raw assembly manifest.
	// Experimental.
	Manifest() *cloudassemblyschema.AssemblyManifest
	// The nested assembly artifacts in this assembly.
	// Experimental.
	NestedAssemblies() *[]NestedCloudAssemblyArtifact
	// Runtime information such as module versions used to synthesize this assembly.
	// Experimental.
	Runtime() *cloudassemblyschema.RuntimeInfo
	// Returns: all the CloudFormation stack artifacts that are included in this assembly.
	// Experimental.
	Stacks() *[]CloudFormationStackArtifact
	// Returns all the stacks, including the ones in nested assemblies.
	// Experimental.
	StacksRecursively() *[]CloudFormationStackArtifact
	// The schema version of the assembly manifest.
	// Experimental.
	Version() *string
	// Returns a nested assembly.
	// Experimental.
	GetNestedAssembly(artifactId *string) CloudAssembly
	// Returns a nested assembly artifact.
	// Experimental.
	GetNestedAssemblyArtifact(artifactId *string) NestedCloudAssemblyArtifact
	// Returns a CloudFormation stack artifact by name from this assembly.
	// Deprecated: renamed to `getStackByName` (or `getStackArtifact(id)`).
	GetStack(stackName *string) CloudFormationStackArtifact
	// Returns a CloudFormation stack artifact from this assembly.
	//
	// Returns: a `CloudFormationStackArtifact` object.
	// Experimental.
	GetStackArtifact(artifactId *string) CloudFormationStackArtifact
	// Returns a CloudFormation stack artifact from this assembly.
	//
	// Will only search the current assembly.
	//
	// Returns: a `CloudFormationStackArtifact` object.
	// Experimental.
	GetStackByName(stackName *string) CloudFormationStackArtifact
	// Returns the tree metadata artifact from this assembly.
	//
	// Returns: a `TreeCloudArtifact` object if there is one defined in the manifest, `undefined` otherwise.
	// Experimental.
	Tree() TreeCloudArtifact
	// Attempts to find an artifact with a specific identity.
	//
	// Returns: A `CloudArtifact` object or `undefined` if the artifact does not exist in this assembly.
	// Experimental.
	TryGetArtifact(id *string) CloudArtifact
}

Represents a deployable cloud application.

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"

cloudAssembly := awscdk.Cx_api.NewCloudAssembly(jsii.String("directory"), &LoadManifestOptions{
	SkipEnumCheck: jsii.Boolean(false),
	SkipVersionCheck: jsii.Boolean(false),
})

Experimental.

func NewCloudAssembly

func NewCloudAssembly(directory *string, loadOptions *cloudassemblyschema.LoadManifestOptions) CloudAssembly

Reads a cloud assembly from the specified directory. Experimental.

type CloudAssemblyBuilder

type CloudAssemblyBuilder interface {
	// The directory where assets of this Cloud Assembly should be stored.
	// Experimental.
	AssetOutdir() *string
	// The root directory of the resulting cloud assembly.
	// Experimental.
	Outdir() *string
	// Adds an artifact into the cloud assembly.
	// Experimental.
	AddArtifact(id *string, manifest *cloudassemblyschema.ArtifactManifest)
	// Reports that some context is missing in order for this cloud assembly to be fully synthesized.
	// Experimental.
	AddMissing(missing *cloudassemblyschema.MissingContext)
	// Finalizes the cloud assembly into the output directory returns a `CloudAssembly` object that can be used to inspect the assembly.
	// Experimental.
	BuildAssembly(options *AssemblyBuildOptions) CloudAssembly
	// Creates a nested cloud assembly.
	// Experimental.
	CreateNestedAssembly(artifactId *string, displayName *string) CloudAssemblyBuilder
}

Can be used to build a cloud assembly.

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"

var cloudAssemblyBuilder cloudAssemblyBuilder

cloudAssemblyBuilder := awscdk.Cx_api.NewCloudAssemblyBuilder(jsii.String("outdir"), &CloudAssemblyBuilderProps{
	AssetOutdir: jsii.String("assetOutdir"),
	ParentBuilder: cloudAssemblyBuilder,
})

Experimental.

func NewCloudAssemblyBuilder

func NewCloudAssemblyBuilder(outdir *string, props *CloudAssemblyBuilderProps) CloudAssemblyBuilder

Initializes a cloud assembly builder. Experimental.

type CloudAssemblyBuilderProps

type CloudAssemblyBuilderProps struct {
	// Use the given asset output directory.
	// Experimental.
	AssetOutdir *string `field:"optional" json:"assetOutdir" yaml:"assetOutdir"`
	// If this builder is for a nested assembly, the parent assembly builder.
	// Experimental.
	ParentBuilder CloudAssemblyBuilder `field:"optional" json:"parentBuilder" yaml:"parentBuilder"`
}

Construction properties for CloudAssemblyBuilder.

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"

var cloudAssemblyBuilder cloudAssemblyBuilder

cloudAssemblyBuilderProps := &CloudAssemblyBuilderProps{
	AssetOutdir: jsii.String("assetOutdir"),
	ParentBuilder: cloudAssemblyBuilder,
}

Experimental.

type CloudFormationStackArtifact

type CloudFormationStackArtifact interface {
	CloudArtifact
	// Experimental.
	Assembly() CloudAssembly
	// Any assets associated with this stack.
	// Experimental.
	Assets() *[]interface{}
	// The role that needs to be assumed to deploy the stack.
	// Experimental.
	AssumeRoleArn() *string
	// External ID to use when assuming role for cloudformation deployments.
	// Experimental.
	AssumeRoleExternalId() *string
	// Name of SSM parameter with bootstrap stack version.
	// Experimental.
	BootstrapStackVersionSsmParameter() *string
	// The role that is passed to CloudFormation to execute the change set.
	// Experimental.
	CloudFormationExecutionRoleArn() *string
	// Returns all the artifacts that this artifact depends on.
	// Experimental.
	Dependencies() *[]CloudArtifact
	// A string that represents this stack.
	//
	// Should only be used in user
	// interfaces. If the stackName has not been set explicitly, or has been set
	// to artifactId, it will return the hierarchicalId of the stack. Otherwise,
	// it will return something like "<hierarchicalId> (<stackName>)".
	// Experimental.
	DisplayName() *string
	// The environment into which to deploy this artifact.
	// Experimental.
	Environment() *Environment
	// An identifier that shows where this artifact is located in the tree of nested assemblies, based on their manifests.
	//
	// Defaults to the normal
	// id. Should only be used in user interfaces.
	// Experimental.
	HierarchicalId() *string
	// Experimental.
	Id() *string
	// The role to use to look up values from the target AWS account.
	// Experimental.
	LookupRole() *cloudassemblyschema.BootstrapRole
	// The artifact's manifest.
	// Experimental.
	Manifest() *cloudassemblyschema.ArtifactManifest
	// The set of messages extracted from the artifact's metadata.
	// Experimental.
	Messages() *[]*SynthesisMessage
	// The physical name of this stack.
	// Deprecated: renamed to `stackName`.
	Name() *string
	// The original name as defined in the CDK app.
	// Experimental.
	OriginalName() *string
	// CloudFormation parameters to pass to the stack.
	// Experimental.
	Parameters() *map[string]*string
	// Version of bootstrap stack required to deploy this stack.
	// Experimental.
	RequiresBootstrapStackVersion() *float64
	// The physical name of this stack.
	// Experimental.
	StackName() *string
	// If the stack template has already been included in the asset manifest, its asset URL.
	// Experimental.
	StackTemplateAssetObjectUrl() *string
	// CloudFormation tags to pass to the stack.
	// Experimental.
	Tags() *map[string]*string
	// The CloudFormation template for this stack.
	// Experimental.
	Template() interface{}
	// The file name of the template.
	// Experimental.
	TemplateFile() *string
	// Full path to the template file.
	// Experimental.
	TemplateFullPath() *string
	// Whether termination protection is enabled for this stack.
	// Experimental.
	TerminationProtection() *bool
	// Whether this stack should be validated by the CLI after synthesis.
	// Experimental.
	ValidateOnSynth() *bool
	// Returns: all the metadata entries of a specific type in this artifact.
	// Experimental.
	FindMetadataByType(type_ *string) *[]*MetadataEntryResult
}

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"
import "github.com/aws/aws-cdk-go/awscdk"

var cloudAssembly cloudAssembly

cloudFormationStackArtifact := awscdk.Cx_api.NewCloudFormationStackArtifact(cloudAssembly, jsii.String("artifactId"), &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.

func NewCloudFormationStackArtifact

func NewCloudFormationStackArtifact(assembly CloudAssembly, artifactId *string, artifact *cloudassemblyschema.ArtifactManifest) CloudFormationStackArtifact

Experimental.

type EndpointServiceAvailabilityZonesContextQuery

type EndpointServiceAvailabilityZonesContextQuery struct {
	// Query account.
	// Experimental.
	Account *string `field:"optional" json:"account" yaml:"account"`
	// Query region.
	// Experimental.
	Region *string `field:"optional" json:"region" yaml:"region"`
	// Query service name.
	// Experimental.
	ServiceName *string `field:"optional" json:"serviceName" yaml:"serviceName"`
}

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"

endpointServiceAvailabilityZonesContextQuery := &EndpointServiceAvailabilityZonesContextQuery{
	Account: jsii.String("account"),
	Region: jsii.String("region"),
	ServiceName: jsii.String("serviceName"),
}

Experimental.

type Environment

type Environment struct {
	// The AWS account this environment deploys into.
	// Experimental.
	Account *string `field:"required" json:"account" yaml:"account"`
	// The arbitrary name of this environment (user-set, or at least user-meaningful).
	// Experimental.
	Name *string `field:"required" json:"name" yaml:"name"`
	// The AWS region name where this environment deploys into.
	// Experimental.
	Region *string `field:"required" json:"region" yaml:"region"`
}

Models an AWS execution environment, for use within the CDK toolkit.

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"

environment := &Environment{
	Account: jsii.String("account"),
	Name: jsii.String("name"),
	Region: jsii.String("region"),
}

Experimental.

func EnvironmentUtils_Make

func EnvironmentUtils_Make(account *string, region *string) *Environment

Build an environment object from an account and region. Experimental.

func EnvironmentUtils_Parse

func EnvironmentUtils_Parse(environment *string) *Environment

Experimental.

type EnvironmentPlaceholderValues

type EnvironmentPlaceholderValues struct {
	// Return the account.
	// Experimental.
	AccountId *string `field:"required" json:"accountId" yaml:"accountId"`
	// Return the partition.
	// Experimental.
	Partition *string `field:"required" json:"partition" yaml:"partition"`
	// Return the region.
	// Experimental.
	Region *string `field:"required" json:"region" yaml:"region"`
}

Return the appropriate values for the environment placeholders.

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"

environmentPlaceholderValues := &EnvironmentPlaceholderValues{
	AccountId: jsii.String("accountId"),
	Partition: jsii.String("partition"),
	Region: jsii.String("region"),
}

Experimental.

type EnvironmentPlaceholders

type EnvironmentPlaceholders interface {
}

Placeholders which can be used manifests.

These can occur both in the Asset Manifest as well as the general Cloud Assembly 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"

environmentPlaceholders := awscdk.Cx_api.NewEnvironmentPlaceholders()

Experimental.

func NewEnvironmentPlaceholders

func NewEnvironmentPlaceholders() EnvironmentPlaceholders

Experimental.

type EnvironmentUtils

type EnvironmentUtils interface {
}

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"

environmentUtils := awscdk.Cx_api.NewEnvironmentUtils()

Experimental.

func NewEnvironmentUtils

func NewEnvironmentUtils() EnvironmentUtils

Experimental.

type IEnvironmentPlaceholderProvider

type IEnvironmentPlaceholderProvider interface {
	// Return the account.
	// Experimental.
	AccountId() *string
	// Return the partition.
	// Experimental.
	Partition() *string
	// Return the region.
	// Experimental.
	Region() *string
}

Return the appropriate values for the environment placeholders. Experimental.

type KeyContextResponse

type KeyContextResponse struct {
	// Id of the key.
	// Experimental.
	KeyId *string `field:"required" json:"keyId" yaml:"keyId"`
}

Properties of a discovered 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"

keyContextResponse := &KeyContextResponse{
	KeyId: jsii.String("keyId"),
}

Experimental.

type LoadBalancerContextResponse

type LoadBalancerContextResponse struct {
	// Type of IP address.
	// Experimental.
	IpAddressType LoadBalancerIpAddressType `field:"required" json:"ipAddressType" yaml:"ipAddressType"`
	// The ARN of the load balancer.
	// Experimental.
	LoadBalancerArn *string `field:"required" json:"loadBalancerArn" yaml:"loadBalancerArn"`
	// The hosted zone ID of the load balancer's name.
	// Experimental.
	LoadBalancerCanonicalHostedZoneId *string `field:"required" json:"loadBalancerCanonicalHostedZoneId" yaml:"loadBalancerCanonicalHostedZoneId"`
	// Load balancer's DNS name.
	// Experimental.
	LoadBalancerDnsName *string `field:"required" json:"loadBalancerDnsName" yaml:"loadBalancerDnsName"`
	// Load balancer's security groups.
	// Experimental.
	SecurityGroupIds *[]*string `field:"required" json:"securityGroupIds" yaml:"securityGroupIds"`
	// Load balancer's VPC.
	// Experimental.
	VpcId *string `field:"required" json:"vpcId" yaml:"vpcId"`
}

Properties of a discovered 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"

loadBalancerContextResponse := &LoadBalancerContextResponse{
	IpAddressType: awscdk.Cx_api.LoadBalancerIpAddressType_IPV4,
	LoadBalancerArn: jsii.String("loadBalancerArn"),
	LoadBalancerCanonicalHostedZoneId: jsii.String("loadBalancerCanonicalHostedZoneId"),
	LoadBalancerDnsName: jsii.String("loadBalancerDnsName"),
	SecurityGroupIds: []*string{
		jsii.String("securityGroupIds"),
	},
	VpcId: jsii.String("vpcId"),
}

Experimental.

type LoadBalancerIpAddressType

type LoadBalancerIpAddressType string

Load balancer ip address type. Experimental.

const (
	// IPV4 ip address.
	// Experimental.
	LoadBalancerIpAddressType_IPV4 LoadBalancerIpAddressType = "IPV4"
	// Dual stack address.
	// Experimental.
	LoadBalancerIpAddressType_DUAL_STACK LoadBalancerIpAddressType = "DUAL_STACK"
)

type LoadBalancerListenerContextResponse

type LoadBalancerListenerContextResponse struct {
	// The ARN of the listener.
	// Experimental.
	ListenerArn *string `field:"required" json:"listenerArn" yaml:"listenerArn"`
	// The port the listener is listening on.
	// Experimental.
	ListenerPort *float64 `field:"required" json:"listenerPort" yaml:"listenerPort"`
	// The security groups of the load balancer.
	// Experimental.
	SecurityGroupIds *[]*string `field:"required" json:"securityGroupIds" yaml:"securityGroupIds"`
}

Properties of a discovered 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"

loadBalancerListenerContextResponse := &LoadBalancerListenerContextResponse{
	ListenerArn: jsii.String("listenerArn"),
	ListenerPort: jsii.Number(123),
	SecurityGroupIds: []*string{
		jsii.String("securityGroupIds"),
	},
}

Experimental.

type MetadataEntry deprecated

type MetadataEntry struct {
	// The type of the metadata entry.
	// Deprecated: moved to package 'cloud-assembly-schema'.
	Type *string `field:"required" json:"type" yaml:"type"`
	// The data.
	// Deprecated: moved to package 'cloud-assembly-schema'.
	Data interface{} `field:"optional" json:"data" yaml:"data"`
	// A stack trace for when the entry was created.
	// Deprecated: moved to package 'cloud-assembly-schema'.
	Trace *[]*string `field:"optional" json:"trace" yaml:"trace"`
}

Backwards compatibility for when `MetadataEntry` was defined here.

This is necessary because its used as an input in the stable.

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

See: core.ConstructNode.metadata

Deprecated: moved to package 'cloud-assembly-schema'.

type MetadataEntryResult

type MetadataEntryResult 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"`
	// The path in which this entry was defined.
	// Experimental.
	Path *string `field:"required" json:"path" yaml:"path"`
}

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"

metadataEntryResult := &MetadataEntryResult{
	Path: jsii.String("path"),
	Type: jsii.String("type"),

	// the properties below are optional
	Data: jsii.String("data"),
	Trace: []*string{
		jsii.String("trace"),
	},
}

Experimental.

type MissingContext deprecated

type MissingContext struct {
	// The missing context key.
	// Deprecated: moved to package 'cloud-assembly-schema'.
	Key *string `field:"required" json:"key" yaml:"key"`
	// A set of provider-specific options.
	//
	// (This is the old untyped definition, which is necessary for backwards compatibility.
	// See cxschema for a type definition.)
	// Deprecated: moved to package 'cloud-assembly-schema'.
	Props *map[string]interface{} `field:"required" json:"props" yaml:"props"`
	// The provider from which we expect this context key to be obtained.
	//
	// (This is the old untyped definition, which is necessary for backwards compatibility.
	// See cxschema for a type definition.)
	// Deprecated: moved to package 'cloud-assembly-schema'.
	Provider *string `field:"required" json:"provider" yaml:"provider"`
}

Backwards compatibility for when `MissingContext` was defined here.

This is necessary because its used as an input in the stable.

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"

var props interface{}

missingContext := &MissingContext{
	Key: jsii.String("key"),
	Props: map[string]interface{}{
		"propsKey": props,
	},
	Provider: jsii.String("provider"),
}

See: core.Stack.reportMissingContext

Deprecated: moved to package 'cloud-assembly-schema'.

type NestedCloudAssemblyArtifact

type NestedCloudAssemblyArtifact interface {
	CloudArtifact
	// Experimental.
	Assembly() CloudAssembly
	// Returns all the artifacts that this artifact depends on.
	// Experimental.
	Dependencies() *[]CloudArtifact
	// The relative directory name of the asset manifest.
	// Experimental.
	DirectoryName() *string
	// Display name.
	// Experimental.
	DisplayName() *string
	// Full path to the nested assembly directory.
	// Experimental.
	FullPath() *string
	// An identifier that shows where this artifact is located in the tree of nested assemblies, based on their manifests.
	//
	// Defaults to the normal
	// id. Should only be used in user interfaces.
	// Experimental.
	HierarchicalId() *string
	// Experimental.
	Id() *string
	// The artifact's manifest.
	// Experimental.
	Manifest() *cloudassemblyschema.ArtifactManifest
	// The set of messages extracted from the artifact's metadata.
	// Experimental.
	Messages() *[]*SynthesisMessage
	// The nested Assembly.
	// Experimental.
	NestedAssembly() CloudAssembly
	// Returns: all the metadata entries of a specific type in this artifact.
	// Experimental.
	FindMetadataByType(type_ *string) *[]*MetadataEntryResult
}

Asset manifest is a description of a set of assets which need to be built and 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"
import "github.com/aws/aws-cdk-go/awscdk"

var cloudAssembly cloudAssembly

nestedCloudAssemblyArtifact := awscdk.Cx_api.NewNestedCloudAssemblyArtifact(cloudAssembly, jsii.String("name"), &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.

func NewNestedCloudAssemblyArtifact

func NewNestedCloudAssemblyArtifact(assembly CloudAssembly, name *string, artifact *cloudassemblyschema.ArtifactManifest) NestedCloudAssemblyArtifact

Experimental.

type RuntimeInfo deprecated

type RuntimeInfo struct {
	// The list of libraries loaded in the application, associated with their versions.
	// Deprecated: moved to package 'cloud-assembly-schema'.
	Libraries *map[string]*string `field:"required" json:"libraries" yaml:"libraries"`
}

Backwards compatibility for when `RuntimeInfo` was defined here.

This is necessary because its used as an input in the stable.

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

See: core.ConstructNode.synth

Deprecated: moved to package 'cloud-assembly-schema'.

type SecurityGroupContextResponse

type SecurityGroupContextResponse struct {
	// Whether the security group allows all outbound traffic.
	//
	// This will be true
	// when the security group has all-protocol egress permissions to access both
	// `0.0.0.0/0` and `::/0`.
	// Experimental.
	AllowAllOutbound *bool `field:"required" json:"allowAllOutbound" yaml:"allowAllOutbound"`
	// The security group's id.
	// Experimental.
	SecurityGroupId *string `field:"required" json:"securityGroupId" yaml:"securityGroupId"`
}

Properties of a discovered SecurityGroup.

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"

securityGroupContextResponse := &SecurityGroupContextResponse{
	AllowAllOutbound: jsii.Boolean(false),
	SecurityGroupId: jsii.String("securityGroupId"),
}

Experimental.

type SynthesisMessage

type SynthesisMessage struct {
	// Experimental.
	Entry *cloudassemblyschema.MetadataEntry `field:"required" json:"entry" yaml:"entry"`
	// Experimental.
	Id *string `field:"required" json:"id" yaml:"id"`
	// Experimental.
	Level SynthesisMessageLevel `field:"required" json:"level" yaml:"level"`
}

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"

synthesisMessage := &SynthesisMessage{
	Entry: &MetadataEntry{
		Type: jsii.String("type"),

		// the properties below are optional
		Data: jsii.String("data"),
		Trace: []*string{
			jsii.String("trace"),
		},
	},
	Id: jsii.String("id"),
	Level: awscdk.Cx_api.SynthesisMessageLevel_INFO,
}

Experimental.

type SynthesisMessageLevel

type SynthesisMessageLevel string

Experimental.

const (
	// Experimental.
	SynthesisMessageLevel_INFO SynthesisMessageLevel = "INFO"
	// Experimental.
	SynthesisMessageLevel_WARNING SynthesisMessageLevel = "WARNING"
	// Experimental.
	SynthesisMessageLevel_ERROR SynthesisMessageLevel = "ERROR"
)

type TreeCloudArtifact

type TreeCloudArtifact interface {
	CloudArtifact
	// Experimental.
	Assembly() CloudAssembly
	// Returns all the artifacts that this artifact depends on.
	// Experimental.
	Dependencies() *[]CloudArtifact
	// Experimental.
	File() *string
	// An identifier that shows where this artifact is located in the tree of nested assemblies, based on their manifests.
	//
	// Defaults to the normal
	// id. Should only be used in user interfaces.
	// Experimental.
	HierarchicalId() *string
	// Experimental.
	Id() *string
	// The artifact's manifest.
	// Experimental.
	Manifest() *cloudassemblyschema.ArtifactManifest
	// The set of messages extracted from the artifact's metadata.
	// Experimental.
	Messages() *[]*SynthesisMessage
	// Returns: all the metadata entries of a specific type in this artifact.
	// Experimental.
	FindMetadataByType(type_ *string) *[]*MetadataEntryResult
}

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"
import "github.com/aws/aws-cdk-go/awscdk"

var cloudAssembly cloudAssembly

treeCloudArtifact := awscdk.Cx_api.NewTreeCloudArtifact(cloudAssembly, jsii.String("name"), &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.

func NewTreeCloudArtifact

func NewTreeCloudArtifact(assembly CloudAssembly, name *string, artifact *cloudassemblyschema.ArtifactManifest) TreeCloudArtifact

Experimental.

type VpcContextResponse

type VpcContextResponse struct {
	// AZs.
	// Experimental.
	AvailabilityZones *[]*string `field:"required" json:"availabilityZones" yaml:"availabilityZones"`
	// VPC id.
	// Experimental.
	VpcId *string `field:"required" json:"vpcId" yaml:"vpcId"`
	// IDs of all isolated subnets.
	//
	// Element count: #(availabilityZones) · #(isolatedGroups).
	// Experimental.
	IsolatedSubnetIds *[]*string `field:"optional" json:"isolatedSubnetIds" yaml:"isolatedSubnetIds"`
	// Name of isolated subnet groups.
	//
	// Element count: #(isolatedGroups).
	// Experimental.
	IsolatedSubnetNames *[]*string `field:"optional" json:"isolatedSubnetNames" yaml:"isolatedSubnetNames"`
	// Route Table IDs of isolated subnet groups.
	//
	// Element count: #(availabilityZones) · #(isolatedGroups).
	// Experimental.
	IsolatedSubnetRouteTableIds *[]*string `field:"optional" json:"isolatedSubnetRouteTableIds" yaml:"isolatedSubnetRouteTableIds"`
	// IDs of all private subnets.
	//
	// Element count: #(availabilityZones) · #(privateGroups).
	// Experimental.
	PrivateSubnetIds *[]*string `field:"optional" json:"privateSubnetIds" yaml:"privateSubnetIds"`
	// Name of private subnet groups.
	//
	// Element count: #(privateGroups).
	// Experimental.
	PrivateSubnetNames *[]*string `field:"optional" json:"privateSubnetNames" yaml:"privateSubnetNames"`
	// Route Table IDs of private subnet groups.
	//
	// Element count: #(availabilityZones) · #(privateGroups).
	// Experimental.
	PrivateSubnetRouteTableIds *[]*string `field:"optional" json:"privateSubnetRouteTableIds" yaml:"privateSubnetRouteTableIds"`
	// IDs of all public subnets.
	//
	// Element count: #(availabilityZones) · #(publicGroups).
	// Experimental.
	PublicSubnetIds *[]*string `field:"optional" json:"publicSubnetIds" yaml:"publicSubnetIds"`
	// Name of public subnet groups.
	//
	// Element count: #(publicGroups).
	// Experimental.
	PublicSubnetNames *[]*string `field:"optional" json:"publicSubnetNames" yaml:"publicSubnetNames"`
	// Route Table IDs of public subnet groups.
	//
	// Element count: #(availabilityZones) · #(publicGroups).
	// Experimental.
	PublicSubnetRouteTableIds *[]*string `field:"optional" json:"publicSubnetRouteTableIds" yaml:"publicSubnetRouteTableIds"`
	// The subnet groups discovered for the given VPC.
	//
	// Unlike the above properties, this will include asymmetric subnets,
	// if the VPC has any.
	// This property will only be populated if {@link VpcContextQuery.returnAsymmetricSubnets}
	// is true.
	// Experimental.
	SubnetGroups *[]*VpcSubnetGroup `field:"optional" json:"subnetGroups" yaml:"subnetGroups"`
	// VPC cidr.
	// Experimental.
	VpcCidrBlock *string `field:"optional" json:"vpcCidrBlock" yaml:"vpcCidrBlock"`
	// The VPN gateway ID.
	// Experimental.
	VpnGatewayId *string `field:"optional" json:"vpnGatewayId" yaml:"vpnGatewayId"`
}

Properties of a discovered 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"

vpcContextResponse := &VpcContextResponse{
	AvailabilityZones: []*string{
		jsii.String("availabilityZones"),
	},
	VpcId: jsii.String("vpcId"),

	// the properties below are optional
	IsolatedSubnetIds: []*string{
		jsii.String("isolatedSubnetIds"),
	},
	IsolatedSubnetNames: []*string{
		jsii.String("isolatedSubnetNames"),
	},
	IsolatedSubnetRouteTableIds: []*string{
		jsii.String("isolatedSubnetRouteTableIds"),
	},
	PrivateSubnetIds: []*string{
		jsii.String("privateSubnetIds"),
	},
	PrivateSubnetNames: []*string{
		jsii.String("privateSubnetNames"),
	},
	PrivateSubnetRouteTableIds: []*string{
		jsii.String("privateSubnetRouteTableIds"),
	},
	PublicSubnetIds: []*string{
		jsii.String("publicSubnetIds"),
	},
	PublicSubnetNames: []*string{
		jsii.String("publicSubnetNames"),
	},
	PublicSubnetRouteTableIds: []*string{
		jsii.String("publicSubnetRouteTableIds"),
	},
	SubnetGroups: []vpcSubnetGroup{
		&vpcSubnetGroup{
			Name: jsii.String("name"),
			Subnets: []vpcSubnet{
				&vpcSubnet{
					AvailabilityZone: jsii.String("availabilityZone"),
					RouteTableId: jsii.String("routeTableId"),
					SubnetId: jsii.String("subnetId"),

					// the properties below are optional
					Cidr: jsii.String("cidr"),
				},
			},
			Type: awscdk.Cx_api.VpcSubnetGroupType_PUBLIC,
		},
	},
	VpcCidrBlock: jsii.String("vpcCidrBlock"),
	VpnGatewayId: jsii.String("vpnGatewayId"),
}

Experimental.

type VpcSubnet

type VpcSubnet struct {
	// The code of the availability zone this subnet is in (for example, 'us-west-2a').
	// Experimental.
	AvailabilityZone *string `field:"required" json:"availabilityZone" yaml:"availabilityZone"`
	// The identifier of the route table for this subnet.
	// Experimental.
	RouteTableId *string `field:"required" json:"routeTableId" yaml:"routeTableId"`
	// The identifier of the subnet.
	// Experimental.
	SubnetId *string `field:"required" json:"subnetId" yaml:"subnetId"`
	// CIDR range of the subnet.
	// Experimental.
	Cidr *string `field:"optional" json:"cidr" yaml:"cidr"`
}

A subnet representation that the VPC provider uses.

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"

vpcSubnet := &VpcSubnet{
	AvailabilityZone: jsii.String("availabilityZone"),
	RouteTableId: jsii.String("routeTableId"),
	SubnetId: jsii.String("subnetId"),

	// the properties below are optional
	Cidr: jsii.String("cidr"),
}

Experimental.

type VpcSubnetGroup

type VpcSubnetGroup struct {
	// The name of the subnet group, determined by looking at the tags of of the subnets that belong to it.
	// Experimental.
	Name *string `field:"required" json:"name" yaml:"name"`
	// The subnets that are part of this group.
	//
	// There is no condition that the subnets have to be symmetric
	// in the group.
	// Experimental.
	Subnets *[]*VpcSubnet `field:"required" json:"subnets" yaml:"subnets"`
	// The type of the subnet group.
	// Experimental.
	Type VpcSubnetGroupType `field:"required" json:"type" yaml:"type"`
}

A group of subnets returned by the VPC provider.

The included subnets do NOT have to be symmetric!

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"

vpcSubnetGroup := &VpcSubnetGroup{
	Name: jsii.String("name"),
	Subnets: []vpcSubnet{
		&vpcSubnet{
			AvailabilityZone: jsii.String("availabilityZone"),
			RouteTableId: jsii.String("routeTableId"),
			SubnetId: jsii.String("subnetId"),

			// the properties below are optional
			Cidr: jsii.String("cidr"),
		},
	},
	Type: awscdk.Cx_api.VpcSubnetGroupType_PUBLIC,
}

Experimental.

type VpcSubnetGroupType

type VpcSubnetGroupType string

The type of subnet group.

Same as SubnetType in the @aws-cdk/aws-ec2 package, but we can't use that because of cyclical dependencies. Experimental.

const (
	// Public subnet group type.
	// Experimental.
	VpcSubnetGroupType_PUBLIC VpcSubnetGroupType = "PUBLIC"
	// Private subnet group type.
	// Experimental.
	VpcSubnetGroupType_PRIVATE VpcSubnetGroupType = "PRIVATE"
	// Isolated subnet group type.
	// Experimental.
	VpcSubnetGroupType_ISOLATED VpcSubnetGroupType = "ISOLATED"
)

Jump to

Keyboard shortcuts

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