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 string security_group='default'
attribute string name
attribute number listen_port=80
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 ip::IP public_ip [0:1]
relation aws::Subnet subnet [0:1]
relation ssh::Key public_key [1]
relation aws::Provider provider [1]
relation aws::VirtualMachine vm [1]
relation ip::IP private_ip [1]
relation aws::SecurityGroup security_groups [0:*]

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 name
attribute string access_key
attribute string secret_key
attribute string availability_zone
attribute string region
attribute bool auto_agent=True

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 wait=5

The number of seconds to wait between retries.

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 name
attribute bool manage_all=True
attribute string description=''
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 aws::direction direction
attribute ip::port port_max=0
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 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.

attribute string availability_zone=null

The Availability Zone for the subnet.

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 string subnet_id=null
attribute bool ebs_optimized=False
attribute string user_data
attribute bool install_agent=False
attribute string flavor
attribute bool source_dest_check=True
attribute string image
entity aws::VPC

Parents: aws::AWSResource

A VPC on Amazon

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 ip::cidr cidr_block

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

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

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 dict tags=Dict()
attribute string name
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.

relation ssh::Key public_key [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

The following implementations are defined for this entity:

The following implements statements select implementations for this entity:

entity aws::Volume

Parents: aws::AWSResource

attribute number size=10
attribute string attachmentpoint='/dev/sdb'
attribute string name
attribute bool encrypted=False
attribute string availability_zone
attribute dict tags=Dict()
attribute string volume_type='gp2'
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 zone_awareness_enabled=False
attribute number instance_count=1
attribute string domain_name
attribute string volume_type='gp2'
attribute number automated_snapshot_start_hour=0
attribute string instance_type
attribute number volume_size
attribute string elasticsearch_version
attribute bool dedicated_master_enabled=False
attribute string dedicated_master_type=''
attribute bool ebs_enabled=True
attribute number dedicated_master_count=1
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 string engine_version='5.7.17'
attribute ip::port port=3306
attribute string subnet_group
attribute string name
attribute number allocated_storage=10
attribute string master_user_name='root'
attribute string engine='mysql'
attribute string master_user_password
attribute bool public=False
attribute string flavor='db.t2.small'
attribute dict tags=Dict()

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.VolumeHandler
class aws.VPCHandler
  • Handler name ec2
  • Handler for entity aws::VPC
class aws.RDSHandler
class aws.VirtualMachineHandler
class aws.SubnetHandler
class aws.ELBHandler
This class manages ELB instances on amazon ec2
  • Handler name ec2
  • Handler for entity aws::ELB
class aws.RouteHandler
class aws.ElasticSearchHandler
class aws.SecurityGroupHandler
class aws.InternetGatewayHandler