Packages
erlcloud
3.5.16
3.8.3
3.8.2
3.8.1
3.7.6
3.7.4
3.7.3
3.7.2
3.7.1
3.7.0
3.6.8
3.6.7
3.6.5
3.6.4
3.6.3
3.6.2
3.6.1
3.6.0
3.5.16
3.5.15
3.5.14
3.5.13
3.5.12
3.5.11
3.5.10
3.5.9
3.5.8
3.5.7
3.5.6
3.5.5
3.5.4
3.5.3
3.5.2
3.5.1
3.5.0
3.4.5
3.4.3
3.4.1
3.4.0
3.3.9
3.3.8
3.3.7
3.3.6
3.3.5
3.3.4
3.3.3
3.3.2
3.3.1
3.3.0
3.2.18
3.2.17
3.2.16
3.2.15
3.2.14
3.2.13
3.2.12
3.2.11
3.2.10
3.2.7
3.2.6
3.2.5
3.2.4
3.2.3
3.2.2
3.2.1
3.2.0
3.1.17
3.1.16
3.1.14
3.1.13
3.1.12
3.1.11
3.1.9
3.1.8
3.1.7
3.1.6
3.1.5
3.1.4
3.1.3
3.1.2
3.1.1
3.1.0
3.0.5
3.0.4
3.0.3
3.0.2
3.0.1
2.2.16
2.2.15
2.2.14
2.2.13
2.2.12
2.2.11
2.2.10
2.2.9
2.2.8
2.2.7
2.2.6
2.2.5
2.2.4
2.2.2
2.2.1
2.2.0
2.1.0
2.0.5
2.0.4
2.0.3
2.0.0
0.13.10
0.13.9
0.13.8
0.13.6
0.13.5
0.13.4
0.13.3
0.13.2
0.13.0
0.12.0
0.11.0
0.9.2
0.9.2-rc.1
0.9.1
0.9.0
AWS APIs library for Erlang
Current section
Files
Jump to
Current section
Files
include/erlcloud_ec2.hrl
-ifndef(erlcloud_ec2_hrl).
-define(erlcloud_ec2_hrl, 0).
-include("erlcloud.hrl").
-type(ec2_shutdown_behavior() :: stop | terminate | undefined).
-type(ec2_volume_size() :: 1..1024).
-record(ec2_block_device_mapping, {
device_name::string(),
virtual_name::string(),
snapshot_id::string(),
volume_size::ec2_volume_size(),
delete_on_termination::boolean(),
encrypted::boolean()
}).
-type(ec2_block_device_mapping() :: #ec2_block_device_mapping{}).
%% Network interface (used by launch specification)
-record(ec2_net_if, {
device_index :: string(),
subnet_id :: string(),
security_group=[] :: [string()],
private_ip=[] :: [string()],
associate_public_ip :: undefined | boolean()
}).
-record(ec2_instance_spec, {
image_id::string(),
min_count=1::pos_integer(),
max_count=1::pos_integer(),
key_name::undefined | string(),
group_set=["default"]::[string()],
user_data::undefined|binary(),
instance_type::string(),
availability_zone::undefined | string(),
placement_group::undefined | string(),
kernel_id::undefined | string(),
ramdisk_id::undefined | string(),
block_device_mapping=[]::[ec2_block_device_mapping()],
monitoring_enabled=false::boolean(),
subnet_id::string(),
disable_api_termination=false::boolean(),
instance_initiated_shutdown_behavior::undefined | ec2_shutdown_behavior(),
net_if=[] :: [#ec2_net_if{}],
ebs_optimized = false :: boolean(),
iam_instance_profile_name :: undefined | string(),
spot_price::undefined | string(),
weighted_capacity::undefined | number()
}).
-record(ec2_image_spec, {
image_location::string(),
name::string(),
description::string(),
architecture::string(),
kernel_id::string(),
ramdisk_id::string(),
root_device_name::string(),
block_device_mapping=[]::[ec2_block_device_mapping()]
}).
-record(ec2_spot_instance_request, {
spot_price::string(),
instance_count=1::pos_integer(),
type=one_time::one_time|persistent,
valid_from::datetime(),
valid_until::datetime(),
launch_group::string(),
availability_zone_group::string(),
launch_specification::#ec2_instance_spec{}
}).
-record(spot_fleet_request_config_spec, {
allocation_strategy::undefined|lowest_price|diversified,
client_token::undefined|string(),
excess_capacity_termination_policy::undefined|no_termination|default,
iam_fleet_role::string(),
launch_specification=[]::[#ec2_instance_spec{}],
spot_price::string(),
target_capacity::pos_integer(),
terminate_instances_with_expiration::undefined|true|false,
valid_from::undefined|datetime(),
valid_until::undefined|datetime()
}).
-record(ec2_spot_fleet_request, {
spot_fleet_request_config::#spot_fleet_request_config_spec{}
}).
-record(ec2_ingress_spec, {
ip_protocol::tcp|udp|icmp,
from_port::-1 | 0..65535,
to_port::-1 | 0..65535,
source_security_group_owner_id::string(),
source_security_group_name::string(),
cidr_ip::string()
}).
-record(vpc_ingress_spec, {
ip_protocol::tcp|udp|icmp,
from_port::-1 | 0..65535,
to_port::-1 | 0..65535,
user_id::undefined|[string()],
group_name::undefined|[string()],
group_id::undefined|[string()],
cidr_ip::undefined|[string()]
}).
-record(vpc_egress_spec, {
ip_protocol::tcp|udp|icmp,
from_port::-1 | 0..65535,
to_port::-1 | 0..65535,
user_id::[string()],
group_name::[string()],
group_id::[string()],
cidr_ip::[string()]
}).
-record(vpc_xgress_internal_spec, {
ip_protocol::tcp|udp|icmp,
from_port::-1 | 0..65535,
to_port::-1 | 0..65535,
user_id::undefined|[string()],
group_name::undefined|[string()],
group_id::undefined|[string()],
cidr_ip::undefined|[string()]
}).
-record(ec2_network_acl_spec, {
network_acl_id::string(),
rule_number::integer(),
protocol::integer(),
rule_action::allow|deny,
egress=false::boolean(),
cidr_block::string(),
icmp_code::integer(),
icmp_type::integer(),
port_range_from::integer(),
port_range_to::integer()
}).
-type(ec2_image_spec() :: #ec2_image_spec{}).
-type(ec2_instance_spec() :: #ec2_instance_spec{}).
-type(ec2_ingress_spec() :: #ec2_ingress_spec{}).
-type(ec2_spot_instance_request() :: #ec2_spot_instance_request{}).
-type(ec2_spot_fleet_request() :: #ec2_spot_fleet_request{}).
-type(vpc_ingress_spec() :: #vpc_ingress_spec{}).
-type(vpc_egress_spec() :: #vpc_egress_spec{}).
-type(ec2_network_acl_spec() :: #ec2_network_acl_spec{}).
-record(ec2_tag, {
resource_id :: string(),
resource_type :: string(),
key :: string(),
value :: string()
}).
-endif.