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 number listen_port=80
attribute string protocol='http'
attribute number dest_port=80
attribute string security_group='default'
attribute string name
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.

relation aws::VirtualMachine vm [1]
relation ip::IP public_ip [0:1]
relation aws::Provider provider [1]
relation aws::Subnet subnet [0:1]
relation aws::SecurityGroup security_groups [0:*]
relation ip::IP private_ip [1]
relation ssh::Key public_key [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 availability_zone
attribute string name
attribute string region
attribute string access_key
attribute string secret_key

The following implementations are defined for this entity:

The following implements statements select implementations for this entity:

entity aws::SecurityGroup

Parents: aws::AWSResource

attribute string description=''
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 bool manage_all=True
attribute number wait=5

The number of seconds to wait between retries.

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

other end: aws::SecurityRule.group [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::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
attribute ip::port port_min=0
relation aws::SecurityGroup group [1]

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

entity aws::Subnet

Parents: aws::AWSResource

A subnet in a vpc

attribute ip::cidr cidr_block

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

string aws::Subnet.availability_zone=<inmanta.execute.util.NoneValue object at 0x7fa196106630>

The Availability Zone for the subnet.

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 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.

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: std::Entity

attribute string flavor
attribute bool source_dest_check=True
attribute string image
string aws::VMAttributes.subnet_id=<inmanta.execute.util.NoneValue object at 0x7fa1961627b8>
attribute string user_data
entity aws::VPC

Parents: aws::AWSResource

A VPC on Amazon

attribute bool enableDnsHostnames=False
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.

relation aws::Subnet subnets [0:*]

The VPC the subnet is created in.

other end: aws::Subnet.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 aws::Subnet subnet [0:1]

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

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 ssh::Key public_key [1]
relation aws::Volume volumes [0:*]

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

The following implementations are defined for this entity:

The following implements statements select implementations for this entity:

entity aws::Volume

Parents: aws::AWSResource

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

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

The following implements statements select implementations for this entity:

Implementations

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

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.SecurityGroup
A security group in an OpenStack tenant
class aws.Subnet
class aws.VPC
class aws.VirtualMachine
class aws.Volume

Handlers

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