Skip to main content

Unified CLI Utility for AWS, Azure and GCP Instance Control

Project description

MCC: Command-Line Instance Control for Top 3 Enterprise Cloud Providers

Multi-Cloud-Control is currently in alpha and runs in two modes:

  • mcc - Text UI that lists all instances from AWS, Azure and GCP in formatted table

    • Accepts Commands to Start Nodes, Stop Nodes or Quit

    • Additional commands planned include: connect via ssh, image/snapshot nodes, and change nore configuration (hardware, disks, network)

  • mccl - Display list of instances from all providers as table and exit

Support Systems

Python 2.7, 3.3, 3.4, 3.5

Platforms:

  • Linux

  • macOS (OS X)

Pre-Reqs

This utility uses some Python libraries which may require compilation during the installation process.

RedHat / CentOS Based Systems

sudo yum install gcc libffi-devel python-devel openssl-devel

Debian / Ubuntu Based Systems:

sudo apt-get install gcc libssl-dev libffi-dev python-dev
sudo apt-get install python3-dev  #  if using python3.x

Installation

This utility can be installed with pip:

sudo pip install mcc

Configuration

The first time the utility is executed:

  • It creates the config directory {HOME}/.cloud

  • It copies the sample config.ini file to the config dir

  • Tells the user to add their credential information to config.ini

Notes while editing the config.ini file:

  • be careful not to change the names of the keys (titles left of the ‘=’ symbol)

  • comment lines may be deleted (those beginning with #)

config.ini sections

[info]
# example - connect to all three providers
providers = aws,azure,gcp

# the "providers" key specifies which cloud providers to work with
# it may contain any subset or combination of "aws", "azure" and "gcp"
# each provider listed must have a corresponding section of the same name
#   the corresponding section contains the security credentials for that provider

[aws] section - specifies your AWS security credentials and default datacenter region. Information on AWS Credentials

[aws]
aws_access_key_id = EXCEWDYSWRP7VZOW4VAW
aws_secret_access_key = CHVsdhV+YgBEjJuZsJNstLGgRY43kZggNHQEh/JK
aws_default_region = us-west-1

[azure] section - specifies your Azure Tenant-ID, Subscription-ID, Application-ID and Application-Secret. Creating an Azure Service Principal

[azure]
az_tenant_id = a3b7de99-6c36-e71f-e7d7-c5a1eefd9c01
az_sub_id = 2ac1b147-fdca-947c-4907-3f302a667100
az_app_id = ee16ad1d-d266-bffa-031c-008ab40d971e
az_app_sec = 22918C9e1cCC7665a+b3e4052f942630aE979CF68/v=

[gcp] section - specifies your Google Compute Service Account, the name of your access key (use JSON formatted key), and your Project ID. Information on Setting up Service Account Authentication

[gcp]
gcp_svc_acct_email = 37646997249-compute@developer.gserviceaccount.com
gcp_pem_file = SampleProject-72fcfdb29717.json
gcp_proj_id = sampleproject-634368

# list the filename of the JSON key in this file
# copy the file itself to the config directory: {HOME}/.cloud

Supported Platforms & Python Versions

Python 2.7, 3.3, 3.4, 3.5, 3.6

Platforms:

  • Linux

  • macOS (OS X)

Windows support is planned in the future

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mcc-0.0.33.tar.gz (22.9 kB view hashes)

Uploaded Source

Built Distribution

mcc-0.0.33-py2.py3-none-any.whl (19.2 kB view hashes)

Uploaded Python 2 Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page