Module aws

Typedefs

typedef aws::direction
  • Base type string
  • Type constraint ((self == 'ingress') or (self == 'egress'))
typedef aws::instance_tenancy
  • Base type string
  • Type constraint (self regex re.compile('^(default|dedicated|host)$'))

Entities

entity aws::AWSResource

Parents: std::PurgeableResource, std::ManagedResource

relation aws::Provider provider [1]
entity aws::ELB

Parents: aws::AWSResource

An ELB load balancer

attribute string protocol='http'
attribute number dest_port=80
attribute number listen_port=80
attribute string name
attribute string security_group='default'
relation aws::VirtualMachine instances [0:*]

The following implements statements select implementations for this entity:

entity aws::GroupRule

Parents: aws::SecurityRule

relation aws::SecurityGroup remote_group [1]

The following implements statements select implementations for this entity:

entity aws::Host

Parents: aws::VMAttributes, ip::Host

A subclass of ip::Host that creates a virtual machine on AWS.

attribute bool install_agent=False
relation aws::VirtualMachine vm [1]
relation aws::Subnet subnet [0:1]
relation ip::IP public_ip [0:1]
relation aws::Provider provider [1]
relation aws::SecurityGroup security_groups [0:*]
relation ssh::Key public_key [1]
relation ip::IP private_ip [1]

The following implementations are defined for this entity:

The following implements statements select implementations for this entity:

entity aws::IPrule

Parents: aws::SecurityRule

attribute ip::cidr remote_prefix

The following implements statements select implementations for this entity:

entity aws::InternetGateway

Parents: aws::AWSResource

An Internet gateway for use with a VPC.

attribute string name
relation aws::VPC vpc [0:1]

other end: aws::VPC.internet_gateway [0:1]

The following implements statements select implementations for this entity:

entity aws::Provider

Parents: std::Entity

The configuration to access Amazon Web Services

attribute bool auto_agent=True
attribute string access_key
attribute string availability_zone
attribute string name
attribute string secret_key
attribute string region

The following implementations are defined for this entity:

The following implements statements select implementations for this entity:

entity aws::Route

Parents: aws::AWSResource

A route entry in the main VPC routing table

attribute ip::cidr destination

The destination route

attribute ip::ip nexthop

The private ip associated with a ENI in the VPC.

relation aws::VPC vpc [1]

other end: aws::VPC.routes [0:*]

The following implements statements select implementations for this entity:

entity aws::SecurityGroup

Parents: aws::AWSResource

attribute number retries=10

A security group can only be deleted when it is no longer in use. The API confirms the delete of a virtual machine for example, but it might still be in progress. This results in a failure to delete the security group. To speed up deployments, the handler can retry this number of times before skipping the resource.

attribute string description=''
attribute bool manage_all=True
attribute string name
attribute number wait=5

The number of seconds to wait between retries.

relation aws::SecurityRule rules [0:*]

other end: aws::SecurityRule.group [1]

relation aws::VPC vpc [1]

The following implements statements select implementations for this entity:

entity aws::SecurityRule

Parents: std::Entity

A filter rule in the a security group

attribute ip::port port=0
attribute ip::port port_min=0
attribute ip::protocol ip_protocol

The type of ip protocol to allow. Currently this support tcp/udp/icmp/sctp or all

attribute ip::port port_max=0
attribute aws::direction direction
relation aws::SecurityGroup group [1]

other end: aws::SecurityGroup.rules [0:*]

entity aws::Subnet

Parents: aws::AWSResource

A subnet in a vpc

attribute bool map_public_ip_on_launch=False

Specify true to indicate that network interfaces created in the specified subnet should be assigned a public IPv4 address. This includes a network interface that’s created when launching an instance into the subnet (the instance therefore receives a public IPv4 address).

attribute string availability_zone=null

The Availability Zone for the subnet.

attribute string name

The name of the subnet. Inmanta uses this name to idenfiy the subnet. It is set as the name tag on the subnet resource.

attribute ip::cidr cidr_block

The IPv4 network range for the VPC, in CIDR notation. For example, 10.0.0.0/24.

relation aws::VPC vpc [1]

The VPC the subnet is created in.

other end: aws::VPC.subnets [0:*]

The following implements statements select implementations for this entity:

entity aws::VMAttributes

Parents: platform::UserdataVM

attribute bool ignore_extra_volumes=False
attribute bool ignore_wrong_image=False
attribute string subnet_id=null
attribute number root_volume_size=16
attribute string flavor
attribute bool install_agent=False
attribute string root_volume_type='gp2'
attribute bool source_dest_check=True
attribute bool ebs_optimized=False
attribute string user_data
attribute string image
entity aws::VPC

Parents: aws::AWSResource

A VPC on Amazon

attribute bool enableDnsSupport=False
attribute ip::cidr cidr_block

The IPv4 network range for the VPC, in CIDR notation. For example, 10.0.0.0/16.

attribute aws::instance_tenancy instance_tenancy='default'

The tenancy options for instances launched into the VPC. For default , instances are launched with shared tenancy by default. You can launch instances with any tenancy into a shared tenancy VPC. For dedicated , instances are launched as dedicated tenancy instances by default. You can only launch instances with a tenancy of dedicated or host into a dedicated tenancy VPC.

attribute string name

The name of the VPC. Inmanta uses this name to idenfiy the vpc. It is set as the name tag on the vpc resource.

attribute bool enableDnsHostnames=False
relation aws::Subnet subnets [0:*]

The VPC the subnet is created in.

other end: aws::Subnet.vpc [1]

relation aws::Route routes [0:*]

other end: aws::Route.vpc [1]

relation aws::InternetGateway internet_gateway [0:1]

other end: aws::InternetGateway.vpc [0:1]

The following implements statements select implementations for this entity:

entity aws::VirtualMachine

Parents: aws::VMAttributes, aws::AWSResource

This entity represents a virtual machine that is hosted on an IaaS

attribute dict tags=Dict()
attribute string name
relation ssh::Key public_key [1]
relation aws::Volume volumes [0:*]

other end: aws::Volume.vm [0:1]

relation aws::SecurityGroup security_groups [0:*]

The security groups that apply to this vm. If no group is supplied the default security group will be applied by EC2

relation aws::Subnet subnet [0:1]

Boot the vm in this subnet. Either use this relation or provide a subnet id directly.

The following implementations are defined for this entity:

The following implements statements select implementations for this entity:

entity aws::Volume

Parents: aws::AWSResource

attribute string volume_type='gp2'
attribute dict tags=Dict()
attribute number size=10
attribute bool encrypted=False
attribute string attachmentpoint='/dev/sdb'
attribute string availability_zone
attribute string name
relation aws::VirtualMachine vm [0:1]

other end: aws::VirtualMachine.volumes [0:*]

The following implements statements select implementations for this entity:

entity aws::analytics::ElasticSearch

Parents: aws::AWSResource

Amazon Elasticsearch Service (Amazon ES) is a managed service that makes it easy to create a domain and deploy, operate, and scale Elasticsearch clusters in the AWS Cloud.

attribute bool ebs_enabled=True
attribute number instance_count=1
attribute string domain_name
attribute number automated_snapshot_start_hour=0
attribute string instance_type
attribute string volume_type='gp2'
attribute number volume_size
attribute bool zone_awareness_enabled=False
attribute bool dedicated_master_enabled=False
attribute number dedicated_master_count=1
attribute string dedicated_master_type=''
attribute string elasticsearch_version
attribute string access_policies

The following implements statements select implementations for this entity:

entity aws::database::RDS

Parents: aws::AWSResource

Amazon Relational Database Service (Amazon RDS) is a web service that makes it easier to set up, operate, and scale a relational database in the cloud.

attribute dict tags=Dict()
attribute string master_user_name='root'
attribute ip::port port=3306
attribute string subnet_group
attribute string flavor='db.t2.small'
attribute string engine='mysql'
attribute bool public=False
attribute number allocated_storage=10
attribute string name
attribute string master_user_password
attribute string engine_version='5.7.17'

The following implements statements select implementations for this entity:

Implementations

implementation aws::agentConfig
implementation aws::awsHost
implementation aws::req
implementation aws::userData

Plugins

aws.decrypt(key_data: string, cipher_text: string) → string
aws.elbid(name: string) → string
aws.get_api_id(provider: aws::Provider, api_name: string) → string

Resources

class aws.ELB
Amazon Elastic loadbalancer
class aws.InternetGateway
class aws.Route
class aws.SecurityGroup
A security group in an OpenStack tenant
class aws.Subnet
class aws.VPC
class aws.VirtualMachine
class aws.Volume
class aws.ElasticSearch
class aws.RDS

Handlers

class aws.RDSHandler
class aws.ElasticSearchHandler
class aws.ELBHandler
This class manages ELB instances on amazon ec2
  • Handler name ec2
  • Handler for entity aws::ELB
class aws.VPCHandler
  • Handler name ec2
  • Handler for entity aws::VPC
class aws.VolumeHandler
class aws.SubnetHandler
class aws.VirtualMachineHandler
class aws.InternetGatewayHandler
class aws.RouteHandler
class aws.SecurityGroupHandler