boto3_sns

Connection module for Amazon SNS using boto3.

depends:
  • boto3 >= 1.28.0

  • botocore >= 1.31.0

configuration:

This module accepts explicit SNS credentials but can also utilize IAM roles assigned to the instance through Instance Profiles. Dynamic credentials are then automatically obtained from AWS API and no further configuration is necessary. More Information available at:

http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html

If IAM roles are not used you need to specify them either in the minion’s config file or as a profile. For example, to specify them in the minion’s config file:

sns.keyid: GKTADJGHEIQSXMKKRBJ08H
sns.key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs

A region may also be specified in the configuration:

sns.region: us-east-1

It’s also possible to specify key, keyid and region via a profile, either as a passed in dict, or as a string to pull from pillars or minion config:

myprofile:
    keyid: GKTADJGHEIQSXMKKRBJ08H
    key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
    region: us-east-1

Added in version 1.0.0.

saltext.boto3.modules.boto3_sns.__virtual__()[source]

Only load if boto3 is available. Minimum version is enforced via the project’s pyproject.toml dependency declaration.

saltext.boto3.modules.boto3_sns.get_arn(name, region=None, profile=None)[source]

Return the ARN for an SNS topic. If name already looks like an ARN it is returned unchanged, otherwise an ARN is built using the given region (or profile["region"], or the sns.region minion config option, falling back to us-east-1) and the AWS account ID obtained from boto3_iam.get_account_id().

CLI Example:

salt myminion boto3_sns.get_arn mytopic
saltext.boto3.modules.boto3_sns.list_topics(region=None, key=None, keyid=None, profile=None)[source]

Returns a list of the requester’s topics

CLI Example:

salt myminion boto3_sns.list_topics
saltext.boto3.modules.boto3_sns.describe_topic(name, region=None, key=None, keyid=None, profile=None)[source]

Returns details about a specific SNS topic, specified by name or ARN.

CLI Example:

salt my_favorite_client boto3_sns.describe_topic a_sns_topic_of_my_choice
saltext.boto3.modules.boto3_sns.topic_exists(name, region=None, key=None, keyid=None, profile=None)[source]

Check to see if an SNS topic exists.

CLI Example:

salt myminion boto3_sns.topic_exists mytopic region=us-east-1
saltext.boto3.modules.boto3_sns.create_topic(Name, region=None, key=None, keyid=None, profile=None)[source]

Create an SNS topic.

CLI Example:

salt myminion boto3_sns.create_topic mytopic region=us-east-1
saltext.boto3.modules.boto3_sns.delete_topic(TopicArn, region=None, key=None, keyid=None, profile=None)[source]

Delete an SNS topic.

CLI Example:

salt myminion boto3_sns.delete_topic mytopic region=us-east-1
saltext.boto3.modules.boto3_sns.get_topic_attributes(TopicArn, region=None, key=None, keyid=None, profile=None)[source]

Returns all of the properties of a topic. Topic properties returned might differ based on the authorization of the user.

CLI Example:

salt myminion boto3_sns.get_topic_attributes someTopic region=us-west-1
saltext.boto3.modules.boto3_sns.set_topic_attributes(TopicArn, AttributeName, AttributeValue, region=None, key=None, keyid=None, profile=None)[source]

Set an attribute of a topic to a new value.

CLI Example:

salt myminion boto3_sns.set_topic_attributes someTopic DisplayName myDisplayNameValue
saltext.boto3.modules.boto3_sns.list_subscriptions_by_topic(TopicArn, region=None, key=None, keyid=None, profile=None)[source]

Returns a list of the subscriptions to a specific topic

CLI Example:

salt myminion boto3_sns.list_subscriptions_by_topic mytopic region=us-east-1
saltext.boto3.modules.boto3_sns.list_subscriptions(region=None, key=None, keyid=None, profile=None)[source]

Returns a list of the requester’s topics

CLI Example:

salt myminion boto3_sns.list_subscriptions region=us-east-1
saltext.boto3.modules.boto3_sns.get_subscription_attributes(SubscriptionArn, region=None, key=None, keyid=None, profile=None)[source]

Returns all of the properties of a subscription.

CLI Example:

salt myminion boto3_sns.get_subscription_attributes somesubscription region=us-west-1
saltext.boto3.modules.boto3_sns.set_subscription_attributes(SubscriptionArn, AttributeName, AttributeValue, region=None, key=None, keyid=None, profile=None)[source]

Set an attribute of a subscription to a new value.

CLI Example:

salt myminion boto3_sns.set_subscription_attributes someSubscription RawMessageDelivery jsonStringValue
saltext.boto3.modules.boto3_sns.subscribe(TopicArn, Protocol, Endpoint, region=None, key=None, keyid=None, profile=None)[source]

Subscribe to a Topic.

CLI Example:

salt myminion boto3_sns.subscribe mytopic https https://www.example.com/sns-endpoint
saltext.boto3.modules.boto3_sns.unsubscribe(SubscriptionArn, region=None, key=None, keyid=None, profile=None)[source]

Unsubscribe a specific SubscriptionArn of a topic.

CLI Example:

salt myminion boto3_sns.unsubscribe my_subscription_arn region=us-east-1