<- All Blueprints
Customizable templates for deploying cloud infrastructure

AWS SNS Topic

This blueprint creates an AWS SNS Topic with best practices in mind, such as encouraging the use of KMS encryption to secure messages at rest. It allows users to specify custom policies for fine-grained access control and delivery settings. Tags are included to promote better resource identification and management. The blueprint organizes variables into intuitive groups to assist users—including those not well-versed in cloud infrastructure—in configuring essential and advanced settings easily.

Define and customize Blueprints to set what infrastructure configuration options are available to developers.

---
constants:
  __name: "{{ name }}_{{ __guid }}"
variables:
  name:
    desc: "Name of the SNS topic."
    required: true
    group: Topic Details
  display_name:
    desc: "Display name for the SNS topic."
    required: false
    group: Topic Details
  kms_master_key_id:
    desc: "ARN of the KMS key for encryption."
    required: false
    group: Encryption
    links_to: resource.aws_kms_key.arn
  policy:
    desc: "The JSON policy for the SNS topic."
    required: false
    group: Policies
  delivery_policy:
    desc: "The JSON delivery policy."
    required: false
    group: Policies
  tags:
    group: Tags
    required: false
groups:
  Topic Details:
    order: 1
    desc: "Basic settings for the SNS topic."
  Encryption:
    order: 2
    desc: "Encryption settings for the SNS topic."
  Policies:
    order: 3
    desc: "Policy settings for the SNS topic."
  Tags:
    order: 4
    desc: "Tags to assign to the SNS topic."
---

resource "aws_sns_topic" "__name" {
  name            = {{ name }}
  display_name    = {{ display_name | required: false }}
  kms_master_key_id = {{ kms_master_key_id | required: false }}
  policy          = {{ policy | required: false }}
  delivery_policy = {{ delivery_policy | required: false }}

  tags = {
    Name = {{ name }}
    {{# tags }}
      {{ tags.key | required: false }} = {{ tags.value | required: false }}
    {{/ tags }}
  }
}

// Encourages the use of KMS encryption for securing messages at rest.
// Allows custom policies for fine-grained access control.
// Tags are included for better resource management and identification.
//
A form is created automatically that accepts inputs that you defined in the Blueprint.
After filling out the Blueprint form, Terraform is generated and a PR is automatically submitted.
What am I looking at?

Talk to a Human

See Resourcely in action and learn how it can help you secure and manage your cloud infrastructure today!