Documentation ¶
Index ¶
- func DockerImageAsset_IsConstruct(x interface{}) *bool
- func NewDockerImageAsset_Override(d DockerImageAsset, scope constructs.Construct, id *string, ...)
- func NewTarballImageAsset_Override(t TarballImageAsset, scope constructs.Construct, id *string, ...)
- func TarballImageAsset_IsConstruct(x interface{}) *bool
- type DockerImageAsset
- type DockerImageAssetInvalidationOptions
- type DockerImageAssetOptions
- type DockerImageAssetProps
- type NetworkMode
- type Platform
- type TarballImageAsset
- type TarballImageAssetProps
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func DockerImageAsset_IsConstruct ¶
func DockerImageAsset_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` 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 `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
func NewDockerImageAsset_Override ¶
func NewDockerImageAsset_Override(d DockerImageAsset, scope constructs.Construct, id *string, props *DockerImageAssetProps)
func NewTarballImageAsset_Override ¶
func NewTarballImageAsset_Override(t TarballImageAsset, scope constructs.Construct, id *string, props *TarballImageAssetProps)
func TarballImageAsset_IsConstruct ¶
func TarballImageAsset_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` 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 `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.
Returns: true if `x` is an object created from a class which extends `Construct`.
Types ¶
type DockerImageAsset ¶
type DockerImageAsset interface { constructs.Construct // A hash of this asset, which is available at construction time. // // As this is a plain string, it // can be used in construct IDs in order to enforce creation of a new resource when the content // hash has changed. AssetHash() *string // The tag of this asset when it is uploaded to ECR. // // The tag may differ from the assetHash if a stack synthesizer adds a dockerTagPrefix. ImageTag() *string // The full URI of the image (including a tag). // // Use this reference to pull // the asset. ImageUri() *string SetImageUri(val *string) // The tree node. Node() constructs.Node // Repository where the image is stored. Repository() awsecr.IRepository SetRepository(val awsecr.IRepository) // Adds CloudFormation template metadata to the specified resource with information that indicates which resource property is mapped to this local asset. // // This can be used by tools such as SAM CLI to provide local // experience such as local invocation and debugging of Lambda functions. // // Asset metadata will only be included if the stack is synthesized with the // "aws:cdk:enable-asset-metadata" context key defined, which is the default // behavior when synthesizing via the CDK Toolkit. // See: https://github.com/aws/aws-cdk/issues/1432 // AddResourceMetadata(resource awscdk.CfnResource, resourceProperty *string) // Returns a string representation of this construct. ToString() *string }
An asset that represents a Docker image.
The image will be created in build time and uploaded to an ECR repository.
Example:
import "github.com/aws/aws-cdk-go/awscdk" asset := awscdk.NewDockerImageAsset(this, jsii.String("MyBuildImage"), &dockerImageAssetProps{ directory: path.join(__dirname, jsii.String("my-image")), networkMode: awscdk.NetworkMode_HOST(), })
func NewDockerImageAsset ¶
func NewDockerImageAsset(scope constructs.Construct, id *string, props *DockerImageAssetProps) DockerImageAsset
type DockerImageAssetInvalidationOptions ¶
type DockerImageAssetInvalidationOptions struct { // Use `buildArgs` while calculating the asset hash. BuildArgs *bool `field:"optional" json:"buildArgs" yaml:"buildArgs"` // Use `extraHash` while calculating the asset hash. ExtraHash *bool `field:"optional" json:"extraHash" yaml:"extraHash"` // Use `file` while calculating the asset hash. File *bool `field:"optional" json:"file" yaml:"file"` // Use `networkMode` while calculating the asset hash. NetworkMode *bool `field:"optional" json:"networkMode" yaml:"networkMode"` // Use `outputs` while calculating the asset hash. Outputs *bool `field:"optional" json:"outputs" yaml:"outputs"` // Use `platform` while calculating the asset hash. Platform *bool `field:"optional" json:"platform" yaml:"platform"` // Use `repositoryName` while calculating the asset hash. RepositoryName *bool `field:"optional" json:"repositoryName" yaml:"repositoryName"` // Use `target` while calculating the asset hash. Target *bool `field:"optional" json:"target" yaml:"target"` }
Options to control invalidation of `DockerImageAsset` asset hashes.
Example:
import "github.com/aws/aws-cdk-go/awscdk" asset := awscdk.NewDockerImageAsset(this, jsii.String("MyBuildImage"), &dockerImageAssetProps{ directory: path.join(__dirname, jsii.String("my-image")), buildArgs: map[string]*string{ "HTTP_PROXY": jsii.String("http://10.20.30.2:1234"), }, invalidation: &dockerImageAssetInvalidationOptions{ buildArgs: jsii.Boolean(false), }, })
type DockerImageAssetOptions ¶
type DockerImageAssetOptions struct { // File paths matching the patterns will be excluded. // // See `ignoreMode` to set the matching behavior. // Has no effect on Assets bundled using the `bundling` property. Exclude *[]*string `field:"optional" json:"exclude" yaml:"exclude"` // A strategy for how to handle symlinks. FollowSymlinks awscdk.SymlinkFollowMode `field:"optional" json:"followSymlinks" yaml:"followSymlinks"` // The ignore behavior to use for `exclude` patterns. IgnoreMode awscdk.IgnoreMode `field:"optional" json:"ignoreMode" yaml:"ignoreMode"` // Extra information to encode into the fingerprint (e.g. build instructions and other inputs). ExtraHash *string `field:"optional" json:"extraHash" yaml:"extraHash"` // Build args to pass to the `docker build` command. // // Since Docker build arguments are resolved before deployment, keys and // values cannot refer to unresolved tokens (such as `lambda.functionArn` or // `queue.queueUrl`). BuildArgs *map[string]*string `field:"optional" json:"buildArgs" yaml:"buildArgs"` // Path to the Dockerfile (relative to the directory). File *string `field:"optional" json:"file" yaml:"file"` // Options to control which parameters are used to invalidate the asset hash. Invalidation *DockerImageAssetInvalidationOptions `field:"optional" json:"invalidation" yaml:"invalidation"` // Networking mode for the RUN commands during build. // // Support docker API 1.25+. NetworkMode NetworkMode `field:"optional" json:"networkMode" yaml:"networkMode"` // Outputs to pass to the `docker build` command. // See: https://docs.docker.com/engine/reference/commandline/build/#custom-build-outputs // Outputs *[]*string `field:"optional" json:"outputs" yaml:"outputs"` // Platform to build for. // // _Requires Docker Buildx_. Platform Platform `field:"optional" json:"platform" yaml:"platform"` // Docker target to build to. Target *string `field:"optional" json:"target" yaml:"target"` }
Options for DockerImageAsset.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import cdk "github.com/aws/aws-cdk-go/awscdk" import "github.com/aws/aws-cdk-go/awscdk" var networkMode networkMode var platform platform dockerImageAssetOptions := &dockerImageAssetOptions{ buildArgs: map[string]*string{ "buildArgsKey": jsii.String("buildArgs"), }, exclude: []*string{ jsii.String("exclude"), }, extraHash: jsii.String("extraHash"), file: jsii.String("file"), followSymlinks: cdk.symlinkFollowMode_NEVER, ignoreMode: cdk.ignoreMode_GLOB, invalidation: &dockerImageAssetInvalidationOptions{ buildArgs: jsii.Boolean(false), extraHash: jsii.Boolean(false), file: jsii.Boolean(false), networkMode: jsii.Boolean(false), outputs: jsii.Boolean(false), platform: jsii.Boolean(false), repositoryName: jsii.Boolean(false), target: jsii.Boolean(false), }, networkMode: networkMode, outputs: []*string{ jsii.String("outputs"), }, platform: platform, target: jsii.String("target"), }
type DockerImageAssetProps ¶
type DockerImageAssetProps struct { // File paths matching the patterns will be excluded. // // See `ignoreMode` to set the matching behavior. // Has no effect on Assets bundled using the `bundling` property. Exclude *[]*string `field:"optional" json:"exclude" yaml:"exclude"` // A strategy for how to handle symlinks. FollowSymlinks awscdk.SymlinkFollowMode `field:"optional" json:"followSymlinks" yaml:"followSymlinks"` // The ignore behavior to use for `exclude` patterns. IgnoreMode awscdk.IgnoreMode `field:"optional" json:"ignoreMode" yaml:"ignoreMode"` // Extra information to encode into the fingerprint (e.g. build instructions and other inputs). ExtraHash *string `field:"optional" json:"extraHash" yaml:"extraHash"` // Build args to pass to the `docker build` command. // // Since Docker build arguments are resolved before deployment, keys and // values cannot refer to unresolved tokens (such as `lambda.functionArn` or // `queue.queueUrl`). BuildArgs *map[string]*string `field:"optional" json:"buildArgs" yaml:"buildArgs"` // Path to the Dockerfile (relative to the directory). File *string `field:"optional" json:"file" yaml:"file"` // Options to control which parameters are used to invalidate the asset hash. Invalidation *DockerImageAssetInvalidationOptions `field:"optional" json:"invalidation" yaml:"invalidation"` // Networking mode for the RUN commands during build. // // Support docker API 1.25+. NetworkMode NetworkMode `field:"optional" json:"networkMode" yaml:"networkMode"` // Outputs to pass to the `docker build` command. // See: https://docs.docker.com/engine/reference/commandline/build/#custom-build-outputs // Outputs *[]*string `field:"optional" json:"outputs" yaml:"outputs"` // Platform to build for. // // _Requires Docker Buildx_. Platform Platform `field:"optional" json:"platform" yaml:"platform"` // Docker target to build to. Target *string `field:"optional" json:"target" yaml:"target"` // The directory where the Dockerfile is stored. // // Any directory inside with a name that matches the CDK output folder (cdk.out by default) will be excluded from the asset Directory *string `field:"required" json:"directory" yaml:"directory"` }
Props for DockerImageAssets.
Example:
import "github.com/aws/aws-cdk-go/awscdk" asset := awscdk.NewDockerImageAsset(this, jsii.String("MyBuildImage"), &dockerImageAssetProps{ directory: path.join(__dirname, jsii.String("my-image")), buildArgs: map[string]*string{ "HTTP_PROXY": jsii.String("http://10.20.30.2:1234"), }, invalidation: &dockerImageAssetInvalidationOptions{ buildArgs: jsii.Boolean(false), }, })
type NetworkMode ¶ added in v2.11.0
type NetworkMode interface { // The networking mode to use for docker build. Mode() *string }
networking mode on build time supported by docker.
Example:
import "github.com/aws/aws-cdk-go/awscdk" asset := awscdk.NewDockerImageAsset(this, jsii.String("MyBuildImage"), &dockerImageAssetProps{ directory: path.join(__dirname, jsii.String("my-image")), networkMode: awscdk.NetworkMode_HOST(), })
func NetworkMode_Custom ¶ added in v2.11.0
func NetworkMode_Custom(mode *string) NetworkMode
Used to specify a custom networking mode Use this if the networking mode name is not yet supported by the CDK.
func NetworkMode_DEFAULT ¶ added in v2.11.0
func NetworkMode_DEFAULT() NetworkMode
func NetworkMode_FromContainer ¶ added in v2.11.0
func NetworkMode_FromContainer(containerId *string) NetworkMode
Reuse another container's network stack.
func NetworkMode_HOST ¶ added in v2.11.0
func NetworkMode_HOST() NetworkMode
func NetworkMode_NONE ¶ added in v2.11.0
func NetworkMode_NONE() NetworkMode
type Platform ¶ added in v2.26.0
type Platform interface { // The platform to use for docker build. Platform() *string }
platform supported by docker.
Example:
import "github.com/aws/aws-cdk-go/awscdk" asset := awscdk.NewDockerImageAsset(this, jsii.String("MyBuildImage"), &dockerImageAssetProps{ directory: path.join(__dirname, jsii.String("my-image")), platform: awscdk.Platform_LINUX_ARM64(), })
func Platform_Custom ¶ added in v2.26.0
Used to specify a custom platform Use this if the platform name is not yet supported by the CDK.
func Platform_LINUX_AMD64 ¶ added in v2.26.0
func Platform_LINUX_AMD64() Platform
func Platform_LINUX_ARM64 ¶ added in v2.26.0
func Platform_LINUX_ARM64() Platform
type TarballImageAsset ¶
type TarballImageAsset interface { constructs.Construct // A hash of this asset, which is available at construction time. // // As this is a plain string, it // can be used in construct IDs in order to enforce creation of a new resource when the content // hash has changed. AssetHash() *string // The tag of this asset when it is uploaded to ECR. // // The tag may differ from the assetHash if a stack synthesizer adds a dockerTagPrefix. ImageTag() *string // The full URI of the image (including a tag). // // Use this reference to pull // the asset. ImageUri() *string SetImageUri(val *string) // The tree node. Node() constructs.Node // Repository where the image is stored. Repository() awsecr.IRepository SetRepository(val awsecr.IRepository) // Returns a string representation of this construct. ToString() *string }
An asset that represents a Docker image.
The image will loaded from an existing tarball and uploaded to an ECR repository.
Example:
import "github.com/aws/aws-cdk-go/awscdk" asset := awscdk.NewTarballImageAsset(this, jsii.String("MyBuildImage"), &tarballImageAssetProps{ tarballFile: jsii.String("local-image.tar"), })
func NewTarballImageAsset ¶
func NewTarballImageAsset(scope constructs.Construct, id *string, props *TarballImageAssetProps) TarballImageAsset
type TarballImageAssetProps ¶
type TarballImageAssetProps struct { // Absolute path to the tarball. // // It is recommended to to use the script running directory (e.g. `__dirname` // in Node.js projects or dirname of `__file__` in Python) if your tarball // is located as a resource inside your project. TarballFile *string `field:"required" json:"tarballFile" yaml:"tarballFile"` }
Options for TarballImageAsset.
Example:
import "github.com/aws/aws-cdk-go/awscdk" asset := awscdk.NewTarballImageAsset(this, jsii.String("MyBuildImage"), &tarballImageAssetProps{ tarballFile: jsii.String("local-image.tar"), })
Source Files ¶
- awsecrassets.go
- awsecrassets_DockerImageAsset.go
- awsecrassets_DockerImageAssetInvalidationOptions.go
- awsecrassets_DockerImageAssetOptions.go
- awsecrassets_DockerImageAssetProps.go
- awsecrassets_DockerImageAsset__runtime_type_checks.go
- awsecrassets_NetworkMode.go
- awsecrassets_NetworkMode__runtime_type_checks.go
- awsecrassets_Platform.go
- awsecrassets_Platform__runtime_type_checks.go
- awsecrassets_TarballImageAsset.go
- awsecrassets_TarballImageAssetProps.go
- awsecrassets_TarballImageAsset__runtime_type_checks.go