Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Asset_IsConstruct ¶
func Asset_IsConstruct(x interface{}) *bool
Return whether the given object is a Construct. Experimental.
func NewAsset_Override ¶
func NewAsset_Override(a Asset, scope constructs.Construct, id *string, props *AssetProps)
Experimental.
Types ¶
type Asset ¶
type Asset interface { awscdk.Construct awscdk.IAsset // 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. // Experimental. AssetHash() *string // The path to the asset, relative to the current Cloud Assembly. // // If asset staging is disabled, this will just be the original path. // If asset staging is enabled it will be the staged path. // Experimental. AssetPath() *string // The S3 bucket in which this asset resides. // Experimental. Bucket() awss3.IBucket // Attribute which represents the S3 HTTP URL of this asset. // // For example, `https://s3.us-west-1.amazonaws.com/bucket/key` // Experimental. HttpUrl() *string // Indicates if this asset is a single file. // // Allows constructs to ensure that the // correct file type was used. // Experimental. IsFile() *bool // Indicates if this asset is a zip archive. // // Allows constructs to ensure that the // correct file type was used. // Experimental. IsZipArchive() *bool // The construct tree node associated with this construct. // Experimental. Node() awscdk.ConstructNode // Attribute that represents the name of the bucket this asset exists in. // Experimental. S3BucketName() *string // Attribute which represents the S3 object key of this asset. // Experimental. S3ObjectKey() *string // Attribute which represents the S3 URL of this asset. // // For example, `s3://bucket/key`. // Experimental. S3ObjectUrl() *string // Attribute which represents the S3 URL of this asset. // Deprecated: use `httpUrl`. S3Url() *string // A cryptographic hash of the asset. // Deprecated: see `assetHash`. SourceHash() *string // 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 // // Experimental. AddResourceMetadata(resource awscdk.CfnResource, resourceProperty *string) // Grants read permissions to the principal on the assets bucket. // Experimental. GrantRead(grantee awsiam.IGrantable) // Perform final modifications before synthesis. // // This method can be implemented by derived constructs in order to perform // final changes before synthesis. prepare() will be called after child // constructs have been prepared. // // This is an advanced framework feature. Only use this if you // understand the implications. // Experimental. OnPrepare() // Allows this construct to emit artifacts into the cloud assembly during synthesis. // // This method is usually implemented by framework-level constructs such as `Stack` and `Asset` // as they participate in synthesizing the cloud assembly. // Experimental. OnSynthesize(session constructs.ISynthesisSession) // Validate the current construct. // // This method can be implemented by derived constructs in order to perform // validation logic. It is called on all constructs before synthesis. // // Returns: An array of validation error messages, or an empty array if the construct is valid. // Experimental. OnValidate() *[]*string // Perform final modifications before synthesis. // // This method can be implemented by derived constructs in order to perform // final changes before synthesis. prepare() will be called after child // constructs have been prepared. // // This is an advanced framework feature. Only use this if you // understand the implications. // Experimental. Prepare() // Allows this construct to emit artifacts into the cloud assembly during synthesis. // // This method is usually implemented by framework-level constructs such as `Stack` and `Asset` // as they participate in synthesizing the cloud assembly. // Experimental. Synthesize(session awscdk.ISynthesisSession) // Returns a string representation of this construct. // Experimental. ToString() *string // Validate the current construct. // // This method can be implemented by derived constructs in order to perform // validation logic. It is called on all constructs before synthesis. // // Returns: An array of validation error messages, or an empty array if the construct is valid. // Experimental. Validate() *[]*string }
An asset represents a local file or directory, which is automatically uploaded to S3 and then can be referenced within a CDK application.
Example:
import s3Assets "github.com/aws/aws-cdk-go/awscdk" var cluster cluster chartAsset := s3Assets.NewAsset(this, jsii.String("ChartAsset"), &assetProps{ path: jsii.String("/path/to/asset"), }) cluster.addHelmChart(jsii.String("test-chart"), &helmChartOptions{ chartAsset: chartAsset, })
Experimental.
func NewAsset ¶
func NewAsset(scope constructs.Construct, id *string, props *AssetProps) Asset
Experimental.
type AssetOptions ¶
type AssetOptions struct { // Glob patterns to exclude from the copy. // Experimental. Exclude *[]*string `field:"optional" json:"exclude" yaml:"exclude"` // A strategy for how to handle symlinks. // Deprecated: use `followSymlinks` instead. Follow assets.FollowMode `field:"optional" json:"follow" yaml:"follow"` // The ignore behavior to use for exclude patterns. // Experimental. IgnoreMode awscdk.IgnoreMode `field:"optional" json:"ignoreMode" yaml:"ignoreMode"` // A strategy for how to handle symlinks. // Experimental. FollowSymlinks awscdk.SymlinkFollowMode `field:"optional" json:"followSymlinks" yaml:"followSymlinks"` // Specify a custom hash for this asset. // // If `assetHashType` is set it must // be set to `AssetHashType.CUSTOM`. For consistency, this custom hash will // be SHA256 hashed and encoded as hex. The resulting hash will be the asset // hash. // // NOTE: the hash is used in order to identify a specific revision of the asset, and // used for optimizing and caching deployment activities related to this asset such as // packaging, uploading to Amazon S3, etc. If you chose to customize the hash, you will // need to make sure it is updated every time the asset changes, or otherwise it is // possible that some deployments will not be invalidated. // Experimental. AssetHash *string `field:"optional" json:"assetHash" yaml:"assetHash"` // Specifies the type of hash to calculate for this asset. // // If `assetHash` is configured, this option must be `undefined` or // `AssetHashType.CUSTOM`. // Experimental. AssetHashType awscdk.AssetHashType `field:"optional" json:"assetHashType" yaml:"assetHashType"` // Bundle the asset by executing a command in a Docker container or a custom bundling provider. // // The asset path will be mounted at `/asset-input`. The Docker // container is responsible for putting content at `/asset-output`. // The content at `/asset-output` will be zipped and used as the // final asset. // Experimental. Bundling *awscdk.BundlingOptions `field:"optional" json:"bundling" yaml:"bundling"` // A list of principals that should be able to read this asset from S3. // // You can use `asset.grantRead(principal)` to grant read permissions later. // Experimental. Readers *[]awsiam.IGrantable `field:"optional" json:"readers" yaml:"readers"` // Custom hash to use when identifying the specific version of the asset. // // For consistency, // this custom hash will be SHA256 hashed and encoded as hex. The resulting hash will be // the asset hash. // // NOTE: the source hash is used in order to identify a specific revision of the asset, // and used for optimizing and caching deployment activities related to this asset such as // packaging, uploading to Amazon S3, etc. If you chose to customize the source hash, // you will need to make sure it is updated every time the source changes, or otherwise // it is possible that some deployments will not be invalidated. // Deprecated: see `assetHash` and `assetHashType`. SourceHash *string `field:"optional" json:"sourceHash" yaml:"sourceHash"` }
Example:
lambda.NewFunction(this, jsii.String("Function"), &functionProps{ code: lambda.code.fromAsset(path.join(__dirname, jsii.String("my-python-handler")), &assetOptions{ bundling: &bundlingOptions{ image: lambda.runtime_PYTHON_3_9().bundlingImage, command: []*string{ jsii.String("bash"), jsii.String("-c"), jsii.String("pip install -r requirements.txt -t /asset-output && cp -au . /asset-output"), }, }, }), runtime: lambda.*runtime_PYTHON_3_9(), handler: jsii.String("index.handler"), })
Experimental.
type AssetProps ¶
type AssetProps struct { // Glob patterns to exclude from the copy. // Experimental. Exclude *[]*string `field:"optional" json:"exclude" yaml:"exclude"` // A strategy for how to handle symlinks. // Deprecated: use `followSymlinks` instead. Follow assets.FollowMode `field:"optional" json:"follow" yaml:"follow"` // The ignore behavior to use for exclude patterns. // Experimental. IgnoreMode awscdk.IgnoreMode `field:"optional" json:"ignoreMode" yaml:"ignoreMode"` // A strategy for how to handle symlinks. // Experimental. FollowSymlinks awscdk.SymlinkFollowMode `field:"optional" json:"followSymlinks" yaml:"followSymlinks"` // Specify a custom hash for this asset. // // If `assetHashType` is set it must // be set to `AssetHashType.CUSTOM`. For consistency, this custom hash will // be SHA256 hashed and encoded as hex. The resulting hash will be the asset // hash. // // NOTE: the hash is used in order to identify a specific revision of the asset, and // used for optimizing and caching deployment activities related to this asset such as // packaging, uploading to Amazon S3, etc. If you chose to customize the hash, you will // need to make sure it is updated every time the asset changes, or otherwise it is // possible that some deployments will not be invalidated. // Experimental. AssetHash *string `field:"optional" json:"assetHash" yaml:"assetHash"` // Specifies the type of hash to calculate for this asset. // // If `assetHash` is configured, this option must be `undefined` or // `AssetHashType.CUSTOM`. // Experimental. AssetHashType awscdk.AssetHashType `field:"optional" json:"assetHashType" yaml:"assetHashType"` // Bundle the asset by executing a command in a Docker container or a custom bundling provider. // // The asset path will be mounted at `/asset-input`. The Docker // container is responsible for putting content at `/asset-output`. // The content at `/asset-output` will be zipped and used as the // final asset. // Experimental. Bundling *awscdk.BundlingOptions `field:"optional" json:"bundling" yaml:"bundling"` // A list of principals that should be able to read this asset from S3. // // You can use `asset.grantRead(principal)` to grant read permissions later. // Experimental. Readers *[]awsiam.IGrantable `field:"optional" json:"readers" yaml:"readers"` // Custom hash to use when identifying the specific version of the asset. // // For consistency, // this custom hash will be SHA256 hashed and encoded as hex. The resulting hash will be // the asset hash. // // NOTE: the source hash is used in order to identify a specific revision of the asset, // and used for optimizing and caching deployment activities related to this asset such as // packaging, uploading to Amazon S3, etc. If you chose to customize the source hash, // you will need to make sure it is updated every time the source changes, or otherwise // it is possible that some deployments will not be invalidated. // Deprecated: see `assetHash` and `assetHashType`. SourceHash *string `field:"optional" json:"sourceHash" yaml:"sourceHash"` // The disk location of the asset. // // The path should refer to one of the following: // - A regular file or a .zip file, in which case the file will be uploaded as-is to S3. // - A directory, in which case it will be archived into a .zip file and uploaded to S3. // Experimental. Path *string `field:"required" json:"path" yaml:"path"` }
Example:
asset := assets.NewAsset(this, jsii.String("BundledAsset"), &assetProps{ path: path.join(__dirname, jsii.String("markdown-asset")), // /asset-input and working directory in the container bundling: &bundlingOptions{ image: awscdk.DockerImage.fromBuild(path.join(__dirname, jsii.String("alpine-markdown"))), // Build an image command: []*string{ jsii.String("sh"), jsii.String("-c"), jsii.String("\n markdown index.md > /asset-output/index.html\n "), }, }, })
Experimental.
Source Files ¶
Click to show internal directories.
Click to hide internal directories.