Daily use alternate AWS CLI
Project description
## What?
An alternate easy to use AWS cli, for some specific jobs.
It basically provides functions that I need frequently.
## Install
```bash
pip install eyws
```
## Permissions Required
**list-costs** and **email-costs** require you to enable Cost Explorer first on the console and give following permissions:
```json
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Allow",
"Action": [
"ce:GetReservationUtilization",
"ce:GetDimensionValues",
"ce:GetCostAndUsage",
"ce:GetTags"
],
"Resource": "*"
}
]
}
```
AWSConfigRoleForOrganizations is optional for appending organization information to usage costs.
```json
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Allow",
"Action": "organizations:DescribeOrganization",
"Resource": "*"
}
]
}
```
Keep in mind that each paginated Cost Explorer API request will cost you $0.01 ([Learn more](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-explorer-what-is.html)).
**list-instances**, **list-zones**, **list-regions**, **list-images**, **list-key-pairs**, **list-sec-groups** require:
```json
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Allow",
"Action": [
"ec2:DescribeInstances",
"ec2:DescribeAvailabilityZones",
"ec2:DescribeRegions",
"ec2:DescribeImages",
"ec2:DescribeKeyPairs",
"ec2:DescribeSecurityGroups"
],
"Resource": "*"
}
]
}
```
## Usage
```bash
Usage: eyws <action> [options]
<action> can be:
create-instances
stop-instances
terminate-instances
list-instances
list-zones
list-regions
list-images
list-sec-groups
list-costs
list-key-pairs
list-costs
email-costs
install-docker
Options:
--version show program's version number and exit
-h, --help Show this help message and exit
-p PROFILE, --profile=PROFILE
aws profile to use (~/.aws/config) (default=default
profile)
-c Instance Count, --count=Instance Count
Number of instances to launch (default=1)
-n Name Tag, --name=Name Tag
Append a name tag to instances
-t Instance Type, --instance-type=Instance Type
Type of instances to launch (default=t2.micro)
-r Region, --region=Region
EC2 region to list and launch instances in
(default=.aws/config)
-z Zone, --zone=Zone Availability zone to list and launch instances in
(default=random when launching instances)
-a Ami, --ami=Ami AMI ID to use (default=ami-de8fb135)
-k KEY_PAIR, --key-pair=KEY_PAIR
Key pair name to use on instances
-i IDENTITY, --identity=IDENTITY
SSH private key file to connect to instances
-u USER, --user=USER SSH user to connect as to instances
-e Size, --ebs-vol-size=Size
EBS volume size in GB to attach each instance
(default=8)
--ebs-vol-type=Volume Type
Volume type to attach (default=gp2)
types=[('standard', 'Magnetic'), ('io1', 'Provisioned
IOPS SSD'), ('gp2', 'General Purpose SSD'), ('sc1',
'Cold HDD'), ('st1', 'Throughput Optimized HDD')]
--ebs-delete=Delete On Termination
Delete volume on termination (default=True)
--ebs-vol-name=EBS_VOL_NAME
Volume name (default=/dev/sda1)
--iops=IOPS IOPS. Not supported for volume type gp2 (default=100)
-s Security Group Name, --sec-group=Security Group Name
Security Group name to use for launching instances
--instance-id=instance Id
instance id to start/stop/destroy/install
--days=DAYS Usage cost charged since <days> days
--months=MONTHS Months to check costs for. 1 means current month.
(default=1)
--ignore-service-usage
Do not display costs for each service type
--emails=EMAILS Comma separated (without space) email addresses to notify i.e.
can@x.com,b@y.com
--template=TEMPLATE Jinja template file
--smtp-host=SMTP_HOST
SMTP host to use for sending emails
--smtp-port=SMTP_PORT
SMTP port to use for sending emails
--smtp-from=SMTP_FROM
Sender email address
--dry-run Dry run operations
--install-docker Install Docker on instances
--do-not-wait Do not wait until instances are fully up and running
```
An alternate easy to use AWS cli, for some specific jobs.
It basically provides functions that I need frequently.
## Install
```bash
pip install eyws
```
## Permissions Required
**list-costs** and **email-costs** require you to enable Cost Explorer first on the console and give following permissions:
```json
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Allow",
"Action": [
"ce:GetReservationUtilization",
"ce:GetDimensionValues",
"ce:GetCostAndUsage",
"ce:GetTags"
],
"Resource": "*"
}
]
}
```
AWSConfigRoleForOrganizations is optional for appending organization information to usage costs.
```json
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Allow",
"Action": "organizations:DescribeOrganization",
"Resource": "*"
}
]
}
```
Keep in mind that each paginated Cost Explorer API request will cost you $0.01 ([Learn more](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-explorer-what-is.html)).
**list-instances**, **list-zones**, **list-regions**, **list-images**, **list-key-pairs**, **list-sec-groups** require:
```json
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Allow",
"Action": [
"ec2:DescribeInstances",
"ec2:DescribeAvailabilityZones",
"ec2:DescribeRegions",
"ec2:DescribeImages",
"ec2:DescribeKeyPairs",
"ec2:DescribeSecurityGroups"
],
"Resource": "*"
}
]
}
```
## Usage
```bash
Usage: eyws <action> [options]
<action> can be:
create-instances
stop-instances
terminate-instances
list-instances
list-zones
list-regions
list-images
list-sec-groups
list-costs
list-key-pairs
list-costs
email-costs
install-docker
Options:
--version show program's version number and exit
-h, --help Show this help message and exit
-p PROFILE, --profile=PROFILE
aws profile to use (~/.aws/config) (default=default
profile)
-c Instance Count, --count=Instance Count
Number of instances to launch (default=1)
-n Name Tag, --name=Name Tag
Append a name tag to instances
-t Instance Type, --instance-type=Instance Type
Type of instances to launch (default=t2.micro)
-r Region, --region=Region
EC2 region to list and launch instances in
(default=.aws/config)
-z Zone, --zone=Zone Availability zone to list and launch instances in
(default=random when launching instances)
-a Ami, --ami=Ami AMI ID to use (default=ami-de8fb135)
-k KEY_PAIR, --key-pair=KEY_PAIR
Key pair name to use on instances
-i IDENTITY, --identity=IDENTITY
SSH private key file to connect to instances
-u USER, --user=USER SSH user to connect as to instances
-e Size, --ebs-vol-size=Size
EBS volume size in GB to attach each instance
(default=8)
--ebs-vol-type=Volume Type
Volume type to attach (default=gp2)
types=[('standard', 'Magnetic'), ('io1', 'Provisioned
IOPS SSD'), ('gp2', 'General Purpose SSD'), ('sc1',
'Cold HDD'), ('st1', 'Throughput Optimized HDD')]
--ebs-delete=Delete On Termination
Delete volume on termination (default=True)
--ebs-vol-name=EBS_VOL_NAME
Volume name (default=/dev/sda1)
--iops=IOPS IOPS. Not supported for volume type gp2 (default=100)
-s Security Group Name, --sec-group=Security Group Name
Security Group name to use for launching instances
--instance-id=instance Id
instance id to start/stop/destroy/install
--days=DAYS Usage cost charged since <days> days
--months=MONTHS Months to check costs for. 1 means current month.
(default=1)
--ignore-service-usage
Do not display costs for each service type
--emails=EMAILS Comma separated (without space) email addresses to notify i.e.
can@x.com,b@y.com
--template=TEMPLATE Jinja template file
--smtp-host=SMTP_HOST
SMTP host to use for sending emails
--smtp-port=SMTP_PORT
SMTP port to use for sending emails
--smtp-from=SMTP_FROM
Sender email address
--dry-run Dry run operations
--install-docker Install Docker on instances
--do-not-wait Do not wait until instances are fully up and running
```
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
eyws-1.0.0b5.tar.gz
(13.2 kB
view details)
Built Distribution
File details
Details for the file eyws-1.0.0b5.tar.gz
.
File metadata
- Download URL: eyws-1.0.0b5.tar.gz
- Upload date:
- Size: 13.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.19.1 setuptools/40.2.0 requests-toolbelt/0.8.0 tqdm/4.25.0 CPython/3.7.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 19baf25046baa6ce7ea5e5db0ec6eb140d40cd6fcfc3cee305a2d160bc08c365 |
|
MD5 | c7fcc46530cf0ce621f73bbf66b65f9e |
|
BLAKE2b-256 | 4d45a1db48431de2682690fbdb5f7c348ff65253277fbce94235a4af956d60e5 |
File details
Details for the file eyws-1.0.0b5-py2.py3-none-any.whl
.
File metadata
- Download URL: eyws-1.0.0b5-py2.py3-none-any.whl
- Upload date:
- Size: 18.2 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.19.1 setuptools/40.2.0 requests-toolbelt/0.8.0 tqdm/4.25.0 CPython/3.7.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 39e172f78984aca795a355e16ea918dddfeadb978841c526badebb06fd930373 |
|
MD5 | 4408057de582541067c947e239fe331a |
|
BLAKE2b-256 | 1984c7553558701d9c9eb6e3084a8cda2babdabf400f4eeda34a34b2471198fa |