Module aws#
License: Apache 2.0
Version: 3.2.10
This module requires compiler version 2017.2 or higher
Upstream project: https://github.com/inmanta/aws.git
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:
std::none
constrainttrue
- entity aws::GroupRule#
Parents:
aws::SecurityRule
- relation aws::SecurityGroup remote_group [1]#
The following implements statements select implementations for this entity:
std::none
constrainttrue
- 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:
std::hostDefaults
,aws::awsHost
constrainttrue
aws::userData
constraintinstall_agent
- entity aws::IPrule#
Parents:
aws::SecurityRule
- attribute ip::cidr remote_prefix#
The following implements statements select implementations for this entity:
std::none
constrainttrue
- 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:
std::none
constrainttrue
- 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:
std::none
constrainttrue
aws::agentConfig
constraintauto_agent
- 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:
std::none
constrainttrue
- 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:
std::none
constrainttrue
- 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:
std::none
constrainttrue
- 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:
std::none
constrainttrue
- 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:
aws::req
constrainttrue
aws::userData
constraintinstall_agent
- 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:
std::none
constrainttrue
- 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:
std::none
constrainttrue
- 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:
std::none
constrainttrue
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
Resource for entity
aws::ELB
Id attribute
name
Agent name
provider.name
Handlers
aws.ELBHandler
- class aws.InternetGateway#
Resource for entity
aws::InternetGateway
Id attribute
name
Agent name
provider.name
Handlers
aws.InternetGatewayHandler
- class aws.Route#
Resource for entity
aws::Route
Id attribute
destination
Agent name
provider.name
Handlers
aws.RouteHandler
- class aws.SecurityGroup#
A security group in an OpenStack tenant
Resource for entity
aws::SecurityGroup
Id attribute
name
Agent name
provider.name
Handlers
aws.SecurityGroupHandler
- class aws.Subnet#
Resource for entity
aws::Subnet
Id attribute
name
Agent name
provider.name
Handlers
aws.SubnetHandler
- class aws.VPC#
Resource for entity
aws::VPC
Id attribute
name
Agent name
provider.name
Handlers
aws.VPCHandler
- class aws.VirtualMachine#
Resource for entity
aws::VirtualMachine
Id attribute
name
Agent name
provider.name
Handlers
aws.VirtualMachineHandler
- class aws.Volume#
Resource for entity
aws::Volume
Id attribute
name
Agent name
provider.name
Handlers
aws.VolumeHandler
- class aws.ElasticSearch#
Resource for entity
aws::analytics::ElasticSearch
Id attribute
domain_name
Agent name
provider.name
Handlers
aws.ElasticSearchHandler
- class aws.RDS#
Resource for entity
aws::database::RDS
Id attribute
name
Agent name
provider.name
Handlers
aws.RDSHandler
Handlers#
- class aws.ELBHandler#
This class manages ELB instances on amazon ec2
Handler name
ec2
Handler for entity
aws::ELB
- class aws.VirtualMachineHandler#
Handler name
ec2
Handler for entity
aws::VirtualMachine
- class aws.VolumeHandler#
Handler name
volume
Handler for entity
aws::Volume
- class aws.ElasticSearchHandler#
Handler name
elasticsearch
Handler for entity
aws::analytics::ElasticSearch
- class aws.RDSHandler#
Handler name
elasticsearch
Handler for entity
aws::database::RDS
- class aws.RouteHandler#
Handler name
ec2
Handler for entity
aws::Route
- class aws.SubnetHandler#
Handler name
ec2
Handler for entity
aws::Subnet
- class aws.InternetGatewayHandler#
Handler name
ec2
Handler for entity
aws::InternetGateway
- class aws.SecurityGroupHandler#
Handler name
ec2
Handler for entity
aws::SecurityGroup