-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsample-cdk.go
45 lines (37 loc) · 1.1 KB
/
sample-cdk.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
package main
import (
"github.com/aws/aws-cdk-go/awscdk/v2"
"github.com/aws/aws-cdk-go/awscdk/v2/awss3"
"github.com/aws/constructs-go/constructs/v10"
"github.com/aws/jsii-runtime-go"
)
type SampleCdkStackProps struct {
awscdk.StackProps
}
func NewSampleCdkStack(scope constructs.Construct, id string, props *SampleCdkStackProps) awscdk.Stack {
var sprops awscdk.StackProps
if props != nil {
sprops = props.StackProps
}
stack := awscdk.NewStack(scope, &id, &sprops)
// S3バケットの作成(例)
awss3.NewBucket(stack, jsii.String("TestBucket"), &awss3.BucketProps{
Versioned: jsii.Bool(true),
Encryption: awss3.BucketEncryption_S3_MANAGED,
BlockPublicAccess: awss3.BlockPublicAccess_BLOCK_ALL(),
RemovalPolicy: awscdk.RemovalPolicy_DESTROY,
})
return stack
}
func main() {
app := awscdk.NewApp(nil)
NewSampleCdkStack(app, "SampleCdkStack", &SampleCdkStackProps{
awscdk.StackProps{
Env: &awscdk.Environment{
Account: jsii.String("123456789012"), // AWSアカウントID(テキトー)
Region: jsii.String("ap-northeast-1"),
},
},
})
app.Synth(nil)
}