-
Notifications
You must be signed in to change notification settings - Fork 17
/
awsecrassets_DockerImageAssetProps.go
60 lines (57 loc) · 2.51 KB
/
awsecrassets_DockerImageAssetProps.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
package awsecrassets
import (
"github.com/aws/aws-cdk-go/awscdk/v2"
)
// 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 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"`
// 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"`
}