+++ title = "Cleanup sample" weight = 100 +++ ## 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: ```go 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.