Xby2 AWS Cloud Practice Library
Steps for getting started:
- Install this package
- Run xby2-init
- Activate virtual environment (.\venv\Scripts\activate)
- Install requirements (pip install -r requirements.txt)
- Add resources to resources.json file
- Run pulumi up (using active AWS profile)
- Push to BitBucket repo (Coming Soon)
VPC:
Here are the fields you can customize in KWARGS and the (defaults):
- availability_zones (2)
- cidr_block:
- partial: 192.168.0.0/16
- full: 10.0.0.0/16 (default)
- else: 172.31.0.0/16
- private_subnets (1)
- public_subnets (1)
- nat_gateways:
- ONE_PER_AZ (default)
- SINGLE: one nat gateway total
- else/NONE: no nat gateways
- private_cidr_mask (22)
- public_cidr_mask (20)
- resource_name (test-vpc)
Security Group:
Here are the fields you can customize in KWARGS and the (defaults):
- protocol (tcp)
- i_from_port (0)
- i_to_port (65535)
- e_from_port (0)
- e_to_port (65535)
- i_cidr (10.0.0.0/16)
- e_cidr (10.0.0.0/16)
- resource_name (test-sec-group)
ELB:
Here are the fields you can customize in KWARGS and the (defaults):
- resource_name (test-lb)
EC2:
Here are the fields you can customize in KWARGS and the (defaults):
- resource_name (test-ec2)
- instance_type (t3a.micro)
RDS:
Here are the fields you can customize in KWARGS and the (defaults):
- rds_instance_class (db.t4g.micro)
- allocated_storage (8)
- engine (PostgreSQL)
- password (password)
- username (username)
- resource_name (test-rds)
AMI:
Here are the fields you can customize in KWARGS and the (defaults):
- most_recent (True)
- owners (["amazon"])
- filters ([{"name": "description", "values": ["Amazon Linux 2 *]}])
Adding Resources:
Keep the order of declaration in mind. For example, the VPC should likely be the first thing declared. When using the options above, the resource will use require a "module", which will refer to a file within the Xby2AWS folder, a "resource_name", which will be the name of one of our custom classes, "overrides", which will be a list of any parameters that we want changed from the default values, and two booleans: "req_vpc" and "req_ami". These will indicate whether a particular resource will need us to pass in a vpc or an ami, respectively. Additionally, we can create resources that we haven't customized. This will require a "module", which will probably begin with either "pulumi_aws." or "pulumi_awsx.", the "resource_name", which will be a class within said module, "overrides", which will consist of all of the parameters needed for this resource, and the aforementioned booleans. For example:
{
"module": "BaseAWS.elb",
"resource_name": "BaseELB",
"overrides": {},
"req_vpc": true,
"req_ami": false
},
{
"module": "pulumi_aws.s3",
"resource_name": "Bucket",
"overrides": {
"resource_name": "the-bucket"
},
"req_vpc": false,
"req_ami": false
}
Resource Booleans
| Resource | req_vpc | req_ami |
|---|---|---|
| BaseAMI | false | false |
| BaseVPC | false | false |
| BaseSecurityGroup | true | false |
| BaseEC2 | true | true |
| BaseRDS | true | false |
| BaseELB | true | false |
| Bucket | false | false |
Metadata
Release files for Xby2AWS 1.1.9
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| Xby2AWS-1.1.9-py3-none-any.whl | Python 3 | none | any | Details |
Release files / Xby2AWS-1.1.9-py3-none-any.whl
| Download URL | Xby2AWS-1.1.9-py3-none-any.whl |
|---|---|
| Size | 12.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
0533b8c1a2b69516f0038272fa70a5696e26b18ef9e59808474c84f0dd483ad7
|
|
BLAKE2b-256 checksum How to use checksums |
b4669df8e2be876182b18709202336fdc2b22743500906784526e014f08f2319
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.1 CPython/3.10.7
|