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 number dest_port=80
attribute string name
attribute string security_group='default'
attribute string protocol='http'
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 ip::IP public_ip [0:1]
relation aws::SecurityGroup security_groups [0:*]
relation ssh::Key public_key [1]
relation aws::VirtualMachine vm [1]
relation aws::Provider provider [1]
relation aws::Subnet subnet [0: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 string availability_zone
attribute string region
attribute bool auto_agent=True
attribute string name
attribute string secret_key
attribute string access_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 string name
attribute bool manage_all=True
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 number wait=5

The number of seconds to wait between retries.

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::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 ip::port port=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

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

The Availability Zone for the subnet.

attribute ip::cidr cidr_block

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

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

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 string user_data
attribute bool source_dest_check=True
string aws::VMAttributes.subnet_id=<inmanta.execute.util.NoneValue object at 0x7f49a92a3cf8>
attribute string image
entity aws::VPC

Parents: aws::AWSResource

A VPC on Amazon

attribute ip::cidr cidr_block

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

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 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 bool enableDnsSupport=False
attribute bool enableDnsHostnames=False
relation aws::InternetGateway internet_gateway [0:1]

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

relation aws::Subnet subnets [0:*]

The VPC the subnet is created in.

other end: aws::Subnet.vpc [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 string name
attribute dict tags=Dict()
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]

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 availability_zone
attribute number size=10
attribute string attachmentpoint='/dev/sdb'
attribute string name
attribute string volume_type='gp2'
attribute dict tags=Dict()
attribute bool encrypted=False
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.InternetGatewayHandler
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
class aws.VolumeHandler
class aws.VirtualMachineHandler
class aws.SubnetHandler
class aws.SecurityGroupHandler