This repository is used to simplify the process of cloning the SSM documents across the AWS regions.

Overview

SSM Cloner

Introduction


  • This module is created in order to simplify the process of copying the SSM documents from one region to another regions.

  • As an organisation or team can have multiple regions in which they operate. And in order to replicate the SSM documents from one region to another.

  • It becomes a tedious task if you are developing or if you need to update a document and replicate the change across the regions.

  • To resolve this issue, ssm-cloner comes for your help.

  • Just execute this module and pass on the parameters and it will clone the documents for you.

  • You can also use it to unclone or create new version for your documents.

Pre-requisites


  • AWS CLI should be installed on the system. For installing AWS CLI, visit the link: Install AWS CLI

  • Python should be installed. For installing Python, visit this link: Installing Python

  • Python package boto3 should be installed.

    pip3 install boto3 #(Linux)
    or
    pip install boto3 #(Windows)

How to setup environment


  1. For using it with AWS IAM users, set up the default profile using aws configure. The project will execute in that account.

  2. For AWS SSO users, copy and paste the temporary credentials in the terminal in which you want to execute the script.

  3. For IAM Role, this feature will be supported in future.

Execution Types


  1. Execute from command line as command line program

  2. Use it as a module - PENDING

  3. Use it as a installer - PENDING

Minimal Permission


  • In order to run the program, your user needs to have the sufficient permission.

  • Below is the permissions that is required for the program to run.

    {
      "Version": "2012-10-17",
      "Statement": [
          {
              "Sid": "VisualEditor0",
              "Effect": "Allow",
              "Action": [
                  "ssm:GetDocument",
                  "ssm:ListDocuments",
                  "ssm:DeleteDocument",
                  "ssm:CreateDocument"
              ],
              "Resource": "*"
          }
       ]
    }

Execution Steps


  1. Clone the repo in your system

  2. Go to the directory where the repo is cloned

  3. Open the terminal in the directory and run the below commands.

  4. Execute the program using below syntax (For Linux):

     #For Cloning (Linux)
     python3 ssm_cloner.py -c -d <doc_name> -sr <source_region> -dr <command_separated_destination_regions>
    
     #For Uncloning (Linux)
     python3 ssm_cloner.py -uc -d <doc_name> -sr <source_region> -dr <command_separated_destination_regions>
  5. For windows, follow the below syntax:

     #For Cloning (Windows)
     python ssm_cloner.py -c -d <doc_name> -sr <source_region> -dr <command_separated_destination_regions>
    
     #For Uncloning (Windows)
     python ssm_cloner.py -uc -d <doc_name> -sr <source_region> -dr <command_separated_destination_regions>

Command Line Parameters Description


  1. -d / --doc-name (Required): This parameter is used to define the document name that needs to be cloned.

  2. -sr / --source-region (Required): This parameter is used to define the source region from which the main document will be fetched

    • Type: string
    • Example: us-east-1
  1. -dr / --destination-regions (Required): This parameter is used to define the destination regions to which the cloned documents will be created.

    • Type: Command Separated values
    • Example: us-east-1,us-east-2,us-west-1
  1. -c / --clone (Required): This parameter is used to specify program to clone the document. This parameter cannot be used together with "-uc / --unclone" parameter.

    • Type: None
    • Example: -c or --clone
    • Usage:
      python3 ssm_cloner.py -c #(Short hand parameter)
      
      # OR
      
      python3 ssm_cloner.py --clone #(Descriptive parameter)
  1. -uc / --unclone (Required): This parameter is used to specify program to unclone the document. This parameter cannot be used together with "-c or --clone" parameter.

    • Type: None
    • Example: -uc or --unclone
    • Usage:
      python3 ssm_cloner.py -uc #(Short hand parameter)
      
      #OR
      
      python3 ssm_cloner.py --unclone #(Descriptive parameter)

Roadmap


  • Add the functionality to make the program, a module
  • Add the functionality to execute the program across the accounts/region
  • Support for gov cloud

Links


A solution designed to extract, transform and load Chicago crime data from an RDS instance to other services in AWS.

This project is intended to implement a solution designed to extract, transform and load Chicago crime data from an RDS instance to other services in AWS.

Yesaswi Avula 1 Feb 04, 2022
Telegram bot to clip youtube videos

youtube-clipper-bot Telegram bot to clip youtube videos How to deploy? Create a file called config.env BOT_TOKEN: Provide your bot token generated by

Shivam Jha 11 Dec 10, 2022
This library is for simplified work with the sms-man.com API

SMSMAN Public API Python This is a lightweight library that works as a connector to Sms-Man public API Installation pip install smsman Documentation h

13 Nov 19, 2022
For specific function. For my own convenience. Remind owner to share data to another DITO user.

For specific function. For my own convenience. Remind owner to share data to another DITO user.

Meigo 1 Dec 14, 2021
PaddleOCR推理的pytorch实现和模型转换

PaddleOCR2Pytorch 简介 ”真·白嫖“PaddleOCR 注意 PytorchOCR由PaddleOCR-2.0rc1+动态图版本移植。 特性 高质量推理模型,准确的识别效果 超轻量ptocr_mobile移动端系列 通用ptocr_server系列 支持中英文数字组合识别、竖排文本

519 Jan 08, 2023
A calculator telegram bot.

Calculator-Bot A calculator telegram bot. Made with Python3 (C) @FayasNoushad Copyright permission under MIT License License - https://github.com/Fay

Fayas Noushad 33 Nov 30, 2022
:snake: Python SDK to query Scaleway APIs.

Scaleway SDK Python SDK to query Scaleway's APIs. Stable release: Development: Installation The package is available on pip. To install it in a virtua

Scaleway 114 Dec 11, 2022
A super awesome Twitter API client for Python.

birdy birdy is a super awesome Twitter API client for Python in just a little under 400 LOC. TL;DR Features Future proof dynamic API with full REST an

Inueni 259 Dec 28, 2022
A compatability shim between Discord.py and Hikari.

Usage as a partial shim: import discord import hikari import hikari_shim dpy_bot = discord.Client(intents=discord.Intents.all(), enable_debug_events=

EXPLOSION 3 Dec 25, 2021
A really easy way to display your spotify listening status on spotify.

Spotify playing README A really easy way to display your spotify listening status on READMEs and Websites too! Demo Here's the embed from the site. Cu

Sunrit Jana 21 Nov 06, 2022
The Discord bot framework for Python

Pycordia ⚠️ Note! As of now, this package is under early development so functionalities are bound to change drastically. We don't recommend you curren

Ángel Carias 24 Jan 01, 2023
A template that everyone can use for the start of their discord bot

Python Discord Bot Template This repository is a template that everyone can use for the start of their discord bot. When I first started creating my d

2 Nov 01, 2021
A basic Ubisoft API wrapper created in python.

UbisoftAPI A basic Ubisoft API wrapper created in python. I will be updating this with more endpoints as time goes on. Please note that this is my fir

Ethan 2 Oct 31, 2021
Discord RPC for Notion written in Python

Discord RPC for Notion This is a program that allows you to add your Notion workspace activities to your Discord profile. This project is currently un

Thuliumitation 1 Feb 10, 2022
A collection of scripts to steal BTC from Lightning Network enabled custodial services. Only for educational purpose! Share your findings only when design flaws are fixed.

Lightning Network Fee Siphoning Attack LN-fee-siphoning is a collection of scripts to subtract BTC from Lightning Network enabled custodial services b

Reckless_Satoshi 14 Oct 15, 2022
EC2 that automatically move files received through FTP to S3

ftp-ec2-s3-cf EC2 that automatically move files received through FTP to S3 Installation CloudFormation template Deploy now! Usage IP / domain name: ta

Javier Santana 1 Jun 19, 2021
A Telegram bot written in python.

telegram_bot This bot is currently a beta project. Features A telegram bot which can: Send current COVID-19 cases/stats of Germany Send current worth

HuhnCares 1 Jan 11, 2022
=>|<= the MsgRoom bot for Windows 96

=|= bot A MsgRoom bot in Python 3 for Windows96.net. The bot joins as =|=, if parameter name_lasts is not true and default_name is =|=. The full

Larry Holst 2 Jun 07, 2022
Unofficial python api for MicroBT Whatsminer ASICs

whatsminer-api Unofficial python api for MicroBT Whatsminer ASICs Code adapted from a python file found in the Whatsminer Telegram group that is credi

Satoshi Anonymoto 16 Dec 23, 2022
A powerfull SMS Bomber for Bangladesh . NO limite .Unlimited SMS Spaming

RedBomberBD A powerfull SMS Bomber for Bangladesh . NO limite .Unlimited SMS Spaming Installation Install my-tool on termux by using thoes commands pk

Abdullah Al Redwan 3 Feb 16, 2022