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)$/

typedef aws::protocol#
  • Base type string

  • Type constraint (self in ['tcp', 'udp', 'icmp', 'sctp', 'all'])

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 std::port listen_port=80#
attribute std::port 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::IPrule#

Parents: aws::SecurityRule

attribute std::ipv4_network 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 std::ipv4_network destination#

The destination route

attribute std::ipv4_address 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 int 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 int 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 aws::protocol ip_protocol#

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

attribute std::port port_min=0#
attribute std::port port_max=0#
attribute std::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 std::ipv4_network 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: std::Entity

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 ignore_extra_volumes=false#
attribute bool ignore_wrong_image=false#
attribute int 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 std::ipv4_network 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={}#
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 int size=10#
attribute string volume_type='gp2'#
attribute dict tags={}#
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 std::port port=3306#
attribute bool public=false#
attribute dict tags={}#

The following implements statements select implementations for this entity:

Implementations#

implementation aws::agentConfig#
implementation aws::req#

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#