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

attribute bool install_agent=false
relation aws::VirtualMachine vm [1]
relation aws::Provider provider [1]
relation ssh::Key public_key [1]
relation ip::IP public_ip [0:1]
relation ip::IP private_ip [1]
relation aws::Subnet subnet [0: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 region
attribute string availability_zone
attribute string? access_key=null
attribute string? secret_key=null
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 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::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::protocol ip_protocol

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

attribute ip::port port_min=0
attribute ip::port port_max=0
attribute ip::port port=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 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 string? availability_zone=null

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 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: platform::UserdataVM

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

Parents: aws::AWSResource

A VPC on Amazon

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

relation aws::Route routes [0:*]

other end: aws::Route.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 ssh::Key public_key [1]
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 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 string name
attribute string attachmentpoint='/dev/sdb'
attribute string availability_zone
attribute bool encrypted=false
attribute number size=10
attribute string volume_type='gp2'
attribute dict tags=Dict()
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 string domain_name
attribute string elasticsearch_version
attribute string instance_type
attribute number instance_count=1
attribute bool dedicated_master_enabled=false
attribute bool zone_awareness_enabled=false
attribute string dedicated_master_type=''
attribute number dedicated_master_count=1
attribute bool ebs_enabled=true
attribute string volume_type='gp2'
attribute number volume_size
attribute string access_policies
attribute number automated_snapshot_start_hour=0

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 name
attribute number allocated_storage=10
attribute string flavor='db.t2.small'
attribute string engine='mysql'
attribute string engine_version='5.7.17'
attribute string master_user_name='root'
attribute string master_user_password
attribute string subnet_group
attribute ip::port port=3306
attribute bool public=false
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.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.ELBHandler

This class manages ELB instances on amazon ec2

  • Handler name ec2

  • Handler for entity aws::ELB

class aws.VirtualMachineHandler
class aws.VolumeHandler
class aws.ElasticSearchHandler
class aws.RDSHandler
class aws.VPCHandler
  • Handler name ec2

  • Handler for entity aws::VPC

class aws.RouteHandler
class aws.SubnetHandler
class aws.InternetGatewayHandler
class aws.SecurityGroupHandler