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


Open Source API and interchange format for editorial timeline information.

OpenTimelineIO is currently in Public Beta. That means that it may be missing some essential features and there are large changes planned. During this phase we actively encourage you to provide feedb

Pixar Animation Studios 1.2k Jan 01, 2023
Instagram-follower-bot - An Instagram follower bot written in Python

Instagram Follower Bot An Instagram follower bot written in Python. The bot follows the follower of which account you want. e.g. (You want to follow @

Aytaç Kaşoğlu 1 Dec 31, 2021
Console BeautifulDiscord theme manager

BeautifulDiscord theme manager Console script for downloading & managing Discord .css themes via BeautifulDiscord. Setup Simply run # Linux/MacOS pip3

1 Dec 15, 2022
Powerful spammer bots for telegram made with python and telethon.

Powerful spammer bots for telegram made with python and telethon. We can deploy upto 70 bots at a time.

32 Dec 15, 2022
Clash of Clans v6.253 private server written in python

cocps Clash of Clans v6.253 private server written in python how2play download server files download Patched APK run Main.py and play Authors Patched

5 Aug 28, 2022
A python package to fetch results of various national examinations done in Tanzania.

Necta-API Get a formated data of examination results scrapped from necta results website. Note this is not an official NECTA API and is still in devel

vincent laizer 16 Dec 23, 2022
A simple discord bot based on python

A simple discord bot based on python

SENPAI LEGEND 2 Jul 24, 2022
Repo-cloner - Script takes user public liked repos and clone it to a local folder

Liked repos cloner Script takes user public liked repos and clone it to a local

Aleksei 2 Jun 18, 2022
A file-based quote bot written in Python

Let's Write a Python Quote Bot! This repository will get you started with building a quote bot in Python. It's meant to be used along with the Learnin

1 Oct 28, 2021
A Webhook spammer For Python

Webhooker Optimizations Asynchronous Fast & Efficient Multi Tasked Usage Put high threads/tasks for maximum impact Webhook must be valid Proof of conc

andria 1 Dec 20, 2021
A small and fun Discord Bot that is written in Python and discord-interactions (with discord.py)

Articuno (discord-interactions) A small and fun Discord Bot that is written in Python and discord-interactions (with discord.py) Get started If you wa

Blue 8 Dec 26, 2022
A python script fetches all your starred repositories from your GitHub account and clones them to your server so you will never lose important resources

A python script fetches all your starred repositories from your GitHub account and clones them to your server so you will never lose important resources

Ringo Hoffmann 27 Oct 01, 2022
NoChannelBot - Bot bans users, that send messages like channels

No Channel Bot Say "STOP" to users who send messages as channels! Bot prevents u

Andrew 10 Oct 05, 2022
A Python module for communicating with the Twilio API and generating TwiML.

twilio-python The default branch name for this repository has been changed to main as of 07/27/2020. Documentation The documentation for the Twilio AP

Twilio 1.6k Jan 05, 2023
对hermit 的API进行简单的封装,做成了这个python moudle

hermit-py 对hermit 的API进行简单的封装,做成了这个Python Moudle,推荐通过wheel的方式安装。 目前对点击、滑动、模拟输入、找组件、等支持较好,支持查看页面的实时布局信息,再通过布局信息进行点击滑动等操作。 支持剪贴板相关的操作,支持设置剪贴的任意语言内容。

LookCos 40 Jun 25, 2022
A PowerPacked Version Of Telegram Leech Bot With Modern Easy-To-Use Interface & UI !

FuZionX Leech Bot A Powerful Telegram Leech Bot Modded by MysterySD to directly Leech to Telegram, with Multi Direct Links Support for Enhanced Leechi

MysterySD 28 Oct 09, 2022
A fork of discord.py

discord.py A modern, easy to use, feature-rich, and async ready API wrapper for Discord written in Python. The Future of discord.py Please read the gi

1 Dec 19, 2021
AWS SQS event redrive Lambda

This repository contains the Lambda function to redrive sqs events from source to destination queue while controlling maxRetry per event.

1 Oct 19, 2021
This project uses Youtube data API's to do youtube tags analysis based on viewCount, comments etc.

Youtube video details analyser Steps to run this project Please set the AuthKey which you can fetch from google developer console and paste it in the

1 Nov 21, 2021
自动每天给女友发邮件

github acitons 发邮件 python 脚本 每天 7点半左右给女朋友发送邮件 天气来自: http://www.tianqiapi.com/ 文字图片来源:http://wufazhuce.com/ 风景图:https://qqlykm.cn/api/fengjing 土味情话:htt

gogobody 7 May 12, 2022