Delete the sample code from your stack #
The project created by cdk init sample-app
includes an SQS queue, and an SNS topic. We’re
not going to use them in our project, so remove them from the
NewCdkWorkshopStack
function. We won’t need to import these modules anymore either, so we can
remove them from the imports (though we will need the jsii-runtime-go
import for later).
Additionally, we won’t need to pass in the environment being used to the stack.
Open cdk-workshop.go
and clean it up. Eventually it should look like this:
package main
import (
"github.com/aws/aws-cdk-go/awscdk/v2"
"github.com/aws/constructs-go/constructs/v10"
"github.com/aws/jsii-runtime-go"
)
type CdkWorkshopStackProps struct {
awscdk.StackProps
}
func NewCdkWorkshopStack(scope constructs.Construct, id string, props *CdkWorkshopStackProps) awscdk.Stack {
var sprops awscdk.StackProps
if props != nil {
sprops = props.StackProps
}
stack := awscdk.NewStack(scope, &id, &sprops)
return stack
}
func main() {
defer jsii.Close()
app := awscdk.NewApp(nil)
NewCdkWorkshopStack(app, "CdkWorkshopStack", &CdkWorkshopStackProps{})
app.Synth(nil)
}
cdk diff #
Now that we modified our stack’s contents, we can ask the toolkit to show us the difference between our CDK app and
what’s currently deployed. This is a safe way to check what will happen once we run cdk deploy
and is always good practice:
cdk diff
Output should look like the following:
Stack CdkWorkshopStack
IAM Statement Changes
┌───┬─────────────────────────────────┬────────┬─────────────────┬───────────────────────────┬──────────────────────────────────────────────────┐
│ │ Resource │ Effect │ Action │ Principal │ Condition │
├───┼─────────────────────────────────┼────────┼─────────────────┼───────────────────────────┼──────────────────────────────────────────────────┤
│ - │ ${CdkWorkshopQueue50D9D426.Arn} │ Allow │ sqs:SendMessage │ Service:sns.amazonaws.com │ "ArnEquals": { │
│ │ │ │ │ │ "aws:SourceArn": "${CdkWorkshopTopicD368A42F}" │
│ │ │ │ │ │ } │
└───┴─────────────────────────────────┴────────┴─────────────────┴───────────────────────────┴──────────────────────────────────────────────────┘
(NOTE: There may be security-related changes not in this list. See https://github.com/aws/aws-cdk/issues/1299)
Resources
[-] AWS::SQS::Queue CdkWorkshopQueue50D9D426 destroy
[-] AWS::SQS::QueuePolicy CdkWorkshopQueuePolicyAF2494A5 destroy
[-] AWS::SNS::Topic CdkWorkshopTopicD368A42F destroy
[-] AWS::SNS::Subscription CdkWorkshopTopicCdkWorkshopQueueSubscription88D211C7 destroy
As expected, all of our resources are going to be brutally destroyed.
cdk deploy #
Run cdk deploy
and proceed to the next section (no need to wait):
cdk deploy
You should see the resources being deleted.