%% WARNING: DO NOT EDIT, AUTO-GENERATED CODE! %% See https://github.com/aws-beam/aws-codegen for more details. %% @doc Amazon Elastic Compute Cloud %% %% Amazon Elastic Compute Cloud (Amazon EC2) provides secure and resizable %% computing capacity in the Amazon Web Services Cloud. %% %% Using Amazon EC2 eliminates the need to invest in hardware up front, so %% you can develop and deploy applications faster. Amazon Virtual Private %% Cloud (Amazon VPC) enables you to provision a logically isolated section %% of the Amazon Web Services Cloud where you can launch Amazon Web Services %% resources in a virtual network that you've defined. Amazon Elastic %% Block Store (Amazon EBS) provides block level storage volumes for use with %% EC2 instances. EBS volumes are highly available and reliable storage %% volumes that can be attached to any running instance and used like a hard %% drive. %% %% To learn more, see the following resources: %% %% -module(aws_ec2). -export([accept_address_transfer/2, accept_address_transfer/3, accept_reserved_instances_exchange_quote/2, accept_reserved_instances_exchange_quote/3, accept_transit_gateway_multicast_domain_associations/2, accept_transit_gateway_multicast_domain_associations/3, accept_transit_gateway_peering_attachment/2, accept_transit_gateway_peering_attachment/3, accept_transit_gateway_vpc_attachment/2, accept_transit_gateway_vpc_attachment/3, accept_vpc_endpoint_connections/2, accept_vpc_endpoint_connections/3, accept_vpc_peering_connection/2, accept_vpc_peering_connection/3, advertise_byoip_cidr/2, advertise_byoip_cidr/3, allocate_address/2, allocate_address/3, allocate_hosts/2, allocate_hosts/3, allocate_ipam_pool_cidr/2, allocate_ipam_pool_cidr/3, apply_security_groups_to_client_vpn_target_network/2, apply_security_groups_to_client_vpn_target_network/3, assign_ipv6_addresses/2, assign_ipv6_addresses/3, assign_private_ip_addresses/2, assign_private_ip_addresses/3, assign_private_nat_gateway_address/2, assign_private_nat_gateway_address/3, associate_address/2, associate_address/3, associate_client_vpn_target_network/2, associate_client_vpn_target_network/3, associate_dhcp_options/2, associate_dhcp_options/3, associate_enclave_certificate_iam_role/2, associate_enclave_certificate_iam_role/3, associate_iam_instance_profile/2, associate_iam_instance_profile/3, associate_instance_event_window/2, associate_instance_event_window/3, associate_ipam_byoasn/2, associate_ipam_byoasn/3, associate_ipam_resource_discovery/2, associate_ipam_resource_discovery/3, associate_nat_gateway_address/2, associate_nat_gateway_address/3, associate_route_table/2, associate_route_table/3, associate_subnet_cidr_block/2, associate_subnet_cidr_block/3, associate_transit_gateway_multicast_domain/2, associate_transit_gateway_multicast_domain/3, associate_transit_gateway_policy_table/2, associate_transit_gateway_policy_table/3, associate_transit_gateway_route_table/2, associate_transit_gateway_route_table/3, associate_trunk_interface/2, associate_trunk_interface/3, associate_vpc_cidr_block/2, associate_vpc_cidr_block/3, attach_classic_link_vpc/2, attach_classic_link_vpc/3, attach_internet_gateway/2, attach_internet_gateway/3, attach_network_interface/2, attach_network_interface/3, attach_verified_access_trust_provider/2, attach_verified_access_trust_provider/3, attach_volume/2, attach_volume/3, attach_vpn_gateway/2, attach_vpn_gateway/3, authorize_client_vpn_ingress/2, authorize_client_vpn_ingress/3, authorize_security_group_egress/2, authorize_security_group_egress/3, authorize_security_group_ingress/2, authorize_security_group_ingress/3, bundle_instance/2, bundle_instance/3, cancel_bundle_task/2, cancel_bundle_task/3, cancel_capacity_reservation/2, cancel_capacity_reservation/3, cancel_capacity_reservation_fleets/2, cancel_capacity_reservation_fleets/3, cancel_conversion_task/2, cancel_conversion_task/3, cancel_export_task/2, cancel_export_task/3, cancel_image_launch_permission/2, cancel_image_launch_permission/3, cancel_import_task/2, cancel_import_task/3, cancel_reserved_instances_listing/2, cancel_reserved_instances_listing/3, cancel_spot_fleet_requests/2, cancel_spot_fleet_requests/3, cancel_spot_instance_requests/2, cancel_spot_instance_requests/3, confirm_product_instance/2, confirm_product_instance/3, copy_fpga_image/2, copy_fpga_image/3, copy_image/2, copy_image/3, copy_snapshot/2, copy_snapshot/3, create_capacity_reservation/2, create_capacity_reservation/3, create_capacity_reservation_fleet/2, create_capacity_reservation_fleet/3, create_carrier_gateway/2, create_carrier_gateway/3, create_client_vpn_endpoint/2, create_client_vpn_endpoint/3, create_client_vpn_route/2, create_client_vpn_route/3, create_coip_cidr/2, create_coip_cidr/3, create_coip_pool/2, create_coip_pool/3, create_customer_gateway/2, create_customer_gateway/3, create_default_subnet/2, create_default_subnet/3, create_default_vpc/2, create_default_vpc/3, create_dhcp_options/2, create_dhcp_options/3, create_egress_only_internet_gateway/2, create_egress_only_internet_gateway/3, create_fleet/2, create_fleet/3, create_flow_logs/2, create_flow_logs/3, create_fpga_image/2, create_fpga_image/3, create_image/2, create_image/3, create_instance_connect_endpoint/2, create_instance_connect_endpoint/3, create_instance_event_window/2, create_instance_event_window/3, create_instance_export_task/2, create_instance_export_task/3, create_internet_gateway/2, create_internet_gateway/3, create_ipam/2, create_ipam/3, create_ipam_pool/2, create_ipam_pool/3, create_ipam_resource_discovery/2, create_ipam_resource_discovery/3, create_ipam_scope/2, create_ipam_scope/3, create_key_pair/2, create_key_pair/3, create_launch_template/2, create_launch_template/3, create_launch_template_version/2, create_launch_template_version/3, create_local_gateway_route/2, create_local_gateway_route/3, create_local_gateway_route_table/2, create_local_gateway_route_table/3, create_local_gateway_route_table_virtual_interface_group_association/2, create_local_gateway_route_table_virtual_interface_group_association/3, create_local_gateway_route_table_vpc_association/2, create_local_gateway_route_table_vpc_association/3, create_managed_prefix_list/2, create_managed_prefix_list/3, create_nat_gateway/2, create_nat_gateway/3, create_network_acl/2, create_network_acl/3, create_network_acl_entry/2, create_network_acl_entry/3, create_network_insights_access_scope/2, create_network_insights_access_scope/3, create_network_insights_path/2, create_network_insights_path/3, create_network_interface/2, create_network_interface/3, create_network_interface_permission/2, create_network_interface_permission/3, create_placement_group/2, create_placement_group/3, create_public_ipv4_pool/2, create_public_ipv4_pool/3, create_replace_root_volume_task/2, create_replace_root_volume_task/3, create_reserved_instances_listing/2, create_reserved_instances_listing/3, create_restore_image_task/2, create_restore_image_task/3, create_route/2, create_route/3, create_route_table/2, create_route_table/3, create_security_group/2, create_security_group/3, create_snapshot/2, create_snapshot/3, create_snapshots/2, create_snapshots/3, create_spot_datafeed_subscription/2, create_spot_datafeed_subscription/3, create_store_image_task/2, create_store_image_task/3, create_subnet/2, create_subnet/3, create_subnet_cidr_reservation/2, create_subnet_cidr_reservation/3, create_tags/2, create_tags/3, create_traffic_mirror_filter/2, create_traffic_mirror_filter/3, create_traffic_mirror_filter_rule/2, create_traffic_mirror_filter_rule/3, create_traffic_mirror_session/2, create_traffic_mirror_session/3, create_traffic_mirror_target/2, create_traffic_mirror_target/3, create_transit_gateway/2, create_transit_gateway/3, create_transit_gateway_connect/2, create_transit_gateway_connect/3, create_transit_gateway_connect_peer/2, create_transit_gateway_connect_peer/3, create_transit_gateway_multicast_domain/2, create_transit_gateway_multicast_domain/3, create_transit_gateway_peering_attachment/2, create_transit_gateway_peering_attachment/3, create_transit_gateway_policy_table/2, create_transit_gateway_policy_table/3, create_transit_gateway_prefix_list_reference/2, create_transit_gateway_prefix_list_reference/3, create_transit_gateway_route/2, create_transit_gateway_route/3, create_transit_gateway_route_table/2, create_transit_gateway_route_table/3, create_transit_gateway_route_table_announcement/2, create_transit_gateway_route_table_announcement/3, create_transit_gateway_vpc_attachment/2, create_transit_gateway_vpc_attachment/3, create_verified_access_endpoint/2, create_verified_access_endpoint/3, create_verified_access_group/2, create_verified_access_group/3, create_verified_access_instance/2, create_verified_access_instance/3, create_verified_access_trust_provider/2, create_verified_access_trust_provider/3, create_volume/2, create_volume/3, create_vpc/2, create_vpc/3, create_vpc_endpoint/2, create_vpc_endpoint/3, create_vpc_endpoint_connection_notification/2, create_vpc_endpoint_connection_notification/3, create_vpc_endpoint_service_configuration/2, create_vpc_endpoint_service_configuration/3, create_vpc_peering_connection/2, create_vpc_peering_connection/3, create_vpn_connection/2, create_vpn_connection/3, create_vpn_connection_route/2, create_vpn_connection_route/3, create_vpn_gateway/2, create_vpn_gateway/3, delete_carrier_gateway/2, delete_carrier_gateway/3, delete_client_vpn_endpoint/2, delete_client_vpn_endpoint/3, delete_client_vpn_route/2, delete_client_vpn_route/3, delete_coip_cidr/2, delete_coip_cidr/3, delete_coip_pool/2, delete_coip_pool/3, delete_customer_gateway/2, delete_customer_gateway/3, delete_dhcp_options/2, delete_dhcp_options/3, delete_egress_only_internet_gateway/2, delete_egress_only_internet_gateway/3, delete_fleets/2, delete_fleets/3, delete_flow_logs/2, delete_flow_logs/3, delete_fpga_image/2, delete_fpga_image/3, delete_instance_connect_endpoint/2, delete_instance_connect_endpoint/3, delete_instance_event_window/2, delete_instance_event_window/3, delete_internet_gateway/2, delete_internet_gateway/3, delete_ipam/2, delete_ipam/3, delete_ipam_pool/2, delete_ipam_pool/3, delete_ipam_resource_discovery/2, delete_ipam_resource_discovery/3, delete_ipam_scope/2, delete_ipam_scope/3, delete_key_pair/2, delete_key_pair/3, delete_launch_template/2, delete_launch_template/3, delete_launch_template_versions/2, delete_launch_template_versions/3, delete_local_gateway_route/2, delete_local_gateway_route/3, delete_local_gateway_route_table/2, delete_local_gateway_route_table/3, delete_local_gateway_route_table_virtual_interface_group_association/2, delete_local_gateway_route_table_virtual_interface_group_association/3, delete_local_gateway_route_table_vpc_association/2, delete_local_gateway_route_table_vpc_association/3, delete_managed_prefix_list/2, delete_managed_prefix_list/3, delete_nat_gateway/2, delete_nat_gateway/3, delete_network_acl/2, delete_network_acl/3, delete_network_acl_entry/2, delete_network_acl_entry/3, delete_network_insights_access_scope/2, delete_network_insights_access_scope/3, delete_network_insights_access_scope_analysis/2, delete_network_insights_access_scope_analysis/3, delete_network_insights_analysis/2, delete_network_insights_analysis/3, delete_network_insights_path/2, delete_network_insights_path/3, delete_network_interface/2, delete_network_interface/3, delete_network_interface_permission/2, delete_network_interface_permission/3, delete_placement_group/2, delete_placement_group/3, delete_public_ipv4_pool/2, delete_public_ipv4_pool/3, delete_queued_reserved_instances/2, delete_queued_reserved_instances/3, delete_route/2, delete_route/3, delete_route_table/2, delete_route_table/3, delete_security_group/2, delete_security_group/3, delete_snapshot/2, delete_snapshot/3, delete_spot_datafeed_subscription/2, delete_spot_datafeed_subscription/3, delete_subnet/2, delete_subnet/3, delete_subnet_cidr_reservation/2, delete_subnet_cidr_reservation/3, delete_tags/2, delete_tags/3, delete_traffic_mirror_filter/2, delete_traffic_mirror_filter/3, delete_traffic_mirror_filter_rule/2, delete_traffic_mirror_filter_rule/3, delete_traffic_mirror_session/2, delete_traffic_mirror_session/3, delete_traffic_mirror_target/2, delete_traffic_mirror_target/3, delete_transit_gateway/2, delete_transit_gateway/3, delete_transit_gateway_connect/2, delete_transit_gateway_connect/3, delete_transit_gateway_connect_peer/2, delete_transit_gateway_connect_peer/3, delete_transit_gateway_multicast_domain/2, delete_transit_gateway_multicast_domain/3, delete_transit_gateway_peering_attachment/2, delete_transit_gateway_peering_attachment/3, delete_transit_gateway_policy_table/2, delete_transit_gateway_policy_table/3, delete_transit_gateway_prefix_list_reference/2, delete_transit_gateway_prefix_list_reference/3, delete_transit_gateway_route/2, delete_transit_gateway_route/3, delete_transit_gateway_route_table/2, delete_transit_gateway_route_table/3, delete_transit_gateway_route_table_announcement/2, delete_transit_gateway_route_table_announcement/3, delete_transit_gateway_vpc_attachment/2, delete_transit_gateway_vpc_attachment/3, delete_verified_access_endpoint/2, delete_verified_access_endpoint/3, delete_verified_access_group/2, delete_verified_access_group/3, delete_verified_access_instance/2, delete_verified_access_instance/3, delete_verified_access_trust_provider/2, delete_verified_access_trust_provider/3, delete_volume/2, delete_volume/3, delete_vpc/2, delete_vpc/3, delete_vpc_endpoint_connection_notifications/2, delete_vpc_endpoint_connection_notifications/3, delete_vpc_endpoint_service_configurations/2, delete_vpc_endpoint_service_configurations/3, delete_vpc_endpoints/2, delete_vpc_endpoints/3, delete_vpc_peering_connection/2, delete_vpc_peering_connection/3, delete_vpn_connection/2, delete_vpn_connection/3, delete_vpn_connection_route/2, delete_vpn_connection_route/3, delete_vpn_gateway/2, delete_vpn_gateway/3, deprovision_byoip_cidr/2, deprovision_byoip_cidr/3, deprovision_ipam_byoasn/2, deprovision_ipam_byoasn/3, deprovision_ipam_pool_cidr/2, deprovision_ipam_pool_cidr/3, deprovision_public_ipv4_pool_cidr/2, deprovision_public_ipv4_pool_cidr/3, deregister_image/2, deregister_image/3, deregister_instance_event_notification_attributes/2, deregister_instance_event_notification_attributes/3, deregister_transit_gateway_multicast_group_members/2, deregister_transit_gateway_multicast_group_members/3, deregister_transit_gateway_multicast_group_sources/2, deregister_transit_gateway_multicast_group_sources/3, describe_account_attributes/2, describe_account_attributes/3, describe_address_transfers/2, describe_address_transfers/3, describe_addresses/2, describe_addresses/3, describe_addresses_attribute/2, describe_addresses_attribute/3, describe_aggregate_id_format/2, describe_aggregate_id_format/3, describe_availability_zones/2, describe_availability_zones/3, describe_aws_network_performance_metric_subscriptions/2, describe_aws_network_performance_metric_subscriptions/3, describe_bundle_tasks/2, describe_bundle_tasks/3, describe_byoip_cidrs/2, describe_byoip_cidrs/3, describe_capacity_block_offerings/2, describe_capacity_block_offerings/3, describe_capacity_reservation_fleets/2, describe_capacity_reservation_fleets/3, describe_capacity_reservations/2, describe_capacity_reservations/3, describe_carrier_gateways/2, describe_carrier_gateways/3, describe_classic_link_instances/2, describe_classic_link_instances/3, describe_client_vpn_authorization_rules/2, describe_client_vpn_authorization_rules/3, describe_client_vpn_connections/2, describe_client_vpn_connections/3, describe_client_vpn_endpoints/2, describe_client_vpn_endpoints/3, describe_client_vpn_routes/2, describe_client_vpn_routes/3, describe_client_vpn_target_networks/2, describe_client_vpn_target_networks/3, describe_coip_pools/2, describe_coip_pools/3, describe_conversion_tasks/2, describe_conversion_tasks/3, describe_customer_gateways/2, describe_customer_gateways/3, describe_dhcp_options/2, describe_dhcp_options/3, describe_egress_only_internet_gateways/2, describe_egress_only_internet_gateways/3, describe_elastic_gpus/2, describe_elastic_gpus/3, describe_export_image_tasks/2, describe_export_image_tasks/3, describe_export_tasks/2, describe_export_tasks/3, describe_fast_launch_images/2, describe_fast_launch_images/3, describe_fast_snapshot_restores/2, describe_fast_snapshot_restores/3, describe_fleet_history/2, describe_fleet_history/3, describe_fleet_instances/2, describe_fleet_instances/3, describe_fleets/2, describe_fleets/3, describe_flow_logs/2, describe_flow_logs/3, describe_fpga_image_attribute/2, describe_fpga_image_attribute/3, describe_fpga_images/2, describe_fpga_images/3, describe_host_reservation_offerings/2, describe_host_reservation_offerings/3, describe_host_reservations/2, describe_host_reservations/3, describe_hosts/2, describe_hosts/3, describe_iam_instance_profile_associations/2, describe_iam_instance_profile_associations/3, describe_id_format/2, describe_id_format/3, describe_identity_id_format/2, describe_identity_id_format/3, describe_image_attribute/2, describe_image_attribute/3, describe_images/2, describe_images/3, describe_import_image_tasks/2, describe_import_image_tasks/3, describe_import_snapshot_tasks/2, describe_import_snapshot_tasks/3, describe_instance_attribute/2, describe_instance_attribute/3, describe_instance_connect_endpoints/2, describe_instance_connect_endpoints/3, describe_instance_credit_specifications/2, describe_instance_credit_specifications/3, describe_instance_event_notification_attributes/2, describe_instance_event_notification_attributes/3, describe_instance_event_windows/2, describe_instance_event_windows/3, describe_instance_status/2, describe_instance_status/3, describe_instance_topology/2, describe_instance_topology/3, describe_instance_type_offerings/2, describe_instance_type_offerings/3, describe_instance_types/2, describe_instance_types/3, describe_instances/2, describe_instances/3, describe_internet_gateways/2, describe_internet_gateways/3, describe_ipam_byoasn/2, describe_ipam_byoasn/3, describe_ipam_pools/2, describe_ipam_pools/3, describe_ipam_resource_discoveries/2, describe_ipam_resource_discoveries/3, describe_ipam_resource_discovery_associations/2, describe_ipam_resource_discovery_associations/3, describe_ipam_scopes/2, describe_ipam_scopes/3, describe_ipams/2, describe_ipams/3, describe_ipv6_pools/2, describe_ipv6_pools/3, describe_key_pairs/2, describe_key_pairs/3, describe_launch_template_versions/2, describe_launch_template_versions/3, describe_launch_templates/2, describe_launch_templates/3, describe_local_gateway_route_table_virtual_interface_group_associations/2, describe_local_gateway_route_table_virtual_interface_group_associations/3, describe_local_gateway_route_table_vpc_associations/2, describe_local_gateway_route_table_vpc_associations/3, describe_local_gateway_route_tables/2, describe_local_gateway_route_tables/3, describe_local_gateway_virtual_interface_groups/2, describe_local_gateway_virtual_interface_groups/3, describe_local_gateway_virtual_interfaces/2, describe_local_gateway_virtual_interfaces/3, describe_local_gateways/2, describe_local_gateways/3, describe_locked_snapshots/2, describe_locked_snapshots/3, describe_managed_prefix_lists/2, describe_managed_prefix_lists/3, describe_moving_addresses/2, describe_moving_addresses/3, describe_nat_gateways/2, describe_nat_gateways/3, describe_network_acls/2, describe_network_acls/3, describe_network_insights_access_scope_analyses/2, describe_network_insights_access_scope_analyses/3, describe_network_insights_access_scopes/2, describe_network_insights_access_scopes/3, describe_network_insights_analyses/2, describe_network_insights_analyses/3, describe_network_insights_paths/2, describe_network_insights_paths/3, describe_network_interface_attribute/2, describe_network_interface_attribute/3, describe_network_interface_permissions/2, describe_network_interface_permissions/3, describe_network_interfaces/2, describe_network_interfaces/3, describe_placement_groups/2, describe_placement_groups/3, describe_prefix_lists/2, describe_prefix_lists/3, describe_principal_id_format/2, describe_principal_id_format/3, describe_public_ipv4_pools/2, describe_public_ipv4_pools/3, describe_regions/2, describe_regions/3, describe_replace_root_volume_tasks/2, describe_replace_root_volume_tasks/3, describe_reserved_instances/2, describe_reserved_instances/3, describe_reserved_instances_listings/2, describe_reserved_instances_listings/3, describe_reserved_instances_modifications/2, describe_reserved_instances_modifications/3, describe_reserved_instances_offerings/2, describe_reserved_instances_offerings/3, describe_route_tables/2, describe_route_tables/3, describe_scheduled_instance_availability/2, describe_scheduled_instance_availability/3, describe_scheduled_instances/2, describe_scheduled_instances/3, describe_security_group_references/2, describe_security_group_references/3, describe_security_group_rules/2, describe_security_group_rules/3, describe_security_groups/2, describe_security_groups/3, describe_snapshot_attribute/2, describe_snapshot_attribute/3, describe_snapshot_tier_status/2, describe_snapshot_tier_status/3, describe_snapshots/2, describe_snapshots/3, describe_spot_datafeed_subscription/2, describe_spot_datafeed_subscription/3, describe_spot_fleet_instances/2, describe_spot_fleet_instances/3, describe_spot_fleet_request_history/2, describe_spot_fleet_request_history/3, describe_spot_fleet_requests/2, describe_spot_fleet_requests/3, describe_spot_instance_requests/2, describe_spot_instance_requests/3, describe_spot_price_history/2, describe_spot_price_history/3, describe_stale_security_groups/2, describe_stale_security_groups/3, describe_store_image_tasks/2, describe_store_image_tasks/3, describe_subnets/2, describe_subnets/3, describe_tags/2, describe_tags/3, describe_traffic_mirror_filters/2, describe_traffic_mirror_filters/3, describe_traffic_mirror_sessions/2, describe_traffic_mirror_sessions/3, describe_traffic_mirror_targets/2, describe_traffic_mirror_targets/3, describe_transit_gateway_attachments/2, describe_transit_gateway_attachments/3, describe_transit_gateway_connect_peers/2, describe_transit_gateway_connect_peers/3, describe_transit_gateway_connects/2, describe_transit_gateway_connects/3, describe_transit_gateway_multicast_domains/2, describe_transit_gateway_multicast_domains/3, describe_transit_gateway_peering_attachments/2, describe_transit_gateway_peering_attachments/3, describe_transit_gateway_policy_tables/2, describe_transit_gateway_policy_tables/3, describe_transit_gateway_route_table_announcements/2, describe_transit_gateway_route_table_announcements/3, describe_transit_gateway_route_tables/2, describe_transit_gateway_route_tables/3, describe_transit_gateway_vpc_attachments/2, describe_transit_gateway_vpc_attachments/3, describe_transit_gateways/2, describe_transit_gateways/3, describe_trunk_interface_associations/2, describe_trunk_interface_associations/3, describe_verified_access_endpoints/2, describe_verified_access_endpoints/3, describe_verified_access_groups/2, describe_verified_access_groups/3, describe_verified_access_instance_logging_configurations/2, describe_verified_access_instance_logging_configurations/3, describe_verified_access_instances/2, describe_verified_access_instances/3, describe_verified_access_trust_providers/2, describe_verified_access_trust_providers/3, describe_volume_attribute/2, describe_volume_attribute/3, describe_volume_status/2, describe_volume_status/3, describe_volumes/2, describe_volumes/3, describe_volumes_modifications/2, describe_volumes_modifications/3, describe_vpc_attribute/2, describe_vpc_attribute/3, describe_vpc_classic_link/2, describe_vpc_classic_link/3, describe_vpc_classic_link_dns_support/2, describe_vpc_classic_link_dns_support/3, describe_vpc_endpoint_connection_notifications/2, describe_vpc_endpoint_connection_notifications/3, describe_vpc_endpoint_connections/2, describe_vpc_endpoint_connections/3, describe_vpc_endpoint_service_configurations/2, describe_vpc_endpoint_service_configurations/3, describe_vpc_endpoint_service_permissions/2, describe_vpc_endpoint_service_permissions/3, describe_vpc_endpoint_services/2, describe_vpc_endpoint_services/3, describe_vpc_endpoints/2, describe_vpc_endpoints/3, describe_vpc_peering_connections/2, describe_vpc_peering_connections/3, describe_vpcs/2, describe_vpcs/3, describe_vpn_connections/2, describe_vpn_connections/3, describe_vpn_gateways/2, describe_vpn_gateways/3, detach_classic_link_vpc/2, detach_classic_link_vpc/3, detach_internet_gateway/2, detach_internet_gateway/3, detach_network_interface/2, detach_network_interface/3, detach_verified_access_trust_provider/2, detach_verified_access_trust_provider/3, detach_volume/2, detach_volume/3, detach_vpn_gateway/2, detach_vpn_gateway/3, disable_address_transfer/2, disable_address_transfer/3, disable_aws_network_performance_metric_subscription/2, disable_aws_network_performance_metric_subscription/3, disable_ebs_encryption_by_default/2, disable_ebs_encryption_by_default/3, disable_fast_launch/2, disable_fast_launch/3, disable_fast_snapshot_restores/2, disable_fast_snapshot_restores/3, disable_image/2, disable_image/3, disable_image_block_public_access/2, disable_image_block_public_access/3, disable_image_deprecation/2, disable_image_deprecation/3, disable_ipam_organization_admin_account/2, disable_ipam_organization_admin_account/3, disable_serial_console_access/2, disable_serial_console_access/3, disable_snapshot_block_public_access/2, disable_snapshot_block_public_access/3, disable_transit_gateway_route_table_propagation/2, disable_transit_gateway_route_table_propagation/3, disable_vgw_route_propagation/2, disable_vgw_route_propagation/3, disable_vpc_classic_link/2, disable_vpc_classic_link/3, disable_vpc_classic_link_dns_support/2, disable_vpc_classic_link_dns_support/3, disassociate_address/2, disassociate_address/3, disassociate_client_vpn_target_network/2, disassociate_client_vpn_target_network/3, disassociate_enclave_certificate_iam_role/2, disassociate_enclave_certificate_iam_role/3, disassociate_iam_instance_profile/2, disassociate_iam_instance_profile/3, disassociate_instance_event_window/2, disassociate_instance_event_window/3, disassociate_ipam_byoasn/2, disassociate_ipam_byoasn/3, disassociate_ipam_resource_discovery/2, disassociate_ipam_resource_discovery/3, disassociate_nat_gateway_address/2, disassociate_nat_gateway_address/3, disassociate_route_table/2, disassociate_route_table/3, disassociate_subnet_cidr_block/2, disassociate_subnet_cidr_block/3, disassociate_transit_gateway_multicast_domain/2, disassociate_transit_gateway_multicast_domain/3, disassociate_transit_gateway_policy_table/2, disassociate_transit_gateway_policy_table/3, disassociate_transit_gateway_route_table/2, disassociate_transit_gateway_route_table/3, disassociate_trunk_interface/2, disassociate_trunk_interface/3, disassociate_vpc_cidr_block/2, disassociate_vpc_cidr_block/3, enable_address_transfer/2, enable_address_transfer/3, enable_aws_network_performance_metric_subscription/2, enable_aws_network_performance_metric_subscription/3, enable_ebs_encryption_by_default/2, enable_ebs_encryption_by_default/3, enable_fast_launch/2, enable_fast_launch/3, enable_fast_snapshot_restores/2, enable_fast_snapshot_restores/3, enable_image/2, enable_image/3, enable_image_block_public_access/2, enable_image_block_public_access/3, enable_image_deprecation/2, enable_image_deprecation/3, enable_ipam_organization_admin_account/2, enable_ipam_organization_admin_account/3, enable_reachability_analyzer_organization_sharing/2, enable_reachability_analyzer_organization_sharing/3, enable_serial_console_access/2, enable_serial_console_access/3, enable_snapshot_block_public_access/2, enable_snapshot_block_public_access/3, enable_transit_gateway_route_table_propagation/2, enable_transit_gateway_route_table_propagation/3, enable_vgw_route_propagation/2, enable_vgw_route_propagation/3, enable_volume_i_o/2, enable_volume_i_o/3, enable_vpc_classic_link/2, enable_vpc_classic_link/3, enable_vpc_classic_link_dns_support/2, enable_vpc_classic_link_dns_support/3, export_client_vpn_client_certificate_revocation_list/2, export_client_vpn_client_certificate_revocation_list/3, export_client_vpn_client_configuration/2, export_client_vpn_client_configuration/3, export_image/2, export_image/3, export_transit_gateway_routes/2, export_transit_gateway_routes/3, get_associated_enclave_certificate_iam_roles/2, get_associated_enclave_certificate_iam_roles/3, get_associated_ipv6_pool_cidrs/2, get_associated_ipv6_pool_cidrs/3, get_aws_network_performance_data/2, get_aws_network_performance_data/3, get_capacity_reservation_usage/2, get_capacity_reservation_usage/3, get_coip_pool_usage/2, get_coip_pool_usage/3, get_console_output/2, get_console_output/3, get_console_screenshot/2, get_console_screenshot/3, get_default_credit_specification/2, get_default_credit_specification/3, get_ebs_default_kms_key_id/2, get_ebs_default_kms_key_id/3, get_ebs_encryption_by_default/2, get_ebs_encryption_by_default/3, get_flow_logs_integration_template/2, get_flow_logs_integration_template/3, get_groups_for_capacity_reservation/2, get_groups_for_capacity_reservation/3, get_host_reservation_purchase_preview/2, get_host_reservation_purchase_preview/3, get_image_block_public_access_state/2, get_image_block_public_access_state/3, get_instance_types_from_instance_requirements/2, get_instance_types_from_instance_requirements/3, get_instance_uefi_data/2, get_instance_uefi_data/3, get_ipam_address_history/2, get_ipam_address_history/3, get_ipam_discovered_accounts/2, get_ipam_discovered_accounts/3, get_ipam_discovered_public_addresses/2, get_ipam_discovered_public_addresses/3, get_ipam_discovered_resource_cidrs/2, get_ipam_discovered_resource_cidrs/3, get_ipam_pool_allocations/2, get_ipam_pool_allocations/3, get_ipam_pool_cidrs/2, get_ipam_pool_cidrs/3, get_ipam_resource_cidrs/2, get_ipam_resource_cidrs/3, get_launch_template_data/2, get_launch_template_data/3, get_managed_prefix_list_associations/2, get_managed_prefix_list_associations/3, get_managed_prefix_list_entries/2, get_managed_prefix_list_entries/3, get_network_insights_access_scope_analysis_findings/2, get_network_insights_access_scope_analysis_findings/3, get_network_insights_access_scope_content/2, get_network_insights_access_scope_content/3, get_password_data/2, get_password_data/3, get_reserved_instances_exchange_quote/2, get_reserved_instances_exchange_quote/3, get_security_groups_for_vpc/2, get_security_groups_for_vpc/3, get_serial_console_access_status/2, get_serial_console_access_status/3, get_snapshot_block_public_access_state/2, get_snapshot_block_public_access_state/3, get_spot_placement_scores/2, get_spot_placement_scores/3, get_subnet_cidr_reservations/2, get_subnet_cidr_reservations/3, get_transit_gateway_attachment_propagations/2, get_transit_gateway_attachment_propagations/3, get_transit_gateway_multicast_domain_associations/2, get_transit_gateway_multicast_domain_associations/3, get_transit_gateway_policy_table_associations/2, get_transit_gateway_policy_table_associations/3, get_transit_gateway_policy_table_entries/2, get_transit_gateway_policy_table_entries/3, get_transit_gateway_prefix_list_references/2, get_transit_gateway_prefix_list_references/3, get_transit_gateway_route_table_associations/2, get_transit_gateway_route_table_associations/3, get_transit_gateway_route_table_propagations/2, get_transit_gateway_route_table_propagations/3, get_verified_access_endpoint_policy/2, get_verified_access_endpoint_policy/3, get_verified_access_group_policy/2, get_verified_access_group_policy/3, get_vpn_connection_device_sample_configuration/2, get_vpn_connection_device_sample_configuration/3, get_vpn_connection_device_types/2, get_vpn_connection_device_types/3, get_vpn_tunnel_replacement_status/2, get_vpn_tunnel_replacement_status/3, import_client_vpn_client_certificate_revocation_list/2, import_client_vpn_client_certificate_revocation_list/3, import_image/2, import_image/3, import_instance/2, import_instance/3, import_key_pair/2, import_key_pair/3, import_snapshot/2, import_snapshot/3, import_volume/2, import_volume/3, list_images_in_recycle_bin/2, list_images_in_recycle_bin/3, list_snapshots_in_recycle_bin/2, list_snapshots_in_recycle_bin/3, lock_snapshot/2, lock_snapshot/3, modify_address_attribute/2, modify_address_attribute/3, modify_availability_zone_group/2, modify_availability_zone_group/3, modify_capacity_reservation/2, modify_capacity_reservation/3, modify_capacity_reservation_fleet/2, modify_capacity_reservation_fleet/3, modify_client_vpn_endpoint/2, modify_client_vpn_endpoint/3, modify_default_credit_specification/2, modify_default_credit_specification/3, modify_ebs_default_kms_key_id/2, modify_ebs_default_kms_key_id/3, modify_fleet/2, modify_fleet/3, modify_fpga_image_attribute/2, modify_fpga_image_attribute/3, modify_hosts/2, modify_hosts/3, modify_id_format/2, modify_id_format/3, modify_identity_id_format/2, modify_identity_id_format/3, modify_image_attribute/2, modify_image_attribute/3, modify_instance_attribute/2, modify_instance_attribute/3, modify_instance_capacity_reservation_attributes/2, modify_instance_capacity_reservation_attributes/3, modify_instance_credit_specification/2, modify_instance_credit_specification/3, modify_instance_event_start_time/2, modify_instance_event_start_time/3, modify_instance_event_window/2, modify_instance_event_window/3, modify_instance_maintenance_options/2, modify_instance_maintenance_options/3, modify_instance_metadata_options/2, modify_instance_metadata_options/3, modify_instance_placement/2, modify_instance_placement/3, modify_ipam/2, modify_ipam/3, modify_ipam_pool/2, modify_ipam_pool/3, modify_ipam_resource_cidr/2, modify_ipam_resource_cidr/3, modify_ipam_resource_discovery/2, modify_ipam_resource_discovery/3, modify_ipam_scope/2, modify_ipam_scope/3, modify_launch_template/2, modify_launch_template/3, modify_local_gateway_route/2, modify_local_gateway_route/3, modify_managed_prefix_list/2, modify_managed_prefix_list/3, modify_network_interface_attribute/2, modify_network_interface_attribute/3, modify_private_dns_name_options/2, modify_private_dns_name_options/3, modify_reserved_instances/2, modify_reserved_instances/3, modify_security_group_rules/2, modify_security_group_rules/3, modify_snapshot_attribute/2, modify_snapshot_attribute/3, modify_snapshot_tier/2, modify_snapshot_tier/3, modify_spot_fleet_request/2, modify_spot_fleet_request/3, modify_subnet_attribute/2, modify_subnet_attribute/3, modify_traffic_mirror_filter_network_services/2, modify_traffic_mirror_filter_network_services/3, modify_traffic_mirror_filter_rule/2, modify_traffic_mirror_filter_rule/3, modify_traffic_mirror_session/2, modify_traffic_mirror_session/3, modify_transit_gateway/2, modify_transit_gateway/3, modify_transit_gateway_prefix_list_reference/2, modify_transit_gateway_prefix_list_reference/3, modify_transit_gateway_vpc_attachment/2, modify_transit_gateway_vpc_attachment/3, modify_verified_access_endpoint/2, modify_verified_access_endpoint/3, modify_verified_access_endpoint_policy/2, modify_verified_access_endpoint_policy/3, modify_verified_access_group/2, modify_verified_access_group/3, modify_verified_access_group_policy/2, modify_verified_access_group_policy/3, modify_verified_access_instance/2, modify_verified_access_instance/3, modify_verified_access_instance_logging_configuration/2, modify_verified_access_instance_logging_configuration/3, modify_verified_access_trust_provider/2, modify_verified_access_trust_provider/3, modify_volume/2, modify_volume/3, modify_volume_attribute/2, modify_volume_attribute/3, modify_vpc_attribute/2, modify_vpc_attribute/3, modify_vpc_endpoint/2, modify_vpc_endpoint/3, modify_vpc_endpoint_connection_notification/2, modify_vpc_endpoint_connection_notification/3, modify_vpc_endpoint_service_configuration/2, modify_vpc_endpoint_service_configuration/3, modify_vpc_endpoint_service_payer_responsibility/2, modify_vpc_endpoint_service_payer_responsibility/3, modify_vpc_endpoint_service_permissions/2, modify_vpc_endpoint_service_permissions/3, modify_vpc_peering_connection_options/2, modify_vpc_peering_connection_options/3, modify_vpc_tenancy/2, modify_vpc_tenancy/3, modify_vpn_connection/2, modify_vpn_connection/3, modify_vpn_connection_options/2, modify_vpn_connection_options/3, modify_vpn_tunnel_certificate/2, modify_vpn_tunnel_certificate/3, modify_vpn_tunnel_options/2, modify_vpn_tunnel_options/3, monitor_instances/2, monitor_instances/3, move_address_to_vpc/2, move_address_to_vpc/3, move_byoip_cidr_to_ipam/2, move_byoip_cidr_to_ipam/3, provision_byoip_cidr/2, provision_byoip_cidr/3, provision_ipam_byoasn/2, provision_ipam_byoasn/3, provision_ipam_pool_cidr/2, provision_ipam_pool_cidr/3, provision_public_ipv4_pool_cidr/2, provision_public_ipv4_pool_cidr/3, purchase_capacity_block/2, purchase_capacity_block/3, purchase_host_reservation/2, purchase_host_reservation/3, purchase_reserved_instances_offering/2, purchase_reserved_instances_offering/3, purchase_scheduled_instances/2, purchase_scheduled_instances/3, reboot_instances/2, reboot_instances/3, register_image/2, register_image/3, register_instance_event_notification_attributes/2, register_instance_event_notification_attributes/3, register_transit_gateway_multicast_group_members/2, register_transit_gateway_multicast_group_members/3, register_transit_gateway_multicast_group_sources/2, register_transit_gateway_multicast_group_sources/3, reject_transit_gateway_multicast_domain_associations/2, reject_transit_gateway_multicast_domain_associations/3, reject_transit_gateway_peering_attachment/2, reject_transit_gateway_peering_attachment/3, reject_transit_gateway_vpc_attachment/2, reject_transit_gateway_vpc_attachment/3, reject_vpc_endpoint_connections/2, reject_vpc_endpoint_connections/3, reject_vpc_peering_connection/2, reject_vpc_peering_connection/3, release_address/2, release_address/3, release_hosts/2, release_hosts/3, release_ipam_pool_allocation/2, release_ipam_pool_allocation/3, replace_iam_instance_profile_association/2, replace_iam_instance_profile_association/3, replace_network_acl_association/2, replace_network_acl_association/3, replace_network_acl_entry/2, replace_network_acl_entry/3, replace_route/2, replace_route/3, replace_route_table_association/2, replace_route_table_association/3, replace_transit_gateway_route/2, replace_transit_gateway_route/3, replace_vpn_tunnel/2, replace_vpn_tunnel/3, report_instance_status/2, report_instance_status/3, request_spot_fleet/2, request_spot_fleet/3, request_spot_instances/2, request_spot_instances/3, reset_address_attribute/2, reset_address_attribute/3, reset_ebs_default_kms_key_id/2, reset_ebs_default_kms_key_id/3, reset_fpga_image_attribute/2, reset_fpga_image_attribute/3, reset_image_attribute/2, reset_image_attribute/3, reset_instance_attribute/2, reset_instance_attribute/3, reset_network_interface_attribute/2, reset_network_interface_attribute/3, reset_snapshot_attribute/2, reset_snapshot_attribute/3, restore_address_to_classic/2, restore_address_to_classic/3, restore_image_from_recycle_bin/2, restore_image_from_recycle_bin/3, restore_managed_prefix_list_version/2, restore_managed_prefix_list_version/3, restore_snapshot_from_recycle_bin/2, restore_snapshot_from_recycle_bin/3, restore_snapshot_tier/2, restore_snapshot_tier/3, revoke_client_vpn_ingress/2, revoke_client_vpn_ingress/3, revoke_security_group_egress/2, revoke_security_group_egress/3, revoke_security_group_ingress/2, revoke_security_group_ingress/3, run_instances/2, run_instances/3, run_scheduled_instances/2, run_scheduled_instances/3, search_local_gateway_routes/2, search_local_gateway_routes/3, search_transit_gateway_multicast_groups/2, search_transit_gateway_multicast_groups/3, search_transit_gateway_routes/2, search_transit_gateway_routes/3, send_diagnostic_interrupt/2, send_diagnostic_interrupt/3, start_instances/2, start_instances/3, start_network_insights_access_scope_analysis/2, start_network_insights_access_scope_analysis/3, start_network_insights_analysis/2, start_network_insights_analysis/3, start_vpc_endpoint_service_private_dns_verification/2, start_vpc_endpoint_service_private_dns_verification/3, stop_instances/2, stop_instances/3, terminate_client_vpn_connections/2, terminate_client_vpn_connections/3, terminate_instances/2, terminate_instances/3, unassign_ipv6_addresses/2, unassign_ipv6_addresses/3, unassign_private_ip_addresses/2, unassign_private_ip_addresses/3, unassign_private_nat_gateway_address/2, unassign_private_nat_gateway_address/3, unlock_snapshot/2, unlock_snapshot/3, unmonitor_instances/2, unmonitor_instances/3, update_security_group_rule_descriptions_egress/2, update_security_group_rule_descriptions_egress/3, update_security_group_rule_descriptions_ingress/2, update_security_group_rule_descriptions_ingress/3, withdraw_byoip_cidr/2, withdraw_byoip_cidr/3]). -include_lib("hackney/include/hackney_lib.hrl"). %%==================================================================== %% API %%==================================================================== %% @doc Accepts an Elastic IP address transfer. %% %% For more information, see Accept a transferred Elastic IP address in the %% Amazon Virtual Private Cloud User Guide. accept_address_transfer(Client, Input) when is_map(Client), is_map(Input) -> accept_address_transfer(Client, Input, []). accept_address_transfer(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"AcceptAddressTransfer">>, Input, Options). %% @doc Accepts the Convertible Reserved Instance exchange quote described in %% the `GetReservedInstancesExchangeQuote' call. accept_reserved_instances_exchange_quote(Client, Input) when is_map(Client), is_map(Input) -> accept_reserved_instances_exchange_quote(Client, Input, []). accept_reserved_instances_exchange_quote(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"AcceptReservedInstancesExchangeQuote">>, Input, Options). %% @doc Accepts a request to associate subnets with a transit gateway %% multicast domain. accept_transit_gateway_multicast_domain_associations(Client, Input) when is_map(Client), is_map(Input) -> accept_transit_gateway_multicast_domain_associations(Client, Input, []). accept_transit_gateway_multicast_domain_associations(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"AcceptTransitGatewayMulticastDomainAssociations">>, Input, Options). %% @doc Accepts a transit gateway peering attachment request. %% %% The peering attachment must be in the `pendingAcceptance' state. accept_transit_gateway_peering_attachment(Client, Input) when is_map(Client), is_map(Input) -> accept_transit_gateway_peering_attachment(Client, Input, []). accept_transit_gateway_peering_attachment(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"AcceptTransitGatewayPeeringAttachment">>, Input, Options). %% @doc Accepts a request to attach a VPC to a transit gateway. %% %% The VPC attachment must be in the `pendingAcceptance' state. Use %% `DescribeTransitGatewayVpcAttachments' to view your pending VPC %% attachment requests. Use `RejectTransitGatewayVpcAttachment' to reject %% a VPC attachment request. accept_transit_gateway_vpc_attachment(Client, Input) when is_map(Client), is_map(Input) -> accept_transit_gateway_vpc_attachment(Client, Input, []). accept_transit_gateway_vpc_attachment(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"AcceptTransitGatewayVpcAttachment">>, Input, Options). %% @doc Accepts connection requests to your VPC endpoint service. accept_vpc_endpoint_connections(Client, Input) when is_map(Client), is_map(Input) -> accept_vpc_endpoint_connections(Client, Input, []). accept_vpc_endpoint_connections(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"AcceptVpcEndpointConnections">>, Input, Options). %% @doc Accept a VPC peering connection request. %% %% To accept a request, the VPC peering connection must be in the %% `pending-acceptance' state, and you must be the owner of the peer VPC. %% Use `DescribeVpcPeeringConnections' to view your outstanding VPC %% peering connection requests. %% %% For an inter-Region VPC peering connection request, you must accept the %% VPC peering connection in the Region of the accepter VPC. accept_vpc_peering_connection(Client, Input) when is_map(Client), is_map(Input) -> accept_vpc_peering_connection(Client, Input, []). accept_vpc_peering_connection(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"AcceptVpcPeeringConnection">>, Input, Options). %% @doc Advertises an IPv4 or IPv6 address range that is provisioned for use %% with your Amazon Web Services resources through bring your own IP %% addresses (BYOIP). %% %% You can perform this operation at most once every 10 seconds, even if you %% specify different address ranges each time. %% %% We recommend that you stop advertising the BYOIP CIDR from other locations %% when you advertise it from Amazon Web Services. To minimize down time, you %% can configure your Amazon Web Services resources to use an address from a %% BYOIP CIDR before it is advertised, and then simultaneously stop %% advertising it from the current location and start advertising it through %% Amazon Web Services. %% %% It can take a few minutes before traffic to the specified addresses starts %% routing to Amazon Web Services because of BGP propagation delays. %% %% To stop advertising the BYOIP CIDR, use `WithdrawByoipCidr'. advertise_byoip_cidr(Client, Input) when is_map(Client), is_map(Input) -> advertise_byoip_cidr(Client, Input, []). advertise_byoip_cidr(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"AdvertiseByoipCidr">>, Input, Options). %% @doc Allocates an Elastic IP address to your Amazon Web Services account. %% %% After you allocate the Elastic IP address you can associate it with an %% instance or network interface. After you release an Elastic IP address, it %% is released to the IP address pool and can be allocated to a different %% Amazon Web Services account. %% %% You can allocate an Elastic IP address from an address pool owned by %% Amazon Web Services or from an address pool created from a public IPv4 %% address range that you have brought to Amazon Web Services for use with %% your Amazon Web Services resources using bring your own IP addresses %% (BYOIP). For more information, see Bring Your Own IP Addresses (BYOIP) in %% the Amazon Elastic Compute Cloud User Guide. %% %% If you release an Elastic IP address, you might be able to recover it. You %% cannot recover an Elastic IP address that you released after it is %% allocated to another Amazon Web Services account. To attempt to recover an %% Elastic IP address that you released, specify it in this operation. %% %% For more information, see Elastic IP Addresses in the Amazon Elastic %% Compute Cloud User Guide. %% %% You can allocate a carrier IP address which is a public IP address from a %% telecommunication carrier, to a network interface which resides in a %% subnet in a Wavelength Zone (for example an EC2 instance). allocate_address(Client, Input) when is_map(Client), is_map(Input) -> allocate_address(Client, Input, []). allocate_address(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"AllocateAddress">>, Input, Options). %% @doc Allocates a Dedicated Host to your account. %% %% At a minimum, specify the supported instance type or instance family, the %% Availability Zone in which to allocate the host, and the number of hosts %% to allocate. allocate_hosts(Client, Input) when is_map(Client), is_map(Input) -> allocate_hosts(Client, Input, []). allocate_hosts(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"AllocateHosts">>, Input, Options). %% @doc Allocate a CIDR from an IPAM pool. %% %% The Region you use should be the IPAM pool locale. The locale is the %% Amazon Web Services Region where this IPAM pool is available for %% allocations. %% %% In IPAM, an allocation is a CIDR assignment from an IPAM pool to another %% IPAM pool or to a resource. For more information, see Allocate CIDRs in %% the Amazon VPC IPAM User Guide. %% %% This action creates an allocation with strong consistency. The returned %% CIDR will not overlap with any other allocations from the same pool. allocate_ipam_pool_cidr(Client, Input) when is_map(Client), is_map(Input) -> allocate_ipam_pool_cidr(Client, Input, []). allocate_ipam_pool_cidr(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"AllocateIpamPoolCidr">>, Input, Options). %% @doc Applies a security group to the association between the target %% network and the Client VPN endpoint. %% %% This action replaces the existing security groups with the specified %% security groups. apply_security_groups_to_client_vpn_target_network(Client, Input) when is_map(Client), is_map(Input) -> apply_security_groups_to_client_vpn_target_network(Client, Input, []). apply_security_groups_to_client_vpn_target_network(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"ApplySecurityGroupsToClientVpnTargetNetwork">>, Input, Options). %% @doc Assigns one or more IPv6 addresses to the specified network %% interface. %% %% You can specify one or more specific IPv6 addresses, or you can specify %% the number of IPv6 addresses to be automatically assigned from within the %% subnet's IPv6 CIDR block range. You can assign as many IPv6 addresses %% to a network interface as you can assign private IPv4 addresses, and the %% limit varies per instance type. For information, see IP Addresses Per %% Network Interface Per Instance Type in the Amazon Elastic Compute Cloud %% User Guide. %% %% You must specify either the IPv6 addresses or the IPv6 address count in %% the request. %% %% You can optionally use Prefix Delegation on the network interface. You %% must specify either the IPV6 Prefix Delegation prefixes, or the IPv6 %% Prefix Delegation count. For information, see Assigning prefixes to Amazon %% EC2 network interfaces in the Amazon Elastic Compute Cloud User Guide. assign_ipv6_addresses(Client, Input) when is_map(Client), is_map(Input) -> assign_ipv6_addresses(Client, Input, []). assign_ipv6_addresses(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"AssignIpv6Addresses">>, Input, Options). %% @doc Assigns one or more secondary private IP addresses to the specified %% network interface. %% %% You can specify one or more specific secondary IP addresses, or you can %% specify the number of secondary IP addresses to be automatically assigned %% within the subnet's CIDR block range. The number of secondary IP %% addresses that you can assign to an instance varies by instance type. For %% information about instance types, see Instance Types in the Amazon Elastic %% Compute Cloud User Guide. For more information about Elastic IP addresses, %% see Elastic IP Addresses in the Amazon Elastic Compute Cloud User Guide. %% %% When you move a secondary private IP address to another network interface, %% any Elastic IP address that is associated with the IP address is also %% moved. %% %% Remapping an IP address is an asynchronous operation. When you move an IP %% address from one network interface to another, check %% `network/interfaces/macs/mac/local-ipv4s' in the instance metadata to %% confirm that the remapping is complete. %% %% You must specify either the IP addresses or the IP address count in the %% request. %% %% You can optionally use Prefix Delegation on the network interface. You %% must specify either the IPv4 Prefix Delegation prefixes, or the IPv4 %% Prefix Delegation count. For information, see Assigning prefixes to Amazon %% EC2 network interfaces in the Amazon Elastic Compute Cloud User Guide. assign_private_ip_addresses(Client, Input) when is_map(Client), is_map(Input) -> assign_private_ip_addresses(Client, Input, []). assign_private_ip_addresses(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"AssignPrivateIpAddresses">>, Input, Options). %% @doc Assigns one or more private IPv4 addresses to a private NAT gateway. %% %% For more information, see Work with NAT gateways in the Amazon VPC User %% Guide. assign_private_nat_gateway_address(Client, Input) when is_map(Client), is_map(Input) -> assign_private_nat_gateway_address(Client, Input, []). assign_private_nat_gateway_address(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"AssignPrivateNatGatewayAddress">>, Input, Options). %% @doc Associates an Elastic IP address, or carrier IP address (for %% instances that are in subnets in Wavelength Zones) with an instance or a %% network interface. %% %% Before you can use an Elastic IP address, you must allocate it to your %% account. %% %% If the Elastic IP address is already associated with a different instance, %% it is disassociated from that instance and associated with the specified %% instance. If you associate an Elastic IP address with an instance that has %% an existing Elastic IP address, the existing address is disassociated from %% the instance, but remains allocated to your account. %% %% [Subnets in Wavelength Zones] You can associate an IP address from the %% telecommunication carrier to the instance or network interface. %% %% You cannot associate an Elastic IP address with an interface in a %% different network border group. %% %% This is an idempotent operation. If you perform the operation more than %% once, Amazon EC2 doesn't return an error, and you may be charged for %% each time the Elastic IP address is remapped to the same instance. For %% more information, see the Elastic IP Addresses section of Amazon EC2 %% Pricing. associate_address(Client, Input) when is_map(Client), is_map(Input) -> associate_address(Client, Input, []). associate_address(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"AssociateAddress">>, Input, Options). %% @doc Associates a target network with a Client VPN endpoint. %% %% A target network is a subnet in a VPC. You can associate multiple subnets %% from the same VPC with a Client VPN endpoint. You can associate only one %% subnet in each Availability Zone. We recommend that you associate at least %% two subnets to provide Availability Zone redundancy. %% %% If you specified a VPC when you created the Client VPN endpoint or if you %% have previous subnet associations, the specified subnet must be in the %% same VPC. To specify a subnet that's in a different VPC, you must %% first modify the Client VPN endpoint (`ModifyClientVpnEndpoint') and %% change the VPC that's associated with it. associate_client_vpn_target_network(Client, Input) when is_map(Client), is_map(Input) -> associate_client_vpn_target_network(Client, Input, []). associate_client_vpn_target_network(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"AssociateClientVpnTargetNetwork">>, Input, Options). %% @doc Associates a set of DHCP options (that you've previously created) %% with the specified VPC, or associates no DHCP options with the VPC. %% %% After you associate the options with the VPC, any existing instances and %% all new instances that you launch in that VPC use the options. You %% don't need to restart or relaunch the instances. They automatically %% pick up the changes within a few hours, depending on how frequently the %% instance renews its DHCP lease. You can explicitly renew the lease using %% the operating system on the instance. %% %% For more information, see DHCP options sets in the Amazon VPC User Guide. associate_dhcp_options(Client, Input) when is_map(Client), is_map(Input) -> associate_dhcp_options(Client, Input, []). associate_dhcp_options(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"AssociateDhcpOptions">>, Input, Options). %% @doc Associates an Identity and Access Management (IAM) role with an %% Certificate Manager (ACM) certificate. %% %% This enables the certificate to be used by the ACM for Nitro Enclaves %% application inside an enclave. For more information, see Certificate %% Manager for Nitro Enclaves in the Amazon Web Services Nitro Enclaves User %% Guide. %% %% When the IAM role is associated with the ACM certificate, the certificate, %% certificate chain, and encrypted private key are placed in an Amazon S3 %% location that only the associated IAM role can access. The private key of %% the certificate is encrypted with an Amazon Web Services managed key that %% has an attached attestation-based key policy. %% %% To enable the IAM role to access the Amazon S3 object, you must grant it %% permission to call `s3:GetObject' on the Amazon S3 bucket returned by %% the command. To enable the IAM role to access the KMS key, you must grant %% it permission to call `kms:Decrypt' on the KMS key returned by the %% command. For more information, see Grant the role permission to access the %% certificate and encryption key in the Amazon Web Services Nitro Enclaves %% User Guide. associate_enclave_certificate_iam_role(Client, Input) when is_map(Client), is_map(Input) -> associate_enclave_certificate_iam_role(Client, Input, []). associate_enclave_certificate_iam_role(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"AssociateEnclaveCertificateIamRole">>, Input, Options). %% @doc Associates an IAM instance profile with a running or stopped %% instance. %% %% You cannot associate more than one IAM instance profile with an instance. associate_iam_instance_profile(Client, Input) when is_map(Client), is_map(Input) -> associate_iam_instance_profile(Client, Input, []). associate_iam_instance_profile(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"AssociateIamInstanceProfile">>, Input, Options). %% @doc Associates one or more targets with an event window. %% %% Only one type of target (instance IDs, Dedicated Host IDs, or tags) can be %% specified with an event window. %% %% For more information, see Define event windows for scheduled events in the %% Amazon EC2 User Guide. associate_instance_event_window(Client, Input) when is_map(Client), is_map(Input) -> associate_instance_event_window(Client, Input, []). associate_instance_event_window(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"AssociateInstanceEventWindow">>, Input, Options). %% @doc Associates your Autonomous System Number (ASN) with a BYOIP CIDR that %% you own in the same Amazon Web Services Region. %% %% For more information, see Tutorial: Bring your ASN to IPAM in the Amazon %% VPC IPAM guide. %% %% After the association succeeds, the ASN is eligible for advertisement. You %% can view the association with DescribeByoipCidrs. You can advertise the %% CIDR with AdvertiseByoipCidr. associate_ipam_byoasn(Client, Input) when is_map(Client), is_map(Input) -> associate_ipam_byoasn(Client, Input, []). associate_ipam_byoasn(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"AssociateIpamByoasn">>, Input, Options). %% @doc Associates an IPAM resource discovery with an Amazon VPC IPAM. %% %% A resource discovery is an IPAM component that enables IPAM to manage and %% monitor resources that belong to the owning account. associate_ipam_resource_discovery(Client, Input) when is_map(Client), is_map(Input) -> associate_ipam_resource_discovery(Client, Input, []). associate_ipam_resource_discovery(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"AssociateIpamResourceDiscovery">>, Input, Options). %% @doc Associates Elastic IP addresses (EIPs) and private IPv4 addresses %% with a public NAT gateway. %% %% For more information, see Work with NAT gateways in the Amazon VPC User %% Guide. %% %% By default, you can associate up to 2 Elastic IP addresses per public NAT %% gateway. You can increase the limit by requesting a quota adjustment. For %% more information, see Elastic IP address quotas in the Amazon VPC User %% Guide. %% %% When you associate an EIP or secondary EIPs with a public NAT gateway, the %% network border group of the EIPs must match the network border group of %% the Availability Zone (AZ) that the public NAT gateway is in. If it's %% not the same, the EIP will fail to associate. You can see the network %% border group for the subnet's AZ by viewing the details of the subnet. %% Similarly, you can view the network border group of an EIP by viewing the %% details of the EIP address. For more information about network border %% groups and EIPs, see Allocate an Elastic IP address in the Amazon VPC User %% Guide. associate_nat_gateway_address(Client, Input) when is_map(Client), is_map(Input) -> associate_nat_gateway_address(Client, Input, []). associate_nat_gateway_address(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"AssociateNatGatewayAddress">>, Input, Options). %% @doc Associates a subnet in your VPC or an internet gateway or virtual %% private gateway attached to your VPC with a route table in your VPC. %% %% This association causes traffic from the subnet or gateway to be routed %% according to the routes in the route table. The action returns an %% association ID, which you need in order to disassociate the route table %% later. A route table can be associated with multiple subnets. %% %% For more information, see Route tables in the Amazon VPC User Guide. associate_route_table(Client, Input) when is_map(Client), is_map(Input) -> associate_route_table(Client, Input, []). associate_route_table(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"AssociateRouteTable">>, Input, Options). %% @doc Associates a CIDR block with your subnet. %% %% You can only associate a single IPv6 CIDR block with your subnet. associate_subnet_cidr_block(Client, Input) when is_map(Client), is_map(Input) -> associate_subnet_cidr_block(Client, Input, []). associate_subnet_cidr_block(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"AssociateSubnetCidrBlock">>, Input, Options). %% @doc Associates the specified subnets and transit gateway attachments with %% the specified transit gateway multicast domain. %% %% The transit gateway attachment must be in the available state before you %% can add a resource. Use DescribeTransitGatewayAttachments to see the state %% of the attachment. associate_transit_gateway_multicast_domain(Client, Input) when is_map(Client), is_map(Input) -> associate_transit_gateway_multicast_domain(Client, Input, []). associate_transit_gateway_multicast_domain(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"AssociateTransitGatewayMulticastDomain">>, Input, Options). %% @doc Associates the specified transit gateway attachment with a transit %% gateway policy table. associate_transit_gateway_policy_table(Client, Input) when is_map(Client), is_map(Input) -> associate_transit_gateway_policy_table(Client, Input, []). associate_transit_gateway_policy_table(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"AssociateTransitGatewayPolicyTable">>, Input, Options). %% @doc Associates the specified attachment with the specified transit %% gateway route table. %% %% You can associate only one route table with an attachment. associate_transit_gateway_route_table(Client, Input) when is_map(Client), is_map(Input) -> associate_transit_gateway_route_table(Client, Input, []). associate_transit_gateway_route_table(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"AssociateTransitGatewayRouteTable">>, Input, Options). %% @doc Associates a branch network interface with a trunk network interface. %% %% Before you create the association, run the create-network-interface %% command and set `--interface-type' to `trunk'. You must also %% create a network interface for each branch network interface that you want %% to associate with the trunk network interface. associate_trunk_interface(Client, Input) when is_map(Client), is_map(Input) -> associate_trunk_interface(Client, Input, []). associate_trunk_interface(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"AssociateTrunkInterface">>, Input, Options). %% @doc Associates a CIDR block with your VPC. %% %% You can associate a secondary IPv4 CIDR block, an Amazon-provided IPv6 %% CIDR block, or an IPv6 CIDR block from an IPv6 address pool that you %% provisioned through bring your own IP addresses (BYOIP). %% %% You must specify one of the following in the request: an IPv4 CIDR block, %% an IPv6 pool, or an Amazon-provided IPv6 CIDR block. %% %% For more information about associating CIDR blocks with your VPC and %% applicable restrictions, see IP addressing for your VPCs and subnets in %% the Amazon VPC User Guide. associate_vpc_cidr_block(Client, Input) when is_map(Client), is_map(Input) -> associate_vpc_cidr_block(Client, Input, []). associate_vpc_cidr_block(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"AssociateVpcCidrBlock">>, Input, Options). %% @doc This action is deprecated. %% %% Links an EC2-Classic instance to a ClassicLink-enabled VPC through one or %% more of the VPC security groups. You cannot link an EC2-Classic instance %% to more than one VPC at a time. You can only link an instance that's %% in the `running' state. An instance is automatically unlinked from a %% VPC when it's stopped - you can link it to the VPC again when you %% restart it. %% %% After you've linked an instance, you cannot change the VPC security %% groups that are associated with it. To change the security groups, you %% must first unlink the instance, and then link it again. %% %% Linking your instance to a VPC is sometimes referred to as attaching your %% instance. attach_classic_link_vpc(Client, Input) when is_map(Client), is_map(Input) -> attach_classic_link_vpc(Client, Input, []). attach_classic_link_vpc(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"AttachClassicLinkVpc">>, Input, Options). %% @doc Attaches an internet gateway or a virtual private gateway to a VPC, %% enabling connectivity between the internet and the VPC. %% %% For more information, see Internet gateways in the Amazon VPC User Guide. attach_internet_gateway(Client, Input) when is_map(Client), is_map(Input) -> attach_internet_gateway(Client, Input, []). attach_internet_gateway(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"AttachInternetGateway">>, Input, Options). %% @doc Attaches a network interface to an instance. attach_network_interface(Client, Input) when is_map(Client), is_map(Input) -> attach_network_interface(Client, Input, []). attach_network_interface(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"AttachNetworkInterface">>, Input, Options). %% @doc Attaches the specified Amazon Web Services Verified Access trust %% provider to the specified Amazon Web Services Verified Access instance. attach_verified_access_trust_provider(Client, Input) when is_map(Client), is_map(Input) -> attach_verified_access_trust_provider(Client, Input, []). attach_verified_access_trust_provider(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"AttachVerifiedAccessTrustProvider">>, Input, Options). %% @doc Attaches an EBS volume to a running or stopped instance and exposes %% it to the instance with the specified device name. %% %% Encrypted EBS volumes must be attached to instances that support Amazon %% EBS encryption. For more information, see Amazon EBS encryption in the %% Amazon Elastic Compute Cloud User Guide. %% %% After you attach an EBS volume, you must make it available. For more %% information, see Make an EBS volume available for use. %% %% If a volume has an Amazon Web Services Marketplace product code: %% %% For more information, see Attach an Amazon EBS volume to an %% instance in the Amazon Elastic Compute Cloud User Guide. attach_volume(Client, Input) when is_map(Client), is_map(Input) -> attach_volume(Client, Input, []). attach_volume(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"AttachVolume">>, Input, Options). %% @doc Attaches a virtual private gateway to a VPC. %% %% You can attach one virtual private gateway to one VPC at a time. %% %% For more information, see Amazon Web Services Site-to-Site VPN in the %% Amazon Web Services Site-to-Site VPN User Guide. attach_vpn_gateway(Client, Input) when is_map(Client), is_map(Input) -> attach_vpn_gateway(Client, Input, []). attach_vpn_gateway(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"AttachVpnGateway">>, Input, Options). %% @doc Adds an ingress authorization rule to a Client VPN endpoint. %% %% Ingress authorization rules act as firewall rules that grant access to %% networks. You must configure ingress authorization rules to enable clients %% to access resources in Amazon Web Services or on-premises networks. authorize_client_vpn_ingress(Client, Input) when is_map(Client), is_map(Input) -> authorize_client_vpn_ingress(Client, Input, []). authorize_client_vpn_ingress(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"AuthorizeClientVpnIngress">>, Input, Options). %% @doc Adds the specified outbound (egress) rules to a security group for %% use with a VPC. %% %% An outbound rule permits instances to send traffic to the specified IPv4 %% or IPv6 CIDR address ranges, or to the instances that are associated with %% the specified source security groups. When specifying an outbound rule for %% your security group in a VPC, the `IpPermissions' must include a %% destination for the traffic. %% %% You specify a protocol for each rule (for example, TCP). For the TCP and %% UDP protocols, you must also specify the destination port or port range. %% For the ICMP protocol, you must also specify the ICMP type and code. You %% can use -1 for the type or code to mean all types or all codes. %% %% Rule changes are propagated to affected instances as quickly as possible. %% However, a small delay might occur. %% %% For information about VPC security group quotas, see Amazon VPC quotas. %% %% If you want to reference a security group across VPCs attached to a %% transit gateway using the security group referencing feature, note that %% you can only reference security groups for ingress rules. You cannot %% reference a security group for egress rules. authorize_security_group_egress(Client, Input) when is_map(Client), is_map(Input) -> authorize_security_group_egress(Client, Input, []). authorize_security_group_egress(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"AuthorizeSecurityGroupEgress">>, Input, Options). %% @doc Adds the specified inbound (ingress) rules to a security group. %% %% An inbound rule permits instances to receive traffic from the specified %% IPv4 or IPv6 CIDR address range, or from the instances that are associated %% with the specified destination security groups. When specifying an inbound %% rule for your security group in a VPC, the `IpPermissions' must %% include a source for the traffic. %% %% You specify a protocol for each rule (for example, TCP). For TCP and UDP, %% you must also specify the destination port or port range. For ICMP/ICMPv6, %% you must also specify the ICMP/ICMPv6 type and code. You can use -1 to %% mean all types or all codes. %% %% Rule changes are propagated to instances within the security group as %% quickly as possible. However, a small delay might occur. %% %% For more information about VPC security group quotas, see Amazon VPC %% quotas. authorize_security_group_ingress(Client, Input) when is_map(Client), is_map(Input) -> authorize_security_group_ingress(Client, Input, []). authorize_security_group_ingress(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"AuthorizeSecurityGroupIngress">>, Input, Options). %% @doc Bundles an Amazon instance store-backed Windows instance. %% %% During bundling, only the root device volume (C:\) is bundled. Data on %% other instance store volumes is not preserved. %% %% This action is not applicable for Linux/Unix instances or Windows %% instances that are backed by Amazon EBS. bundle_instance(Client, Input) when is_map(Client), is_map(Input) -> bundle_instance(Client, Input, []). bundle_instance(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"BundleInstance">>, Input, Options). %% @doc Cancels a bundling operation for an instance store-backed Windows %% instance. cancel_bundle_task(Client, Input) when is_map(Client), is_map(Input) -> cancel_bundle_task(Client, Input, []). cancel_bundle_task(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"CancelBundleTask">>, Input, Options). %% @doc Cancels the specified Capacity Reservation, releases the reserved %% capacity, and changes the Capacity Reservation's state to %% `cancelled'. %% %% Instances running in the reserved capacity continue running until you stop %% them. Stopped instances that target the Capacity Reservation can no longer %% launch. Modify these instances to either target a different Capacity %% Reservation, launch On-Demand Instance capacity, or run in any open %% Capacity Reservation that has matching attributes and sufficient capacity. cancel_capacity_reservation(Client, Input) when is_map(Client), is_map(Input) -> cancel_capacity_reservation(Client, Input, []). cancel_capacity_reservation(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"CancelCapacityReservation">>, Input, Options). %% @doc Cancels one or more Capacity Reservation Fleets. %% %% When you cancel a Capacity Reservation Fleet, the following happens: %% %% cancel_capacity_reservation_fleets(Client, Input) when is_map(Client), is_map(Input) -> cancel_capacity_reservation_fleets(Client, Input, []). cancel_capacity_reservation_fleets(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"CancelCapacityReservationFleets">>, Input, Options). %% @doc Cancels an active conversion task. %% %% The task can be the import of an instance or volume. The action removes %% all artifacts of the conversion, including a partially uploaded volume or %% instance. If the conversion is complete or is in the process of %% transferring the final disk image, the command fails and returns an %% exception. %% %% For more information, see Importing a Virtual Machine Using the Amazon EC2 %% CLI. cancel_conversion_task(Client, Input) when is_map(Client), is_map(Input) -> cancel_conversion_task(Client, Input, []). cancel_conversion_task(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"CancelConversionTask">>, Input, Options). %% @doc Cancels an active export task. %% %% The request removes all artifacts of the export, including any %% partially-created Amazon S3 objects. If the export task is complete or is %% in the process of transferring the final disk image, the command fails and %% returns an error. cancel_export_task(Client, Input) when is_map(Client), is_map(Input) -> cancel_export_task(Client, Input, []). cancel_export_task(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"CancelExportTask">>, Input, Options). %% @doc Removes your Amazon Web Services account from the launch permissions %% for the specified AMI. %% %% For more information, see Cancel having an AMI shared with your Amazon Web %% Services account in the Amazon EC2 User Guide. cancel_image_launch_permission(Client, Input) when is_map(Client), is_map(Input) -> cancel_image_launch_permission(Client, Input, []). cancel_image_launch_permission(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"CancelImageLaunchPermission">>, Input, Options). %% @doc Cancels an in-process import virtual machine or import snapshot task. cancel_import_task(Client, Input) when is_map(Client), is_map(Input) -> cancel_import_task(Client, Input, []). cancel_import_task(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"CancelImportTask">>, Input, Options). %% @doc Cancels the specified Reserved Instance listing in the Reserved %% Instance Marketplace. %% %% For more information, see Reserved Instance Marketplace in the Amazon EC2 %% User Guide. cancel_reserved_instances_listing(Client, Input) when is_map(Client), is_map(Input) -> cancel_reserved_instances_listing(Client, Input, []). cancel_reserved_instances_listing(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"CancelReservedInstancesListing">>, Input, Options). %% @doc Cancels the specified Spot Fleet requests. %% %% After you cancel a Spot Fleet request, the Spot Fleet launches no new %% instances. %% %% You must also specify whether a canceled Spot Fleet request should %% terminate its instances. If you choose to terminate the instances, the %% Spot Fleet request enters the `cancelled_terminating' state. %% Otherwise, the Spot Fleet request enters the `cancelled_running' state %% and the instances continue to run until they are interrupted or you %% terminate them manually. cancel_spot_fleet_requests(Client, Input) when is_map(Client), is_map(Input) -> cancel_spot_fleet_requests(Client, Input, []). cancel_spot_fleet_requests(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"CancelSpotFleetRequests">>, Input, Options). %% @doc Cancels one or more Spot Instance requests. %% %% Canceling a Spot Instance request does not terminate running Spot %% Instances associated with the request. cancel_spot_instance_requests(Client, Input) when is_map(Client), is_map(Input) -> cancel_spot_instance_requests(Client, Input, []). cancel_spot_instance_requests(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"CancelSpotInstanceRequests">>, Input, Options). %% @doc Determines whether a product code is associated with an instance. %% %% This action can only be used by the owner of the product code. It is %% useful when a product code owner must verify whether another user's %% instance is eligible for support. confirm_product_instance(Client, Input) when is_map(Client), is_map(Input) -> confirm_product_instance(Client, Input, []). confirm_product_instance(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"ConfirmProductInstance">>, Input, Options). %% @doc Copies the specified Amazon FPGA Image (AFI) to the current Region. copy_fpga_image(Client, Input) when is_map(Client), is_map(Input) -> copy_fpga_image(Client, Input, []). copy_fpga_image(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"CopyFpgaImage">>, Input, Options). %% @doc Initiates the copy of an AMI. %% %% You can copy an AMI from one Region to another, or from a Region to an %% Outpost. You can't copy an AMI from an Outpost to a Region, from one %% Outpost to another, or within the same Outpost. To copy an AMI to another %% partition, see CreateStoreImageTask. %% %% To copy an AMI from one Region to another, specify the source Region using %% the SourceRegion parameter, and specify the destination Region using its %% endpoint. Copies of encrypted backing snapshots for the AMI are encrypted. %% Copies of unencrypted backing snapshots remain unencrypted, unless you set %% `Encrypted' during the copy operation. You cannot create an %% unencrypted copy of an encrypted backing snapshot. %% %% To copy an AMI from a Region to an Outpost, specify the source Region %% using the SourceRegion parameter, and specify the ARN of the destination %% Outpost using DestinationOutpostArn. Backing snapshots copied to an %% Outpost are encrypted by default using the default encryption key for the %% Region, or a different key that you specify in the request using KmsKeyId. %% Outposts do not support unencrypted snapshots. For more information, %% Amazon EBS local snapshots on Outposts in the Amazon EC2 User Guide. %% %% For more information about the prerequisites and limits when copying an %% AMI, see Copy an AMI in the Amazon EC2 User Guide. copy_image(Client, Input) when is_map(Client), is_map(Input) -> copy_image(Client, Input, []). copy_image(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"CopyImage">>, Input, Options). %% @doc Copies a point-in-time snapshot of an EBS volume and stores it in %% Amazon S3. %% %% You can copy a snapshot within the same Region, from one Region to %% another, or from a Region to an Outpost. You can't copy a snapshot %% from an Outpost to a Region, from one Outpost to another, or within the %% same Outpost. %% %% You can use the snapshot to create EBS volumes or Amazon Machine Images %% (AMIs). %% %% When copying snapshots to a Region, copies of encrypted EBS snapshots %% remain encrypted. Copies of unencrypted snapshots remain unencrypted, %% unless you enable encryption for the snapshot copy operation. By default, %% encrypted snapshot copies use the default Key Management Service (KMS) KMS %% key; however, you can specify a different KMS key. To copy an encrypted %% snapshot that has been shared from another account, you must have %% permissions for the KMS key used to encrypt the snapshot. %% %% Snapshots copied to an Outpost are encrypted by default using the default %% encryption key for the Region, or a different key that you specify in the %% request using KmsKeyId. Outposts do not support unencrypted snapshots. For %% more information, Amazon EBS local snapshots on Outposts in the Amazon %% Elastic Compute Cloud User Guide. %% %% Snapshots created by copying another snapshot have an arbitrary volume ID %% that should not be used for any purpose. %% %% For more information, see Copy an Amazon EBS snapshot in the Amazon %% Elastic Compute Cloud User Guide. copy_snapshot(Client, Input) when is_map(Client), is_map(Input) -> copy_snapshot(Client, Input, []). copy_snapshot(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"CopySnapshot">>, Input, Options). %% @doc Creates a new Capacity Reservation with the specified attributes. %% %% Capacity Reservations enable you to reserve capacity for your Amazon EC2 %% instances in a specific Availability Zone for any duration. This gives you %% the flexibility to selectively add capacity reservations and still get the %% Regional RI discounts for that usage. By creating Capacity Reservations, %% you ensure that you always have access to Amazon EC2 capacity when you %% need it, for as long as you need it. For more information, see Capacity %% Reservations in the Amazon EC2 User Guide. %% %% Your request to create a Capacity Reservation could fail if Amazon EC2 %% does not have sufficient capacity to fulfill the request. If your request %% fails due to Amazon EC2 capacity constraints, either try again at a later %% time, try in a different Availability Zone, or request a smaller capacity %% reservation. If your application is flexible across instance types and %% sizes, try to create a Capacity Reservation with different instance %% attributes. %% %% Your request could also fail if the requested quantity exceeds your %% On-Demand Instance limit for the selected instance type. If your request %% fails due to limit constraints, increase your On-Demand Instance limit for %% the required instance type and try again. For more information about %% increasing your instance limits, see Amazon EC2 Service Quotas in the %% Amazon EC2 User Guide. create_capacity_reservation(Client, Input) when is_map(Client), is_map(Input) -> create_capacity_reservation(Client, Input, []). create_capacity_reservation(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"CreateCapacityReservation">>, Input, Options). %% @doc Creates a Capacity Reservation Fleet. %% %% For more information, see Create a Capacity Reservation Fleet in the %% Amazon EC2 User Guide. create_capacity_reservation_fleet(Client, Input) when is_map(Client), is_map(Input) -> create_capacity_reservation_fleet(Client, Input, []). create_capacity_reservation_fleet(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"CreateCapacityReservationFleet">>, Input, Options). %% @doc Creates a carrier gateway. %% %% For more information about carrier gateways, see Carrier gateways in the %% Amazon Web Services Wavelength Developer Guide. create_carrier_gateway(Client, Input) when is_map(Client), is_map(Input) -> create_carrier_gateway(Client, Input, []). create_carrier_gateway(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"CreateCarrierGateway">>, Input, Options). %% @doc Creates a Client VPN endpoint. %% %% A Client VPN endpoint is the resource you create and configure to enable %% and manage client VPN sessions. It is the destination endpoint at which %% all client VPN sessions are terminated. create_client_vpn_endpoint(Client, Input) when is_map(Client), is_map(Input) -> create_client_vpn_endpoint(Client, Input, []). create_client_vpn_endpoint(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"CreateClientVpnEndpoint">>, Input, Options). %% @doc Adds a route to a network to a Client VPN endpoint. %% %% Each Client VPN endpoint has a route table that describes the available %% destination network routes. Each route in the route table specifies the %% path for traffic to specific resources or networks. create_client_vpn_route(Client, Input) when is_map(Client), is_map(Input) -> create_client_vpn_route(Client, Input, []). create_client_vpn_route(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"CreateClientVpnRoute">>, Input, Options). %% @doc Creates a range of customer-owned IP addresses. create_coip_cidr(Client, Input) when is_map(Client), is_map(Input) -> create_coip_cidr(Client, Input, []). create_coip_cidr(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"CreateCoipCidr">>, Input, Options). %% @doc Creates a pool of customer-owned IP (CoIP) addresses. create_coip_pool(Client, Input) when is_map(Client), is_map(Input) -> create_coip_pool(Client, Input, []). create_coip_pool(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"CreateCoipPool">>, Input, Options). %% @doc Provides information to Amazon Web Services about your customer %% gateway device. %% %% The customer gateway device is the appliance at your end of the VPN %% connection. You must provide the IP address of the customer gateway %% device’s external interface. The IP address must be static and can be %% behind a device performing network address translation (NAT). %% %% For devices that use Border Gateway Protocol (BGP), you can also provide %% the device's BGP Autonomous System Number (ASN). You can use an %% existing ASN assigned to your network. If you don't have an ASN %% already, you can use a private ASN. For more information, see Customer %% gateway options for your Site-to-Site VPN connection in the Amazon Web %% Services Site-to-Site VPN User Guide. %% %% To create more than one customer gateway with the same VPN type, IP %% address, and BGP ASN, specify a unique device name for each customer %% gateway. An identical request returns information about the existing %% customer gateway; it doesn't create a new customer gateway. create_customer_gateway(Client, Input) when is_map(Client), is_map(Input) -> create_customer_gateway(Client, Input, []). create_customer_gateway(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"CreateCustomerGateway">>, Input, Options). %% @doc Creates a default subnet with a size `/20' IPv4 CIDR block in the %% specified Availability Zone in your default VPC. %% %% You can have only one default subnet per Availability Zone. For more %% information, see Create a default subnet in the Amazon VPC User Guide. create_default_subnet(Client, Input) when is_map(Client), is_map(Input) -> create_default_subnet(Client, Input, []). create_default_subnet(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"CreateDefaultSubnet">>, Input, Options). %% @doc Creates a default VPC with a size `/16' IPv4 CIDR block and a %% default subnet in each Availability Zone. %% %% For more information about the components of a default VPC, see Default %% VPCs in the Amazon VPC User Guide. You cannot specify the components of %% the default VPC yourself. %% %% If you deleted your previous default VPC, you can create a default VPC. %% You cannot have more than one default VPC per Region. create_default_vpc(Client, Input) when is_map(Client), is_map(Input) -> create_default_vpc(Client, Input, []). create_default_vpc(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"CreateDefaultVpc">>, Input, Options). %% @doc Creates a set of DHCP options for your VPC. %% %% After creating the set, you must associate it with the VPC, causing all %% existing and new instances that you launch in the VPC to use this set of %% DHCP options. The following are the individual DHCP options you can %% specify. For more information about the options, see RFC 2132. %% %% Your VPC automatically starts out with a set of DHCP options %% that includes only a DNS server that we provide (AmazonProvidedDNS). If %% you create a set of options, and if your VPC has an internet gateway, make %% sure to set the `domain-name-servers' option either to %% `AmazonProvidedDNS' or to a domain name server of your choice. For %% more information, see DHCP options sets in the Amazon VPC User Guide. create_dhcp_options(Client, Input) when is_map(Client), is_map(Input) -> create_dhcp_options(Client, Input, []). create_dhcp_options(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"CreateDhcpOptions">>, Input, Options). %% @doc [IPv6 only] Creates an egress-only internet gateway for your VPC. %% %% An egress-only internet gateway is used to enable outbound communication %% over IPv6 from instances in your VPC to the internet, and prevents hosts %% outside of your VPC from initiating an IPv6 connection with your instance. create_egress_only_internet_gateway(Client, Input) when is_map(Client), is_map(Input) -> create_egress_only_internet_gateway(Client, Input, []). create_egress_only_internet_gateway(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"CreateEgressOnlyInternetGateway">>, Input, Options). %% @doc Creates an EC2 Fleet that contains the configuration information for %% On-Demand Instances and Spot Instances. %% %% Instances are launched immediately if there is available capacity. %% %% A single EC2 Fleet can include multiple launch specifications that vary by %% instance type, AMI, Availability Zone, or subnet. %% %% For more information, see EC2 Fleet in the Amazon EC2 User Guide. create_fleet(Client, Input) when is_map(Client), is_map(Input) -> create_fleet(Client, Input, []). create_fleet(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"CreateFleet">>, Input, Options). %% @doc Creates one or more flow logs to capture information about IP traffic %% for a specific network interface, subnet, or VPC. %% %% Flow log data for a monitored network interface is recorded as flow log %% records, which are log events consisting of fields that describe the %% traffic flow. For more information, see Flow log records in the Amazon %% Virtual Private Cloud User Guide. %% %% When publishing to CloudWatch Logs, flow log records are published to a %% log group, and each network interface has a unique log stream in the log %% group. When publishing to Amazon S3, flow log records for all of the %% monitored network interfaces are published to a single log file object %% that is stored in the specified bucket. %% %% For more information, see VPC Flow Logs in the Amazon Virtual Private %% Cloud User Guide. create_flow_logs(Client, Input) when is_map(Client), is_map(Input) -> create_flow_logs(Client, Input, []). create_flow_logs(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"CreateFlowLogs">>, Input, Options). %% @doc Creates an Amazon FPGA Image (AFI) from the specified design %% checkpoint (DCP). %% %% The create operation is asynchronous. To verify that the AFI is ready for %% use, check the output logs. %% %% An AFI contains the FPGA bitstream that is ready to download to an FPGA. %% You can securely deploy an AFI on multiple FPGA-accelerated instances. For %% more information, see the Amazon Web Services FPGA Hardware Development %% Kit. create_fpga_image(Client, Input) when is_map(Client), is_map(Input) -> create_fpga_image(Client, Input, []). create_fpga_image(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"CreateFpgaImage">>, Input, Options). %% @doc Creates an Amazon EBS-backed AMI from an Amazon EBS-backed instance %% that is either running or stopped. %% %% If you customized your instance with instance store volumes or Amazon EBS %% volumes in addition to the root device volume, the new AMI contains block %% device mapping information for those volumes. When you launch an instance %% from this new AMI, the instance automatically launches with those %% additional volumes. %% %% For more information, see Create an Amazon EBS-backed Linux AMI in the %% Amazon Elastic Compute Cloud User Guide. create_image(Client, Input) when is_map(Client), is_map(Input) -> create_image(Client, Input, []). create_image(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"CreateImage">>, Input, Options). %% @doc Creates an EC2 Instance Connect Endpoint. %% %% An EC2 Instance Connect Endpoint allows you to connect to an instance, %% without requiring the instance to have a public IPv4 address. For more %% information, see Connect to your instances without requiring a public IPv4 %% address using EC2 Instance Connect Endpoint in the Amazon EC2 User Guide. create_instance_connect_endpoint(Client, Input) when is_map(Client), is_map(Input) -> create_instance_connect_endpoint(Client, Input, []). create_instance_connect_endpoint(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"CreateInstanceConnectEndpoint">>, Input, Options). %% @doc Creates an event window in which scheduled events for the associated %% Amazon EC2 instances can run. %% %% You can define either a set of time ranges or a cron expression when %% creating the event window, but not both. All event window times are in %% UTC. %% %% You can create up to 200 event windows per Amazon Web Services Region. %% %% When you create the event window, targets (instance IDs, Dedicated Host %% IDs, or tags) are not yet associated with it. To ensure that the event %% window can be used, you must associate one or more targets with it by %% using the `AssociateInstanceEventWindow' API. %% %% Event windows are applicable only for scheduled events that stop, reboot, %% or terminate instances. %% %% Event windows are not applicable for: %% %% Expedited scheduled events and network maintenance events. %% %% Unscheduled maintenance such as AutoRecovery and unplanned reboots. %% %% For more information, see Define event windows for scheduled events in the %% Amazon EC2 User Guide. create_instance_event_window(Client, Input) when is_map(Client), is_map(Input) -> create_instance_event_window(Client, Input, []). create_instance_event_window(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"CreateInstanceEventWindow">>, Input, Options). %% @doc Exports a running or stopped instance to an Amazon S3 bucket. %% %% For information about the prerequisites for your Amazon S3 bucket, %% supported operating systems, image formats, and known limitations for the %% types of instances you can export, see Exporting an instance as a VM Using %% VM Import/Export in the VM Import/Export User Guide. create_instance_export_task(Client, Input) when is_map(Client), is_map(Input) -> create_instance_export_task(Client, Input, []). create_instance_export_task(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"CreateInstanceExportTask">>, Input, Options). %% @doc Creates an internet gateway for use with a VPC. %% %% After creating the internet gateway, you attach it to a VPC using %% `AttachInternetGateway'. %% %% For more information, see Internet gateways in the Amazon VPC User Guide. create_internet_gateway(Client, Input) when is_map(Client), is_map(Input) -> create_internet_gateway(Client, Input, []). create_internet_gateway(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"CreateInternetGateway">>, Input, Options). %% @doc Create an IPAM. %% %% Amazon VPC IP Address Manager (IPAM) is a VPC feature that you can use to %% automate your IP address management workflows including assigning, %% tracking, troubleshooting, and auditing IP addresses across Amazon Web %% Services Regions and accounts throughout your Amazon Web Services %% Organization. %% %% For more information, see Create an IPAM in the Amazon VPC IPAM User %% Guide. create_ipam(Client, Input) when is_map(Client), is_map(Input) -> create_ipam(Client, Input, []). create_ipam(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"CreateIpam">>, Input, Options). %% @doc Create an IP address pool for Amazon VPC IP Address Manager (IPAM). %% %% In IPAM, a pool is a collection of contiguous IP addresses CIDRs. Pools %% enable you to organize your IP addresses according to your routing and %% security needs. For example, if you have separate routing and security %% needs for development and production applications, you can create a pool %% for each. %% %% For more information, see Create a top-level pool in the Amazon VPC IPAM %% User Guide. create_ipam_pool(Client, Input) when is_map(Client), is_map(Input) -> create_ipam_pool(Client, Input, []). create_ipam_pool(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"CreateIpamPool">>, Input, Options). %% @doc Creates an IPAM resource discovery. %% %% A resource discovery is an IPAM component that enables IPAM to manage and %% monitor resources that belong to the owning account. create_ipam_resource_discovery(Client, Input) when is_map(Client), is_map(Input) -> create_ipam_resource_discovery(Client, Input, []). create_ipam_resource_discovery(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"CreateIpamResourceDiscovery">>, Input, Options). %% @doc Create an IPAM scope. %% %% In IPAM, a scope is the highest-level container within IPAM. An IPAM %% contains two default scopes. Each scope represents the IP space for a %% single network. The private scope is intended for all private IP address %% space. The public scope is intended for all public IP address space. %% Scopes enable you to reuse IP addresses across multiple unconnected %% networks without causing IP address overlap or conflict. %% %% For more information, see Add a scope in the Amazon VPC IPAM User Guide. create_ipam_scope(Client, Input) when is_map(Client), is_map(Input) -> create_ipam_scope(Client, Input, []). create_ipam_scope(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"CreateIpamScope">>, Input, Options). %% @doc Creates an ED25519 or 2048-bit RSA key pair with the specified name %% and in the specified PEM or PPK format. %% %% Amazon EC2 stores the public key and displays the private key for you to %% save to a file. The private key is returned as an unencrypted PEM encoded %% PKCS#1 private key or an unencrypted PPK formatted private key for use %% with PuTTY. If a key with the specified name already exists, Amazon EC2 %% returns an error. %% %% The key pair returned to you is available only in the Amazon Web Services %% Region in which you create it. If you prefer, you can create your own key %% pair using a third-party tool and upload it to any Region using %% `ImportKeyPair'. %% %% You can have up to 5,000 key pairs per Amazon Web Services Region. %% %% For more information, see Amazon EC2 key pairs in the Amazon Elastic %% Compute Cloud User Guide. create_key_pair(Client, Input) when is_map(Client), is_map(Input) -> create_key_pair(Client, Input, []). create_key_pair(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"CreateKeyPair">>, Input, Options). %% @doc Creates a launch template. %% %% A launch template contains the parameters to launch an instance. When you %% launch an instance using `RunInstances', you can specify a launch %% template instead of providing the launch parameters in the request. For %% more information, see Launch an instance from a launch template in the %% Amazon Elastic Compute Cloud User Guide. %% %% If you want to clone an existing launch template as the basis for creating %% a new launch template, you can use the Amazon EC2 console. The API, SDKs, %% and CLI do not support cloning a template. For more information, see %% Create a launch template from an existing launch template in the Amazon %% Elastic Compute Cloud User Guide. create_launch_template(Client, Input) when is_map(Client), is_map(Input) -> create_launch_template(Client, Input, []). create_launch_template(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"CreateLaunchTemplate">>, Input, Options). %% @doc Creates a new version of a launch template. %% %% You can specify an existing version of launch template from which to base %% the new version. %% %% Launch template versions are numbered in the order in which they are %% created. You cannot specify, change, or replace the numbering of launch %% template versions. %% %% Launch templates are immutable; after you create a launch template, you %% can't modify it. Instead, you can create a new version of the launch %% template that includes any changes you require. %% %% For more information, see Modify a launch template (manage launch template %% versions) in the Amazon Elastic Compute Cloud User Guide. create_launch_template_version(Client, Input) when is_map(Client), is_map(Input) -> create_launch_template_version(Client, Input, []). create_launch_template_version(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"CreateLaunchTemplateVersion">>, Input, Options). %% @doc Creates a static route for the specified local gateway route table. %% %% You must specify one of the following targets: %% %% create_local_gateway_route(Client, Input) when is_map(Client), is_map(Input) -> create_local_gateway_route(Client, Input, []). create_local_gateway_route(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"CreateLocalGatewayRoute">>, Input, Options). %% @doc Creates a local gateway route table. create_local_gateway_route_table(Client, Input) when is_map(Client), is_map(Input) -> create_local_gateway_route_table(Client, Input, []). create_local_gateway_route_table(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"CreateLocalGatewayRouteTable">>, Input, Options). %% @doc Creates a local gateway route table virtual interface group %% association. create_local_gateway_route_table_virtual_interface_group_association(Client, Input) when is_map(Client), is_map(Input) -> create_local_gateway_route_table_virtual_interface_group_association(Client, Input, []). create_local_gateway_route_table_virtual_interface_group_association(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"CreateLocalGatewayRouteTableVirtualInterfaceGroupAssociation">>, Input, Options). %% @doc Associates the specified VPC with the specified local gateway route %% table. create_local_gateway_route_table_vpc_association(Client, Input) when is_map(Client), is_map(Input) -> create_local_gateway_route_table_vpc_association(Client, Input, []). create_local_gateway_route_table_vpc_association(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"CreateLocalGatewayRouteTableVpcAssociation">>, Input, Options). %% @doc Creates a managed prefix list. %% %% You can specify one or more entries for the prefix list. Each entry %% consists of a CIDR block and an optional description. create_managed_prefix_list(Client, Input) when is_map(Client), is_map(Input) -> create_managed_prefix_list(Client, Input, []). create_managed_prefix_list(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"CreateManagedPrefixList">>, Input, Options). %% @doc Creates a NAT gateway in the specified subnet. %% %% This action creates a network interface in the specified subnet with a %% private IP address from the IP address range of the subnet. You can create %% either a public NAT gateway or a private NAT gateway. %% %% With a public NAT gateway, internet-bound traffic from a private subnet %% can be routed to the NAT gateway, so that instances in a private subnet %% can connect to the internet. %% %% With a private NAT gateway, private communication is routed across VPCs %% and on-premises networks through a transit gateway or virtual private %% gateway. Common use cases include running large workloads behind a small %% pool of allowlisted IPv4 addresses, preserving private IPv4 addresses, and %% communicating between overlapping networks. %% %% For more information, see NAT gateways in the Amazon VPC User Guide. %% %% When you create a public NAT gateway and assign it an EIP or secondary %% EIPs, the network border group of the EIPs must match the network border %% group of the Availability Zone (AZ) that the public NAT gateway is in. If %% it's not the same, the NAT gateway will fail to launch. You can see %% the network border group for the subnet's AZ by viewing the details of %% the subnet. Similarly, you can view the network border group of an EIP by %% viewing the details of the EIP address. For more information about network %% border groups and EIPs, see Allocate an Elastic IP address in the Amazon %% VPC User Guide. create_nat_gateway(Client, Input) when is_map(Client), is_map(Input) -> create_nat_gateway(Client, Input, []). create_nat_gateway(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"CreateNatGateway">>, Input, Options). %% @doc Creates a network ACL in a VPC. %% %% Network ACLs provide an optional layer of security (in addition to %% security groups) for the instances in your VPC. %% %% For more information, see Network ACLs in the Amazon VPC User Guide. create_network_acl(Client, Input) when is_map(Client), is_map(Input) -> create_network_acl(Client, Input, []). create_network_acl(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"CreateNetworkAcl">>, Input, Options). %% @doc Creates an entry (a rule) in a network ACL with the specified rule %% number. %% %% Each network ACL has a set of numbered ingress rules and a separate set of %% numbered egress rules. When determining whether a packet should be allowed %% in or out of a subnet associated with the ACL, we process the entries in %% the ACL according to the rule numbers, in ascending order. Each network %% ACL has a set of ingress rules and a separate set of egress rules. %% %% We recommend that you leave room between the rule numbers (for example, %% 100, 110, 120, ...), and not number them one right after the other (for %% example, 101, 102, 103, ...). This makes it easier to add a rule between %% existing ones without having to renumber the rules. %% %% After you add an entry, you can't modify it; you must either replace %% it, or create an entry and delete the old one. %% %% For more information about network ACLs, see Network ACLs in the Amazon %% VPC User Guide. create_network_acl_entry(Client, Input) when is_map(Client), is_map(Input) -> create_network_acl_entry(Client, Input, []). create_network_acl_entry(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"CreateNetworkAclEntry">>, Input, Options). %% @doc Creates a Network Access Scope. %% %% Amazon Web Services Network Access Analyzer enables cloud networking and %% cloud operations teams to verify that their networks on Amazon Web %% Services conform to their network security and governance objectives. For %% more information, see the Amazon Web Services Network Access Analyzer %% Guide. create_network_insights_access_scope(Client, Input) when is_map(Client), is_map(Input) -> create_network_insights_access_scope(Client, Input, []). create_network_insights_access_scope(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"CreateNetworkInsightsAccessScope">>, Input, Options). %% @doc Creates a path to analyze for reachability. %% %% Reachability Analyzer enables you to analyze and debug network %% reachability between two resources in your virtual private cloud (VPC). %% For more information, see the Reachability Analyzer Guide. create_network_insights_path(Client, Input) when is_map(Client), is_map(Input) -> create_network_insights_path(Client, Input, []). create_network_insights_path(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"CreateNetworkInsightsPath">>, Input, Options). %% @doc Creates a network interface in the specified subnet. %% %% The number of IP addresses you can assign to a network interface varies by %% instance type. For more information, see IP Addresses Per ENI Per Instance %% Type in the Amazon Virtual Private Cloud User Guide. %% %% For more information about network interfaces, see Elastic network %% interfaces in the Amazon Elastic Compute Cloud User Guide. create_network_interface(Client, Input) when is_map(Client), is_map(Input) -> create_network_interface(Client, Input, []). create_network_interface(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"CreateNetworkInterface">>, Input, Options). %% @doc Grants an Amazon Web Services-authorized account permission to attach %% the specified network interface to an instance in their account. %% %% You can grant permission to a single Amazon Web Services account only, and %% only one account at a time. create_network_interface_permission(Client, Input) when is_map(Client), is_map(Input) -> create_network_interface_permission(Client, Input, []). create_network_interface_permission(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"CreateNetworkInterfacePermission">>, Input, Options). %% @doc Creates a placement group in which to launch instances. %% %% The strategy of the placement group determines how the instances are %% organized within the group. %% %% A `cluster' placement group is a logical grouping of instances within %% a single Availability Zone that benefit from low network latency, high %% network throughput. A `spread' placement group places instances on %% distinct hardware. A `partition' placement group places groups of %% instances in different partitions, where instances in one partition do not %% share the same hardware with instances in another partition. %% %% For more information, see Placement groups in the Amazon EC2 User Guide. create_placement_group(Client, Input) when is_map(Client), is_map(Input) -> create_placement_group(Client, Input, []). create_placement_group(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"CreatePlacementGroup">>, Input, Options). %% @doc Creates a public IPv4 address pool. %% %% A public IPv4 pool is an EC2 IP address pool required for the public IPv4 %% CIDRs that you own and bring to Amazon Web Services to manage with IPAM. %% IPv6 addresses you bring to Amazon Web Services, however, use IPAM pools %% only. To monitor the status of pool creation, use DescribePublicIpv4Pools. create_public_ipv4_pool(Client, Input) when is_map(Client), is_map(Input) -> create_public_ipv4_pool(Client, Input, []). create_public_ipv4_pool(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"CreatePublicIpv4Pool">>, Input, Options). %% @doc Replaces the EBS-backed root volume for a `running' instance with %% a new volume that is restored to the original root volume's launch %% state, that is restored to a specific snapshot taken from the original %% root volume, or that is restored from an AMI that has the same key %% characteristics as that of the instance. %% %% For more information, see Replace a root volume in the Amazon Elastic %% Compute Cloud User Guide. create_replace_root_volume_task(Client, Input) when is_map(Client), is_map(Input) -> create_replace_root_volume_task(Client, Input, []). create_replace_root_volume_task(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"CreateReplaceRootVolumeTask">>, Input, Options). %% @doc Creates a listing for Amazon EC2 Standard Reserved Instances to be %% sold in the Reserved Instance Marketplace. %% %% You can submit one Standard Reserved Instance listing at a time. To get a %% list of your Standard Reserved Instances, you can use the %% `DescribeReservedInstances' operation. %% %% Only Standard Reserved Instances can be sold in the Reserved Instance %% Marketplace. Convertible Reserved Instances cannot be sold. %% %% The Reserved Instance Marketplace matches sellers who want to resell %% Standard Reserved Instance capacity that they no longer need with buyers %% who want to purchase additional capacity. Reserved Instances bought and %% sold through the Reserved Instance Marketplace work like any other %% Reserved Instances. %% %% To sell your Standard Reserved Instances, you must first register as a %% seller in the Reserved Instance Marketplace. After completing the %% registration process, you can create a Reserved Instance Marketplace %% listing of some or all of your Standard Reserved Instances, and specify %% the upfront price to receive for them. Your Standard Reserved Instance %% listings then become available for purchase. To view the details of your %% Standard Reserved Instance listing, you can use the %% `DescribeReservedInstancesListings' operation. %% %% For more information, see Reserved Instance Marketplace in the Amazon EC2 %% User Guide. create_reserved_instances_listing(Client, Input) when is_map(Client), is_map(Input) -> create_reserved_instances_listing(Client, Input, []). create_reserved_instances_listing(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"CreateReservedInstancesListing">>, Input, Options). %% @doc Starts a task that restores an AMI from an Amazon S3 object that was %% previously created by using CreateStoreImageTask. %% %% To use this API, you must have the required permissions. For more %% information, see Permissions for storing and restoring AMIs using Amazon %% S3 in the Amazon EC2 User Guide. %% %% For more information, see Store and restore an AMI using Amazon S3 in the %% Amazon EC2 User Guide. create_restore_image_task(Client, Input) when is_map(Client), is_map(Input) -> create_restore_image_task(Client, Input, []). create_restore_image_task(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"CreateRestoreImageTask">>, Input, Options). %% @doc Creates a route in a route table within a VPC. %% %% You must specify either a destination CIDR block or a prefix list ID. You %% must also specify exactly one of the resources from the parameter list. %% %% When determining how to route traffic, we use the route with the most %% specific match. For example, traffic is destined for the IPv4 address %% `192.0.2.3', and the route table includes the following two IPv4 %% routes: %% %% Both routes apply to the traffic destined for `192.0.2.3'. %% However, the second route in the list covers a smaller number of IP %% addresses and is therefore more specific, so we use that route to %% determine where to target the traffic. %% %% For more information about route tables, see Route tables in the Amazon %% VPC User Guide. create_route(Client, Input) when is_map(Client), is_map(Input) -> create_route(Client, Input, []). create_route(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"CreateRoute">>, Input, Options). %% @doc Creates a route table for the specified VPC. %% %% After you create a route table, you can add routes and associate the table %% with a subnet. %% %% For more information, see Route tables in the Amazon VPC User Guide. create_route_table(Client, Input) when is_map(Client), is_map(Input) -> create_route_table(Client, Input, []). create_route_table(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"CreateRouteTable">>, Input, Options). %% @doc Creates a security group. %% %% A security group acts as a virtual firewall for your instance to control %% inbound and outbound traffic. For more information, see Amazon EC2 %% security groups in the Amazon Elastic Compute Cloud User Guide and %% Security groups for your VPC in the Amazon Virtual Private Cloud User %% Guide. %% %% When you create a security group, you specify a friendly name of your %% choice. You can't have two security groups for the same VPC with the %% same name. %% %% You have a default security group for use in your VPC. If you don't %% specify a security group when you launch an instance, the instance is %% launched into the appropriate default security group. A default security %% group includes a default rule that grants instances unrestricted network %% access to each other. %% %% You can add or remove rules from your security groups using %% `AuthorizeSecurityGroupIngress', `AuthorizeSecurityGroupEgress', %% `RevokeSecurityGroupIngress', and `RevokeSecurityGroupEgress'. %% %% For more information about VPC security group limits, see Amazon VPC %% Limits. create_security_group(Client, Input) when is_map(Client), is_map(Input) -> create_security_group(Client, Input, []). create_security_group(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"CreateSecurityGroup">>, Input, Options). %% @doc Creates a snapshot of an EBS volume and stores it in Amazon S3. %% %% You can use snapshots for backups, to make copies of EBS volumes, and to %% save data before shutting down an instance. %% %% You can create snapshots of volumes in a Region and volumes on an Outpost. %% If you create a snapshot of a volume in a Region, the snapshot must be %% stored in the same Region as the volume. If you create a snapshot of a %% volume on an Outpost, the snapshot can be stored on the same Outpost as %% the volume, or in the Region for that Outpost. %% %% When a snapshot is created, any Amazon Web Services Marketplace product %% codes that are associated with the source volume are propagated to the %% snapshot. %% %% You can take a snapshot of an attached volume that is in use. However, %% snapshots only capture data that has been written to your Amazon EBS %% volume at the time the snapshot command is issued; this might exclude any %% data that has been cached by any applications or the operating system. If %% you can pause any file systems on the volume long enough to take a %% snapshot, your snapshot should be complete. However, if you cannot pause %% all file writes to the volume, you should unmount the volume from within %% the instance, issue the snapshot command, and then remount the volume to %% ensure a consistent and complete snapshot. You may remount and use your %% volume while the snapshot status is `pending'. %% %% When you create a snapshot for an EBS volume that serves as a root device, %% we recommend that you stop the instance before taking the snapshot. %% %% Snapshots that are taken from encrypted volumes are automatically %% encrypted. Volumes that are created from encrypted snapshots are also %% automatically encrypted. Your encrypted volumes and any associated %% snapshots always remain protected. %% %% You can tag your snapshots during creation. For more information, see Tag %% your Amazon EC2 resources in the Amazon Elastic Compute Cloud User Guide. %% %% For more information, see Amazon Elastic Block Store and Amazon EBS %% encryption in the Amazon Elastic Compute Cloud User Guide. create_snapshot(Client, Input) when is_map(Client), is_map(Input) -> create_snapshot(Client, Input, []). create_snapshot(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"CreateSnapshot">>, Input, Options). %% @doc Creates crash-consistent snapshots of multiple EBS volumes and stores %% the data in S3. %% %% Volumes are chosen by specifying an instance. Any attached volumes will %% produce one snapshot each that is crash-consistent across the instance. %% %% You can include all of the volumes currently attached to the instance, or %% you can exclude the root volume or specific data (non-root) volumes from %% the multi-volume snapshot set. %% %% You can create multi-volume snapshots of instances in a Region and %% instances on an Outpost. If you create snapshots from an instance in a %% Region, the snapshots must be stored in the same Region as the instance. %% If you create snapshots from an instance on an Outpost, the snapshots can %% be stored on the same Outpost as the instance, or in the Region for that %% Outpost. create_snapshots(Client, Input) when is_map(Client), is_map(Input) -> create_snapshots(Client, Input, []). create_snapshots(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"CreateSnapshots">>, Input, Options). %% @doc Creates a data feed for Spot Instances, enabling you to view Spot %% Instance usage logs. %% %% You can create one data feed per Amazon Web Services account. For more %% information, see Spot Instance data feed in the Amazon EC2 User Guide for %% Linux Instances. create_spot_datafeed_subscription(Client, Input) when is_map(Client), is_map(Input) -> create_spot_datafeed_subscription(Client, Input, []). create_spot_datafeed_subscription(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"CreateSpotDatafeedSubscription">>, Input, Options). %% @doc Stores an AMI as a single object in an Amazon S3 bucket. %% %% To use this API, you must have the required permissions. For more %% information, see Permissions for storing and restoring AMIs using Amazon %% S3 in the Amazon EC2 User Guide. %% %% For more information, see Store and restore an AMI using Amazon S3 in the %% Amazon EC2 User Guide. create_store_image_task(Client, Input) when is_map(Client), is_map(Input) -> create_store_image_task(Client, Input, []). create_store_image_task(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"CreateStoreImageTask">>, Input, Options). %% @doc Creates a subnet in the specified VPC. %% %% For an IPv4 only subnet, specify an IPv4 CIDR block. If the VPC has an %% IPv6 CIDR block, you can create an IPv6 only subnet or a dual stack subnet %% instead. For an IPv6 only subnet, specify an IPv6 CIDR block. For a dual %% stack subnet, specify both an IPv4 CIDR block and an IPv6 CIDR block. %% %% A subnet CIDR block must not overlap the CIDR block of an existing subnet %% in the VPC. After you create a subnet, you can't change its CIDR %% block. %% %% The allowed size for an IPv4 subnet is between a /28 netmask (16 IP %% addresses) and a /16 netmask (65,536 IP addresses). Amazon Web Services %% reserves both the first four and the last IPv4 address in each %% subnet's CIDR block. They're not available for your use. %% %% If you've associated an IPv6 CIDR block with your VPC, you can %% associate an IPv6 CIDR block with a subnet when you create it. %% %% If you add more than one subnet to a VPC, they're set up in a star %% topology with a logical router in the middle. %% %% When you stop an instance in a subnet, it retains its private IPv4 %% address. It's therefore possible to have a subnet with no running %% instances (they're all stopped), but no remaining IP addresses %% available. %% %% For more information, see Subnets in the Amazon VPC User Guide. create_subnet(Client, Input) when is_map(Client), is_map(Input) -> create_subnet(Client, Input, []). create_subnet(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"CreateSubnet">>, Input, Options). %% @doc Creates a subnet CIDR reservation. %% %% For more information, see Subnet CIDR reservations in the Amazon Virtual %% Private Cloud User Guide and Assign prefixes to network interfaces in the %% Amazon Elastic Compute Cloud User Guide. create_subnet_cidr_reservation(Client, Input) when is_map(Client), is_map(Input) -> create_subnet_cidr_reservation(Client, Input, []). create_subnet_cidr_reservation(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"CreateSubnetCidrReservation">>, Input, Options). %% @doc Adds or overwrites only the specified tags for the specified Amazon %% EC2 resource or resources. %% %% When you specify an existing tag key, the value is overwritten with the %% new value. Each resource can have a maximum of 50 tags. Each tag consists %% of a key and optional value. Tag keys must be unique per resource. %% %% For more information about tags, see Tag your Amazon EC2 resources in the %% Amazon Elastic Compute Cloud User Guide. For more information about %% creating IAM policies that control users' access to resources based on %% tags, see Supported resource-level permissions for Amazon EC2 API actions %% in the Amazon Elastic Compute Cloud User Guide. create_tags(Client, Input) when is_map(Client), is_map(Input) -> create_tags(Client, Input, []). create_tags(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"CreateTags">>, Input, Options). %% @doc Creates a Traffic Mirror filter. %% %% A Traffic Mirror filter is a set of rules that defines the traffic to %% mirror. %% %% By default, no traffic is mirrored. To mirror traffic, use %% CreateTrafficMirrorFilterRule to add Traffic Mirror rules to the filter. %% The rules you add define what traffic gets mirrored. You can also use %% ModifyTrafficMirrorFilterNetworkServices to mirror supported network %% services. create_traffic_mirror_filter(Client, Input) when is_map(Client), is_map(Input) -> create_traffic_mirror_filter(Client, Input, []). create_traffic_mirror_filter(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"CreateTrafficMirrorFilter">>, Input, Options). %% @doc Creates a Traffic Mirror filter rule. %% %% A Traffic Mirror rule defines the Traffic Mirror source traffic to mirror. %% %% You need the Traffic Mirror filter ID when you create the rule. create_traffic_mirror_filter_rule(Client, Input) when is_map(Client), is_map(Input) -> create_traffic_mirror_filter_rule(Client, Input, []). create_traffic_mirror_filter_rule(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"CreateTrafficMirrorFilterRule">>, Input, Options). %% @doc Creates a Traffic Mirror session. %% %% A Traffic Mirror session actively copies packets from a Traffic Mirror %% source to a Traffic Mirror target. Create a filter, and then assign it to %% the session to define a subset of the traffic to mirror, for example all %% TCP traffic. %% %% The Traffic Mirror source and the Traffic Mirror target (monitoring %% appliances) can be in the same VPC, or in a different VPC connected via %% VPC peering or a transit gateway. %% %% By default, no traffic is mirrored. Use CreateTrafficMirrorFilter to %% create filter rules that specify the traffic to mirror. create_traffic_mirror_session(Client, Input) when is_map(Client), is_map(Input) -> create_traffic_mirror_session(Client, Input, []). create_traffic_mirror_session(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"CreateTrafficMirrorSession">>, Input, Options). %% @doc Creates a target for your Traffic Mirror session. %% %% A Traffic Mirror target is the destination for mirrored traffic. The %% Traffic Mirror source and the Traffic Mirror target (monitoring %% appliances) can be in the same VPC, or in different VPCs connected via VPC %% peering or a transit gateway. %% %% A Traffic Mirror target can be a network interface, a Network Load %% Balancer, or a Gateway Load Balancer endpoint. %% %% To use the target in a Traffic Mirror session, use %% CreateTrafficMirrorSession. create_traffic_mirror_target(Client, Input) when is_map(Client), is_map(Input) -> create_traffic_mirror_target(Client, Input, []). create_traffic_mirror_target(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"CreateTrafficMirrorTarget">>, Input, Options). %% @doc Creates a transit gateway. %% %% You can use a transit gateway to interconnect your virtual private clouds %% (VPC) and on-premises networks. After the transit gateway enters the %% `available' state, you can attach your VPCs and VPN connections to the %% transit gateway. %% %% To attach your VPCs, use `CreateTransitGatewayVpcAttachment'. %% %% To attach a VPN connection, use `CreateCustomerGateway' to create a %% customer gateway and specify the ID of the customer gateway and the ID of %% the transit gateway in a call to `CreateVpnConnection'. %% %% When you create a transit gateway, we create a default transit gateway %% route table and use it as the default association route table and the %% default propagation route table. You can use %% `CreateTransitGatewayRouteTable' to create additional transit gateway %% route tables. If you disable automatic route propagation, we do not create %% a default transit gateway route table. You can use %% `EnableTransitGatewayRouteTablePropagation' to propagate routes from a %% resource attachment to a transit gateway route table. If you disable %% automatic associations, you can use %% `AssociateTransitGatewayRouteTable' to associate a resource attachment %% with a transit gateway route table. create_transit_gateway(Client, Input) when is_map(Client), is_map(Input) -> create_transit_gateway(Client, Input, []). create_transit_gateway(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"CreateTransitGateway">>, Input, Options). %% @doc Creates a Connect attachment from a specified transit gateway %% attachment. %% %% A Connect attachment is a GRE-based tunnel attachment that you can use to %% establish a connection between a transit gateway and an appliance. %% %% A Connect attachment uses an existing VPC or Amazon Web Services Direct %% Connect attachment as the underlying transport mechanism. create_transit_gateway_connect(Client, Input) when is_map(Client), is_map(Input) -> create_transit_gateway_connect(Client, Input, []). create_transit_gateway_connect(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"CreateTransitGatewayConnect">>, Input, Options). %% @doc Creates a Connect peer for a specified transit gateway Connect %% attachment between a transit gateway and an appliance. %% %% The peer address and transit gateway address must be the same IP address %% family (IPv4 or IPv6). %% %% For more information, see Connect peers in the Transit Gateways Guide. create_transit_gateway_connect_peer(Client, Input) when is_map(Client), is_map(Input) -> create_transit_gateway_connect_peer(Client, Input, []). create_transit_gateway_connect_peer(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"CreateTransitGatewayConnectPeer">>, Input, Options). %% @doc Creates a multicast domain using the specified transit gateway. %% %% The transit gateway must be in the available state before you create a %% domain. Use DescribeTransitGateways to see the state of transit gateway. create_transit_gateway_multicast_domain(Client, Input) when is_map(Client), is_map(Input) -> create_transit_gateway_multicast_domain(Client, Input, []). create_transit_gateway_multicast_domain(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"CreateTransitGatewayMulticastDomain">>, Input, Options). %% @doc Requests a transit gateway peering attachment between the specified %% transit gateway (requester) and a peer transit gateway (accepter). %% %% The peer transit gateway can be in your account or a different Amazon Web %% Services account. %% %% After you create the peering attachment, the owner of the accepter transit %% gateway must accept the attachment request. create_transit_gateway_peering_attachment(Client, Input) when is_map(Client), is_map(Input) -> create_transit_gateway_peering_attachment(Client, Input, []). create_transit_gateway_peering_attachment(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"CreateTransitGatewayPeeringAttachment">>, Input, Options). %% @doc Creates a transit gateway policy table. create_transit_gateway_policy_table(Client, Input) when is_map(Client), is_map(Input) -> create_transit_gateway_policy_table(Client, Input, []). create_transit_gateway_policy_table(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"CreateTransitGatewayPolicyTable">>, Input, Options). %% @doc Creates a reference (route) to a prefix list in a specified transit %% gateway route table. create_transit_gateway_prefix_list_reference(Client, Input) when is_map(Client), is_map(Input) -> create_transit_gateway_prefix_list_reference(Client, Input, []). create_transit_gateway_prefix_list_reference(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"CreateTransitGatewayPrefixListReference">>, Input, Options). %% @doc Creates a static route for the specified transit gateway route table. create_transit_gateway_route(Client, Input) when is_map(Client), is_map(Input) -> create_transit_gateway_route(Client, Input, []). create_transit_gateway_route(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"CreateTransitGatewayRoute">>, Input, Options). %% @doc Creates a route table for the specified transit gateway. create_transit_gateway_route_table(Client, Input) when is_map(Client), is_map(Input) -> create_transit_gateway_route_table(Client, Input, []). create_transit_gateway_route_table(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"CreateTransitGatewayRouteTable">>, Input, Options). %% @doc Advertises a new transit gateway route table. create_transit_gateway_route_table_announcement(Client, Input) when is_map(Client), is_map(Input) -> create_transit_gateway_route_table_announcement(Client, Input, []). create_transit_gateway_route_table_announcement(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"CreateTransitGatewayRouteTableAnnouncement">>, Input, Options). %% @doc Attaches the specified VPC to the specified transit gateway. %% %% If you attach a VPC with a CIDR range that overlaps the CIDR range of a %% VPC that is already attached, the new VPC CIDR range is not propagated to %% the default propagation route table. %% %% To send VPC traffic to an attached transit gateway, add a route to the VPC %% route table using `CreateRoute'. create_transit_gateway_vpc_attachment(Client, Input) when is_map(Client), is_map(Input) -> create_transit_gateway_vpc_attachment(Client, Input, []). create_transit_gateway_vpc_attachment(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"CreateTransitGatewayVpcAttachment">>, Input, Options). %% @doc An Amazon Web Services Verified Access endpoint is where you define %% your application along with an optional endpoint-level access policy. create_verified_access_endpoint(Client, Input) when is_map(Client), is_map(Input) -> create_verified_access_endpoint(Client, Input, []). create_verified_access_endpoint(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"CreateVerifiedAccessEndpoint">>, Input, Options). %% @doc An Amazon Web Services Verified Access group is a collection of %% Amazon Web Services Verified Access endpoints who's associated %% applications have similar security requirements. %% %% Each instance within a Verified Access group shares an Verified Access %% policy. For example, you can group all Verified Access instances %% associated with "sales" applications together and use one common %% Verified Access policy. create_verified_access_group(Client, Input) when is_map(Client), is_map(Input) -> create_verified_access_group(Client, Input, []). create_verified_access_group(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"CreateVerifiedAccessGroup">>, Input, Options). %% @doc An Amazon Web Services Verified Access instance is a regional entity %% that evaluates application requests and grants access only when your %% security requirements are met. create_verified_access_instance(Client, Input) when is_map(Client), is_map(Input) -> create_verified_access_instance(Client, Input, []). create_verified_access_instance(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"CreateVerifiedAccessInstance">>, Input, Options). %% @doc A trust provider is a third-party entity that creates, maintains, and %% manages identity information for users and devices. %% %% When an application request is made, the identity information sent by the %% trust provider is evaluated by Verified Access before allowing or denying %% the application request. create_verified_access_trust_provider(Client, Input) when is_map(Client), is_map(Input) -> create_verified_access_trust_provider(Client, Input, []). create_verified_access_trust_provider(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"CreateVerifiedAccessTrustProvider">>, Input, Options). %% @doc Creates an EBS volume that can be attached to an instance in the same %% Availability Zone. %% %% You can create a new empty volume or restore a volume from an EBS %% snapshot. Any Amazon Web Services Marketplace product codes from the %% snapshot are propagated to the volume. %% %% You can create encrypted volumes. Encrypted volumes must be attached to %% instances that support Amazon EBS encryption. Volumes that are created %% from encrypted snapshots are also automatically encrypted. For more %% information, see Amazon EBS encryption in the Amazon Elastic Compute Cloud %% User Guide. %% %% You can tag your volumes during creation. For more information, see Tag %% your Amazon EC2 resources in the Amazon Elastic Compute Cloud User Guide. %% %% For more information, see Create an Amazon EBS volume in the Amazon %% Elastic Compute Cloud User Guide. create_volume(Client, Input) when is_map(Client), is_map(Input) -> create_volume(Client, Input, []). create_volume(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"CreateVolume">>, Input, Options). %% @doc Creates a VPC with the specified CIDR blocks. %% %% For more information, see IP addressing for your VPCs and subnets in the %% Amazon VPC User Guide. %% %% You can optionally request an IPv6 CIDR block for the VPC. You can request %% an Amazon-provided IPv6 CIDR block from Amazon's pool of IPv6 %% addresses or an IPv6 CIDR block from an IPv6 address pool that you %% provisioned through bring your own IP addresses (BYOIP). %% %% By default, each instance that you launch in the VPC has the default DHCP %% options, which include only a default DNS server that we provide %% (AmazonProvidedDNS). For more information, see DHCP option sets in the %% Amazon VPC User Guide. %% %% You can specify the instance tenancy value for the VPC when you create it. %% You can't change this value for the VPC after you create it. For more %% information, see Dedicated Instances in the Amazon EC2 User Guide. create_vpc(Client, Input) when is_map(Client), is_map(Input) -> create_vpc(Client, Input, []). create_vpc(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"CreateVpc">>, Input, Options). %% @doc Creates a VPC endpoint. %% %% A VPC endpoint provides a private connection between the specified VPC and %% the specified endpoint service. You can use an endpoint service provided %% by Amazon Web Services, an Amazon Web Services Marketplace Partner, or %% another Amazon Web Services account. For more information, see the Amazon %% Web Services PrivateLink User Guide. create_vpc_endpoint(Client, Input) when is_map(Client), is_map(Input) -> create_vpc_endpoint(Client, Input, []). create_vpc_endpoint(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"CreateVpcEndpoint">>, Input, Options). %% @doc Creates a connection notification for a specified VPC endpoint or VPC %% endpoint service. %% %% A connection notification notifies you of specific endpoint events. You %% must create an SNS topic to receive notifications. For more information, %% see Create a Topic in the Amazon Simple Notification Service Developer %% Guide. %% %% You can create a connection notification for interface endpoints only. create_vpc_endpoint_connection_notification(Client, Input) when is_map(Client), is_map(Input) -> create_vpc_endpoint_connection_notification(Client, Input, []). create_vpc_endpoint_connection_notification(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"CreateVpcEndpointConnectionNotification">>, Input, Options). %% @doc Creates a VPC endpoint service to which service consumers (Amazon Web %% Services accounts, users, and IAM roles) can connect. %% %% Before you create an endpoint service, you must create one of the %% following for your service: %% %% If you set the private DNS name, you must prove that you own %% the private DNS domain name. %% %% For more information, see the Amazon Web Services PrivateLink Guide. create_vpc_endpoint_service_configuration(Client, Input) when is_map(Client), is_map(Input) -> create_vpc_endpoint_service_configuration(Client, Input, []). create_vpc_endpoint_service_configuration(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"CreateVpcEndpointServiceConfiguration">>, Input, Options). %% @doc Requests a VPC peering connection between two VPCs: a requester VPC %% that you own and an accepter VPC with which to create the connection. %% %% The accepter VPC can belong to another Amazon Web Services account and can %% be in a different Region to the requester VPC. The requester VPC and %% accepter VPC cannot have overlapping CIDR blocks. %% %% Limitations and rules apply to a VPC peering connection. For more %% information, see the limitations section in the VPC Peering Guide. %% %% The owner of the accepter VPC must accept the peering request to activate %% the peering connection. The VPC peering connection request expires after 7 %% days, after which it cannot be accepted or rejected. %% %% If you create a VPC peering connection request between VPCs with %% overlapping CIDR blocks, the VPC peering connection has a status of %% `failed'. create_vpc_peering_connection(Client, Input) when is_map(Client), is_map(Input) -> create_vpc_peering_connection(Client, Input, []). create_vpc_peering_connection(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"CreateVpcPeeringConnection">>, Input, Options). %% @doc Creates a VPN connection between an existing virtual private gateway %% or transit gateway and a customer gateway. %% %% The supported connection type is `ipsec.1'. %% %% The response includes information that you need to give to your network %% administrator to configure your customer gateway. %% %% We strongly recommend that you use HTTPS when calling this operation %% because the response contains sensitive cryptographic information for %% configuring your customer gateway device. %% %% If you decide to shut down your VPN connection for any reason and later %% create a new VPN connection, you must reconfigure your customer gateway %% with the new information returned from this call. %% %% This is an idempotent operation. If you perform the operation more than %% once, Amazon EC2 doesn't return an error. %% %% For more information, see Amazon Web Services Site-to-Site VPN in the %% Amazon Web Services Site-to-Site VPN User Guide. create_vpn_connection(Client, Input) when is_map(Client), is_map(Input) -> create_vpn_connection(Client, Input, []). create_vpn_connection(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"CreateVpnConnection">>, Input, Options). %% @doc Creates a static route associated with a VPN connection between an %% existing virtual private gateway and a VPN customer gateway. %% %% The static route allows traffic to be routed from the virtual private %% gateway to the VPN customer gateway. %% %% For more information, see Amazon Web Services Site-to-Site VPN in the %% Amazon Web Services Site-to-Site VPN User Guide. create_vpn_connection_route(Client, Input) when is_map(Client), is_map(Input) -> create_vpn_connection_route(Client, Input, []). create_vpn_connection_route(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"CreateVpnConnectionRoute">>, Input, Options). %% @doc Creates a virtual private gateway. %% %% A virtual private gateway is the endpoint on the VPC side of your VPN %% connection. You can create a virtual private gateway before creating the %% VPC itself. %% %% For more information, see Amazon Web Services Site-to-Site VPN in the %% Amazon Web Services Site-to-Site VPN User Guide. create_vpn_gateway(Client, Input) when is_map(Client), is_map(Input) -> create_vpn_gateway(Client, Input, []). create_vpn_gateway(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"CreateVpnGateway">>, Input, Options). %% @doc Deletes a carrier gateway. %% %% If you do not delete the route that contains the carrier gateway as the %% Target, the route is a blackhole route. For information about how to %% delete a route, see DeleteRoute. delete_carrier_gateway(Client, Input) when is_map(Client), is_map(Input) -> delete_carrier_gateway(Client, Input, []). delete_carrier_gateway(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DeleteCarrierGateway">>, Input, Options). %% @doc Deletes the specified Client VPN endpoint. %% %% You must disassociate all target networks before you can delete a Client %% VPN endpoint. delete_client_vpn_endpoint(Client, Input) when is_map(Client), is_map(Input) -> delete_client_vpn_endpoint(Client, Input, []). delete_client_vpn_endpoint(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DeleteClientVpnEndpoint">>, Input, Options). %% @doc Deletes a route from a Client VPN endpoint. %% %% You can only delete routes that you manually added using the %% CreateClientVpnRoute action. You cannot delete routes that were %% automatically added when associating a subnet. To remove routes that have %% been automatically added, disassociate the target subnet from the Client %% VPN endpoint. delete_client_vpn_route(Client, Input) when is_map(Client), is_map(Input) -> delete_client_vpn_route(Client, Input, []). delete_client_vpn_route(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DeleteClientVpnRoute">>, Input, Options). %% @doc Deletes a range of customer-owned IP addresses. delete_coip_cidr(Client, Input) when is_map(Client), is_map(Input) -> delete_coip_cidr(Client, Input, []). delete_coip_cidr(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DeleteCoipCidr">>, Input, Options). %% @doc Deletes a pool of customer-owned IP (CoIP) addresses. delete_coip_pool(Client, Input) when is_map(Client), is_map(Input) -> delete_coip_pool(Client, Input, []). delete_coip_pool(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DeleteCoipPool">>, Input, Options). %% @doc Deletes the specified customer gateway. %% %% You must delete the VPN connection before you can delete the customer %% gateway. delete_customer_gateway(Client, Input) when is_map(Client), is_map(Input) -> delete_customer_gateway(Client, Input, []). delete_customer_gateway(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DeleteCustomerGateway">>, Input, Options). %% @doc Deletes the specified set of DHCP options. %% %% You must disassociate the set of DHCP options before you can delete it. %% You can disassociate the set of DHCP options by associating either a new %% set of options or the default set of options with the VPC. delete_dhcp_options(Client, Input) when is_map(Client), is_map(Input) -> delete_dhcp_options(Client, Input, []). delete_dhcp_options(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DeleteDhcpOptions">>, Input, Options). %% @doc Deletes an egress-only internet gateway. delete_egress_only_internet_gateway(Client, Input) when is_map(Client), is_map(Input) -> delete_egress_only_internet_gateway(Client, Input, []). delete_egress_only_internet_gateway(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DeleteEgressOnlyInternetGateway">>, Input, Options). %% @doc Deletes the specified EC2 Fleets. %% %% After you delete an EC2 Fleet, it launches no new instances. %% %% You must also specify whether a deleted EC2 Fleet should terminate its %% instances. If you choose to terminate the instances, the EC2 Fleet enters %% the `deleted_terminating' state. Otherwise, the EC2 Fleet enters the %% `deleted_running' state, and the instances continue to run until they %% are interrupted or you terminate them manually. %% %% For `instant' fleets, EC2 Fleet must terminate the instances when the %% fleet is deleted. A deleted `instant' fleet with running instances is %% not supported. %% %% == Restrictions == %% %% For more information, see Delete an EC2 Fleet in the Amazon %% EC2 User Guide. delete_fleets(Client, Input) when is_map(Client), is_map(Input) -> delete_fleets(Client, Input, []). delete_fleets(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DeleteFleets">>, Input, Options). %% @doc Deletes one or more flow logs. delete_flow_logs(Client, Input) when is_map(Client), is_map(Input) -> delete_flow_logs(Client, Input, []). delete_flow_logs(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DeleteFlowLogs">>, Input, Options). %% @doc Deletes the specified Amazon FPGA Image (AFI). delete_fpga_image(Client, Input) when is_map(Client), is_map(Input) -> delete_fpga_image(Client, Input, []). delete_fpga_image(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DeleteFpgaImage">>, Input, Options). %% @doc Deletes the specified EC2 Instance Connect Endpoint. delete_instance_connect_endpoint(Client, Input) when is_map(Client), is_map(Input) -> delete_instance_connect_endpoint(Client, Input, []). delete_instance_connect_endpoint(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DeleteInstanceConnectEndpoint">>, Input, Options). %% @doc Deletes the specified event window. %% %% For more information, see Define event windows for scheduled events in the %% Amazon EC2 User Guide. delete_instance_event_window(Client, Input) when is_map(Client), is_map(Input) -> delete_instance_event_window(Client, Input, []). delete_instance_event_window(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DeleteInstanceEventWindow">>, Input, Options). %% @doc Deletes the specified internet gateway. %% %% You must detach the internet gateway from the VPC before you can delete %% it. delete_internet_gateway(Client, Input) when is_map(Client), is_map(Input) -> delete_internet_gateway(Client, Input, []). delete_internet_gateway(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DeleteInternetGateway">>, Input, Options). %% @doc Delete an IPAM. %% %% Deleting an IPAM removes all monitored data associated with the IPAM %% including the historical data for CIDRs. %% %% For more information, see Delete an IPAM in the Amazon VPC IPAM User %% Guide. delete_ipam(Client, Input) when is_map(Client), is_map(Input) -> delete_ipam(Client, Input, []). delete_ipam(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DeleteIpam">>, Input, Options). %% @doc Delete an IPAM pool. %% %% You cannot delete an IPAM pool if there are allocations in it or CIDRs %% provisioned to it. To release allocations, see ReleaseIpamPoolAllocation. %% To deprovision pool CIDRs, see DeprovisionIpamPoolCidr. %% %% For more information, see Delete a pool in the Amazon VPC IPAM User Guide. delete_ipam_pool(Client, Input) when is_map(Client), is_map(Input) -> delete_ipam_pool(Client, Input, []). delete_ipam_pool(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DeleteIpamPool">>, Input, Options). %% @doc Deletes an IPAM resource discovery. %% %% A resource discovery is an IPAM component that enables IPAM to manage and %% monitor resources that belong to the owning account. delete_ipam_resource_discovery(Client, Input) when is_map(Client), is_map(Input) -> delete_ipam_resource_discovery(Client, Input, []). delete_ipam_resource_discovery(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DeleteIpamResourceDiscovery">>, Input, Options). %% @doc Delete the scope for an IPAM. %% %% You cannot delete the default scopes. %% %% For more information, see Delete a scope in the Amazon VPC IPAM User %% Guide. delete_ipam_scope(Client, Input) when is_map(Client), is_map(Input) -> delete_ipam_scope(Client, Input, []). delete_ipam_scope(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DeleteIpamScope">>, Input, Options). %% @doc Deletes the specified key pair, by removing the public key from %% Amazon EC2. delete_key_pair(Client, Input) when is_map(Client), is_map(Input) -> delete_key_pair(Client, Input, []). delete_key_pair(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DeleteKeyPair">>, Input, Options). %% @doc Deletes a launch template. %% %% Deleting a launch template deletes all of its versions. delete_launch_template(Client, Input) when is_map(Client), is_map(Input) -> delete_launch_template(Client, Input, []). delete_launch_template(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DeleteLaunchTemplate">>, Input, Options). %% @doc Deletes one or more versions of a launch template. %% %% You can't delete the default version of a launch template; you must %% first assign a different version as the default. If the default version is %% the only version for the launch template, you must delete the entire %% launch template using `DeleteLaunchTemplate'. %% %% You can delete up to 200 launch template versions in a single request. To %% delete more than 200 versions in a single request, use %% `DeleteLaunchTemplate', which deletes the launch template and all of %% its versions. %% %% For more information, see Delete a launch template version in the EC2 User %% Guide. delete_launch_template_versions(Client, Input) when is_map(Client), is_map(Input) -> delete_launch_template_versions(Client, Input, []). delete_launch_template_versions(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DeleteLaunchTemplateVersions">>, Input, Options). %% @doc Deletes the specified route from the specified local gateway route %% table. delete_local_gateway_route(Client, Input) when is_map(Client), is_map(Input) -> delete_local_gateway_route(Client, Input, []). delete_local_gateway_route(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DeleteLocalGatewayRoute">>, Input, Options). %% @doc Deletes a local gateway route table. delete_local_gateway_route_table(Client, Input) when is_map(Client), is_map(Input) -> delete_local_gateway_route_table(Client, Input, []). delete_local_gateway_route_table(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DeleteLocalGatewayRouteTable">>, Input, Options). %% @doc Deletes a local gateway route table virtual interface group %% association. delete_local_gateway_route_table_virtual_interface_group_association(Client, Input) when is_map(Client), is_map(Input) -> delete_local_gateway_route_table_virtual_interface_group_association(Client, Input, []). delete_local_gateway_route_table_virtual_interface_group_association(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DeleteLocalGatewayRouteTableVirtualInterfaceGroupAssociation">>, Input, Options). %% @doc Deletes the specified association between a VPC and local gateway %% route table. delete_local_gateway_route_table_vpc_association(Client, Input) when is_map(Client), is_map(Input) -> delete_local_gateway_route_table_vpc_association(Client, Input, []). delete_local_gateway_route_table_vpc_association(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DeleteLocalGatewayRouteTableVpcAssociation">>, Input, Options). %% @doc Deletes the specified managed prefix list. %% %% You must first remove all references to the prefix list in your resources. delete_managed_prefix_list(Client, Input) when is_map(Client), is_map(Input) -> delete_managed_prefix_list(Client, Input, []). delete_managed_prefix_list(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DeleteManagedPrefixList">>, Input, Options). %% @doc Deletes the specified NAT gateway. %% %% Deleting a public NAT gateway disassociates its Elastic IP address, but %% does not release the address from your account. Deleting a NAT gateway %% does not delete any NAT gateway routes in your route tables. delete_nat_gateway(Client, Input) when is_map(Client), is_map(Input) -> delete_nat_gateway(Client, Input, []). delete_nat_gateway(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DeleteNatGateway">>, Input, Options). %% @doc Deletes the specified network ACL. %% %% You can't delete the ACL if it's associated with any subnets. You %% can't delete the default network ACL. delete_network_acl(Client, Input) when is_map(Client), is_map(Input) -> delete_network_acl(Client, Input, []). delete_network_acl(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DeleteNetworkAcl">>, Input, Options). %% @doc Deletes the specified ingress or egress entry (rule) from the %% specified network ACL. delete_network_acl_entry(Client, Input) when is_map(Client), is_map(Input) -> delete_network_acl_entry(Client, Input, []). delete_network_acl_entry(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DeleteNetworkAclEntry">>, Input, Options). %% @doc Deletes the specified Network Access Scope. delete_network_insights_access_scope(Client, Input) when is_map(Client), is_map(Input) -> delete_network_insights_access_scope(Client, Input, []). delete_network_insights_access_scope(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DeleteNetworkInsightsAccessScope">>, Input, Options). %% @doc Deletes the specified Network Access Scope analysis. delete_network_insights_access_scope_analysis(Client, Input) when is_map(Client), is_map(Input) -> delete_network_insights_access_scope_analysis(Client, Input, []). delete_network_insights_access_scope_analysis(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DeleteNetworkInsightsAccessScopeAnalysis">>, Input, Options). %% @doc Deletes the specified network insights analysis. delete_network_insights_analysis(Client, Input) when is_map(Client), is_map(Input) -> delete_network_insights_analysis(Client, Input, []). delete_network_insights_analysis(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DeleteNetworkInsightsAnalysis">>, Input, Options). %% @doc Deletes the specified path. delete_network_insights_path(Client, Input) when is_map(Client), is_map(Input) -> delete_network_insights_path(Client, Input, []). delete_network_insights_path(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DeleteNetworkInsightsPath">>, Input, Options). %% @doc Deletes the specified network interface. %% %% You must detach the network interface before you can delete it. delete_network_interface(Client, Input) when is_map(Client), is_map(Input) -> delete_network_interface(Client, Input, []). delete_network_interface(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DeleteNetworkInterface">>, Input, Options). %% @doc Deletes a permission for a network interface. %% %% By default, you cannot delete the permission if the account for which %% you're removing the permission has attached the network interface to %% an instance. However, you can force delete the permission, regardless of %% any attachment. delete_network_interface_permission(Client, Input) when is_map(Client), is_map(Input) -> delete_network_interface_permission(Client, Input, []). delete_network_interface_permission(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DeleteNetworkInterfacePermission">>, Input, Options). %% @doc Deletes the specified placement group. %% %% You must terminate all instances in the placement group before you can %% delete the placement group. For more information, see Placement groups in %% the Amazon EC2 User Guide. delete_placement_group(Client, Input) when is_map(Client), is_map(Input) -> delete_placement_group(Client, Input, []). delete_placement_group(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DeletePlacementGroup">>, Input, Options). %% @doc Delete a public IPv4 pool. %% %% A public IPv4 pool is an EC2 IP address pool required for the public IPv4 %% CIDRs that you own and bring to Amazon Web Services to manage with IPAM. %% IPv6 addresses you bring to Amazon Web Services, however, use IPAM pools %% only. delete_public_ipv4_pool(Client, Input) when is_map(Client), is_map(Input) -> delete_public_ipv4_pool(Client, Input, []). delete_public_ipv4_pool(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DeletePublicIpv4Pool">>, Input, Options). %% @doc Deletes the queued purchases for the specified Reserved Instances. delete_queued_reserved_instances(Client, Input) when is_map(Client), is_map(Input) -> delete_queued_reserved_instances(Client, Input, []). delete_queued_reserved_instances(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DeleteQueuedReservedInstances">>, Input, Options). %% @doc Deletes the specified route from the specified route table. delete_route(Client, Input) when is_map(Client), is_map(Input) -> delete_route(Client, Input, []). delete_route(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DeleteRoute">>, Input, Options). %% @doc Deletes the specified route table. %% %% You must disassociate the route table from any subnets before you can %% delete it. You can't delete the main route table. delete_route_table(Client, Input) when is_map(Client), is_map(Input) -> delete_route_table(Client, Input, []). delete_route_table(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DeleteRouteTable">>, Input, Options). %% @doc Deletes a security group. %% %% If you attempt to delete a security group that is associated with an %% instance or network interface or is referenced by another security group, %% the operation fails with `DependencyViolation'. delete_security_group(Client, Input) when is_map(Client), is_map(Input) -> delete_security_group(Client, Input, []). delete_security_group(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DeleteSecurityGroup">>, Input, Options). %% @doc Deletes the specified snapshot. %% %% When you make periodic snapshots of a volume, the snapshots are %% incremental, and only the blocks on the device that have changed since %% your last snapshot are saved in the new snapshot. When you delete a %% snapshot, only the data not needed for any other snapshot is removed. So %% regardless of which prior snapshots have been deleted, all active %% snapshots will have access to all the information needed to restore the %% volume. %% %% You cannot delete a snapshot of the root device of an EBS volume used by a %% registered AMI. You must first de-register the AMI before you can delete %% the snapshot. %% %% For more information, see Delete an Amazon EBS snapshot in the Amazon %% Elastic Compute Cloud User Guide. delete_snapshot(Client, Input) when is_map(Client), is_map(Input) -> delete_snapshot(Client, Input, []). delete_snapshot(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DeleteSnapshot">>, Input, Options). %% @doc Deletes the data feed for Spot Instances. delete_spot_datafeed_subscription(Client, Input) when is_map(Client), is_map(Input) -> delete_spot_datafeed_subscription(Client, Input, []). delete_spot_datafeed_subscription(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DeleteSpotDatafeedSubscription">>, Input, Options). %% @doc Deletes the specified subnet. %% %% You must terminate all running instances in the subnet before you can %% delete the subnet. delete_subnet(Client, Input) when is_map(Client), is_map(Input) -> delete_subnet(Client, Input, []). delete_subnet(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DeleteSubnet">>, Input, Options). %% @doc Deletes a subnet CIDR reservation. delete_subnet_cidr_reservation(Client, Input) when is_map(Client), is_map(Input) -> delete_subnet_cidr_reservation(Client, Input, []). delete_subnet_cidr_reservation(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DeleteSubnetCidrReservation">>, Input, Options). %% @doc Deletes the specified set of tags from the specified set of %% resources. %% %% To list the current tags, use `DescribeTags'. For more information %% about tags, see Tag your Amazon EC2 resources in the Amazon Elastic %% Compute Cloud User Guide. delete_tags(Client, Input) when is_map(Client), is_map(Input) -> delete_tags(Client, Input, []). delete_tags(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DeleteTags">>, Input, Options). %% @doc Deletes the specified Traffic Mirror filter. %% %% You cannot delete a Traffic Mirror filter that is in use by a Traffic %% Mirror session. delete_traffic_mirror_filter(Client, Input) when is_map(Client), is_map(Input) -> delete_traffic_mirror_filter(Client, Input, []). delete_traffic_mirror_filter(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DeleteTrafficMirrorFilter">>, Input, Options). %% @doc Deletes the specified Traffic Mirror rule. delete_traffic_mirror_filter_rule(Client, Input) when is_map(Client), is_map(Input) -> delete_traffic_mirror_filter_rule(Client, Input, []). delete_traffic_mirror_filter_rule(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DeleteTrafficMirrorFilterRule">>, Input, Options). %% @doc Deletes the specified Traffic Mirror session. delete_traffic_mirror_session(Client, Input) when is_map(Client), is_map(Input) -> delete_traffic_mirror_session(Client, Input, []). delete_traffic_mirror_session(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DeleteTrafficMirrorSession">>, Input, Options). %% @doc Deletes the specified Traffic Mirror target. %% %% You cannot delete a Traffic Mirror target that is in use by a Traffic %% Mirror session. delete_traffic_mirror_target(Client, Input) when is_map(Client), is_map(Input) -> delete_traffic_mirror_target(Client, Input, []). delete_traffic_mirror_target(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DeleteTrafficMirrorTarget">>, Input, Options). %% @doc Deletes the specified transit gateway. delete_transit_gateway(Client, Input) when is_map(Client), is_map(Input) -> delete_transit_gateway(Client, Input, []). delete_transit_gateway(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DeleteTransitGateway">>, Input, Options). %% @doc Deletes the specified Connect attachment. %% %% You must first delete any Connect peers for the attachment. delete_transit_gateway_connect(Client, Input) when is_map(Client), is_map(Input) -> delete_transit_gateway_connect(Client, Input, []). delete_transit_gateway_connect(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DeleteTransitGatewayConnect">>, Input, Options). %% @doc Deletes the specified Connect peer. delete_transit_gateway_connect_peer(Client, Input) when is_map(Client), is_map(Input) -> delete_transit_gateway_connect_peer(Client, Input, []). delete_transit_gateway_connect_peer(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DeleteTransitGatewayConnectPeer">>, Input, Options). %% @doc Deletes the specified transit gateway multicast domain. delete_transit_gateway_multicast_domain(Client, Input) when is_map(Client), is_map(Input) -> delete_transit_gateway_multicast_domain(Client, Input, []). delete_transit_gateway_multicast_domain(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DeleteTransitGatewayMulticastDomain">>, Input, Options). %% @doc Deletes a transit gateway peering attachment. delete_transit_gateway_peering_attachment(Client, Input) when is_map(Client), is_map(Input) -> delete_transit_gateway_peering_attachment(Client, Input, []). delete_transit_gateway_peering_attachment(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DeleteTransitGatewayPeeringAttachment">>, Input, Options). %% @doc Deletes the specified transit gateway policy table. delete_transit_gateway_policy_table(Client, Input) when is_map(Client), is_map(Input) -> delete_transit_gateway_policy_table(Client, Input, []). delete_transit_gateway_policy_table(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DeleteTransitGatewayPolicyTable">>, Input, Options). %% @doc Deletes a reference (route) to a prefix list in a specified transit %% gateway route table. delete_transit_gateway_prefix_list_reference(Client, Input) when is_map(Client), is_map(Input) -> delete_transit_gateway_prefix_list_reference(Client, Input, []). delete_transit_gateway_prefix_list_reference(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DeleteTransitGatewayPrefixListReference">>, Input, Options). %% @doc Deletes the specified route from the specified transit gateway route %% table. delete_transit_gateway_route(Client, Input) when is_map(Client), is_map(Input) -> delete_transit_gateway_route(Client, Input, []). delete_transit_gateway_route(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DeleteTransitGatewayRoute">>, Input, Options). %% @doc Deletes the specified transit gateway route table. %% %% You must disassociate the route table from any transit gateway route %% tables before you can delete it. delete_transit_gateway_route_table(Client, Input) when is_map(Client), is_map(Input) -> delete_transit_gateway_route_table(Client, Input, []). delete_transit_gateway_route_table(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DeleteTransitGatewayRouteTable">>, Input, Options). %% @doc Advertises to the transit gateway that a transit gateway route table %% is deleted. delete_transit_gateway_route_table_announcement(Client, Input) when is_map(Client), is_map(Input) -> delete_transit_gateway_route_table_announcement(Client, Input, []). delete_transit_gateway_route_table_announcement(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DeleteTransitGatewayRouteTableAnnouncement">>, Input, Options). %% @doc Deletes the specified VPC attachment. delete_transit_gateway_vpc_attachment(Client, Input) when is_map(Client), is_map(Input) -> delete_transit_gateway_vpc_attachment(Client, Input, []). delete_transit_gateway_vpc_attachment(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DeleteTransitGatewayVpcAttachment">>, Input, Options). %% @doc Delete an Amazon Web Services Verified Access endpoint. delete_verified_access_endpoint(Client, Input) when is_map(Client), is_map(Input) -> delete_verified_access_endpoint(Client, Input, []). delete_verified_access_endpoint(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DeleteVerifiedAccessEndpoint">>, Input, Options). %% @doc Delete an Amazon Web Services Verified Access group. delete_verified_access_group(Client, Input) when is_map(Client), is_map(Input) -> delete_verified_access_group(Client, Input, []). delete_verified_access_group(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DeleteVerifiedAccessGroup">>, Input, Options). %% @doc Delete an Amazon Web Services Verified Access instance. delete_verified_access_instance(Client, Input) when is_map(Client), is_map(Input) -> delete_verified_access_instance(Client, Input, []). delete_verified_access_instance(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DeleteVerifiedAccessInstance">>, Input, Options). %% @doc Delete an Amazon Web Services Verified Access trust provider. delete_verified_access_trust_provider(Client, Input) when is_map(Client), is_map(Input) -> delete_verified_access_trust_provider(Client, Input, []). delete_verified_access_trust_provider(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DeleteVerifiedAccessTrustProvider">>, Input, Options). %% @doc Deletes the specified EBS volume. %% %% The volume must be in the `available' state (not attached to an %% instance). %% %% The volume can remain in the `deleting' state for several minutes. %% %% For more information, see Delete an Amazon EBS volume in the Amazon %% Elastic Compute Cloud User Guide. delete_volume(Client, Input) when is_map(Client), is_map(Input) -> delete_volume(Client, Input, []). delete_volume(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DeleteVolume">>, Input, Options). %% @doc Deletes the specified VPC. %% %% You must detach or delete all gateways and resources that are associated %% with the VPC before you can delete it. For example, you must terminate all %% instances running in the VPC, delete all security groups associated with %% the VPC (except the default one), delete all route tables associated with %% the VPC (except the default one), and so on. When you delete the VPC, it %% deletes the VPC's default security group, network ACL, and route %% table. delete_vpc(Client, Input) when is_map(Client), is_map(Input) -> delete_vpc(Client, Input, []). delete_vpc(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DeleteVpc">>, Input, Options). %% @doc Deletes the specified VPC endpoint connection notifications. delete_vpc_endpoint_connection_notifications(Client, Input) when is_map(Client), is_map(Input) -> delete_vpc_endpoint_connection_notifications(Client, Input, []). delete_vpc_endpoint_connection_notifications(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DeleteVpcEndpointConnectionNotifications">>, Input, Options). %% @doc Deletes the specified VPC endpoint service configurations. %% %% Before you can delete an endpoint service configuration, you must reject %% any `Available' or `PendingAcceptance' interface endpoint %% connections that are attached to the service. delete_vpc_endpoint_service_configurations(Client, Input) when is_map(Client), is_map(Input) -> delete_vpc_endpoint_service_configurations(Client, Input, []). delete_vpc_endpoint_service_configurations(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DeleteVpcEndpointServiceConfigurations">>, Input, Options). %% @doc Deletes the specified VPC endpoints. %% %% When you delete a gateway endpoint, we delete the endpoint routes in the %% route tables for the endpoint. %% %% When you delete a Gateway Load Balancer endpoint, we delete its endpoint %% network interfaces. You can only delete Gateway Load Balancer endpoints %% when the routes that are associated with the endpoint are deleted. %% %% When you delete an interface endpoint, we delete its endpoint network %% interfaces. delete_vpc_endpoints(Client, Input) when is_map(Client), is_map(Input) -> delete_vpc_endpoints(Client, Input, []). delete_vpc_endpoints(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DeleteVpcEndpoints">>, Input, Options). %% @doc Deletes a VPC peering connection. %% %% Either the owner of the requester VPC or the owner of the accepter VPC can %% delete the VPC peering connection if it's in the `active' state. %% The owner of the requester VPC can delete a VPC peering connection in the %% `pending-acceptance' state. You cannot delete a VPC peering connection %% that's in the `failed' or `rejected' state. delete_vpc_peering_connection(Client, Input) when is_map(Client), is_map(Input) -> delete_vpc_peering_connection(Client, Input, []). delete_vpc_peering_connection(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DeleteVpcPeeringConnection">>, Input, Options). %% @doc Deletes the specified VPN connection. %% %% If you're deleting the VPC and its associated components, we recommend %% that you detach the virtual private gateway from the VPC and delete the %% VPC before deleting the VPN connection. If you believe that the tunnel %% credentials for your VPN connection have been compromised, you can delete %% the VPN connection and create a new one that has new keys, without needing %% to delete the VPC or virtual private gateway. If you create a new VPN %% connection, you must reconfigure the customer gateway device using the new %% configuration information returned with the new VPN connection ID. %% %% For certificate-based authentication, delete all Certificate Manager (ACM) %% private certificates used for the Amazon Web Services-side tunnel %% endpoints for the VPN connection before deleting the VPN connection. delete_vpn_connection(Client, Input) when is_map(Client), is_map(Input) -> delete_vpn_connection(Client, Input, []). delete_vpn_connection(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DeleteVpnConnection">>, Input, Options). %% @doc Deletes the specified static route associated with a VPN connection %% between an existing virtual private gateway and a VPN customer gateway. %% %% The static route allows traffic to be routed from the virtual private %% gateway to the VPN customer gateway. delete_vpn_connection_route(Client, Input) when is_map(Client), is_map(Input) -> delete_vpn_connection_route(Client, Input, []). delete_vpn_connection_route(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DeleteVpnConnectionRoute">>, Input, Options). %% @doc Deletes the specified virtual private gateway. %% %% You must first detach the virtual private gateway from the VPC. Note that %% you don't need to delete the virtual private gateway if you plan to %% delete and recreate the VPN connection between your VPC and your network. delete_vpn_gateway(Client, Input) when is_map(Client), is_map(Input) -> delete_vpn_gateway(Client, Input, []). delete_vpn_gateway(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DeleteVpnGateway">>, Input, Options). %% @doc Releases the specified address range that you provisioned for use %% with your Amazon Web Services resources through bring your own IP %% addresses (BYOIP) and deletes the corresponding address pool. %% %% Before you can release an address range, you must stop advertising it %% using `WithdrawByoipCidr' and you must not have any IP addresses %% allocated from its address range. deprovision_byoip_cidr(Client, Input) when is_map(Client), is_map(Input) -> deprovision_byoip_cidr(Client, Input, []). deprovision_byoip_cidr(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DeprovisionByoipCidr">>, Input, Options). %% @doc Deprovisions your Autonomous System Number (ASN) from your Amazon Web %% Services account. %% %% This action can only be called after any BYOIP CIDR associations are %% removed from your Amazon Web Services account with DisassociateIpamByoasn. %% For more information, see Tutorial: Bring your ASN to IPAM in the Amazon %% VPC IPAM guide. deprovision_ipam_byoasn(Client, Input) when is_map(Client), is_map(Input) -> deprovision_ipam_byoasn(Client, Input, []). deprovision_ipam_byoasn(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DeprovisionIpamByoasn">>, Input, Options). %% @doc Deprovision a CIDR provisioned from an IPAM pool. %% %% If you deprovision a CIDR from a pool that has a source pool, the CIDR is %% recycled back into the source pool. For more information, see Deprovision %% pool CIDRs in the Amazon VPC IPAM User Guide. deprovision_ipam_pool_cidr(Client, Input) when is_map(Client), is_map(Input) -> deprovision_ipam_pool_cidr(Client, Input, []). deprovision_ipam_pool_cidr(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DeprovisionIpamPoolCidr">>, Input, Options). %% @doc Deprovision a CIDR from a public IPv4 pool. deprovision_public_ipv4_pool_cidr(Client, Input) when is_map(Client), is_map(Input) -> deprovision_public_ipv4_pool_cidr(Client, Input, []). deprovision_public_ipv4_pool_cidr(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DeprovisionPublicIpv4PoolCidr">>, Input, Options). %% @doc Deregisters the specified AMI. %% %% After you deregister an AMI, it can't be used to launch new instances. %% %% If you deregister an AMI that matches a Recycle Bin retention rule, the %% AMI is retained in the Recycle Bin for the specified retention period. For %% more information, see Recycle Bin in the Amazon EC2 User Guide. %% %% When you deregister an AMI, it doesn't affect any instances that %% you've already launched from the AMI. You'll continue to incur %% usage costs for those instances until you terminate them. %% %% When you deregister an Amazon EBS-backed AMI, it doesn't affect the %% snapshot that was created for the root volume of the instance during the %% AMI creation process. When you deregister an instance store-backed AMI, it %% doesn't affect the files that you uploaded to Amazon S3 when you %% created the AMI. deregister_image(Client, Input) when is_map(Client), is_map(Input) -> deregister_image(Client, Input, []). deregister_image(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DeregisterImage">>, Input, Options). %% @doc Deregisters tag keys to prevent tags that have the specified tag keys %% from being included in scheduled event notifications for resources in the %% Region. deregister_instance_event_notification_attributes(Client, Input) when is_map(Client), is_map(Input) -> deregister_instance_event_notification_attributes(Client, Input, []). deregister_instance_event_notification_attributes(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DeregisterInstanceEventNotificationAttributes">>, Input, Options). %% @doc Deregisters the specified members (network interfaces) from the %% transit gateway multicast group. deregister_transit_gateway_multicast_group_members(Client, Input) when is_map(Client), is_map(Input) -> deregister_transit_gateway_multicast_group_members(Client, Input, []). deregister_transit_gateway_multicast_group_members(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DeregisterTransitGatewayMulticastGroupMembers">>, Input, Options). %% @doc Deregisters the specified sources (network interfaces) from the %% transit gateway multicast group. deregister_transit_gateway_multicast_group_sources(Client, Input) when is_map(Client), is_map(Input) -> deregister_transit_gateway_multicast_group_sources(Client, Input, []). deregister_transit_gateway_multicast_group_sources(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DeregisterTransitGatewayMulticastGroupSources">>, Input, Options). %% @doc Describes attributes of your Amazon Web Services account. %% %% The following are the supported account attributes: %% %% describe_account_attributes(Client, Input) when is_map(Client), is_map(Input) -> describe_account_attributes(Client, Input, []). describe_account_attributes(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DescribeAccountAttributes">>, Input, Options). %% @doc Describes an Elastic IP address transfer. %% %% For more information, see Transfer Elastic IP addresses in the Amazon %% Virtual Private Cloud User Guide. %% %% When you transfer an Elastic IP address, there is a two-step handshake %% between the source and transfer Amazon Web Services accounts. When the %% source account starts the transfer, the transfer account has seven days to %% accept the Elastic IP address transfer. During those seven days, the %% source account can view the pending transfer by using this action. After %% seven days, the transfer expires and ownership of the Elastic IP address %% returns to the source account. Accepted transfers are visible to the %% source account for three days after the transfers have been accepted. describe_address_transfers(Client, Input) when is_map(Client), is_map(Input) -> describe_address_transfers(Client, Input, []). describe_address_transfers(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DescribeAddressTransfers">>, Input, Options). %% @doc Describes the specified Elastic IP addresses or all of your Elastic %% IP addresses. describe_addresses(Client, Input) when is_map(Client), is_map(Input) -> describe_addresses(Client, Input, []). describe_addresses(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DescribeAddresses">>, Input, Options). %% @doc Describes the attributes of the specified Elastic IP addresses. %% %% For requirements, see Using reverse DNS for email applications. describe_addresses_attribute(Client, Input) when is_map(Client), is_map(Input) -> describe_addresses_attribute(Client, Input, []). describe_addresses_attribute(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DescribeAddressesAttribute">>, Input, Options). %% @doc Describes the longer ID format settings for all resource types in a %% specific Region. %% %% This request is useful for performing a quick audit to determine whether a %% specific Region is fully opted in for longer IDs (17-character IDs). %% %% This request only returns information about resource types that support %% longer IDs. %% %% The following resource types support longer IDs: `bundle' | %% `conversion-task' | `customer-gateway' | `dhcp-options' | %% `elastic-ip-allocation' | `elastic-ip-association' | %% `export-task' | `flow-log' | `image' | `import-task' | %% `instance' | `internet-gateway' | `network-acl' | %% `network-acl-association' | `network-interface' | %% `network-interface-attachment' | `prefix-list' | `reservation' %% | `route-table' | `route-table-association' | `security-group' %% | `snapshot' | `subnet' | `subnet-cidr-block-association' | %% `volume' | `vpc' | `vpc-cidr-block-association' | %% `vpc-endpoint' | `vpc-peering-connection' | `vpn-connection' | %% `vpn-gateway'. describe_aggregate_id_format(Client, Input) when is_map(Client), is_map(Input) -> describe_aggregate_id_format(Client, Input, []). describe_aggregate_id_format(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DescribeAggregateIdFormat">>, Input, Options). %% @doc Describes the Availability Zones, Local Zones, and Wavelength Zones %% that are available to you. %% %% If there is an event impacting a zone, you can use this request to view %% the state and any provided messages for that zone. %% %% For more information about Availability Zones, Local Zones, and Wavelength %% Zones, see Regions and zones in the Amazon Elastic Compute Cloud User %% Guide. describe_availability_zones(Client, Input) when is_map(Client), is_map(Input) -> describe_availability_zones(Client, Input, []). describe_availability_zones(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DescribeAvailabilityZones">>, Input, Options). %% @doc Describes the current Infrastructure Performance metric %% subscriptions. describe_aws_network_performance_metric_subscriptions(Client, Input) when is_map(Client), is_map(Input) -> describe_aws_network_performance_metric_subscriptions(Client, Input, []). describe_aws_network_performance_metric_subscriptions(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DescribeAwsNetworkPerformanceMetricSubscriptions">>, Input, Options). %% @doc Describes the specified bundle tasks or all of your bundle tasks. %% %% Completed bundle tasks are listed for only a limited time. If your bundle %% task is no longer in the list, you can still register an AMI from it. Just %% use `RegisterImage' with the Amazon S3 bucket name and image manifest %% name you provided to the bundle task. describe_bundle_tasks(Client, Input) when is_map(Client), is_map(Input) -> describe_bundle_tasks(Client, Input, []). describe_bundle_tasks(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DescribeBundleTasks">>, Input, Options). %% @doc Describes the IP address ranges that were specified in calls to %% `ProvisionByoipCidr'. %% %% To describe the address pools that were created when you provisioned the %% address ranges, use `DescribePublicIpv4Pools' or %% `DescribeIpv6Pools'. describe_byoip_cidrs(Client, Input) when is_map(Client), is_map(Input) -> describe_byoip_cidrs(Client, Input, []). describe_byoip_cidrs(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DescribeByoipCidrs">>, Input, Options). %% @doc Describes Capacity Block offerings available for purchase. %% %% With Capacity Blocks, you purchase a specific instance type for a period %% of time. describe_capacity_block_offerings(Client, Input) when is_map(Client), is_map(Input) -> describe_capacity_block_offerings(Client, Input, []). describe_capacity_block_offerings(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DescribeCapacityBlockOfferings">>, Input, Options). %% @doc Describes one or more Capacity Reservation Fleets. describe_capacity_reservation_fleets(Client, Input) when is_map(Client), is_map(Input) -> describe_capacity_reservation_fleets(Client, Input, []). describe_capacity_reservation_fleets(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DescribeCapacityReservationFleets">>, Input, Options). %% @doc Describes one or more of your Capacity Reservations. %% %% The results describe only the Capacity Reservations in the Amazon Web %% Services Region that you're currently using. describe_capacity_reservations(Client, Input) when is_map(Client), is_map(Input) -> describe_capacity_reservations(Client, Input, []). describe_capacity_reservations(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DescribeCapacityReservations">>, Input, Options). %% @doc Describes one or more of your carrier gateways. describe_carrier_gateways(Client, Input) when is_map(Client), is_map(Input) -> describe_carrier_gateways(Client, Input, []). describe_carrier_gateways(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DescribeCarrierGateways">>, Input, Options). %% @doc This action is deprecated. %% %% Describes one or more of your linked EC2-Classic instances. This request %% only returns information about EC2-Classic instances linked to a VPC %% through ClassicLink. You cannot use this request to return information %% about other instances. describe_classic_link_instances(Client, Input) when is_map(Client), is_map(Input) -> describe_classic_link_instances(Client, Input, []). describe_classic_link_instances(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DescribeClassicLinkInstances">>, Input, Options). %% @doc Describes the authorization rules for a specified Client VPN %% endpoint. describe_client_vpn_authorization_rules(Client, Input) when is_map(Client), is_map(Input) -> describe_client_vpn_authorization_rules(Client, Input, []). describe_client_vpn_authorization_rules(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DescribeClientVpnAuthorizationRules">>, Input, Options). %% @doc Describes active client connections and connections that have been %% terminated within the last 60 minutes for the specified Client VPN %% endpoint. describe_client_vpn_connections(Client, Input) when is_map(Client), is_map(Input) -> describe_client_vpn_connections(Client, Input, []). describe_client_vpn_connections(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DescribeClientVpnConnections">>, Input, Options). %% @doc Describes one or more Client VPN endpoints in the account. describe_client_vpn_endpoints(Client, Input) when is_map(Client), is_map(Input) -> describe_client_vpn_endpoints(Client, Input, []). describe_client_vpn_endpoints(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DescribeClientVpnEndpoints">>, Input, Options). %% @doc Describes the routes for the specified Client VPN endpoint. describe_client_vpn_routes(Client, Input) when is_map(Client), is_map(Input) -> describe_client_vpn_routes(Client, Input, []). describe_client_vpn_routes(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DescribeClientVpnRoutes">>, Input, Options). %% @doc Describes the target networks associated with the specified Client %% VPN endpoint. describe_client_vpn_target_networks(Client, Input) when is_map(Client), is_map(Input) -> describe_client_vpn_target_networks(Client, Input, []). describe_client_vpn_target_networks(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DescribeClientVpnTargetNetworks">>, Input, Options). %% @doc Describes the specified customer-owned address pools or all of your %% customer-owned address pools. describe_coip_pools(Client, Input) when is_map(Client), is_map(Input) -> describe_coip_pools(Client, Input, []). describe_coip_pools(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DescribeCoipPools">>, Input, Options). %% @doc Describes the specified conversion tasks or all your conversion %% tasks. %% %% For more information, see the VM Import/Export User Guide. %% %% For information about the import manifest referenced by this API action, %% see VM Import Manifest. describe_conversion_tasks(Client, Input) when is_map(Client), is_map(Input) -> describe_conversion_tasks(Client, Input, []). describe_conversion_tasks(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DescribeConversionTasks">>, Input, Options). %% @doc Describes one or more of your VPN customer gateways. %% %% For more information, see Amazon Web Services Site-to-Site VPN in the %% Amazon Web Services Site-to-Site VPN User Guide. describe_customer_gateways(Client, Input) when is_map(Client), is_map(Input) -> describe_customer_gateways(Client, Input, []). describe_customer_gateways(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DescribeCustomerGateways">>, Input, Options). %% @doc Describes one or more of your DHCP options sets. %% %% For more information, see DHCP options sets in the Amazon VPC User Guide. describe_dhcp_options(Client, Input) when is_map(Client), is_map(Input) -> describe_dhcp_options(Client, Input, []). describe_dhcp_options(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DescribeDhcpOptions">>, Input, Options). %% @doc Describes one or more of your egress-only internet gateways. describe_egress_only_internet_gateways(Client, Input) when is_map(Client), is_map(Input) -> describe_egress_only_internet_gateways(Client, Input, []). describe_egress_only_internet_gateways(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DescribeEgressOnlyInternetGateways">>, Input, Options). %% @doc Amazon Elastic Graphics reached end of life on January 8, 2024. %% %% For workloads that require graphics acceleration, we recommend that you %% use Amazon EC2 G4ad, G4dn, or G5 instances. %% %% Describes the Elastic Graphics accelerator associated with your instances. %% For more information about Elastic Graphics, see Amazon Elastic Graphics. describe_elastic_gpus(Client, Input) when is_map(Client), is_map(Input) -> describe_elastic_gpus(Client, Input, []). describe_elastic_gpus(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DescribeElasticGpus">>, Input, Options). %% @doc Describes the specified export image tasks or all of your export %% image tasks. describe_export_image_tasks(Client, Input) when is_map(Client), is_map(Input) -> describe_export_image_tasks(Client, Input, []). describe_export_image_tasks(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DescribeExportImageTasks">>, Input, Options). %% @doc Describes the specified export instance tasks or all of your export %% instance tasks. describe_export_tasks(Client, Input) when is_map(Client), is_map(Input) -> describe_export_tasks(Client, Input, []). describe_export_tasks(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DescribeExportTasks">>, Input, Options). %% @doc Describe details for Windows AMIs that are configured for Windows %% fast launch. describe_fast_launch_images(Client, Input) when is_map(Client), is_map(Input) -> describe_fast_launch_images(Client, Input, []). describe_fast_launch_images(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DescribeFastLaunchImages">>, Input, Options). %% @doc Describes the state of fast snapshot restores for your snapshots. describe_fast_snapshot_restores(Client, Input) when is_map(Client), is_map(Input) -> describe_fast_snapshot_restores(Client, Input, []). describe_fast_snapshot_restores(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DescribeFastSnapshotRestores">>, Input, Options). %% @doc Describes the events for the specified EC2 Fleet during the specified %% time. %% %% EC2 Fleet events are delayed by up to 30 seconds before they can be %% described. This ensures that you can query by the last evaluated time and %% not miss a recorded event. EC2 Fleet events are available for 48 hours. %% %% For more information, see Monitor fleet events using Amazon EventBridge in %% the Amazon EC2 User Guide. describe_fleet_history(Client, Input) when is_map(Client), is_map(Input) -> describe_fleet_history(Client, Input, []). describe_fleet_history(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DescribeFleetHistory">>, Input, Options). %% @doc Describes the running instances for the specified EC2 Fleet. %% %% For more information, see Monitor your EC2 Fleet in the Amazon EC2 User %% Guide. describe_fleet_instances(Client, Input) when is_map(Client), is_map(Input) -> describe_fleet_instances(Client, Input, []). describe_fleet_instances(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DescribeFleetInstances">>, Input, Options). %% @doc Describes the specified EC2 Fleets or all of your EC2 Fleets. %% %% For more information, see Monitor your EC2 Fleet in the Amazon EC2 User %% Guide. describe_fleets(Client, Input) when is_map(Client), is_map(Input) -> describe_fleets(Client, Input, []). describe_fleets(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DescribeFleets">>, Input, Options). %% @doc Describes one or more flow logs. %% %% To view the published flow log records, you must view the log destination. %% For example, the CloudWatch Logs log group, the Amazon S3 bucket, or the %% Kinesis Data Firehose delivery stream. describe_flow_logs(Client, Input) when is_map(Client), is_map(Input) -> describe_flow_logs(Client, Input, []). describe_flow_logs(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DescribeFlowLogs">>, Input, Options). %% @doc Describes the specified attribute of the specified Amazon FPGA Image %% (AFI). describe_fpga_image_attribute(Client, Input) when is_map(Client), is_map(Input) -> describe_fpga_image_attribute(Client, Input, []). describe_fpga_image_attribute(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DescribeFpgaImageAttribute">>, Input, Options). %% @doc Describes the Amazon FPGA Images (AFIs) available to you. %% %% These include public AFIs, private AFIs that you own, and AFIs owned by %% other Amazon Web Services accounts for which you have load permissions. describe_fpga_images(Client, Input) when is_map(Client), is_map(Input) -> describe_fpga_images(Client, Input, []). describe_fpga_images(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DescribeFpgaImages">>, Input, Options). %% @doc Describes the Dedicated Host reservations that are available to %% purchase. %% %% The results describe all of the Dedicated Host reservation offerings, %% including offerings that might not match the instance family and Region of %% your Dedicated Hosts. When purchasing an offering, ensure that the %% instance family and Region of the offering matches that of the Dedicated %% Hosts with which it is to be associated. For more information about %% supported instance types, see Dedicated Hosts in the Amazon EC2 User %% Guide. describe_host_reservation_offerings(Client, Input) when is_map(Client), is_map(Input) -> describe_host_reservation_offerings(Client, Input, []). describe_host_reservation_offerings(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DescribeHostReservationOfferings">>, Input, Options). %% @doc Describes reservations that are associated with Dedicated Hosts in %% your account. describe_host_reservations(Client, Input) when is_map(Client), is_map(Input) -> describe_host_reservations(Client, Input, []). describe_host_reservations(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DescribeHostReservations">>, Input, Options). %% @doc Describes the specified Dedicated Hosts or all your Dedicated Hosts. %% %% The results describe only the Dedicated Hosts in the Region you're %% currently using. All listed instances consume capacity on your Dedicated %% Host. Dedicated Hosts that have recently been released are listed with the %% state `released'. describe_hosts(Client, Input) when is_map(Client), is_map(Input) -> describe_hosts(Client, Input, []). describe_hosts(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DescribeHosts">>, Input, Options). %% @doc Describes your IAM instance profile associations. describe_iam_instance_profile_associations(Client, Input) when is_map(Client), is_map(Input) -> describe_iam_instance_profile_associations(Client, Input, []). describe_iam_instance_profile_associations(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DescribeIamInstanceProfileAssociations">>, Input, Options). %% @doc Describes the ID format settings for your resources on a per-Region %% basis, for example, to view which resource types are enabled for longer %% IDs. %% %% This request only returns information about resource types whose ID %% formats can be modified; it does not return information about other %% resource types. %% %% The following resource types support longer IDs: `bundle' | %% `conversion-task' | `customer-gateway' | `dhcp-options' | %% `elastic-ip-allocation' | `elastic-ip-association' | %% `export-task' | `flow-log' | `image' | `import-task' | %% `instance' | `internet-gateway' | `network-acl' | %% `network-acl-association' | `network-interface' | %% `network-interface-attachment' | `prefix-list' | `reservation' %% | `route-table' | `route-table-association' | `security-group' %% | `snapshot' | `subnet' | `subnet-cidr-block-association' | %% `volume' | `vpc' | `vpc-cidr-block-association' | %% `vpc-endpoint' | `vpc-peering-connection' | `vpn-connection' | %% `vpn-gateway'. %% %% These settings apply to the IAM user who makes the request; they do not %% apply to the entire Amazon Web Services account. By default, an IAM user %% defaults to the same settings as the root user, unless they explicitly %% override the settings by running the `ModifyIdFormat' command. %% Resources created with longer IDs are visible to all IAM users, regardless %% of these settings and provided that they have permission to use the %% relevant `Describe' command for the resource type. describe_id_format(Client, Input) when is_map(Client), is_map(Input) -> describe_id_format(Client, Input, []). describe_id_format(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DescribeIdFormat">>, Input, Options). %% @doc Describes the ID format settings for resources for the specified IAM %% user, IAM role, or root user. %% %% For example, you can view the resource types that are enabled for longer %% IDs. This request only returns information about resource types whose ID %% formats can be modified; it does not return information about other %% resource types. For more information, see Resource IDs in the Amazon %% Elastic Compute Cloud User Guide. %% %% The following resource types support longer IDs: `bundle' | %% `conversion-task' | `customer-gateway' | `dhcp-options' | %% `elastic-ip-allocation' | `elastic-ip-association' | %% `export-task' | `flow-log' | `image' | `import-task' | %% `instance' | `internet-gateway' | `network-acl' | %% `network-acl-association' | `network-interface' | %% `network-interface-attachment' | `prefix-list' | `reservation' %% | `route-table' | `route-table-association' | `security-group' %% | `snapshot' | `subnet' | `subnet-cidr-block-association' | %% `volume' | `vpc' | `vpc-cidr-block-association' | %% `vpc-endpoint' | `vpc-peering-connection' | `vpn-connection' | %% `vpn-gateway'. %% %% These settings apply to the principal specified in the request. They do %% not apply to the principal that makes the request. describe_identity_id_format(Client, Input) when is_map(Client), is_map(Input) -> describe_identity_id_format(Client, Input, []). describe_identity_id_format(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DescribeIdentityIdFormat">>, Input, Options). %% @doc Describes the specified attribute of the specified AMI. %% %% You can specify only one attribute at a time. describe_image_attribute(Client, Input) when is_map(Client), is_map(Input) -> describe_image_attribute(Client, Input, []). describe_image_attribute(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DescribeImageAttribute">>, Input, Options). %% @doc Describes the specified images (AMIs, AKIs, and ARIs) available to %% you or all of the images available to you. %% %% The images available to you include public images, private images that you %% own, and private images owned by other Amazon Web Services accounts for %% which you have explicit launch permissions. %% %% Recently deregistered images appear in the returned results for a short %% interval and then return empty results. After all instances that reference %% a deregistered AMI are terminated, specifying the ID of the image will %% eventually return an error indicating that the AMI ID cannot be found. describe_images(Client, Input) when is_map(Client), is_map(Input) -> describe_images(Client, Input, []). describe_images(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DescribeImages">>, Input, Options). %% @doc Displays details about an import virtual machine or import snapshot %% tasks that are already created. describe_import_image_tasks(Client, Input) when is_map(Client), is_map(Input) -> describe_import_image_tasks(Client, Input, []). describe_import_image_tasks(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DescribeImportImageTasks">>, Input, Options). %% @doc Describes your import snapshot tasks. describe_import_snapshot_tasks(Client, Input) when is_map(Client), is_map(Input) -> describe_import_snapshot_tasks(Client, Input, []). describe_import_snapshot_tasks(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DescribeImportSnapshotTasks">>, Input, Options). %% @doc Describes the specified attribute of the specified instance. %% %% You can specify only one attribute at a time. Valid attribute values are: %% `instanceType' | `kernel' | `ramdisk' | `userData' | %% `disableApiTermination' | `instanceInitiatedShutdownBehavior' | %% `rootDeviceName' | `blockDeviceMapping' | `productCodes' | %% `sourceDestCheck' | `groupSet' | `ebsOptimized' | %% `sriovNetSupport' describe_instance_attribute(Client, Input) when is_map(Client), is_map(Input) -> describe_instance_attribute(Client, Input, []). describe_instance_attribute(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DescribeInstanceAttribute">>, Input, Options). %% @doc Describes the specified EC2 Instance Connect Endpoints or all EC2 %% Instance Connect Endpoints. describe_instance_connect_endpoints(Client, Input) when is_map(Client), is_map(Input) -> describe_instance_connect_endpoints(Client, Input, []). describe_instance_connect_endpoints(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DescribeInstanceConnectEndpoints">>, Input, Options). %% @doc Describes the credit option for CPU usage of the specified burstable %% performance instances. %% %% The credit options are `standard' and `unlimited'. %% %% If you do not specify an instance ID, Amazon EC2 returns burstable %% performance instances with the `unlimited' credit option, as well as %% instances that were previously configured as T2, T3, and T3a with the %% `unlimited' credit option. For example, if you resize a T2 instance, %% while it is configured as `unlimited', to an M4 instance, Amazon EC2 %% returns the M4 instance. %% %% If you specify one or more instance IDs, Amazon EC2 returns the credit %% option (`standard' or `unlimited') of those instances. If you %% specify an instance ID that is not valid, such as an instance that is not %% a burstable performance instance, an error is returned. %% %% Recently terminated instances might appear in the returned results. This %% interval is usually less than one hour. %% %% If an Availability Zone is experiencing a service disruption and you %% specify instance IDs in the affected zone, or do not specify any instance %% IDs at all, the call fails. If you specify only instance IDs in an %% unaffected zone, the call works normally. %% %% For more information, see Burstable performance instances in the Amazon %% EC2 User Guide. describe_instance_credit_specifications(Client, Input) when is_map(Client), is_map(Input) -> describe_instance_credit_specifications(Client, Input, []). describe_instance_credit_specifications(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DescribeInstanceCreditSpecifications">>, Input, Options). %% @doc Describes the tag keys that are registered to appear in scheduled %% event notifications for resources in the current Region. describe_instance_event_notification_attributes(Client, Input) when is_map(Client), is_map(Input) -> describe_instance_event_notification_attributes(Client, Input, []). describe_instance_event_notification_attributes(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DescribeInstanceEventNotificationAttributes">>, Input, Options). %% @doc Describes the specified event windows or all event windows. %% %% If you specify event window IDs, the output includes information for only %% the specified event windows. If you specify filters, the output includes %% information for only those event windows that meet the filter criteria. If %% you do not specify event windows IDs or filters, the output includes %% information for all event windows, which can affect performance. We %% recommend that you use pagination to ensure that the operation returns %% quickly and successfully. %% %% For more information, see Define event windows for scheduled events in the %% Amazon EC2 User Guide. describe_instance_event_windows(Client, Input) when is_map(Client), is_map(Input) -> describe_instance_event_windows(Client, Input, []). describe_instance_event_windows(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DescribeInstanceEventWindows">>, Input, Options). %% @doc Describes the status of the specified instances or all of your %% instances. %% %% By default, only running instances are described, unless you specifically %% indicate to return the status of all instances. %% %% Instance status includes the following components: %% %% describe_instance_status(Client, Input) when is_map(Client), is_map(Input) -> describe_instance_status(Client, Input, []). describe_instance_status(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DescribeInstanceStatus">>, Input, Options). %% @doc Describes a tree-based hierarchy that represents the physical host %% placement of your EC2 instances within an Availability Zone or Local Zone. %% %% You can use this information to determine the relative proximity of your %% EC2 instances within the Amazon Web Services network to support your %% tightly coupled workloads. %% %% == Limitations == %% %% For more information, see Amazon EC2 instance %% topology in the Amazon EC2 User Guide. describe_instance_topology(Client, Input) when is_map(Client), is_map(Input) -> describe_instance_topology(Client, Input, []). describe_instance_topology(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DescribeInstanceTopology">>, Input, Options). %% @doc Returns a list of all instance types offered. %% %% The results can be filtered by location (Region or Availability Zone). If %% no location is specified, the instance types offered in the current Region %% are returned. describe_instance_type_offerings(Client, Input) when is_map(Client), is_map(Input) -> describe_instance_type_offerings(Client, Input, []). describe_instance_type_offerings(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DescribeInstanceTypeOfferings">>, Input, Options). %% @doc Describes the details of the instance types that are offered in a %% location. %% %% The results can be filtered by the attributes of the instance types. describe_instance_types(Client, Input) when is_map(Client), is_map(Input) -> describe_instance_types(Client, Input, []). describe_instance_types(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DescribeInstanceTypes">>, Input, Options). %% @doc Describes the specified instances or all instances. %% %% If you specify instance IDs, the output includes information for only the %% specified instances. If you specify filters, the output includes %% information for only those instances that meet the filter criteria. If you %% do not specify instance IDs or filters, the output includes information %% for all instances, which can affect performance. We recommend that you use %% pagination to ensure that the operation returns quickly and successfully. %% %% If you specify an instance ID that is not valid, an error is returned. If %% you specify an instance that you do not own, it is not included in the %% output. %% %% Recently terminated instances might appear in the returned results. This %% interval is usually less than one hour. %% %% If you describe instances in the rare case where an Availability Zone is %% experiencing a service disruption and you specify instance IDs that are in %% the affected zone, or do not specify any instance IDs at all, the call %% fails. If you describe instances and specify only instance IDs that are in %% an unaffected zone, the call works normally. describe_instances(Client, Input) when is_map(Client), is_map(Input) -> describe_instances(Client, Input, []). describe_instances(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DescribeInstances">>, Input, Options). %% @doc Describes one or more of your internet gateways. describe_internet_gateways(Client, Input) when is_map(Client), is_map(Input) -> describe_internet_gateways(Client, Input, []). describe_internet_gateways(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DescribeInternetGateways">>, Input, Options). %% @doc Describes your Autonomous System Numbers (ASNs), their provisioning %% statuses, and the BYOIP CIDRs with which they are associated. %% %% For more information, see Tutorial: Bring your ASN to IPAM in the Amazon %% VPC IPAM guide. describe_ipam_byoasn(Client, Input) when is_map(Client), is_map(Input) -> describe_ipam_byoasn(Client, Input, []). describe_ipam_byoasn(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DescribeIpamByoasn">>, Input, Options). %% @doc Get information about your IPAM pools. describe_ipam_pools(Client, Input) when is_map(Client), is_map(Input) -> describe_ipam_pools(Client, Input, []). describe_ipam_pools(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DescribeIpamPools">>, Input, Options). %% @doc Describes IPAM resource discoveries. %% %% A resource discovery is an IPAM component that enables IPAM to manage and %% monitor resources that belong to the owning account. describe_ipam_resource_discoveries(Client, Input) when is_map(Client), is_map(Input) -> describe_ipam_resource_discoveries(Client, Input, []). describe_ipam_resource_discoveries(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DescribeIpamResourceDiscoveries">>, Input, Options). %% @doc Describes resource discovery association with an Amazon VPC IPAM. %% %% An associated resource discovery is a resource discovery that has been %% associated with an IPAM.. describe_ipam_resource_discovery_associations(Client, Input) when is_map(Client), is_map(Input) -> describe_ipam_resource_discovery_associations(Client, Input, []). describe_ipam_resource_discovery_associations(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DescribeIpamResourceDiscoveryAssociations">>, Input, Options). %% @doc Get information about your IPAM scopes. describe_ipam_scopes(Client, Input) when is_map(Client), is_map(Input) -> describe_ipam_scopes(Client, Input, []). describe_ipam_scopes(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DescribeIpamScopes">>, Input, Options). %% @doc Get information about your IPAM pools. %% %% For more information, see What is IPAM? in the Amazon VPC IPAM User Guide. describe_ipams(Client, Input) when is_map(Client), is_map(Input) -> describe_ipams(Client, Input, []). describe_ipams(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DescribeIpams">>, Input, Options). %% @doc Describes your IPv6 address pools. describe_ipv6_pools(Client, Input) when is_map(Client), is_map(Input) -> describe_ipv6_pools(Client, Input, []). describe_ipv6_pools(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DescribeIpv6Pools">>, Input, Options). %% @doc Describes the specified key pairs or all of your key pairs. %% %% For more information about key pairs, see Amazon EC2 key pairs in the %% Amazon Elastic Compute Cloud User Guide. describe_key_pairs(Client, Input) when is_map(Client), is_map(Input) -> describe_key_pairs(Client, Input, []). describe_key_pairs(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DescribeKeyPairs">>, Input, Options). %% @doc Describes one or more versions of a specified launch template. %% %% You can describe all versions, individual versions, or a range of %% versions. You can also describe all the latest versions or all the default %% versions of all the launch templates in your account. describe_launch_template_versions(Client, Input) when is_map(Client), is_map(Input) -> describe_launch_template_versions(Client, Input, []). describe_launch_template_versions(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DescribeLaunchTemplateVersions">>, Input, Options). %% @doc Describes one or more launch templates. describe_launch_templates(Client, Input) when is_map(Client), is_map(Input) -> describe_launch_templates(Client, Input, []). describe_launch_templates(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DescribeLaunchTemplates">>, Input, Options). %% @doc Describes the associations between virtual interface groups and local %% gateway route tables. describe_local_gateway_route_table_virtual_interface_group_associations(Client, Input) when is_map(Client), is_map(Input) -> describe_local_gateway_route_table_virtual_interface_group_associations(Client, Input, []). describe_local_gateway_route_table_virtual_interface_group_associations(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociations">>, Input, Options). %% @doc Describes the specified associations between VPCs and local gateway %% route tables. describe_local_gateway_route_table_vpc_associations(Client, Input) when is_map(Client), is_map(Input) -> describe_local_gateway_route_table_vpc_associations(Client, Input, []). describe_local_gateway_route_table_vpc_associations(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DescribeLocalGatewayRouteTableVpcAssociations">>, Input, Options). %% @doc Describes one or more local gateway route tables. %% %% By default, all local gateway route tables are described. Alternatively, %% you can filter the results. describe_local_gateway_route_tables(Client, Input) when is_map(Client), is_map(Input) -> describe_local_gateway_route_tables(Client, Input, []). describe_local_gateway_route_tables(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DescribeLocalGatewayRouteTables">>, Input, Options). %% @doc Describes the specified local gateway virtual interface groups. describe_local_gateway_virtual_interface_groups(Client, Input) when is_map(Client), is_map(Input) -> describe_local_gateway_virtual_interface_groups(Client, Input, []). describe_local_gateway_virtual_interface_groups(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DescribeLocalGatewayVirtualInterfaceGroups">>, Input, Options). %% @doc Describes the specified local gateway virtual interfaces. describe_local_gateway_virtual_interfaces(Client, Input) when is_map(Client), is_map(Input) -> describe_local_gateway_virtual_interfaces(Client, Input, []). describe_local_gateway_virtual_interfaces(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DescribeLocalGatewayVirtualInterfaces">>, Input, Options). %% @doc Describes one or more local gateways. %% %% By default, all local gateways are described. Alternatively, you can %% filter the results. describe_local_gateways(Client, Input) when is_map(Client), is_map(Input) -> describe_local_gateways(Client, Input, []). describe_local_gateways(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DescribeLocalGateways">>, Input, Options). %% @doc Describes the lock status for a snapshot. describe_locked_snapshots(Client, Input) when is_map(Client), is_map(Input) -> describe_locked_snapshots(Client, Input, []). describe_locked_snapshots(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DescribeLockedSnapshots">>, Input, Options). %% @doc Describes your managed prefix lists and any Amazon Web %% Services-managed prefix lists. %% %% To view the entries for your prefix list, use %% `GetManagedPrefixListEntries'. describe_managed_prefix_lists(Client, Input) when is_map(Client), is_map(Input) -> describe_managed_prefix_lists(Client, Input, []). describe_managed_prefix_lists(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DescribeManagedPrefixLists">>, Input, Options). %% @doc This action is deprecated. %% %% Describes your Elastic IP addresses that are being moved from or being %% restored to the EC2-Classic platform. This request does not return %% information about any other Elastic IP addresses in your account. describe_moving_addresses(Client, Input) when is_map(Client), is_map(Input) -> describe_moving_addresses(Client, Input, []). describe_moving_addresses(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DescribeMovingAddresses">>, Input, Options). %% @doc Describes one or more of your NAT gateways. describe_nat_gateways(Client, Input) when is_map(Client), is_map(Input) -> describe_nat_gateways(Client, Input, []). describe_nat_gateways(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DescribeNatGateways">>, Input, Options). %% @doc Describes one or more of your network ACLs. %% %% For more information, see Network ACLs in the Amazon VPC User Guide. describe_network_acls(Client, Input) when is_map(Client), is_map(Input) -> describe_network_acls(Client, Input, []). describe_network_acls(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DescribeNetworkAcls">>, Input, Options). %% @doc Describes the specified Network Access Scope analyses. describe_network_insights_access_scope_analyses(Client, Input) when is_map(Client), is_map(Input) -> describe_network_insights_access_scope_analyses(Client, Input, []). describe_network_insights_access_scope_analyses(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DescribeNetworkInsightsAccessScopeAnalyses">>, Input, Options). %% @doc Describes the specified Network Access Scopes. describe_network_insights_access_scopes(Client, Input) when is_map(Client), is_map(Input) -> describe_network_insights_access_scopes(Client, Input, []). describe_network_insights_access_scopes(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DescribeNetworkInsightsAccessScopes">>, Input, Options). %% @doc Describes one or more of your network insights analyses. describe_network_insights_analyses(Client, Input) when is_map(Client), is_map(Input) -> describe_network_insights_analyses(Client, Input, []). describe_network_insights_analyses(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DescribeNetworkInsightsAnalyses">>, Input, Options). %% @doc Describes one or more of your paths. describe_network_insights_paths(Client, Input) when is_map(Client), is_map(Input) -> describe_network_insights_paths(Client, Input, []). describe_network_insights_paths(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DescribeNetworkInsightsPaths">>, Input, Options). %% @doc Describes a network interface attribute. %% %% You can specify only one attribute at a time. describe_network_interface_attribute(Client, Input) when is_map(Client), is_map(Input) -> describe_network_interface_attribute(Client, Input, []). describe_network_interface_attribute(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DescribeNetworkInterfaceAttribute">>, Input, Options). %% @doc Describes the permissions for your network interfaces. describe_network_interface_permissions(Client, Input) when is_map(Client), is_map(Input) -> describe_network_interface_permissions(Client, Input, []). describe_network_interface_permissions(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DescribeNetworkInterfacePermissions">>, Input, Options). %% @doc Describes one or more of your network interfaces. %% %% If you have a large number of network interfaces, the operation fails %% unless you use pagination or one of the following filters: `group-id', %% `mac-address', `private-dns-name', `private-ip-address', %% `private-dns-name', `subnet-id', or `vpc-id'. describe_network_interfaces(Client, Input) when is_map(Client), is_map(Input) -> describe_network_interfaces(Client, Input, []). describe_network_interfaces(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DescribeNetworkInterfaces">>, Input, Options). %% @doc Describes the specified placement groups or all of your placement %% groups. %% %% For more information, see Placement groups in the Amazon EC2 User Guide. describe_placement_groups(Client, Input) when is_map(Client), is_map(Input) -> describe_placement_groups(Client, Input, []). describe_placement_groups(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DescribePlacementGroups">>, Input, Options). %% @doc Describes available Amazon Web Services services in a prefix list %% format, which includes the prefix list name and prefix list ID of the %% service and the IP address range for the service. %% %% We recommend that you use `DescribeManagedPrefixLists' instead. describe_prefix_lists(Client, Input) when is_map(Client), is_map(Input) -> describe_prefix_lists(Client, Input, []). describe_prefix_lists(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DescribePrefixLists">>, Input, Options). %% @doc Describes the ID format settings for the root user and all IAM roles %% and IAM users that have explicitly specified a longer ID (17-character ID) %% preference. %% %% By default, all IAM roles and IAM users default to the same ID settings as %% the root user, unless they explicitly override the settings. This request %% is useful for identifying those IAM users and IAM roles that have %% overridden the default ID settings. %% %% The following resource types support longer IDs: `bundle' | %% `conversion-task' | `customer-gateway' | `dhcp-options' | %% `elastic-ip-allocation' | `elastic-ip-association' | %% `export-task' | `flow-log' | `image' | `import-task' | %% `instance' | `internet-gateway' | `network-acl' | %% `network-acl-association' | `network-interface' | %% `network-interface-attachment' | `prefix-list' | `reservation' %% | `route-table' | `route-table-association' | `security-group' %% | `snapshot' | `subnet' | `subnet-cidr-block-association' | %% `volume' | `vpc' | `vpc-cidr-block-association' | %% `vpc-endpoint' | `vpc-peering-connection' | `vpn-connection' | %% `vpn-gateway'. describe_principal_id_format(Client, Input) when is_map(Client), is_map(Input) -> describe_principal_id_format(Client, Input, []). describe_principal_id_format(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DescribePrincipalIdFormat">>, Input, Options). %% @doc Describes the specified IPv4 address pools. describe_public_ipv4_pools(Client, Input) when is_map(Client), is_map(Input) -> describe_public_ipv4_pools(Client, Input, []). describe_public_ipv4_pools(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DescribePublicIpv4Pools">>, Input, Options). %% @doc Describes the Regions that are enabled for your account, or all %% Regions. %% %% For a list of the Regions supported by Amazon EC2, see Amazon Elastic %% Compute Cloud endpoints and quotas. %% %% For information about enabling and disabling Regions for your account, see %% Managing Amazon Web Services Regions in the Amazon Web Services General %% Reference. describe_regions(Client, Input) when is_map(Client), is_map(Input) -> describe_regions(Client, Input, []). describe_regions(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DescribeRegions">>, Input, Options). %% @doc Describes a root volume replacement task. %% %% For more information, see Replace a root volume in the Amazon Elastic %% Compute Cloud User Guide. describe_replace_root_volume_tasks(Client, Input) when is_map(Client), is_map(Input) -> describe_replace_root_volume_tasks(Client, Input, []). describe_replace_root_volume_tasks(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DescribeReplaceRootVolumeTasks">>, Input, Options). %% @doc Describes one or more of the Reserved Instances that you purchased. %% %% For more information about Reserved Instances, see Reserved Instances in %% the Amazon EC2 User Guide. describe_reserved_instances(Client, Input) when is_map(Client), is_map(Input) -> describe_reserved_instances(Client, Input, []). describe_reserved_instances(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DescribeReservedInstances">>, Input, Options). %% @doc Describes your account's Reserved Instance listings in the %% Reserved Instance Marketplace. %% %% The Reserved Instance Marketplace matches sellers who want to resell %% Reserved Instance capacity that they no longer need with buyers who want %% to purchase additional capacity. Reserved Instances bought and sold %% through the Reserved Instance Marketplace work like any other Reserved %% Instances. %% %% As a seller, you choose to list some or all of your Reserved Instances, %% and you specify the upfront price to receive for them. Your Reserved %% Instances are then listed in the Reserved Instance Marketplace and are %% available for purchase. %% %% As a buyer, you specify the configuration of the Reserved Instance to %% purchase, and the Marketplace matches what you're searching for with %% what's available. The Marketplace first sells the lowest priced %% Reserved Instances to you, and continues to sell available Reserved %% Instance listings to you until your demand is met. You are charged based %% on the total price of all of the listings that you purchase. %% %% For more information, see Reserved Instance Marketplace in the Amazon EC2 %% User Guide. describe_reserved_instances_listings(Client, Input) when is_map(Client), is_map(Input) -> describe_reserved_instances_listings(Client, Input, []). describe_reserved_instances_listings(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DescribeReservedInstancesListings">>, Input, Options). %% @doc Describes the modifications made to your Reserved Instances. %% %% If no parameter is specified, information about all your Reserved %% Instances modification requests is returned. If a modification ID is %% specified, only information about the specific modification is returned. %% %% For more information, see Modifying Reserved Instances in the Amazon EC2 %% User Guide. describe_reserved_instances_modifications(Client, Input) when is_map(Client), is_map(Input) -> describe_reserved_instances_modifications(Client, Input, []). describe_reserved_instances_modifications(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DescribeReservedInstancesModifications">>, Input, Options). %% @doc Describes Reserved Instance offerings that are available for %% purchase. %% %% With Reserved Instances, you purchase the right to launch instances for a %% period of time. During that time period, you do not receive insufficient %% capacity errors, and you pay a lower usage rate than the rate charged for %% On-Demand instances for the actual time used. %% %% If you have listed your own Reserved Instances for sale in the Reserved %% Instance Marketplace, they will be excluded from these results. This is to %% ensure that you do not purchase your own Reserved Instances. %% %% For more information, see Reserved Instance Marketplace in the Amazon EC2 %% User Guide. describe_reserved_instances_offerings(Client, Input) when is_map(Client), is_map(Input) -> describe_reserved_instances_offerings(Client, Input, []). describe_reserved_instances_offerings(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DescribeReservedInstancesOfferings">>, Input, Options). %% @doc Describes one or more of your route tables. %% %% Each subnet in your VPC must be associated with a route table. If a subnet %% is not explicitly associated with any route table, it is implicitly %% associated with the main route table. This command does not return the %% subnet ID for implicit associations. %% %% For more information, see Route tables in the Amazon VPC User Guide. describe_route_tables(Client, Input) when is_map(Client), is_map(Input) -> describe_route_tables(Client, Input, []). describe_route_tables(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DescribeRouteTables">>, Input, Options). %% @doc Finds available schedules that meet the specified criteria. %% %% You can search for an available schedule no more than 3 months in advance. %% You must meet the minimum required duration of 1,200 hours per year. For %% example, the minimum daily schedule is 4 hours, the minimum weekly %% schedule is 24 hours, and the minimum monthly schedule is 100 hours. %% %% After you find a schedule that meets your needs, call %% `PurchaseScheduledInstances' to purchase Scheduled Instances with that %% schedule. describe_scheduled_instance_availability(Client, Input) when is_map(Client), is_map(Input) -> describe_scheduled_instance_availability(Client, Input, []). describe_scheduled_instance_availability(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DescribeScheduledInstanceAvailability">>, Input, Options). %% @doc Describes the specified Scheduled Instances or all your Scheduled %% Instances. describe_scheduled_instances(Client, Input) when is_map(Client), is_map(Input) -> describe_scheduled_instances(Client, Input, []). describe_scheduled_instances(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DescribeScheduledInstances">>, Input, Options). %% @doc Describes the VPCs on the other side of a VPC peering connection or %% the VPCs attached to a transit gateway that are referencing the security %% groups you've specified in this request. describe_security_group_references(Client, Input) when is_map(Client), is_map(Input) -> describe_security_group_references(Client, Input, []). describe_security_group_references(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DescribeSecurityGroupReferences">>, Input, Options). %% @doc Describes one or more of your security group rules. describe_security_group_rules(Client, Input) when is_map(Client), is_map(Input) -> describe_security_group_rules(Client, Input, []). describe_security_group_rules(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DescribeSecurityGroupRules">>, Input, Options). %% @doc Describes the specified security groups or all of your security %% groups. describe_security_groups(Client, Input) when is_map(Client), is_map(Input) -> describe_security_groups(Client, Input, []). describe_security_groups(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DescribeSecurityGroups">>, Input, Options). %% @doc Describes the specified attribute of the specified snapshot. %% %% You can specify only one attribute at a time. %% %% For more information about EBS snapshots, see Amazon EBS snapshots in the %% Amazon Elastic Compute Cloud User Guide. describe_snapshot_attribute(Client, Input) when is_map(Client), is_map(Input) -> describe_snapshot_attribute(Client, Input, []). describe_snapshot_attribute(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DescribeSnapshotAttribute">>, Input, Options). %% @doc Describes the storage tier status of one or more Amazon EBS %% snapshots. describe_snapshot_tier_status(Client, Input) when is_map(Client), is_map(Input) -> describe_snapshot_tier_status(Client, Input, []). describe_snapshot_tier_status(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DescribeSnapshotTierStatus">>, Input, Options). %% @doc Describes the specified EBS snapshots available to you or all of the %% EBS snapshots available to you. %% %% The snapshots available to you include public snapshots, private snapshots %% that you own, and private snapshots owned by other Amazon Web Services %% accounts for which you have explicit create volume permissions. %% %% The create volume permissions fall into the following categories: %% %% The list of snapshots returned can be filtered by specifying %% snapshot IDs, snapshot owners, or Amazon Web Services accounts with create %% volume permissions. If no options are specified, Amazon EC2 returns all %% snapshots for which you have create volume permissions. %% %% If you specify one or more snapshot IDs, only snapshots that have the %% specified IDs are returned. If you specify an invalid snapshot ID, an %% error is returned. If you specify a snapshot ID for which you do not have %% access, it is not included in the returned results. %% %% If you specify one or more snapshot owners using the `OwnerIds' %% option, only snapshots from the specified owners and for which you have %% access are returned. The results can include the Amazon Web Services %% account IDs of the specified owners, `amazon' for snapshots owned by %% Amazon, or `self' for snapshots that you own. %% %% If you specify a list of restorable users, only snapshots with create %% snapshot permissions for those users are returned. You can specify Amazon %% Web Services account IDs (if you own the snapshots), `self' for %% snapshots for which you own or have explicit permissions, or `all' for %% public snapshots. %% %% If you are describing a long list of snapshots, we recommend that you %% paginate the output to make the list more manageable. For more %% information, see Pagination. %% %% To get the state of fast snapshot restores for a snapshot, use %% `DescribeFastSnapshotRestores'. %% %% For more information about EBS snapshots, see Amazon EBS snapshots in the %% Amazon Elastic Compute Cloud User Guide. describe_snapshots(Client, Input) when is_map(Client), is_map(Input) -> describe_snapshots(Client, Input, []). describe_snapshots(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DescribeSnapshots">>, Input, Options). %% @doc Describes the data feed for Spot Instances. %% %% For more information, see Spot Instance data feed in the Amazon EC2 User %% Guide for Linux Instances. describe_spot_datafeed_subscription(Client, Input) when is_map(Client), is_map(Input) -> describe_spot_datafeed_subscription(Client, Input, []). describe_spot_datafeed_subscription(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DescribeSpotDatafeedSubscription">>, Input, Options). %% @doc Describes the running instances for the specified Spot Fleet. describe_spot_fleet_instances(Client, Input) when is_map(Client), is_map(Input) -> describe_spot_fleet_instances(Client, Input, []). describe_spot_fleet_instances(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DescribeSpotFleetInstances">>, Input, Options). %% @doc Describes the events for the specified Spot Fleet request during the %% specified time. %% %% Spot Fleet events are delayed by up to 30 seconds before they can be %% described. This ensures that you can query by the last evaluated time and %% not miss a recorded event. Spot Fleet events are available for 48 hours. %% %% For more information, see Monitor fleet events using Amazon EventBridge in %% the Amazon EC2 User Guide. describe_spot_fleet_request_history(Client, Input) when is_map(Client), is_map(Input) -> describe_spot_fleet_request_history(Client, Input, []). describe_spot_fleet_request_history(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DescribeSpotFleetRequestHistory">>, Input, Options). %% @doc Describes your Spot Fleet requests. %% %% Spot Fleet requests are deleted 48 hours after they are canceled and their %% instances are terminated. describe_spot_fleet_requests(Client, Input) when is_map(Client), is_map(Input) -> describe_spot_fleet_requests(Client, Input, []). describe_spot_fleet_requests(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DescribeSpotFleetRequests">>, Input, Options). %% @doc Describes the specified Spot Instance requests. %% %% You can use `DescribeSpotInstanceRequests' to find a running Spot %% Instance by examining the response. If the status of the Spot Instance is %% `fulfilled', the instance ID appears in the response and contains the %% identifier of the instance. Alternatively, you can use DescribeInstances %% with a filter to look for instances where the instance lifecycle is %% `spot'. %% %% We recommend that you set `MaxResults' to a value between 5 and 1000 %% to limit the number of items returned. This paginates the output, which %% makes the list more manageable and returns the items faster. If the list %% of items exceeds your `MaxResults' value, then that number of items is %% returned along with a `NextToken' value that can be passed to a %% subsequent `DescribeSpotInstanceRequests' request to retrieve the %% remaining items. %% %% Spot Instance requests are deleted four hours after they are canceled and %% their instances are terminated. describe_spot_instance_requests(Client, Input) when is_map(Client), is_map(Input) -> describe_spot_instance_requests(Client, Input, []). describe_spot_instance_requests(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DescribeSpotInstanceRequests">>, Input, Options). %% @doc Describes the Spot price history. %% %% For more information, see Spot Instance pricing history in the Amazon EC2 %% User Guide for Linux Instances. %% %% When you specify a start and end time, the operation returns the prices of %% the instance types within that time range. It also returns the last price %% change before the start time, which is the effective price as of the start %% time. describe_spot_price_history(Client, Input) when is_map(Client), is_map(Input) -> describe_spot_price_history(Client, Input, []). describe_spot_price_history(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DescribeSpotPriceHistory">>, Input, Options). %% @doc Describes the stale security group rules for security groups in a %% specified VPC. %% %% Rules are stale when they reference a deleted security group in the same %% VPC, peered VPC, or in separate VPCs attached to a transit gateway (with %% security group referencing support enabled). Rules can also be stale if %% they reference a security group in a peer VPC for which the VPC peering %% connection has been deleted or if they reference a security group in a VPC %% that has been detached from a transit gateway. describe_stale_security_groups(Client, Input) when is_map(Client), is_map(Input) -> describe_stale_security_groups(Client, Input, []). describe_stale_security_groups(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DescribeStaleSecurityGroups">>, Input, Options). %% @doc Describes the progress of the AMI store tasks. %% %% You can describe the store tasks for specified AMIs. If you don't %% specify the AMIs, you get a paginated list of store tasks from the last 31 %% days. %% %% For each AMI task, the response indicates if the task is `InProgress', %% `Completed', or `Failed'. For tasks `InProgress', the response %% shows the estimated progress as a percentage. %% %% Tasks are listed in reverse chronological order. Currently, only tasks %% from the past 31 days can be viewed. %% %% To use this API, you must have the required permissions. For more %% information, see Permissions for storing and restoring AMIs using Amazon %% S3 in the Amazon EC2 User Guide. %% %% For more information, see Store and restore an AMI using Amazon S3 in the %% Amazon EC2 User Guide. describe_store_image_tasks(Client, Input) when is_map(Client), is_map(Input) -> describe_store_image_tasks(Client, Input, []). describe_store_image_tasks(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DescribeStoreImageTasks">>, Input, Options). %% @doc Describes one or more of your subnets. %% %% For more information, see Subnets in the Amazon VPC User Guide. describe_subnets(Client, Input) when is_map(Client), is_map(Input) -> describe_subnets(Client, Input, []). describe_subnets(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DescribeSubnets">>, Input, Options). %% @doc Describes the specified tags for your EC2 resources. %% %% For more information about tags, see Tag your Amazon EC2 resources in the %% Amazon Elastic Compute Cloud User Guide. describe_tags(Client, Input) when is_map(Client), is_map(Input) -> describe_tags(Client, Input, []). describe_tags(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DescribeTags">>, Input, Options). %% @doc Describes one or more Traffic Mirror filters. describe_traffic_mirror_filters(Client, Input) when is_map(Client), is_map(Input) -> describe_traffic_mirror_filters(Client, Input, []). describe_traffic_mirror_filters(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DescribeTrafficMirrorFilters">>, Input, Options). %% @doc Describes one or more Traffic Mirror sessions. %% %% By default, all Traffic Mirror sessions are described. Alternatively, you %% can filter the results. describe_traffic_mirror_sessions(Client, Input) when is_map(Client), is_map(Input) -> describe_traffic_mirror_sessions(Client, Input, []). describe_traffic_mirror_sessions(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DescribeTrafficMirrorSessions">>, Input, Options). %% @doc Information about one or more Traffic Mirror targets. describe_traffic_mirror_targets(Client, Input) when is_map(Client), is_map(Input) -> describe_traffic_mirror_targets(Client, Input, []). describe_traffic_mirror_targets(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DescribeTrafficMirrorTargets">>, Input, Options). %% @doc Describes one or more attachments between resources and transit %% gateways. %% %% By default, all attachments are described. Alternatively, you can filter %% the results by attachment ID, attachment state, resource ID, or resource %% owner. describe_transit_gateway_attachments(Client, Input) when is_map(Client), is_map(Input) -> describe_transit_gateway_attachments(Client, Input, []). describe_transit_gateway_attachments(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DescribeTransitGatewayAttachments">>, Input, Options). %% @doc Describes one or more Connect peers. describe_transit_gateway_connect_peers(Client, Input) when is_map(Client), is_map(Input) -> describe_transit_gateway_connect_peers(Client, Input, []). describe_transit_gateway_connect_peers(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DescribeTransitGatewayConnectPeers">>, Input, Options). %% @doc Describes one or more Connect attachments. describe_transit_gateway_connects(Client, Input) when is_map(Client), is_map(Input) -> describe_transit_gateway_connects(Client, Input, []). describe_transit_gateway_connects(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DescribeTransitGatewayConnects">>, Input, Options). %% @doc Describes one or more transit gateway multicast domains. describe_transit_gateway_multicast_domains(Client, Input) when is_map(Client), is_map(Input) -> describe_transit_gateway_multicast_domains(Client, Input, []). describe_transit_gateway_multicast_domains(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DescribeTransitGatewayMulticastDomains">>, Input, Options). %% @doc Describes your transit gateway peering attachments. describe_transit_gateway_peering_attachments(Client, Input) when is_map(Client), is_map(Input) -> describe_transit_gateway_peering_attachments(Client, Input, []). describe_transit_gateway_peering_attachments(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DescribeTransitGatewayPeeringAttachments">>, Input, Options). %% @doc Describes one or more transit gateway route policy tables. describe_transit_gateway_policy_tables(Client, Input) when is_map(Client), is_map(Input) -> describe_transit_gateway_policy_tables(Client, Input, []). describe_transit_gateway_policy_tables(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DescribeTransitGatewayPolicyTables">>, Input, Options). %% @doc Describes one or more transit gateway route table advertisements. describe_transit_gateway_route_table_announcements(Client, Input) when is_map(Client), is_map(Input) -> describe_transit_gateway_route_table_announcements(Client, Input, []). describe_transit_gateway_route_table_announcements(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DescribeTransitGatewayRouteTableAnnouncements">>, Input, Options). %% @doc Describes one or more transit gateway route tables. %% %% By default, all transit gateway route tables are described. Alternatively, %% you can filter the results. describe_transit_gateway_route_tables(Client, Input) when is_map(Client), is_map(Input) -> describe_transit_gateway_route_tables(Client, Input, []). describe_transit_gateway_route_tables(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DescribeTransitGatewayRouteTables">>, Input, Options). %% @doc Describes one or more VPC attachments. %% %% By default, all VPC attachments are described. Alternatively, you can %% filter the results. describe_transit_gateway_vpc_attachments(Client, Input) when is_map(Client), is_map(Input) -> describe_transit_gateway_vpc_attachments(Client, Input, []). describe_transit_gateway_vpc_attachments(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DescribeTransitGatewayVpcAttachments">>, Input, Options). %% @doc Describes one or more transit gateways. %% %% By default, all transit gateways are described. Alternatively, you can %% filter the results. describe_transit_gateways(Client, Input) when is_map(Client), is_map(Input) -> describe_transit_gateways(Client, Input, []). describe_transit_gateways(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DescribeTransitGateways">>, Input, Options). %% @doc Describes one or more network interface trunk associations. describe_trunk_interface_associations(Client, Input) when is_map(Client), is_map(Input) -> describe_trunk_interface_associations(Client, Input, []). describe_trunk_interface_associations(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DescribeTrunkInterfaceAssociations">>, Input, Options). %% @doc Describes the specified Amazon Web Services Verified Access %% endpoints. describe_verified_access_endpoints(Client, Input) when is_map(Client), is_map(Input) -> describe_verified_access_endpoints(Client, Input, []). describe_verified_access_endpoints(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DescribeVerifiedAccessEndpoints">>, Input, Options). %% @doc Describes the specified Verified Access groups. describe_verified_access_groups(Client, Input) when is_map(Client), is_map(Input) -> describe_verified_access_groups(Client, Input, []). describe_verified_access_groups(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DescribeVerifiedAccessGroups">>, Input, Options). %% @doc Describes the specified Amazon Web Services Verified Access %% instances. describe_verified_access_instance_logging_configurations(Client, Input) when is_map(Client), is_map(Input) -> describe_verified_access_instance_logging_configurations(Client, Input, []). describe_verified_access_instance_logging_configurations(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DescribeVerifiedAccessInstanceLoggingConfigurations">>, Input, Options). %% @doc Describes the specified Amazon Web Services Verified Access %% instances. describe_verified_access_instances(Client, Input) when is_map(Client), is_map(Input) -> describe_verified_access_instances(Client, Input, []). describe_verified_access_instances(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DescribeVerifiedAccessInstances">>, Input, Options). %% @doc Describes the specified Amazon Web Services Verified Access trust %% providers. describe_verified_access_trust_providers(Client, Input) when is_map(Client), is_map(Input) -> describe_verified_access_trust_providers(Client, Input, []). describe_verified_access_trust_providers(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DescribeVerifiedAccessTrustProviders">>, Input, Options). %% @doc Describes the specified attribute of the specified volume. %% %% You can specify only one attribute at a time. %% %% For more information about EBS volumes, see Amazon EBS volumes in the %% Amazon Elastic Compute Cloud User Guide. describe_volume_attribute(Client, Input) when is_map(Client), is_map(Input) -> describe_volume_attribute(Client, Input, []). describe_volume_attribute(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DescribeVolumeAttribute">>, Input, Options). %% @doc Describes the status of the specified volumes. %% %% Volume status provides the result of the checks performed on your volumes %% to determine events that can impair the performance of your volumes. The %% performance of a volume can be affected if an issue occurs on the %% volume's underlying host. If the volume's underlying host %% experiences a power outage or system issue, after the system is restored, %% there could be data inconsistencies on the volume. Volume events notify %% you if this occurs. Volume actions notify you if any action needs to be %% taken in response to the event. %% %% The `DescribeVolumeStatus' operation provides the following %% information about the specified volumes: %% %% Status: Reflects the current status of the volume. The possible values are %% `ok', `impaired' , `warning', or `insufficient-data'. If %% all checks pass, the overall status of the volume is `ok'. If the %% check fails, the overall status is `impaired'. If the status is %% `insufficient-data', then the checks might still be taking place on %% your volume at the time. We recommend that you retry the request. For more %% information about volume status, see Monitor the status of your volumes in %% the Amazon Elastic Compute Cloud User Guide. %% %% Events: Reflect the cause of a volume status and might require you to take %% action. For example, if your volume returns an `impaired' status, then %% the volume event might be `potential-data-inconsistency'. This means %% that your volume has been affected by an issue with the underlying host, %% has all I/O operations disabled, and might have inconsistent data. %% %% Actions: Reflect the actions you might have to take in response to an %% event. For example, if the status of the volume is `impaired' and the %% volume event shows `potential-data-inconsistency', then the action %% shows `enable-volume-io'. This means that you may want to enable the %% I/O operations for the volume by calling the `EnableVolumeIO' action %% and then check the volume for data consistency. %% %% Volume status is based on the volume status checks, and does not reflect %% the volume state. Therefore, volume status does not indicate volumes in %% the `error' state (for example, when a volume is incapable of %% accepting I/O.) describe_volume_status(Client, Input) when is_map(Client), is_map(Input) -> describe_volume_status(Client, Input, []). describe_volume_status(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DescribeVolumeStatus">>, Input, Options). %% @doc Describes the specified EBS volumes or all of your EBS volumes. %% %% If you are describing a long list of volumes, we recommend that you %% paginate the output to make the list more manageable. For more %% information, see Pagination. %% %% For more information about EBS volumes, see Amazon EBS volumes in the %% Amazon Elastic Compute Cloud User Guide. describe_volumes(Client, Input) when is_map(Client), is_map(Input) -> describe_volumes(Client, Input, []). describe_volumes(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DescribeVolumes">>, Input, Options). %% @doc Describes the most recent volume modification request for the %% specified EBS volumes. %% %% If a volume has never been modified, some information in the output will %% be null. If a volume has been modified more than once, the output includes %% only the most recent modification request. %% %% You can also use CloudWatch Events to check the status of a modification %% to an EBS volume. For information about CloudWatch Events, see the Amazon %% CloudWatch Events User Guide. For more information, see Monitor the %% progress of volume modifications in the Amazon Elastic Compute Cloud User %% Guide. describe_volumes_modifications(Client, Input) when is_map(Client), is_map(Input) -> describe_volumes_modifications(Client, Input, []). describe_volumes_modifications(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DescribeVolumesModifications">>, Input, Options). %% @doc Describes the specified attribute of the specified VPC. %% %% You can specify only one attribute at a time. describe_vpc_attribute(Client, Input) when is_map(Client), is_map(Input) -> describe_vpc_attribute(Client, Input, []). describe_vpc_attribute(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DescribeVpcAttribute">>, Input, Options). %% @doc This action is deprecated. %% %% Describes the ClassicLink status of the specified VPCs. describe_vpc_classic_link(Client, Input) when is_map(Client), is_map(Input) -> describe_vpc_classic_link(Client, Input, []). describe_vpc_classic_link(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DescribeVpcClassicLink">>, Input, Options). %% @doc This action is deprecated. %% %% Describes the ClassicLink DNS support status of one or more VPCs. If %% enabled, the DNS hostname of a linked EC2-Classic instance resolves to its %% private IP address when addressed from an instance in the VPC to which %% it's linked. Similarly, the DNS hostname of an instance in a VPC %% resolves to its private IP address when addressed from a linked %% EC2-Classic instance. describe_vpc_classic_link_dns_support(Client, Input) when is_map(Client), is_map(Input) -> describe_vpc_classic_link_dns_support(Client, Input, []). describe_vpc_classic_link_dns_support(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DescribeVpcClassicLinkDnsSupport">>, Input, Options). %% @doc Describes the connection notifications for VPC endpoints and VPC %% endpoint services. describe_vpc_endpoint_connection_notifications(Client, Input) when is_map(Client), is_map(Input) -> describe_vpc_endpoint_connection_notifications(Client, Input, []). describe_vpc_endpoint_connection_notifications(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DescribeVpcEndpointConnectionNotifications">>, Input, Options). %% @doc Describes the VPC endpoint connections to your VPC endpoint services, %% including any endpoints that are pending your acceptance. describe_vpc_endpoint_connections(Client, Input) when is_map(Client), is_map(Input) -> describe_vpc_endpoint_connections(Client, Input, []). describe_vpc_endpoint_connections(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DescribeVpcEndpointConnections">>, Input, Options). %% @doc Describes the VPC endpoint service configurations in your account %% (your services). describe_vpc_endpoint_service_configurations(Client, Input) when is_map(Client), is_map(Input) -> describe_vpc_endpoint_service_configurations(Client, Input, []). describe_vpc_endpoint_service_configurations(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DescribeVpcEndpointServiceConfigurations">>, Input, Options). %% @doc Describes the principals (service consumers) that are permitted to %% discover your VPC endpoint service. describe_vpc_endpoint_service_permissions(Client, Input) when is_map(Client), is_map(Input) -> describe_vpc_endpoint_service_permissions(Client, Input, []). describe_vpc_endpoint_service_permissions(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DescribeVpcEndpointServicePermissions">>, Input, Options). %% @doc Describes available services to which you can create a VPC endpoint. %% %% When the service provider and the consumer have different accounts in %% multiple Availability Zones, and the consumer views the VPC endpoint %% service information, the response only includes the common Availability %% Zones. For example, when the service provider account uses %% `us-east-1a' and `us-east-1c' and the consumer uses %% `us-east-1a' and `us-east-1b', the response includes the VPC %% endpoint services in the common Availability Zone, `us-east-1a'. describe_vpc_endpoint_services(Client, Input) when is_map(Client), is_map(Input) -> describe_vpc_endpoint_services(Client, Input, []). describe_vpc_endpoint_services(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DescribeVpcEndpointServices">>, Input, Options). %% @doc Describes your VPC endpoints. describe_vpc_endpoints(Client, Input) when is_map(Client), is_map(Input) -> describe_vpc_endpoints(Client, Input, []). describe_vpc_endpoints(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DescribeVpcEndpoints">>, Input, Options). %% @doc Describes one or more of your VPC peering connections. describe_vpc_peering_connections(Client, Input) when is_map(Client), is_map(Input) -> describe_vpc_peering_connections(Client, Input, []). describe_vpc_peering_connections(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DescribeVpcPeeringConnections">>, Input, Options). %% @doc Describes one or more of your VPCs. describe_vpcs(Client, Input) when is_map(Client), is_map(Input) -> describe_vpcs(Client, Input, []). describe_vpcs(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DescribeVpcs">>, Input, Options). %% @doc Describes one or more of your VPN connections. %% %% For more information, see Amazon Web Services Site-to-Site VPN in the %% Amazon Web Services Site-to-Site VPN User Guide. describe_vpn_connections(Client, Input) when is_map(Client), is_map(Input) -> describe_vpn_connections(Client, Input, []). describe_vpn_connections(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DescribeVpnConnections">>, Input, Options). %% @doc Describes one or more of your virtual private gateways. %% %% For more information, see Amazon Web Services Site-to-Site VPN in the %% Amazon Web Services Site-to-Site VPN User Guide. describe_vpn_gateways(Client, Input) when is_map(Client), is_map(Input) -> describe_vpn_gateways(Client, Input, []). describe_vpn_gateways(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DescribeVpnGateways">>, Input, Options). %% @doc This action is deprecated. %% %% Unlinks (detaches) a linked EC2-Classic instance from a VPC. After the %% instance has been unlinked, the VPC security groups are no longer %% associated with it. An instance is automatically unlinked from a VPC when %% it's stopped. detach_classic_link_vpc(Client, Input) when is_map(Client), is_map(Input) -> detach_classic_link_vpc(Client, Input, []). detach_classic_link_vpc(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DetachClassicLinkVpc">>, Input, Options). %% @doc Detaches an internet gateway from a VPC, disabling connectivity %% between the internet and the VPC. %% %% The VPC must not contain any running instances with Elastic IP addresses %% or public IPv4 addresses. detach_internet_gateway(Client, Input) when is_map(Client), is_map(Input) -> detach_internet_gateway(Client, Input, []). detach_internet_gateway(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DetachInternetGateway">>, Input, Options). %% @doc Detaches a network interface from an instance. detach_network_interface(Client, Input) when is_map(Client), is_map(Input) -> detach_network_interface(Client, Input, []). detach_network_interface(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DetachNetworkInterface">>, Input, Options). %% @doc Detaches the specified Amazon Web Services Verified Access trust %% provider from the specified Amazon Web Services Verified Access instance. detach_verified_access_trust_provider(Client, Input) when is_map(Client), is_map(Input) -> detach_verified_access_trust_provider(Client, Input, []). detach_verified_access_trust_provider(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DetachVerifiedAccessTrustProvider">>, Input, Options). %% @doc Detaches an EBS volume from an instance. %% %% Make sure to unmount any file systems on the device within your operating %% system before detaching the volume. Failure to do so can result in the %% volume becoming stuck in the `busy' state while detaching. If this %% happens, detachment can be delayed indefinitely until you unmount the %% volume, force detachment, reboot the instance, or all three. If an EBS %% volume is the root device of an instance, it can't be detached while %% the instance is running. To detach the root volume, stop the instance %% first. %% %% When a volume with an Amazon Web Services Marketplace product code is %% detached from an instance, the product code is no longer associated with %% the instance. %% %% You can't detach or force detach volumes that are attached to Amazon %% ECS or Fargate tasks. Attempting to do this results in the %% `UnsupportedOperationException' exception with the `Unable to detach %% volume attached to ECS tasks' error message. %% %% For more information, see Detach an Amazon EBS volume in the Amazon %% Elastic Compute Cloud User Guide. detach_volume(Client, Input) when is_map(Client), is_map(Input) -> detach_volume(Client, Input, []). detach_volume(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DetachVolume">>, Input, Options). %% @doc Detaches a virtual private gateway from a VPC. %% %% You do this if you're planning to turn off the VPC and not use it %% anymore. You can confirm a virtual private gateway has been completely %% detached from a VPC by describing the virtual private gateway (any %% attachments to the virtual private gateway are also described). %% %% You must wait for the attachment's state to switch to `detached' %% before you can delete the VPC or attach a different VPC to the virtual %% private gateway. detach_vpn_gateway(Client, Input) when is_map(Client), is_map(Input) -> detach_vpn_gateway(Client, Input, []). detach_vpn_gateway(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DetachVpnGateway">>, Input, Options). %% @doc Disables Elastic IP address transfer. %% %% For more information, see Transfer Elastic IP addresses in the Amazon %% Virtual Private Cloud User Guide. disable_address_transfer(Client, Input) when is_map(Client), is_map(Input) -> disable_address_transfer(Client, Input, []). disable_address_transfer(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DisableAddressTransfer">>, Input, Options). %% @doc Disables Infrastructure Performance metric subscriptions. disable_aws_network_performance_metric_subscription(Client, Input) when is_map(Client), is_map(Input) -> disable_aws_network_performance_metric_subscription(Client, Input, []). disable_aws_network_performance_metric_subscription(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DisableAwsNetworkPerformanceMetricSubscription">>, Input, Options). %% @doc Disables EBS encryption by default for your account in the current %% Region. %% %% After you disable encryption by default, you can still create encrypted %% volumes by enabling encryption when you create each volume. %% %% Disabling encryption by default does not change the encryption status of %% your existing volumes. %% %% For more information, see Amazon EBS encryption in the Amazon Elastic %% Compute Cloud User Guide. disable_ebs_encryption_by_default(Client, Input) when is_map(Client), is_map(Input) -> disable_ebs_encryption_by_default(Client, Input, []). disable_ebs_encryption_by_default(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DisableEbsEncryptionByDefault">>, Input, Options). %% @doc Discontinue Windows fast launch for a Windows AMI, and clean up %% existing pre-provisioned snapshots. %% %% After you disable Windows fast launch, the AMI uses the standard launch %% process for each new instance. Amazon EC2 must remove all pre-provisioned %% snapshots before you can enable Windows fast launch again. %% %% You can only change these settings for Windows AMIs that you own or that %% have been shared with you. disable_fast_launch(Client, Input) when is_map(Client), is_map(Input) -> disable_fast_launch(Client, Input, []). disable_fast_launch(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DisableFastLaunch">>, Input, Options). %% @doc Disables fast snapshot restores for the specified snapshots in the %% specified Availability Zones. disable_fast_snapshot_restores(Client, Input) when is_map(Client), is_map(Input) -> disable_fast_snapshot_restores(Client, Input, []). disable_fast_snapshot_restores(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DisableFastSnapshotRestores">>, Input, Options). %% @doc Sets the AMI state to `disabled' and removes all launch %% permissions from the AMI. %% %% A disabled AMI can't be used for instance launches. %% %% A disabled AMI can't be shared. If an AMI was public or previously %% shared, it is made private. If an AMI was shared with an Amazon Web %% Services account, organization, or Organizational Unit, they lose access %% to the disabled AMI. %% %% A disabled AMI does not appear in DescribeImages API calls by default. %% %% Only the AMI owner can disable an AMI. %% %% You can re-enable a disabled AMI using EnableImage. %% %% For more information, see Disable an AMI in the Amazon EC2 User Guide. disable_image(Client, Input) when is_map(Client), is_map(Input) -> disable_image(Client, Input, []). disable_image(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DisableImage">>, Input, Options). %% @doc Disables block public access for AMIs at the account level in the %% specified Amazon Web Services Region. %% %% This removes the block public access restriction from your account. With %% the restriction removed, you can publicly share your AMIs in the specified %% Amazon Web Services Region. %% %% The API can take up to 10 minutes to configure this setting. During this %% time, if you run GetImageBlockPublicAccessState, the response will be %% `block-new-sharing'. When the API has completed the configuration, the %% response will be `unblocked'. %% %% For more information, see Block public access to your AMIs in the Amazon %% EC2 User Guide. disable_image_block_public_access(Client, Input) when is_map(Client), is_map(Input) -> disable_image_block_public_access(Client, Input, []). disable_image_block_public_access(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DisableImageBlockPublicAccess">>, Input, Options). %% @doc Cancels the deprecation of the specified AMI. %% %% For more information, see Deprecate an AMI in the Amazon EC2 User Guide. disable_image_deprecation(Client, Input) when is_map(Client), is_map(Input) -> disable_image_deprecation(Client, Input, []). disable_image_deprecation(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DisableImageDeprecation">>, Input, Options). %% @doc Disable the IPAM account. %% %% For more information, see Enable integration with Organizations in the %% Amazon VPC IPAM User Guide. disable_ipam_organization_admin_account(Client, Input) when is_map(Client), is_map(Input) -> disable_ipam_organization_admin_account(Client, Input, []). disable_ipam_organization_admin_account(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DisableIpamOrganizationAdminAccount">>, Input, Options). %% @doc Disables access to the EC2 serial console of all instances for your %% account. %% %% By default, access to the EC2 serial console is disabled for your account. %% For more information, see Manage account access to the EC2 serial console %% in the Amazon EC2 User Guide. disable_serial_console_access(Client, Input) when is_map(Client), is_map(Input) -> disable_serial_console_access(Client, Input, []). disable_serial_console_access(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DisableSerialConsoleAccess">>, Input, Options). %% @doc Disables the block public access for snapshots setting at the account %% level for the specified Amazon Web Services Region. %% %% After you disable block public access for snapshots in a Region, users can %% publicly share snapshots in that Region. %% %% If block public access is enabled in `block-all-sharing' mode, and you %% disable block public access, all snapshots that were previously publicly %% shared are no longer treated as private and they become publicly %% accessible again. %% %% For more information, see Block public access for snapshots in the Amazon %% Elastic Compute Cloud User Guide . disable_snapshot_block_public_access(Client, Input) when is_map(Client), is_map(Input) -> disable_snapshot_block_public_access(Client, Input, []). disable_snapshot_block_public_access(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DisableSnapshotBlockPublicAccess">>, Input, Options). %% @doc Disables the specified resource attachment from propagating routes to %% the specified propagation route table. disable_transit_gateway_route_table_propagation(Client, Input) when is_map(Client), is_map(Input) -> disable_transit_gateway_route_table_propagation(Client, Input, []). disable_transit_gateway_route_table_propagation(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DisableTransitGatewayRouteTablePropagation">>, Input, Options). %% @doc Disables a virtual private gateway (VGW) from propagating routes to a %% specified route table of a VPC. disable_vgw_route_propagation(Client, Input) when is_map(Client), is_map(Input) -> disable_vgw_route_propagation(Client, Input, []). disable_vgw_route_propagation(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DisableVgwRoutePropagation">>, Input, Options). %% @doc This action is deprecated. %% %% Disables ClassicLink for a VPC. You cannot disable ClassicLink for a VPC %% that has EC2-Classic instances linked to it. disable_vpc_classic_link(Client, Input) when is_map(Client), is_map(Input) -> disable_vpc_classic_link(Client, Input, []). disable_vpc_classic_link(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DisableVpcClassicLink">>, Input, Options). %% @doc This action is deprecated. %% %% Disables ClassicLink DNS support for a VPC. If disabled, DNS hostnames %% resolve to public IP addresses when addressed between a linked EC2-Classic %% instance and instances in the VPC to which it's linked. %% %% You must specify a VPC ID in the request. disable_vpc_classic_link_dns_support(Client, Input) when is_map(Client), is_map(Input) -> disable_vpc_classic_link_dns_support(Client, Input, []). disable_vpc_classic_link_dns_support(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DisableVpcClassicLinkDnsSupport">>, Input, Options). %% @doc Disassociates an Elastic IP address from the instance or network %% interface it's associated with. %% %% This is an idempotent operation. If you perform the operation more than %% once, Amazon EC2 doesn't return an error. disassociate_address(Client, Input) when is_map(Client), is_map(Input) -> disassociate_address(Client, Input, []). disassociate_address(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DisassociateAddress">>, Input, Options). %% @doc Disassociates a target network from the specified Client VPN %% endpoint. %% %% When you disassociate the last target network from a Client VPN, the %% following happens: %% %% disassociate_client_vpn_target_network(Client, Input) when is_map(Client), is_map(Input) -> disassociate_client_vpn_target_network(Client, Input, []). disassociate_client_vpn_target_network(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DisassociateClientVpnTargetNetwork">>, Input, Options). %% @doc Disassociates an IAM role from an Certificate Manager (ACM) %% certificate. %% %% Disassociating an IAM role from an ACM certificate removes the Amazon S3 %% object that contains the certificate, certificate chain, and encrypted %% private key from the Amazon S3 bucket. It also revokes the IAM role's %% permission to use the KMS key used to encrypt the private key. This %% effectively revokes the role's permission to use the certificate. disassociate_enclave_certificate_iam_role(Client, Input) when is_map(Client), is_map(Input) -> disassociate_enclave_certificate_iam_role(Client, Input, []). disassociate_enclave_certificate_iam_role(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DisassociateEnclaveCertificateIamRole">>, Input, Options). %% @doc Disassociates an IAM instance profile from a running or stopped %% instance. %% %% Use `DescribeIamInstanceProfileAssociations' to get the association %% ID. disassociate_iam_instance_profile(Client, Input) when is_map(Client), is_map(Input) -> disassociate_iam_instance_profile(Client, Input, []). disassociate_iam_instance_profile(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DisassociateIamInstanceProfile">>, Input, Options). %% @doc Disassociates one or more targets from an event window. %% %% For more information, see Define event windows for scheduled events in the %% Amazon EC2 User Guide. disassociate_instance_event_window(Client, Input) when is_map(Client), is_map(Input) -> disassociate_instance_event_window(Client, Input, []). disassociate_instance_event_window(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DisassociateInstanceEventWindow">>, Input, Options). %% @doc Remove the association between your Autonomous System Number (ASN) %% and your BYOIP CIDR. %% %% You may want to use this action to disassociate an ASN from a CIDR or if %% you want to swap ASNs. For more information, see Tutorial: Bring your ASN %% to IPAM in the Amazon VPC IPAM guide. disassociate_ipam_byoasn(Client, Input) when is_map(Client), is_map(Input) -> disassociate_ipam_byoasn(Client, Input, []). disassociate_ipam_byoasn(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DisassociateIpamByoasn">>, Input, Options). %% @doc Disassociates a resource discovery from an Amazon VPC IPAM. %% %% A resource discovery is an IPAM component that enables IPAM to manage and %% monitor resources that belong to the owning account. disassociate_ipam_resource_discovery(Client, Input) when is_map(Client), is_map(Input) -> disassociate_ipam_resource_discovery(Client, Input, []). disassociate_ipam_resource_discovery(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DisassociateIpamResourceDiscovery">>, Input, Options). %% @doc Disassociates secondary Elastic IP addresses (EIPs) from a public NAT %% gateway. %% %% You cannot disassociate your primary EIP. For more information, see Edit %% secondary IP address associations in the Amazon VPC User Guide. %% %% While disassociating is in progress, you cannot associate/disassociate %% additional EIPs while the connections are being drained. You are, however, %% allowed to delete the NAT gateway. %% %% An EIP is released only at the end of MaxDrainDurationSeconds. It stays %% associated and supports the existing connections but does not support any %% new connections (new connections are distributed across the remaining %% associated EIPs). As the existing connections drain out, the EIPs (and the %% corresponding private IP addresses mapped to them) are released. disassociate_nat_gateway_address(Client, Input) when is_map(Client), is_map(Input) -> disassociate_nat_gateway_address(Client, Input, []). disassociate_nat_gateway_address(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DisassociateNatGatewayAddress">>, Input, Options). %% @doc Disassociates a subnet or gateway from a route table. %% %% After you perform this action, the subnet no longer uses the routes in the %% route table. Instead, it uses the routes in the VPC's main route %% table. For more information about route tables, see Route tables in the %% Amazon VPC User Guide. disassociate_route_table(Client, Input) when is_map(Client), is_map(Input) -> disassociate_route_table(Client, Input, []). disassociate_route_table(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DisassociateRouteTable">>, Input, Options). %% @doc Disassociates a CIDR block from a subnet. %% %% Currently, you can disassociate an IPv6 CIDR block only. You must detach %% or delete all gateways and resources that are associated with the CIDR %% block before you can disassociate it. disassociate_subnet_cidr_block(Client, Input) when is_map(Client), is_map(Input) -> disassociate_subnet_cidr_block(Client, Input, []). disassociate_subnet_cidr_block(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DisassociateSubnetCidrBlock">>, Input, Options). %% @doc Disassociates the specified subnets from the transit gateway %% multicast domain. disassociate_transit_gateway_multicast_domain(Client, Input) when is_map(Client), is_map(Input) -> disassociate_transit_gateway_multicast_domain(Client, Input, []). disassociate_transit_gateway_multicast_domain(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DisassociateTransitGatewayMulticastDomain">>, Input, Options). %% @doc Removes the association between an an attachment and a policy table. disassociate_transit_gateway_policy_table(Client, Input) when is_map(Client), is_map(Input) -> disassociate_transit_gateway_policy_table(Client, Input, []). disassociate_transit_gateway_policy_table(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DisassociateTransitGatewayPolicyTable">>, Input, Options). %% @doc Disassociates a resource attachment from a transit gateway route %% table. disassociate_transit_gateway_route_table(Client, Input) when is_map(Client), is_map(Input) -> disassociate_transit_gateway_route_table(Client, Input, []). disassociate_transit_gateway_route_table(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DisassociateTransitGatewayRouteTable">>, Input, Options). %% @doc Removes an association between a branch network interface with a %% trunk network interface. disassociate_trunk_interface(Client, Input) when is_map(Client), is_map(Input) -> disassociate_trunk_interface(Client, Input, []). disassociate_trunk_interface(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DisassociateTrunkInterface">>, Input, Options). %% @doc Disassociates a CIDR block from a VPC. %% %% To disassociate the CIDR block, you must specify its association ID. You %% can get the association ID by using `DescribeVpcs'. You must detach or %% delete all gateways and resources that are associated with the CIDR block %% before you can disassociate it. %% %% You cannot disassociate the CIDR block with which you originally created %% the VPC (the primary CIDR block). disassociate_vpc_cidr_block(Client, Input) when is_map(Client), is_map(Input) -> disassociate_vpc_cidr_block(Client, Input, []). disassociate_vpc_cidr_block(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DisassociateVpcCidrBlock">>, Input, Options). %% @doc Enables Elastic IP address transfer. %% %% For more information, see Transfer Elastic IP addresses in the Amazon %% Virtual Private Cloud User Guide. enable_address_transfer(Client, Input) when is_map(Client), is_map(Input) -> enable_address_transfer(Client, Input, []). enable_address_transfer(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"EnableAddressTransfer">>, Input, Options). %% @doc Enables Infrastructure Performance subscriptions. enable_aws_network_performance_metric_subscription(Client, Input) when is_map(Client), is_map(Input) -> enable_aws_network_performance_metric_subscription(Client, Input, []). enable_aws_network_performance_metric_subscription(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"EnableAwsNetworkPerformanceMetricSubscription">>, Input, Options). %% @doc Enables EBS encryption by default for your account in the current %% Region. %% %% After you enable encryption by default, the EBS volumes that you create %% are always encrypted, either using the default KMS key or the KMS key that %% you specified when you created each volume. For more information, see %% Amazon EBS encryption in the Amazon Elastic Compute Cloud User Guide. %% %% You can specify the default KMS key for encryption by default using %% `ModifyEbsDefaultKmsKeyId' or `ResetEbsDefaultKmsKeyId'. %% %% Enabling encryption by default has no effect on the encryption status of %% your existing volumes. %% %% After you enable encryption by default, you can no longer launch instances %% using instance types that do not support encryption. For more information, %% see Supported instance types. enable_ebs_encryption_by_default(Client, Input) when is_map(Client), is_map(Input) -> enable_ebs_encryption_by_default(Client, Input, []). enable_ebs_encryption_by_default(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"EnableEbsEncryptionByDefault">>, Input, Options). %% @doc When you enable Windows fast launch for a Windows AMI, images are %% pre-provisioned, using snapshots to launch instances up to 65% faster. %% %% To create the optimized Windows image, Amazon EC2 launches an instance and %% runs through Sysprep steps, rebooting as required. Then it creates a set %% of reserved snapshots that are used for subsequent launches. The reserved %% snapshots are automatically replenished as they are used, depending on %% your settings for launch frequency. %% %% You can only change these settings for Windows AMIs that you own or that %% have been shared with you. enable_fast_launch(Client, Input) when is_map(Client), is_map(Input) -> enable_fast_launch(Client, Input, []). enable_fast_launch(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"EnableFastLaunch">>, Input, Options). %% @doc Enables fast snapshot restores for the specified snapshots in the %% specified Availability Zones. %% %% You get the full benefit of fast snapshot restores after they enter the %% `enabled' state. To get the current state of fast snapshot restores, %% use `DescribeFastSnapshotRestores'. To disable fast snapshot restores, %% use `DisableFastSnapshotRestores'. %% %% For more information, see Amazon EBS fast snapshot restore in the Amazon %% Elastic Compute Cloud User Guide. enable_fast_snapshot_restores(Client, Input) when is_map(Client), is_map(Input) -> enable_fast_snapshot_restores(Client, Input, []). enable_fast_snapshot_restores(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"EnableFastSnapshotRestores">>, Input, Options). %% @doc Re-enables a disabled AMI. %% %% The re-enabled AMI is marked as `available' and can be used for %% instance launches, appears in describe operations, and can be shared. %% Amazon Web Services accounts, organizations, and Organizational Units that %% lost access to the AMI when it was disabled do not regain access %% automatically. Once the AMI is available, it can be shared with them %% again. %% %% Only the AMI owner can re-enable a disabled AMI. %% %% For more information, see Disable an AMI in the Amazon EC2 User Guide. enable_image(Client, Input) when is_map(Client), is_map(Input) -> enable_image(Client, Input, []). enable_image(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"EnableImage">>, Input, Options). %% @doc Enables block public access for AMIs at the account level in the %% specified Amazon Web Services Region. %% %% This prevents the public sharing of your AMIs. However, if you already %% have public AMIs, they will remain publicly available. %% %% The API can take up to 10 minutes to configure this setting. During this %% time, if you run GetImageBlockPublicAccessState, the response will be %% `unblocked'. When the API has completed the configuration, the %% response will be `block-new-sharing'. %% %% For more information, see Block public access to your AMIs in the Amazon %% EC2 User Guide. enable_image_block_public_access(Client, Input) when is_map(Client), is_map(Input) -> enable_image_block_public_access(Client, Input, []). enable_image_block_public_access(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"EnableImageBlockPublicAccess">>, Input, Options). %% @doc Enables deprecation of the specified AMI at the specified date and %% time. %% %% For more information, see Deprecate an AMI in the Amazon EC2 User Guide. enable_image_deprecation(Client, Input) when is_map(Client), is_map(Input) -> enable_image_deprecation(Client, Input, []). enable_image_deprecation(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"EnableImageDeprecation">>, Input, Options). %% @doc Enable an Organizations member account as the IPAM admin account. %% %% You cannot select the Organizations management account as the IPAM admin %% account. For more information, see Enable integration with Organizations %% in the Amazon VPC IPAM User Guide. enable_ipam_organization_admin_account(Client, Input) when is_map(Client), is_map(Input) -> enable_ipam_organization_admin_account(Client, Input, []). enable_ipam_organization_admin_account(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"EnableIpamOrganizationAdminAccount">>, Input, Options). %% @doc Establishes a trust relationship between Reachability Analyzer and %% Organizations. %% %% This operation must be performed by the management account for the %% organization. %% %% After you establish a trust relationship, a user in the management account %% or a delegated administrator account can run a cross-account analysis %% using resources from the member accounts. enable_reachability_analyzer_organization_sharing(Client, Input) when is_map(Client), is_map(Input) -> enable_reachability_analyzer_organization_sharing(Client, Input, []). enable_reachability_analyzer_organization_sharing(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"EnableReachabilityAnalyzerOrganizationSharing">>, Input, Options). %% @doc Enables access to the EC2 serial console of all instances for your %% account. %% %% By default, access to the EC2 serial console is disabled for your account. %% For more information, see Manage account access to the EC2 serial console %% in the Amazon EC2 User Guide. enable_serial_console_access(Client, Input) when is_map(Client), is_map(Input) -> enable_serial_console_access(Client, Input, []). enable_serial_console_access(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"EnableSerialConsoleAccess">>, Input, Options). %% @doc Enables or modifies the block public access for snapshots setting at %% the account level for the specified Amazon Web Services Region. %% %% After you enable block public access for snapshots in a Region, users can %% no longer request public sharing for snapshots in that Region. Snapshots %% that are already publicly shared are either treated as private or they %% remain publicly shared, depending on the State that you specify. %% %% If block public access is enabled in `block-all-sharing' mode, and you %% change the mode to `block-new-sharing', all snapshots that were %% previously publicly shared are no longer treated as private and they %% become publicly accessible again. %% %% For more information, see Block public access for snapshots in the Amazon %% Elastic Compute Cloud User Guide. enable_snapshot_block_public_access(Client, Input) when is_map(Client), is_map(Input) -> enable_snapshot_block_public_access(Client, Input, []). enable_snapshot_block_public_access(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"EnableSnapshotBlockPublicAccess">>, Input, Options). %% @doc Enables the specified attachment to propagate routes to the specified %% propagation route table. enable_transit_gateway_route_table_propagation(Client, Input) when is_map(Client), is_map(Input) -> enable_transit_gateway_route_table_propagation(Client, Input, []). enable_transit_gateway_route_table_propagation(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"EnableTransitGatewayRouteTablePropagation">>, Input, Options). %% @doc Enables a virtual private gateway (VGW) to propagate routes to the %% specified route table of a VPC. enable_vgw_route_propagation(Client, Input) when is_map(Client), is_map(Input) -> enable_vgw_route_propagation(Client, Input, []). enable_vgw_route_propagation(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"EnableVgwRoutePropagation">>, Input, Options). %% @doc Enables I/O operations for a volume that had I/O operations disabled %% because the data on the volume was potentially inconsistent. enable_volume_i_o(Client, Input) when is_map(Client), is_map(Input) -> enable_volume_i_o(Client, Input, []). enable_volume_i_o(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"EnableVolumeIO">>, Input, Options). %% @doc This action is deprecated. %% %% Enables a VPC for ClassicLink. You can then link EC2-Classic instances to %% your ClassicLink-enabled VPC to allow communication over private IP %% addresses. You cannot enable your VPC for ClassicLink if any of your VPC %% route tables have existing routes for address ranges within the %% `10.0.0.0/8' IP address range, excluding local routes for VPCs in the %% `10.0.0.0/16' and `10.1.0.0/16' IP address ranges. enable_vpc_classic_link(Client, Input) when is_map(Client), is_map(Input) -> enable_vpc_classic_link(Client, Input, []). enable_vpc_classic_link(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"EnableVpcClassicLink">>, Input, Options). %% @doc This action is deprecated. %% %% Enables a VPC to support DNS hostname resolution for ClassicLink. If %% enabled, the DNS hostname of a linked EC2-Classic instance resolves to its %% private IP address when addressed from an instance in the VPC to which %% it's linked. Similarly, the DNS hostname of an instance in a VPC %% resolves to its private IP address when addressed from a linked %% EC2-Classic instance. %% %% You must specify a VPC ID in the request. enable_vpc_classic_link_dns_support(Client, Input) when is_map(Client), is_map(Input) -> enable_vpc_classic_link_dns_support(Client, Input, []). enable_vpc_classic_link_dns_support(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"EnableVpcClassicLinkDnsSupport">>, Input, Options). %% @doc Downloads the client certificate revocation list for the specified %% Client VPN endpoint. export_client_vpn_client_certificate_revocation_list(Client, Input) when is_map(Client), is_map(Input) -> export_client_vpn_client_certificate_revocation_list(Client, Input, []). export_client_vpn_client_certificate_revocation_list(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"ExportClientVpnClientCertificateRevocationList">>, Input, Options). %% @doc Downloads the contents of the Client VPN endpoint configuration file %% for the specified Client VPN endpoint. %% %% The Client VPN endpoint configuration file includes the Client VPN %% endpoint and certificate information clients need to establish a %% connection with the Client VPN endpoint. export_client_vpn_client_configuration(Client, Input) when is_map(Client), is_map(Input) -> export_client_vpn_client_configuration(Client, Input, []). export_client_vpn_client_configuration(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"ExportClientVpnClientConfiguration">>, Input, Options). %% @doc Exports an Amazon Machine Image (AMI) to a VM file. %% %% For more information, see Exporting a VM directly from an Amazon Machine %% Image (AMI) in the VM Import/Export User Guide. export_image(Client, Input) when is_map(Client), is_map(Input) -> export_image(Client, Input, []). export_image(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"ExportImage">>, Input, Options). %% @doc Exports routes from the specified transit gateway route table to the %% specified S3 bucket. %% %% By default, all routes are exported. Alternatively, you can filter by CIDR %% range. %% %% The routes are saved to the specified bucket in a JSON file. For more %% information, see Export Route Tables to Amazon S3 in Transit Gateways. export_transit_gateway_routes(Client, Input) when is_map(Client), is_map(Input) -> export_transit_gateway_routes(Client, Input, []). export_transit_gateway_routes(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"ExportTransitGatewayRoutes">>, Input, Options). %% @doc Returns the IAM roles that are associated with the specified ACM %% (ACM) certificate. %% %% It also returns the name of the Amazon S3 bucket and the Amazon S3 object %% key where the certificate, certificate chain, and encrypted private key %% bundle are stored, and the ARN of the KMS key that's used to encrypt %% the private key. get_associated_enclave_certificate_iam_roles(Client, Input) when is_map(Client), is_map(Input) -> get_associated_enclave_certificate_iam_roles(Client, Input, []). get_associated_enclave_certificate_iam_roles(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"GetAssociatedEnclaveCertificateIamRoles">>, Input, Options). %% @doc Gets information about the IPv6 CIDR block associations for a %% specified IPv6 address pool. get_associated_ipv6_pool_cidrs(Client, Input) when is_map(Client), is_map(Input) -> get_associated_ipv6_pool_cidrs(Client, Input, []). get_associated_ipv6_pool_cidrs(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"GetAssociatedIpv6PoolCidrs">>, Input, Options). %% @doc Gets network performance data. get_aws_network_performance_data(Client, Input) when is_map(Client), is_map(Input) -> get_aws_network_performance_data(Client, Input, []). get_aws_network_performance_data(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"GetAwsNetworkPerformanceData">>, Input, Options). %% @doc Gets usage information about a Capacity Reservation. %% %% If the Capacity Reservation is shared, it shows usage information for the %% Capacity Reservation owner and each Amazon Web Services account that is %% currently using the shared capacity. If the Capacity Reservation is not %% shared, it shows only the Capacity Reservation owner's usage. get_capacity_reservation_usage(Client, Input) when is_map(Client), is_map(Input) -> get_capacity_reservation_usage(Client, Input, []). get_capacity_reservation_usage(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"GetCapacityReservationUsage">>, Input, Options). %% @doc Describes the allocations from the specified customer-owned address %% pool. get_coip_pool_usage(Client, Input) when is_map(Client), is_map(Input) -> get_coip_pool_usage(Client, Input, []). get_coip_pool_usage(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"GetCoipPoolUsage">>, Input, Options). %% @doc Gets the console output for the specified instance. %% %% For Linux instances, the instance console output displays the exact %% console output that would normally be displayed on a physical monitor %% attached to a computer. For Windows instances, the instance console output %% includes the last three system event log errors. %% %% By default, the console output returns buffered information that was %% posted shortly after an instance transition state (start, stop, reboot, or %% terminate). This information is available for at least one hour after the %% most recent post. Only the most recent 64 KB of console output is %% available. %% %% You can optionally retrieve the latest serial console output at any time %% during the instance lifecycle. This option is supported on instance types %% that use the Nitro hypervisor. %% %% For more information, see Instance console output in the Amazon EC2 User %% Guide. get_console_output(Client, Input) when is_map(Client), is_map(Input) -> get_console_output(Client, Input, []). get_console_output(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"GetConsoleOutput">>, Input, Options). %% @doc Retrieve a JPG-format screenshot of a running instance to help with %% troubleshooting. %% %% The returned content is Base64-encoded. get_console_screenshot(Client, Input) when is_map(Client), is_map(Input) -> get_console_screenshot(Client, Input, []). get_console_screenshot(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"GetConsoleScreenshot">>, Input, Options). %% @doc Describes the default credit option for CPU usage of a burstable %% performance instance family. %% %% For more information, see Burstable performance instances in the Amazon %% EC2 User Guide. get_default_credit_specification(Client, Input) when is_map(Client), is_map(Input) -> get_default_credit_specification(Client, Input, []). get_default_credit_specification(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"GetDefaultCreditSpecification">>, Input, Options). %% @doc Describes the default KMS key for EBS encryption by default for your %% account in this Region. %% %% You can change the default KMS key for encryption by default using %% `ModifyEbsDefaultKmsKeyId' or `ResetEbsDefaultKmsKeyId'. %% %% For more information, see Amazon EBS encryption in the Amazon Elastic %% Compute Cloud User Guide. get_ebs_default_kms_key_id(Client, Input) when is_map(Client), is_map(Input) -> get_ebs_default_kms_key_id(Client, Input, []). get_ebs_default_kms_key_id(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"GetEbsDefaultKmsKeyId">>, Input, Options). %% @doc Describes whether EBS encryption by default is enabled for your %% account in the current Region. %% %% For more information, see Amazon EBS encryption in the Amazon Elastic %% Compute Cloud User Guide. get_ebs_encryption_by_default(Client, Input) when is_map(Client), is_map(Input) -> get_ebs_encryption_by_default(Client, Input, []). get_ebs_encryption_by_default(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"GetEbsEncryptionByDefault">>, Input, Options). %% @doc Generates a CloudFormation template that streamlines and automates %% the integration of VPC flow logs with Amazon Athena. %% %% This make it easier for you to query and gain insights from VPC flow logs %% data. Based on the information that you provide, we configure resources in %% the template to do the following: %% %% `GetFlowLogsIntegrationTemplate' does not support %% integration between Amazon Web Services Transit Gateway Flow Logs and %% Amazon Athena. get_flow_logs_integration_template(Client, Input) when is_map(Client), is_map(Input) -> get_flow_logs_integration_template(Client, Input, []). get_flow_logs_integration_template(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"GetFlowLogsIntegrationTemplate">>, Input, Options). %% @doc Lists the resource groups to which a Capacity Reservation has been %% added. get_groups_for_capacity_reservation(Client, Input) when is_map(Client), is_map(Input) -> get_groups_for_capacity_reservation(Client, Input, []). get_groups_for_capacity_reservation(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"GetGroupsForCapacityReservation">>, Input, Options). %% @doc Preview a reservation purchase with configurations that match those %% of your Dedicated Host. %% %% You must have active Dedicated Hosts in your account before you purchase a %% reservation. %% %% This is a preview of the `PurchaseHostReservation' action and does not %% result in the offering being purchased. get_host_reservation_purchase_preview(Client, Input) when is_map(Client), is_map(Input) -> get_host_reservation_purchase_preview(Client, Input, []). get_host_reservation_purchase_preview(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"GetHostReservationPurchasePreview">>, Input, Options). %% @doc Gets the current state of block public access for AMIs at the account %% level in the specified Amazon Web Services Region. %% %% For more information, see Block public access to your AMIs in the Amazon %% EC2 User Guide. get_image_block_public_access_state(Client, Input) when is_map(Client), is_map(Input) -> get_image_block_public_access_state(Client, Input, []). get_image_block_public_access_state(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"GetImageBlockPublicAccessState">>, Input, Options). %% @doc Returns a list of instance types with the specified instance %% attributes. %% %% You can use the response to preview the instance types without launching %% instances. Note that the response does not consider capacity. %% %% When you specify multiple parameters, you get instance types that satisfy %% all of the specified parameters. If you specify multiple values for a %% parameter, you get instance types that satisfy any of the specified %% values. %% %% For more information, see Preview instance types with specified %% attributes, Attribute-based instance type selection for EC2 Fleet, %% Attribute-based instance type selection for Spot Fleet, and Spot placement %% score in the Amazon EC2 User Guide, and Creating an Auto Scaling group %% using attribute-based instance type selection in the Amazon EC2 Auto %% Scaling User Guide. get_instance_types_from_instance_requirements(Client, Input) when is_map(Client), is_map(Input) -> get_instance_types_from_instance_requirements(Client, Input, []). get_instance_types_from_instance_requirements(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"GetInstanceTypesFromInstanceRequirements">>, Input, Options). %% @doc A binary representation of the UEFI variable store. %% %% Only non-volatile variables are stored. This is a base64 encoded and zlib %% compressed binary value that must be properly encoded. %% %% When you use register-image to create an AMI, you can create an exact copy %% of your variable store by passing the UEFI data in the `UefiData' %% parameter. You can modify the UEFI data by using the python-uefivars tool %% on GitHub. You can use the tool to convert the UEFI data into a %% human-readable format (JSON), which you can inspect and modify, and then %% convert back into the binary format to use with register-image. %% %% For more information, see UEFI Secure Boot in the Amazon EC2 User Guide. get_instance_uefi_data(Client, Input) when is_map(Client), is_map(Input) -> get_instance_uefi_data(Client, Input, []). get_instance_uefi_data(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"GetInstanceUefiData">>, Input, Options). %% @doc Retrieve historical information about a CIDR within an IPAM scope. %% %% For more information, see View the history of IP addresses in the Amazon %% VPC IPAM User Guide. get_ipam_address_history(Client, Input) when is_map(Client), is_map(Input) -> get_ipam_address_history(Client, Input, []). get_ipam_address_history(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"GetIpamAddressHistory">>, Input, Options). %% @doc Gets IPAM discovered accounts. %% %% A discovered account is an Amazon Web Services account that is monitored %% under a resource discovery. If you have integrated IPAM with Amazon Web %% Services Organizations, all accounts in the organization are discovered %% accounts. Only the IPAM account can get all discovered accounts in the %% organization. get_ipam_discovered_accounts(Client, Input) when is_map(Client), is_map(Input) -> get_ipam_discovered_accounts(Client, Input, []). get_ipam_discovered_accounts(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"GetIpamDiscoveredAccounts">>, Input, Options). %% @doc Gets the public IP addresses that have been discovered by IPAM. get_ipam_discovered_public_addresses(Client, Input) when is_map(Client), is_map(Input) -> get_ipam_discovered_public_addresses(Client, Input, []). get_ipam_discovered_public_addresses(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"GetIpamDiscoveredPublicAddresses">>, Input, Options). %% @doc Returns the resource CIDRs that are monitored as part of a resource %% discovery. %% %% A discovered resource is a resource CIDR monitored under a resource %% discovery. The following resources can be discovered: VPCs, Public IPv4 %% pools, VPC subnets, and Elastic IP addresses. get_ipam_discovered_resource_cidrs(Client, Input) when is_map(Client), is_map(Input) -> get_ipam_discovered_resource_cidrs(Client, Input, []). get_ipam_discovered_resource_cidrs(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"GetIpamDiscoveredResourceCidrs">>, Input, Options). %% @doc Get a list of all the CIDR allocations in an IPAM pool. %% %% The Region you use should be the IPAM pool locale. The locale is the %% Amazon Web Services Region where this IPAM pool is available for %% allocations. %% %% If you use this action after AllocateIpamPoolCidr or %% ReleaseIpamPoolAllocation, note that all EC2 API actions follow an %% eventual consistency model. get_ipam_pool_allocations(Client, Input) when is_map(Client), is_map(Input) -> get_ipam_pool_allocations(Client, Input, []). get_ipam_pool_allocations(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"GetIpamPoolAllocations">>, Input, Options). %% @doc Get the CIDRs provisioned to an IPAM pool. get_ipam_pool_cidrs(Client, Input) when is_map(Client), is_map(Input) -> get_ipam_pool_cidrs(Client, Input, []). get_ipam_pool_cidrs(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"GetIpamPoolCidrs">>, Input, Options). %% @doc Returns resource CIDRs managed by IPAM in a given scope. %% %% If an IPAM is associated with more than one resource discovery, the %% resource CIDRs across all of the resource discoveries is returned. A %% resource discovery is an IPAM component that enables IPAM to manage and %% monitor resources that belong to the owning account. get_ipam_resource_cidrs(Client, Input) when is_map(Client), is_map(Input) -> get_ipam_resource_cidrs(Client, Input, []). get_ipam_resource_cidrs(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"GetIpamResourceCidrs">>, Input, Options). %% @doc Retrieves the configuration data of the specified instance. %% %% You can use this data to create a launch template. %% %% This action calls on other describe actions to get instance information. %% Depending on your instance configuration, you may need to allow the %% following actions in your IAM policy: `DescribeSpotInstanceRequests', %% `DescribeInstanceCreditSpecifications', `DescribeVolumes', and %% `DescribeInstanceAttribute'. Or, you can allow `describe*' %% depending on your instance requirements. get_launch_template_data(Client, Input) when is_map(Client), is_map(Input) -> get_launch_template_data(Client, Input, []). get_launch_template_data(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"GetLaunchTemplateData">>, Input, Options). %% @doc Gets information about the resources that are associated with the %% specified managed prefix list. get_managed_prefix_list_associations(Client, Input) when is_map(Client), is_map(Input) -> get_managed_prefix_list_associations(Client, Input, []). get_managed_prefix_list_associations(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"GetManagedPrefixListAssociations">>, Input, Options). %% @doc Gets information about the entries for a specified managed prefix %% list. get_managed_prefix_list_entries(Client, Input) when is_map(Client), is_map(Input) -> get_managed_prefix_list_entries(Client, Input, []). get_managed_prefix_list_entries(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"GetManagedPrefixListEntries">>, Input, Options). %% @doc Gets the findings for the specified Network Access Scope analysis. get_network_insights_access_scope_analysis_findings(Client, Input) when is_map(Client), is_map(Input) -> get_network_insights_access_scope_analysis_findings(Client, Input, []). get_network_insights_access_scope_analysis_findings(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"GetNetworkInsightsAccessScopeAnalysisFindings">>, Input, Options). %% @doc Gets the content for the specified Network Access Scope. get_network_insights_access_scope_content(Client, Input) when is_map(Client), is_map(Input) -> get_network_insights_access_scope_content(Client, Input, []). get_network_insights_access_scope_content(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"GetNetworkInsightsAccessScopeContent">>, Input, Options). %% @doc Retrieves the encrypted administrator password for a running Windows %% instance. %% %% The Windows password is generated at boot by the `EC2Config' service %% or `EC2Launch' scripts (Windows Server 2016 and later). This usually %% only happens the first time an instance is launched. For more information, %% see EC2Config and EC2Launch in the Amazon EC2 User Guide. %% %% For the `EC2Config' service, the password is not generated for %% rebundled AMIs unless `Ec2SetPassword' is enabled before bundling. %% %% The password is encrypted using the key pair that you specified when you %% launched the instance. You must provide the corresponding key pair file. %% %% When you launch an instance, password generation and encryption may take a %% few minutes. If you try to retrieve the password before it's %% available, the output returns an empty string. We recommend that you wait %% up to 15 minutes after launching an instance before trying to retrieve the %% generated password. get_password_data(Client, Input) when is_map(Client), is_map(Input) -> get_password_data(Client, Input, []). get_password_data(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"GetPasswordData">>, Input, Options). %% @doc Returns a quote and exchange information for exchanging one or more %% specified Convertible Reserved Instances for a new Convertible Reserved %% Instance. %% %% If the exchange cannot be performed, the reason is returned in the %% response. Use `AcceptReservedInstancesExchangeQuote' to perform the %% exchange. get_reserved_instances_exchange_quote(Client, Input) when is_map(Client), is_map(Input) -> get_reserved_instances_exchange_quote(Client, Input, []). get_reserved_instances_exchange_quote(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"GetReservedInstancesExchangeQuote">>, Input, Options). %% @doc Gets security groups that can be associated by the Amazon Web %% Services account making the request with network interfaces in the %% specified VPC. get_security_groups_for_vpc(Client, Input) when is_map(Client), is_map(Input) -> get_security_groups_for_vpc(Client, Input, []). get_security_groups_for_vpc(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"GetSecurityGroupsForVpc">>, Input, Options). %% @doc Retrieves the access status of your account to the EC2 serial console %% of all instances. %% %% By default, access to the EC2 serial console is disabled for your account. %% For more information, see Manage account access to the EC2 serial console %% in the Amazon EC2 User Guide. get_serial_console_access_status(Client, Input) when is_map(Client), is_map(Input) -> get_serial_console_access_status(Client, Input, []). get_serial_console_access_status(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"GetSerialConsoleAccessStatus">>, Input, Options). %% @doc Gets the current state of block public access for snapshots setting %% for the account and Region. %% %% For more information, see Block public access for snapshots in the Amazon %% Elastic Compute Cloud User Guide. get_snapshot_block_public_access_state(Client, Input) when is_map(Client), is_map(Input) -> get_snapshot_block_public_access_state(Client, Input, []). get_snapshot_block_public_access_state(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"GetSnapshotBlockPublicAccessState">>, Input, Options). %% @doc Calculates the Spot placement score for a Region or Availability Zone %% based on the specified target capacity and compute requirements. %% %% You can specify your compute requirements either by using %% `InstanceRequirementsWithMetadata' and letting Amazon EC2 choose the %% optimal instance types to fulfill your Spot request, or you can specify %% the instance types by using `InstanceTypes'. %% %% For more information, see Spot placement score in the Amazon EC2 User %% Guide. get_spot_placement_scores(Client, Input) when is_map(Client), is_map(Input) -> get_spot_placement_scores(Client, Input, []). get_spot_placement_scores(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"GetSpotPlacementScores">>, Input, Options). %% @doc Gets information about the subnet CIDR reservations. get_subnet_cidr_reservations(Client, Input) when is_map(Client), is_map(Input) -> get_subnet_cidr_reservations(Client, Input, []). get_subnet_cidr_reservations(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"GetSubnetCidrReservations">>, Input, Options). %% @doc Lists the route tables to which the specified resource attachment %% propagates routes. get_transit_gateway_attachment_propagations(Client, Input) when is_map(Client), is_map(Input) -> get_transit_gateway_attachment_propagations(Client, Input, []). get_transit_gateway_attachment_propagations(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"GetTransitGatewayAttachmentPropagations">>, Input, Options). %% @doc Gets information about the associations for the transit gateway %% multicast domain. get_transit_gateway_multicast_domain_associations(Client, Input) when is_map(Client), is_map(Input) -> get_transit_gateway_multicast_domain_associations(Client, Input, []). get_transit_gateway_multicast_domain_associations(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"GetTransitGatewayMulticastDomainAssociations">>, Input, Options). %% @doc Gets a list of the transit gateway policy table associations. get_transit_gateway_policy_table_associations(Client, Input) when is_map(Client), is_map(Input) -> get_transit_gateway_policy_table_associations(Client, Input, []). get_transit_gateway_policy_table_associations(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"GetTransitGatewayPolicyTableAssociations">>, Input, Options). %% @doc Returns a list of transit gateway policy table entries. get_transit_gateway_policy_table_entries(Client, Input) when is_map(Client), is_map(Input) -> get_transit_gateway_policy_table_entries(Client, Input, []). get_transit_gateway_policy_table_entries(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"GetTransitGatewayPolicyTableEntries">>, Input, Options). %% @doc Gets information about the prefix list references in a specified %% transit gateway route table. get_transit_gateway_prefix_list_references(Client, Input) when is_map(Client), is_map(Input) -> get_transit_gateway_prefix_list_references(Client, Input, []). get_transit_gateway_prefix_list_references(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"GetTransitGatewayPrefixListReferences">>, Input, Options). %% @doc Gets information about the associations for the specified transit %% gateway route table. get_transit_gateway_route_table_associations(Client, Input) when is_map(Client), is_map(Input) -> get_transit_gateway_route_table_associations(Client, Input, []). get_transit_gateway_route_table_associations(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"GetTransitGatewayRouteTableAssociations">>, Input, Options). %% @doc Gets information about the route table propagations for the specified %% transit gateway route table. get_transit_gateway_route_table_propagations(Client, Input) when is_map(Client), is_map(Input) -> get_transit_gateway_route_table_propagations(Client, Input, []). get_transit_gateway_route_table_propagations(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"GetTransitGatewayRouteTablePropagations">>, Input, Options). %% @doc Get the Verified Access policy associated with the endpoint. get_verified_access_endpoint_policy(Client, Input) when is_map(Client), is_map(Input) -> get_verified_access_endpoint_policy(Client, Input, []). get_verified_access_endpoint_policy(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"GetVerifiedAccessEndpointPolicy">>, Input, Options). %% @doc Shows the contents of the Verified Access policy associated with the %% group. get_verified_access_group_policy(Client, Input) when is_map(Client), is_map(Input) -> get_verified_access_group_policy(Client, Input, []). get_verified_access_group_policy(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"GetVerifiedAccessGroupPolicy">>, Input, Options). %% @doc Download an Amazon Web Services-provided sample configuration file to %% be used with the customer gateway device specified for your Site-to-Site %% VPN connection. get_vpn_connection_device_sample_configuration(Client, Input) when is_map(Client), is_map(Input) -> get_vpn_connection_device_sample_configuration(Client, Input, []). get_vpn_connection_device_sample_configuration(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"GetVpnConnectionDeviceSampleConfiguration">>, Input, Options). %% @doc Obtain a list of customer gateway devices for which sample %% configuration files can be provided. %% %% The request has no additional parameters. You can also see the list of %% device types with sample configuration files available under Your customer %% gateway device in the Amazon Web Services Site-to-Site VPN User Guide. get_vpn_connection_device_types(Client, Input) when is_map(Client), is_map(Input) -> get_vpn_connection_device_types(Client, Input, []). get_vpn_connection_device_types(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"GetVpnConnectionDeviceTypes">>, Input, Options). %% @doc Get details of available tunnel endpoint maintenance. get_vpn_tunnel_replacement_status(Client, Input) when is_map(Client), is_map(Input) -> get_vpn_tunnel_replacement_status(Client, Input, []). get_vpn_tunnel_replacement_status(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"GetVpnTunnelReplacementStatus">>, Input, Options). %% @doc Uploads a client certificate revocation list to the specified Client %% VPN endpoint. %% %% Uploading a client certificate revocation list overwrites the existing %% client certificate revocation list. %% %% Uploading a client certificate revocation list resets existing client %% connections. import_client_vpn_client_certificate_revocation_list(Client, Input) when is_map(Client), is_map(Input) -> import_client_vpn_client_certificate_revocation_list(Client, Input, []). import_client_vpn_client_certificate_revocation_list(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"ImportClientVpnClientCertificateRevocationList">>, Input, Options). %% @doc To import your virtual machines (VMs) with a console-based %% experience, you can use the Import virtual machine images to Amazon Web %% Services template in the Migration Hub Orchestrator console. %% %% For more information, see the Migration Hub Orchestrator User Guide . %% %% Import single or multi-volume disk images or EBS snapshots into an Amazon %% Machine Image (AMI). %% %% Amazon Web Services VM Import/Export strongly recommends specifying a %% value for either the `--license-type' or `--usage-operation' %% parameter when you create a new VM Import task. This ensures your %% operating system is licensed appropriately and your billing is optimized. %% %% For more information, see Importing a VM as an image using VM %% Import/Export in the VM Import/Export User Guide. import_image(Client, Input) when is_map(Client), is_map(Input) -> import_image(Client, Input, []). import_image(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"ImportImage">>, Input, Options). %% @doc We recommend that you use the `ImportImage' API. %% %% For more information, see Importing a VM as an image using VM %% Import/Export in the VM Import/Export User Guide. %% %% Creates an import instance task using metadata from the specified disk %% image. %% %% This API action is not supported by the Command Line Interface (CLI). For %% information about using the Amazon EC2 CLI, which is deprecated, see %% Importing a VM to Amazon EC2 in the Amazon EC2 CLI Reference PDF file. %% %% This API action supports only single-volume VMs. To import multi-volume %% VMs, use `ImportImage' instead. %% %% For information about the import manifest referenced by this API action, %% see VM Import Manifest. import_instance(Client, Input) when is_map(Client), is_map(Input) -> import_instance(Client, Input, []). import_instance(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"ImportInstance">>, Input, Options). %% @doc Imports the public key from an RSA or ED25519 key pair that you %% created with a third-party tool. %% %% Compare this with `CreateKeyPair', in which Amazon Web Services %% creates the key pair and gives the keys to you (Amazon Web Services keeps %% a copy of the public key). With ImportKeyPair, you create the key pair and %% give Amazon Web Services just the public key. The private key is never %% transferred between you and Amazon Web Services. %% %% For more information about key pairs, see Amazon EC2 key pairs in the %% Amazon Elastic Compute Cloud User Guide. import_key_pair(Client, Input) when is_map(Client), is_map(Input) -> import_key_pair(Client, Input, []). import_key_pair(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"ImportKeyPair">>, Input, Options). %% @doc Imports a disk into an EBS snapshot. %% %% For more information, see Importing a disk as a snapshot using VM %% Import/Export in the VM Import/Export User Guide. import_snapshot(Client, Input) when is_map(Client), is_map(Input) -> import_snapshot(Client, Input, []). import_snapshot(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"ImportSnapshot">>, Input, Options). %% @doc Creates an import volume task using metadata from the specified disk %% image. %% %% This API action supports only single-volume VMs. To import multi-volume %% VMs, use `ImportImage' instead. To import a disk to a snapshot, use %% `ImportSnapshot' instead. %% %% This API action is not supported by the Command Line Interface (CLI). For %% information about using the Amazon EC2 CLI, which is deprecated, see %% Importing Disks to Amazon EBS in the Amazon EC2 CLI Reference PDF file. %% %% For information about the import manifest referenced by this API action, %% see VM Import Manifest. import_volume(Client, Input) when is_map(Client), is_map(Input) -> import_volume(Client, Input, []). import_volume(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"ImportVolume">>, Input, Options). %% @doc Lists one or more AMIs that are currently in the Recycle Bin. %% %% For more information, see Recycle Bin in the Amazon EC2 User Guide. list_images_in_recycle_bin(Client, Input) when is_map(Client), is_map(Input) -> list_images_in_recycle_bin(Client, Input, []). list_images_in_recycle_bin(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"ListImagesInRecycleBin">>, Input, Options). %% @doc Lists one or more snapshots that are currently in the Recycle Bin. list_snapshots_in_recycle_bin(Client, Input) when is_map(Client), is_map(Input) -> list_snapshots_in_recycle_bin(Client, Input, []). list_snapshots_in_recycle_bin(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"ListSnapshotsInRecycleBin">>, Input, Options). %% @doc Locks an Amazon EBS snapshot in either governance or compliance mode %% to protect it against accidental or malicious deletions for a specific %% duration. %% %% A locked snapshot can't be deleted. %% %% You can also use this action to modify the lock settings for a snapshot %% that is already locked. The allowed modifications depend on the lock mode %% and lock state: %% %% lock_snapshot(Client, Input) when is_map(Client), is_map(Input) -> lock_snapshot(Client, Input, []). lock_snapshot(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"LockSnapshot">>, Input, Options). %% @doc Modifies an attribute of the specified Elastic IP address. %% %% For requirements, see Using reverse DNS for email applications. modify_address_attribute(Client, Input) when is_map(Client), is_map(Input) -> modify_address_attribute(Client, Input, []). modify_address_attribute(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"ModifyAddressAttribute">>, Input, Options). %% @doc Changes the opt-in status of the Local Zone and Wavelength Zone group %% for your account. %% %% Use DescribeAvailabilityZones to view the value for `GroupName'. modify_availability_zone_group(Client, Input) when is_map(Client), is_map(Input) -> modify_availability_zone_group(Client, Input, []). modify_availability_zone_group(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"ModifyAvailabilityZoneGroup">>, Input, Options). %% @doc Modifies a Capacity Reservation's capacity and the conditions %% under which it is to be released. %% %% You cannot change a Capacity Reservation's instance type, EBS %% optimization, instance store settings, platform, Availability Zone, or %% instance eligibility. If you need to modify any of these attributes, we %% recommend that you cancel the Capacity Reservation, and then create a new %% one with the required attributes. modify_capacity_reservation(Client, Input) when is_map(Client), is_map(Input) -> modify_capacity_reservation(Client, Input, []). modify_capacity_reservation(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"ModifyCapacityReservation">>, Input, Options). %% @doc Modifies a Capacity Reservation Fleet. %% %% When you modify the total target capacity of a Capacity Reservation Fleet, %% the Fleet automatically creates new Capacity Reservations, or modifies or %% cancels existing Capacity Reservations in the Fleet to meet the new total %% target capacity. When you modify the end date for the Fleet, the end dates %% for all of the individual Capacity Reservations in the Fleet are updated %% accordingly. modify_capacity_reservation_fleet(Client, Input) when is_map(Client), is_map(Input) -> modify_capacity_reservation_fleet(Client, Input, []). modify_capacity_reservation_fleet(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"ModifyCapacityReservationFleet">>, Input, Options). %% @doc Modifies the specified Client VPN endpoint. %% %% Modifying the DNS server resets existing client connections. modify_client_vpn_endpoint(Client, Input) when is_map(Client), is_map(Input) -> modify_client_vpn_endpoint(Client, Input, []). modify_client_vpn_endpoint(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"ModifyClientVpnEndpoint">>, Input, Options). %% @doc Modifies the default credit option for CPU usage of burstable %% performance instances. %% %% The default credit option is set at the account level per Amazon Web %% Services Region, and is specified per instance family. All new burstable %% performance instances in the account launch using the default credit %% option. %% %% `ModifyDefaultCreditSpecification' is an asynchronous operation, which %% works at an Amazon Web Services Region level and modifies the credit %% option for each Availability Zone. All zones in a Region are updated %% within five minutes. But if instances are launched during this operation, %% they might not get the new credit option until the zone is updated. To %% verify whether the update has occurred, you can call %% `GetDefaultCreditSpecification' and check %% `DefaultCreditSpecification' for updates. %% %% For more information, see Burstable performance instances in the Amazon %% EC2 User Guide. modify_default_credit_specification(Client, Input) when is_map(Client), is_map(Input) -> modify_default_credit_specification(Client, Input, []). modify_default_credit_specification(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"ModifyDefaultCreditSpecification">>, Input, Options). %% @doc Changes the default KMS key for EBS encryption by default for your %% account in this Region. %% %% Amazon Web Services creates a unique Amazon Web Services managed KMS key %% in each Region for use with encryption by default. If you change the %% default KMS key to a symmetric customer managed KMS key, it is used %% instead of the Amazon Web Services managed KMS key. To reset the default %% KMS key to the Amazon Web Services managed KMS key for EBS, use %% `ResetEbsDefaultKmsKeyId'. Amazon EBS does not support asymmetric KMS %% keys. %% %% If you delete or disable the customer managed KMS key that you specified %% for use with encryption by default, your instances will fail to launch. %% %% For more information, see Amazon EBS encryption in the Amazon Elastic %% Compute Cloud User Guide. modify_ebs_default_kms_key_id(Client, Input) when is_map(Client), is_map(Input) -> modify_ebs_default_kms_key_id(Client, Input, []). modify_ebs_default_kms_key_id(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"ModifyEbsDefaultKmsKeyId">>, Input, Options). %% @doc Modifies the specified EC2 Fleet. %% %% You can only modify an EC2 Fleet request of type `maintain'. %% %% While the EC2 Fleet is being modified, it is in the `modifying' state. %% %% To scale up your EC2 Fleet, increase its target capacity. The EC2 Fleet %% launches the additional Spot Instances according to the allocation %% strategy for the EC2 Fleet request. If the allocation strategy is %% `lowest-price', the EC2 Fleet launches instances using the Spot %% Instance pool with the lowest price. If the allocation strategy is %% `diversified', the EC2 Fleet distributes the instances across the Spot %% Instance pools. If the allocation strategy is `capacity-optimized', %% EC2 Fleet launches instances from Spot Instance pools with optimal %% capacity for the number of instances that are launching. %% %% To scale down your EC2 Fleet, decrease its target capacity. First, the EC2 %% Fleet cancels any open requests that exceed the new target capacity. You %% can request that the EC2 Fleet terminate Spot Instances until the size of %% the fleet no longer exceeds the new target capacity. If the allocation %% strategy is `lowest-price', the EC2 Fleet terminates the instances %% with the highest price per unit. If the allocation strategy is %% `capacity-optimized', the EC2 Fleet terminates the instances in the %% Spot Instance pools that have the least available Spot Instance capacity. %% If the allocation strategy is `diversified', the EC2 Fleet terminates %% instances across the Spot Instance pools. Alternatively, you can request %% that the EC2 Fleet keep the fleet at its current size, but not replace any %% Spot Instances that are interrupted or that you terminate manually. %% %% If you are finished with your EC2 Fleet for now, but will use it again %% later, you can set the target capacity to 0. modify_fleet(Client, Input) when is_map(Client), is_map(Input) -> modify_fleet(Client, Input, []). modify_fleet(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"ModifyFleet">>, Input, Options). %% @doc Modifies the specified attribute of the specified Amazon FPGA Image %% (AFI). modify_fpga_image_attribute(Client, Input) when is_map(Client), is_map(Input) -> modify_fpga_image_attribute(Client, Input, []). modify_fpga_image_attribute(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"ModifyFpgaImageAttribute">>, Input, Options). %% @doc Modify the auto-placement setting of a Dedicated Host. %% %% When auto-placement is enabled, any instances that you launch with a %% tenancy of `host' but without a specific host ID are placed onto any %% available Dedicated Host in your account that has auto-placement enabled. %% When auto-placement is disabled, you need to provide a host ID to have the %% instance launch onto a specific host. If no host ID is provided, the %% instance is launched onto a suitable host with auto-placement enabled. %% %% You can also use this API action to modify a Dedicated Host to support %% either multiple instance types in an instance family, or to support a %% specific instance type only. modify_hosts(Client, Input) when is_map(Client), is_map(Input) -> modify_hosts(Client, Input, []). modify_hosts(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"ModifyHosts">>, Input, Options). %% @doc Modifies the ID format for the specified resource on a per-Region %% basis. %% %% You can specify that resources should receive longer IDs (17-character %% IDs) when they are created. %% %% This request can only be used to modify longer ID settings for resource %% types that are within the opt-in period. Resources currently in their %% opt-in period include: `bundle' | `conversion-task' | %% `customer-gateway' | `dhcp-options' | `elastic-ip-allocation' %% | `elastic-ip-association' | `export-task' | `flow-log' | %% `image' | `import-task' | `internet-gateway' | %% `network-acl' | `network-acl-association' | %% `network-interface' | `network-interface-attachment' | %% `prefix-list' | `route-table' | `route-table-association' | %% `security-group' | `subnet' | `subnet-cidr-block-association' %% | `vpc' | `vpc-cidr-block-association' | `vpc-endpoint' | %% `vpc-peering-connection' | `vpn-connection' | `vpn-gateway'. %% %% This setting applies to the IAM user who makes the request; it does not %% apply to the entire Amazon Web Services account. By default, an IAM user %% defaults to the same settings as the root user. If you're using this %% action as the root user, then these settings apply to the entire account, %% unless an IAM user explicitly overrides these settings for themselves. For %% more information, see Resource IDs in the Amazon Elastic Compute Cloud %% User Guide. %% %% Resources created with longer IDs are visible to all IAM roles and users, %% regardless of these settings and provided that they have permission to use %% the relevant `Describe' command for the resource type. modify_id_format(Client, Input) when is_map(Client), is_map(Input) -> modify_id_format(Client, Input, []). modify_id_format(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"ModifyIdFormat">>, Input, Options). %% @doc Modifies the ID format of a resource for a specified IAM user, IAM %% role, or the root user for an account; or all IAM users, IAM roles, and %% the root user for an account. %% %% You can specify that resources should receive longer IDs (17-character %% IDs) when they are created. %% %% This request can only be used to modify longer ID settings for resource %% types that are within the opt-in period. Resources currently in their %% opt-in period include: `bundle' | `conversion-task' | %% `customer-gateway' | `dhcp-options' | `elastic-ip-allocation' %% | `elastic-ip-association' | `export-task' | `flow-log' | %% `image' | `import-task' | `internet-gateway' | %% `network-acl' | `network-acl-association' | %% `network-interface' | `network-interface-attachment' | %% `prefix-list' | `route-table' | `route-table-association' | %% `security-group' | `subnet' | `subnet-cidr-block-association' %% | `vpc' | `vpc-cidr-block-association' | `vpc-endpoint' | %% `vpc-peering-connection' | `vpn-connection' | `vpn-gateway'. %% %% For more information, see Resource IDs in the Amazon Elastic Compute Cloud %% User Guide. %% %% This setting applies to the principal specified in the request; it does %% not apply to the principal that makes the request. %% %% Resources created with longer IDs are visible to all IAM roles and users, %% regardless of these settings and provided that they have permission to use %% the relevant `Describe' command for the resource type. modify_identity_id_format(Client, Input) when is_map(Client), is_map(Input) -> modify_identity_id_format(Client, Input, []). modify_identity_id_format(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"ModifyIdentityIdFormat">>, Input, Options). %% @doc Modifies the specified attribute of the specified AMI. %% %% You can specify only one attribute at a time. %% %% To specify the attribute, you can use the `Attribute' parameter, or %% one of the following parameters: `Description', `ImdsSupport', or %% `LaunchPermission'. %% %% Images with an Amazon Web Services Marketplace product code cannot be made %% public. %% %% To enable the SriovNetSupport enhanced networking attribute of an image, %% enable SriovNetSupport on an instance and create an AMI from the instance. modify_image_attribute(Client, Input) when is_map(Client), is_map(Input) -> modify_image_attribute(Client, Input, []). modify_image_attribute(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"ModifyImageAttribute">>, Input, Options). %% @doc Modifies the specified attribute of the specified instance. %% %% You can specify only one attribute at a time. %% %% Note: Using this action to change the security groups associated with an %% elastic network interface (ENI) attached to an instance can result in an %% error if the instance has more than one ENI. To change the security groups %% associated with an ENI attached to an instance that has multiple ENIs, we %% recommend that you use the `ModifyNetworkInterfaceAttribute' action. %% %% To modify some attributes, the instance must be stopped. For more %% information, see Modify a stopped instance in the Amazon EC2 User Guide. modify_instance_attribute(Client, Input) when is_map(Client), is_map(Input) -> modify_instance_attribute(Client, Input, []). modify_instance_attribute(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"ModifyInstanceAttribute">>, Input, Options). %% @doc Modifies the Capacity Reservation settings for a stopped instance. %% %% Use this action to configure an instance to target a specific Capacity %% Reservation, run in any `open' Capacity Reservation with matching %% attributes, or run On-Demand Instance capacity. modify_instance_capacity_reservation_attributes(Client, Input) when is_map(Client), is_map(Input) -> modify_instance_capacity_reservation_attributes(Client, Input, []). modify_instance_capacity_reservation_attributes(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"ModifyInstanceCapacityReservationAttributes">>, Input, Options). %% @doc Modifies the credit option for CPU usage on a running or stopped %% burstable performance instance. %% %% The credit options are `standard' and `unlimited'. %% %% For more information, see Burstable performance instances in the Amazon %% EC2 User Guide. modify_instance_credit_specification(Client, Input) when is_map(Client), is_map(Input) -> modify_instance_credit_specification(Client, Input, []). modify_instance_credit_specification(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"ModifyInstanceCreditSpecification">>, Input, Options). %% @doc Modifies the start time for a scheduled Amazon EC2 instance event. modify_instance_event_start_time(Client, Input) when is_map(Client), is_map(Input) -> modify_instance_event_start_time(Client, Input, []). modify_instance_event_start_time(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"ModifyInstanceEventStartTime">>, Input, Options). %% @doc Modifies the specified event window. %% %% You can define either a set of time ranges or a cron expression when %% modifying the event window, but not both. %% %% To modify the targets associated with the event window, use the %% `AssociateInstanceEventWindow' and %% `DisassociateInstanceEventWindow' API. %% %% If Amazon Web Services has already scheduled an event, modifying an event %% window won't change the time of the scheduled event. %% %% For more information, see Define event windows for scheduled events in the %% Amazon EC2 User Guide. modify_instance_event_window(Client, Input) when is_map(Client), is_map(Input) -> modify_instance_event_window(Client, Input, []). modify_instance_event_window(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"ModifyInstanceEventWindow">>, Input, Options). %% @doc Modifies the recovery behavior of your instance to disable simplified %% automatic recovery or set the recovery behavior to default. %% %% The default configuration will not enable simplified automatic recovery %% for an unsupported instance type. For more information, see Simplified %% automatic recovery. modify_instance_maintenance_options(Client, Input) when is_map(Client), is_map(Input) -> modify_instance_maintenance_options(Client, Input, []). modify_instance_maintenance_options(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"ModifyInstanceMaintenanceOptions">>, Input, Options). %% @doc Modify the instance metadata parameters on a running or stopped %% instance. %% %% When you modify the parameters on a stopped instance, they are applied %% when the instance is started. When you modify the parameters on a running %% instance, the API responds with a state of “pending”. After the parameter %% modifications are successfully applied to the instance, the state of the %% modifications changes from “pending” to “applied” in subsequent %% describe-instances API calls. For more information, see Instance metadata %% and user data in the Amazon EC2 User Guide. modify_instance_metadata_options(Client, Input) when is_map(Client), is_map(Input) -> modify_instance_metadata_options(Client, Input, []). modify_instance_metadata_options(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"ModifyInstanceMetadataOptions">>, Input, Options). %% @doc Modifies the placement attributes for a specified instance. %% %% You can do the following: %% %% At least one attribute for affinity, host ID, tenancy, or %% placement group name must be specified in the request. Affinity and %% tenancy can be modified in the same request. %% %% To modify the host ID, tenancy, placement group, or partition for an %% instance, the instance must be in the `stopped' state. modify_instance_placement(Client, Input) when is_map(Client), is_map(Input) -> modify_instance_placement(Client, Input, []). modify_instance_placement(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"ModifyInstancePlacement">>, Input, Options). %% @doc Modify the configurations of an IPAM. modify_ipam(Client, Input) when is_map(Client), is_map(Input) -> modify_ipam(Client, Input, []). modify_ipam(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"ModifyIpam">>, Input, Options). %% @doc Modify the configurations of an IPAM pool. %% %% For more information, see Modify a pool in the Amazon VPC IPAM User Guide. modify_ipam_pool(Client, Input) when is_map(Client), is_map(Input) -> modify_ipam_pool(Client, Input, []). modify_ipam_pool(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"ModifyIpamPool">>, Input, Options). %% @doc Modify a resource CIDR. %% %% You can use this action to transfer resource CIDRs between scopes and %% ignore resource CIDRs that you do not want to manage. If set to false, the %% resource will not be tracked for overlap, it cannot be auto-imported into %% a pool, and it will be removed from any pool it has an allocation in. %% %% For more information, see Move resource CIDRs between scopes and Change %% the monitoring state of resource CIDRs in the Amazon VPC IPAM User Guide. modify_ipam_resource_cidr(Client, Input) when is_map(Client), is_map(Input) -> modify_ipam_resource_cidr(Client, Input, []). modify_ipam_resource_cidr(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"ModifyIpamResourceCidr">>, Input, Options). %% @doc Modifies a resource discovery. %% %% A resource discovery is an IPAM component that enables IPAM to manage and %% monitor resources that belong to the owning account. modify_ipam_resource_discovery(Client, Input) when is_map(Client), is_map(Input) -> modify_ipam_resource_discovery(Client, Input, []). modify_ipam_resource_discovery(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"ModifyIpamResourceDiscovery">>, Input, Options). %% @doc Modify an IPAM scope. modify_ipam_scope(Client, Input) when is_map(Client), is_map(Input) -> modify_ipam_scope(Client, Input, []). modify_ipam_scope(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"ModifyIpamScope">>, Input, Options). %% @doc Modifies a launch template. %% %% You can specify which version of the launch template to set as the default %% version. When launching an instance, the default version applies when a %% launch template version is not specified. modify_launch_template(Client, Input) when is_map(Client), is_map(Input) -> modify_launch_template(Client, Input, []). modify_launch_template(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"ModifyLaunchTemplate">>, Input, Options). %% @doc Modifies the specified local gateway route. modify_local_gateway_route(Client, Input) when is_map(Client), is_map(Input) -> modify_local_gateway_route(Client, Input, []). modify_local_gateway_route(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"ModifyLocalGatewayRoute">>, Input, Options). %% @doc Modifies the specified managed prefix list. %% %% Adding or removing entries in a prefix list creates a new version of the %% prefix list. Changing the name of the prefix list does not affect the %% version. %% %% If you specify a current version number that does not match the true %% current version number, the request fails. modify_managed_prefix_list(Client, Input) when is_map(Client), is_map(Input) -> modify_managed_prefix_list(Client, Input, []). modify_managed_prefix_list(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"ModifyManagedPrefixList">>, Input, Options). %% @doc Modifies the specified network interface attribute. %% %% You can specify only one attribute at a time. You can use this action to %% attach and detach security groups from an existing EC2 instance. modify_network_interface_attribute(Client, Input) when is_map(Client), is_map(Input) -> modify_network_interface_attribute(Client, Input, []). modify_network_interface_attribute(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"ModifyNetworkInterfaceAttribute">>, Input, Options). %% @doc Modifies the options for instance hostnames for the specified %% instance. modify_private_dns_name_options(Client, Input) when is_map(Client), is_map(Input) -> modify_private_dns_name_options(Client, Input, []). modify_private_dns_name_options(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"ModifyPrivateDnsNameOptions">>, Input, Options). %% @doc Modifies the configuration of your Reserved Instances, such as the %% Availability Zone, instance count, or instance type. %% %% The Reserved Instances to be modified must be identical, except for %% Availability Zone, network platform, and instance type. %% %% For more information, see Modifying Reserved Instances in the Amazon EC2 %% User Guide. modify_reserved_instances(Client, Input) when is_map(Client), is_map(Input) -> modify_reserved_instances(Client, Input, []). modify_reserved_instances(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"ModifyReservedInstances">>, Input, Options). %% @doc Modifies the rules of a security group. modify_security_group_rules(Client, Input) when is_map(Client), is_map(Input) -> modify_security_group_rules(Client, Input, []). modify_security_group_rules(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"ModifySecurityGroupRules">>, Input, Options). %% @doc Adds or removes permission settings for the specified snapshot. %% %% You may add or remove specified Amazon Web Services account IDs from a %% snapshot's list of create volume permissions, but you cannot do both %% in a single operation. If you need to both add and remove account IDs for %% a snapshot, you must use multiple operations. You can make up to 500 %% modifications to a snapshot in a single operation. %% %% Encrypted snapshots and snapshots with Amazon Web Services Marketplace %% product codes cannot be made public. Snapshots encrypted with your default %% KMS key cannot be shared with other accounts. %% %% For more information about modifying snapshot permissions, see Share a %% snapshot in the Amazon Elastic Compute Cloud User Guide. modify_snapshot_attribute(Client, Input) when is_map(Client), is_map(Input) -> modify_snapshot_attribute(Client, Input, []). modify_snapshot_attribute(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"ModifySnapshotAttribute">>, Input, Options). %% @doc Archives an Amazon EBS snapshot. %% %% When you archive a snapshot, it is converted to a full snapshot that %% includes all of the blocks of data that were written to the volume at the %% time the snapshot was created, and moved from the standard tier to the %% archive tier. For more information, see Archive Amazon EBS snapshots in %% the Amazon Elastic Compute Cloud User Guide. modify_snapshot_tier(Client, Input) when is_map(Client), is_map(Input) -> modify_snapshot_tier(Client, Input, []). modify_snapshot_tier(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"ModifySnapshotTier">>, Input, Options). %% @doc Modifies the specified Spot Fleet request. %% %% You can only modify a Spot Fleet request of type `maintain'. %% %% While the Spot Fleet request is being modified, it is in the %% `modifying' state. %% %% To scale up your Spot Fleet, increase its target capacity. The Spot Fleet %% launches the additional Spot Instances according to the allocation %% strategy for the Spot Fleet request. If the allocation strategy is %% `lowestPrice', the Spot Fleet launches instances using the Spot %% Instance pool with the lowest price. If the allocation strategy is %% `diversified', the Spot Fleet distributes the instances across the %% Spot Instance pools. If the allocation strategy is %% `capacityOptimized', Spot Fleet launches instances from Spot Instance %% pools with optimal capacity for the number of instances that are %% launching. %% %% To scale down your Spot Fleet, decrease its target capacity. First, the %% Spot Fleet cancels any open requests that exceed the new target capacity. %% You can request that the Spot Fleet terminate Spot Instances until the %% size of the fleet no longer exceeds the new target capacity. If the %% allocation strategy is `lowestPrice', the Spot Fleet terminates the %% instances with the highest price per unit. If the allocation strategy is %% `capacityOptimized', the Spot Fleet terminates the instances in the %% Spot Instance pools that have the least available Spot Instance capacity. %% If the allocation strategy is `diversified', the Spot Fleet terminates %% instances across the Spot Instance pools. Alternatively, you can request %% that the Spot Fleet keep the fleet at its current size, but not replace %% any Spot Instances that are interrupted or that you terminate manually. %% %% If you are finished with your Spot Fleet for now, but will use it again %% later, you can set the target capacity to 0. modify_spot_fleet_request(Client, Input) when is_map(Client), is_map(Input) -> modify_spot_fleet_request(Client, Input, []). modify_spot_fleet_request(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"ModifySpotFleetRequest">>, Input, Options). %% @doc Modifies a subnet attribute. %% %% You can only modify one attribute at a time. %% %% Use this action to modify subnets on Amazon Web Services Outposts. %% %% For more information about Amazon Web Services Outposts, see %% the following: %% %% modify_subnet_attribute(Client, Input) when is_map(Client), is_map(Input) -> modify_subnet_attribute(Client, Input, []). modify_subnet_attribute(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"ModifySubnetAttribute">>, Input, Options). %% @doc Allows or restricts mirroring network services. %% %% By default, Amazon DNS network services are not eligible for Traffic %% Mirror. Use `AddNetworkServices' to add network services to a Traffic %% Mirror filter. When a network service is added to the Traffic Mirror %% filter, all traffic related to that network service will be mirrored. When %% you no longer want to mirror network services, use %% `RemoveNetworkServices' to remove the network services from the %% Traffic Mirror filter. modify_traffic_mirror_filter_network_services(Client, Input) when is_map(Client), is_map(Input) -> modify_traffic_mirror_filter_network_services(Client, Input, []). modify_traffic_mirror_filter_network_services(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"ModifyTrafficMirrorFilterNetworkServices">>, Input, Options). %% @doc Modifies the specified Traffic Mirror rule. %% %% `DestinationCidrBlock' and `SourceCidrBlock' must both be an IPv4 %% range or an IPv6 range. modify_traffic_mirror_filter_rule(Client, Input) when is_map(Client), is_map(Input) -> modify_traffic_mirror_filter_rule(Client, Input, []). modify_traffic_mirror_filter_rule(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"ModifyTrafficMirrorFilterRule">>, Input, Options). %% @doc Modifies a Traffic Mirror session. modify_traffic_mirror_session(Client, Input) when is_map(Client), is_map(Input) -> modify_traffic_mirror_session(Client, Input, []). modify_traffic_mirror_session(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"ModifyTrafficMirrorSession">>, Input, Options). %% @doc Modifies the specified transit gateway. %% %% When you modify a transit gateway, the modified options are applied to new %% transit gateway attachments only. Your existing transit gateway %% attachments are not modified. modify_transit_gateway(Client, Input) when is_map(Client), is_map(Input) -> modify_transit_gateway(Client, Input, []). modify_transit_gateway(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"ModifyTransitGateway">>, Input, Options). %% @doc Modifies a reference (route) to a prefix list in a specified transit %% gateway route table. modify_transit_gateway_prefix_list_reference(Client, Input) when is_map(Client), is_map(Input) -> modify_transit_gateway_prefix_list_reference(Client, Input, []). modify_transit_gateway_prefix_list_reference(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"ModifyTransitGatewayPrefixListReference">>, Input, Options). %% @doc Modifies the specified VPC attachment. modify_transit_gateway_vpc_attachment(Client, Input) when is_map(Client), is_map(Input) -> modify_transit_gateway_vpc_attachment(Client, Input, []). modify_transit_gateway_vpc_attachment(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"ModifyTransitGatewayVpcAttachment">>, Input, Options). %% @doc Modifies the configuration of the specified Amazon Web Services %% Verified Access endpoint. modify_verified_access_endpoint(Client, Input) when is_map(Client), is_map(Input) -> modify_verified_access_endpoint(Client, Input, []). modify_verified_access_endpoint(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"ModifyVerifiedAccessEndpoint">>, Input, Options). %% @doc Modifies the specified Amazon Web Services Verified Access endpoint %% policy. modify_verified_access_endpoint_policy(Client, Input) when is_map(Client), is_map(Input) -> modify_verified_access_endpoint_policy(Client, Input, []). modify_verified_access_endpoint_policy(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"ModifyVerifiedAccessEndpointPolicy">>, Input, Options). %% @doc Modifies the specified Amazon Web Services Verified Access group %% configuration. modify_verified_access_group(Client, Input) when is_map(Client), is_map(Input) -> modify_verified_access_group(Client, Input, []). modify_verified_access_group(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"ModifyVerifiedAccessGroup">>, Input, Options). %% @doc Modifies the specified Amazon Web Services Verified Access group %% policy. modify_verified_access_group_policy(Client, Input) when is_map(Client), is_map(Input) -> modify_verified_access_group_policy(Client, Input, []). modify_verified_access_group_policy(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"ModifyVerifiedAccessGroupPolicy">>, Input, Options). %% @doc Modifies the configuration of the specified Amazon Web Services %% Verified Access instance. modify_verified_access_instance(Client, Input) when is_map(Client), is_map(Input) -> modify_verified_access_instance(Client, Input, []). modify_verified_access_instance(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"ModifyVerifiedAccessInstance">>, Input, Options). %% @doc Modifies the logging configuration for the specified Amazon Web %% Services Verified Access instance. modify_verified_access_instance_logging_configuration(Client, Input) when is_map(Client), is_map(Input) -> modify_verified_access_instance_logging_configuration(Client, Input, []). modify_verified_access_instance_logging_configuration(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"ModifyVerifiedAccessInstanceLoggingConfiguration">>, Input, Options). %% @doc Modifies the configuration of the specified Amazon Web Services %% Verified Access trust provider. modify_verified_access_trust_provider(Client, Input) when is_map(Client), is_map(Input) -> modify_verified_access_trust_provider(Client, Input, []). modify_verified_access_trust_provider(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"ModifyVerifiedAccessTrustProvider">>, Input, Options). %% @doc You can modify several parameters of an existing EBS volume, %% including volume size, volume type, and IOPS capacity. %% %% If your EBS volume is attached to a current-generation EC2 instance type, %% you might be able to apply these changes without stopping the instance or %% detaching the volume from it. For more information about modifying EBS %% volumes, see Amazon EBS Elastic Volumes (Linux instances) or Amazon EBS %% Elastic Volumes (Windows instances). %% %% When you complete a resize operation on your volume, you need to extend %% the volume's file-system size to take advantage of the new storage %% capacity. For more information, see Extend a Linux file system or Extend a %% Windows file system. %% %% You can use CloudWatch Events to check the status of a modification to an %% EBS volume. For information about CloudWatch Events, see the Amazon %% CloudWatch Events User Guide. You can also track the status of a %% modification using `DescribeVolumesModifications'. For information %% about tracking status changes using either method, see Monitor the %% progress of volume modifications. %% %% With previous-generation instance types, resizing an EBS volume might %% require detaching and reattaching the volume or stopping and restarting %% the instance. %% %% After modifying a volume, you must wait at least six hours and ensure that %% the volume is in the `in-use' or `available' state before you can %% modify the same volume. This is sometimes referred to as a cooldown %% period. modify_volume(Client, Input) when is_map(Client), is_map(Input) -> modify_volume(Client, Input, []). modify_volume(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"ModifyVolume">>, Input, Options). %% @doc Modifies a volume attribute. %% %% By default, all I/O operations for the volume are suspended when the data %% on the volume is determined to be potentially inconsistent, to prevent %% undetectable, latent data corruption. The I/O access to the volume can be %% resumed by first enabling I/O access and then checking the data %% consistency on your volume. %% %% You can change the default behavior to resume I/O operations. We recommend %% that you change this only for boot volumes or for volumes that are %% stateless or disposable. modify_volume_attribute(Client, Input) when is_map(Client), is_map(Input) -> modify_volume_attribute(Client, Input, []). modify_volume_attribute(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"ModifyVolumeAttribute">>, Input, Options). %% @doc Modifies the specified attribute of the specified VPC. modify_vpc_attribute(Client, Input) when is_map(Client), is_map(Input) -> modify_vpc_attribute(Client, Input, []). modify_vpc_attribute(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"ModifyVpcAttribute">>, Input, Options). %% @doc Modifies attributes of a specified VPC endpoint. %% %% The attributes that you can modify depend on the type of VPC endpoint %% (interface, gateway, or Gateway Load Balancer). For more information, see %% the Amazon Web Services PrivateLink Guide. modify_vpc_endpoint(Client, Input) when is_map(Client), is_map(Input) -> modify_vpc_endpoint(Client, Input, []). modify_vpc_endpoint(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"ModifyVpcEndpoint">>, Input, Options). %% @doc Modifies a connection notification for VPC endpoint or VPC endpoint %% service. %% %% You can change the SNS topic for the notification, or the events for which %% to be notified. modify_vpc_endpoint_connection_notification(Client, Input) when is_map(Client), is_map(Input) -> modify_vpc_endpoint_connection_notification(Client, Input, []). modify_vpc_endpoint_connection_notification(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"ModifyVpcEndpointConnectionNotification">>, Input, Options). %% @doc Modifies the attributes of your VPC endpoint service configuration. %% %% You can change the Network Load Balancers or Gateway Load Balancers for %% your service, and you can specify whether acceptance is required for %% requests to connect to your endpoint service through an interface VPC %% endpoint. %% %% If you set or modify the private DNS name, you must prove that you own the %% private DNS domain name. modify_vpc_endpoint_service_configuration(Client, Input) when is_map(Client), is_map(Input) -> modify_vpc_endpoint_service_configuration(Client, Input, []). modify_vpc_endpoint_service_configuration(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"ModifyVpcEndpointServiceConfiguration">>, Input, Options). %% @doc Modifies the payer responsibility for your VPC endpoint service. modify_vpc_endpoint_service_payer_responsibility(Client, Input) when is_map(Client), is_map(Input) -> modify_vpc_endpoint_service_payer_responsibility(Client, Input, []). modify_vpc_endpoint_service_payer_responsibility(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"ModifyVpcEndpointServicePayerResponsibility">>, Input, Options). %% @doc Modifies the permissions for your VPC endpoint service. %% %% You can add or remove permissions for service consumers (Amazon Web %% Services accounts, users, and IAM roles) to connect to your endpoint %% service. %% %% If you grant permissions to all principals, the service is public. Any %% users who know the name of a public service can send a request to attach %% an endpoint. If the service does not require manual approval, attachments %% are automatically approved. modify_vpc_endpoint_service_permissions(Client, Input) when is_map(Client), is_map(Input) -> modify_vpc_endpoint_service_permissions(Client, Input, []). modify_vpc_endpoint_service_permissions(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"ModifyVpcEndpointServicePermissions">>, Input, Options). %% @doc Modifies the VPC peering connection options on one side of a VPC %% peering connection. %% %% If the peered VPCs are in the same Amazon Web Services account, you can %% enable DNS resolution for queries from the local VPC. This ensures that %% queries from the local VPC resolve to private IP addresses in the peer %% VPC. This option is not available if the peered VPCs are in different %% Amazon Web Services accounts or different Regions. For peered VPCs in %% different Amazon Web Services accounts, each Amazon Web Services account %% owner must initiate a separate request to modify the peering connection %% options. For inter-region peering connections, you must use the Region for %% the requester VPC to modify the requester VPC peering options and the %% Region for the accepter VPC to modify the accepter VPC peering options. To %% verify which VPCs are the accepter and the requester for a VPC peering %% connection, use the `DescribeVpcPeeringConnections' command. modify_vpc_peering_connection_options(Client, Input) when is_map(Client), is_map(Input) -> modify_vpc_peering_connection_options(Client, Input, []). modify_vpc_peering_connection_options(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"ModifyVpcPeeringConnectionOptions">>, Input, Options). %% @doc Modifies the instance tenancy attribute of the specified VPC. %% %% You can change the instance tenancy attribute of a VPC to `default' %% only. You cannot change the instance tenancy attribute to `dedicated'. %% %% After you modify the tenancy of the VPC, any new instances that you launch %% into the VPC have a tenancy of `default', unless you specify otherwise %% during launch. The tenancy of any existing instances in the VPC is not %% affected. %% %% For more information, see Dedicated Instances in the Amazon EC2 User %% Guide. modify_vpc_tenancy(Client, Input) when is_map(Client), is_map(Input) -> modify_vpc_tenancy(Client, Input, []). modify_vpc_tenancy(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"ModifyVpcTenancy">>, Input, Options). %% @doc Modifies the customer gateway or the target gateway of an Amazon Web %% Services Site-to-Site VPN connection. %% %% To modify the target gateway, the following migration options are %% available: %% %% Before you perform the migration to the new gateway, you must %% configure the new gateway. Use `CreateVpnGateway' to create a virtual %% private gateway, or `CreateTransitGateway' to create a transit %% gateway. %% %% This step is required when you migrate from a virtual private gateway with %% static routes to a transit gateway. %% %% You must delete the static routes before you migrate to the new gateway. %% %% Keep a copy of the static route before you delete it. You will need to add %% back these routes to the transit gateway after the VPN connection %% migration is complete. %% %% After you migrate to the new gateway, you might need to modify your VPC %% route table. Use `CreateRoute' and `DeleteRoute' to make the %% changes described in Update VPC route tables in the Amazon Web Services %% Site-to-Site VPN User Guide. %% %% When the new gateway is a transit gateway, modify the transit gateway %% route table to allow traffic between the VPC and the Amazon Web Services %% Site-to-Site VPN connection. Use `CreateTransitGatewayRoute' to add %% the routes. %% %% If you deleted VPN static routes, you must add the static routes to the %% transit gateway route table. %% %% After you perform this operation, the VPN endpoint's IP addresses on %% the Amazon Web Services side and the tunnel options remain intact. Your %% Amazon Web Services Site-to-Site VPN connection will be temporarily %% unavailable for a brief period while we provision the new endpoints. modify_vpn_connection(Client, Input) when is_map(Client), is_map(Input) -> modify_vpn_connection(Client, Input, []). modify_vpn_connection(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"ModifyVpnConnection">>, Input, Options). %% @doc Modifies the connection options for your Site-to-Site VPN connection. %% %% When you modify the VPN connection options, the VPN endpoint IP addresses %% on the Amazon Web Services side do not change, and the tunnel options do %% not change. Your VPN connection will be temporarily unavailable for a %% brief period while the VPN connection is updated. modify_vpn_connection_options(Client, Input) when is_map(Client), is_map(Input) -> modify_vpn_connection_options(Client, Input, []). modify_vpn_connection_options(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"ModifyVpnConnectionOptions">>, Input, Options). %% @doc Modifies the VPN tunnel endpoint certificate. modify_vpn_tunnel_certificate(Client, Input) when is_map(Client), is_map(Input) -> modify_vpn_tunnel_certificate(Client, Input, []). modify_vpn_tunnel_certificate(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"ModifyVpnTunnelCertificate">>, Input, Options). %% @doc Modifies the options for a VPN tunnel in an Amazon Web Services %% Site-to-Site VPN connection. %% %% You can modify multiple options for a tunnel in a single request, but you %% can only modify one tunnel at a time. For more information, see %% Site-to-Site VPN tunnel options for your Site-to-Site VPN connection in %% the Amazon Web Services Site-to-Site VPN User Guide. modify_vpn_tunnel_options(Client, Input) when is_map(Client), is_map(Input) -> modify_vpn_tunnel_options(Client, Input, []). modify_vpn_tunnel_options(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"ModifyVpnTunnelOptions">>, Input, Options). %% @doc Enables detailed monitoring for a running instance. %% %% Otherwise, basic monitoring is enabled. For more information, see Monitor %% your instances using CloudWatch in the Amazon EC2 User Guide. %% %% To disable detailed monitoring, see UnmonitorInstances. monitor_instances(Client, Input) when is_map(Client), is_map(Input) -> monitor_instances(Client, Input, []). monitor_instances(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"MonitorInstances">>, Input, Options). %% @doc This action is deprecated. %% %% Moves an Elastic IP address from the EC2-Classic platform to the EC2-VPC %% platform. The Elastic IP address must be allocated to your account for %% more than 24 hours, and it must not be associated with an instance. After %% the Elastic IP address is moved, it is no longer available for use in the %% EC2-Classic platform, unless you move it back using the %% `RestoreAddressToClassic' request. You cannot move an Elastic IP %% address that was originally allocated for use in the EC2-VPC platform to %% the EC2-Classic platform. move_address_to_vpc(Client, Input) when is_map(Client), is_map(Input) -> move_address_to_vpc(Client, Input, []). move_address_to_vpc(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"MoveAddressToVpc">>, Input, Options). %% @doc Move a BYOIPv4 CIDR to IPAM from a public IPv4 pool. %% %% If you already have a BYOIPv4 CIDR with Amazon Web Services, you can move %% the CIDR to IPAM from a public IPv4 pool. You cannot move an IPv6 CIDR to %% IPAM. If you are bringing a new IP address to Amazon Web Services for the %% first time, complete the steps in Tutorial: BYOIP address CIDRs to IPAM. move_byoip_cidr_to_ipam(Client, Input) when is_map(Client), is_map(Input) -> move_byoip_cidr_to_ipam(Client, Input, []). move_byoip_cidr_to_ipam(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"MoveByoipCidrToIpam">>, Input, Options). %% @doc Provisions an IPv4 or IPv6 address range for use with your Amazon Web %% Services resources through bring your own IP addresses (BYOIP) and creates %% a corresponding address pool. %% %% After the address range is provisioned, it is ready to be advertised using %% `AdvertiseByoipCidr'. %% %% Amazon Web Services verifies that you own the address range and are %% authorized to advertise it. You must ensure that the address range is %% registered to you and that you created an RPKI ROA to authorize Amazon %% ASNs 16509 and 14618 to advertise the address range. For more information, %% see Bring your own IP addresses (BYOIP) in the Amazon Elastic Compute %% Cloud User Guide. %% %% Provisioning an address range is an asynchronous operation, so the call %% returns immediately, but the address range is not ready to use until its %% status changes from `pending-provision' to `provisioned'. To %% monitor the status of an address range, use `DescribeByoipCidrs'. To %% allocate an Elastic IP address from your IPv4 address pool, use %% `AllocateAddress' with either the specific address from the address %% pool or the ID of the address pool. provision_byoip_cidr(Client, Input) when is_map(Client), is_map(Input) -> provision_byoip_cidr(Client, Input, []). provision_byoip_cidr(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"ProvisionByoipCidr">>, Input, Options). %% @doc Provisions your Autonomous System Number (ASN) for use in your Amazon %% Web Services account. %% %% This action requires authorization context for Amazon to bring the ASN to %% an Amazon Web Services account. For more information, see Tutorial: Bring %% your ASN to IPAM in the Amazon VPC IPAM guide. provision_ipam_byoasn(Client, Input) when is_map(Client), is_map(Input) -> provision_ipam_byoasn(Client, Input, []). provision_ipam_byoasn(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"ProvisionIpamByoasn">>, Input, Options). %% @doc Provision a CIDR to an IPAM pool. %% %% You can use this action to provision new CIDRs to a top-level pool or to %% transfer a CIDR from a top-level pool to a pool within it. %% %% For more information, see Provision CIDRs to pools in the Amazon VPC IPAM %% User Guide. provision_ipam_pool_cidr(Client, Input) when is_map(Client), is_map(Input) -> provision_ipam_pool_cidr(Client, Input, []). provision_ipam_pool_cidr(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"ProvisionIpamPoolCidr">>, Input, Options). %% @doc Provision a CIDR to a public IPv4 pool. %% %% For more information about IPAM, see What is IPAM? in the Amazon VPC IPAM %% User Guide. provision_public_ipv4_pool_cidr(Client, Input) when is_map(Client), is_map(Input) -> provision_public_ipv4_pool_cidr(Client, Input, []). provision_public_ipv4_pool_cidr(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"ProvisionPublicIpv4PoolCidr">>, Input, Options). %% @doc Purchase the Capacity Block for use with your account. %% %% With Capacity Blocks you ensure GPU capacity is available for machine %% learning (ML) workloads. You must specify the ID of the Capacity Block %% offering you are purchasing. purchase_capacity_block(Client, Input) when is_map(Client), is_map(Input) -> purchase_capacity_block(Client, Input, []). purchase_capacity_block(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"PurchaseCapacityBlock">>, Input, Options). %% @doc Purchase a reservation with configurations that match those of your %% Dedicated Host. %% %% You must have active Dedicated Hosts in your account before you purchase a %% reservation. This action results in the specified reservation being %% purchased and charged to your account. purchase_host_reservation(Client, Input) when is_map(Client), is_map(Input) -> purchase_host_reservation(Client, Input, []). purchase_host_reservation(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"PurchaseHostReservation">>, Input, Options). %% @doc Purchases a Reserved Instance for use with your account. %% %% With Reserved Instances, you pay a lower hourly rate compared to On-Demand %% instance pricing. %% %% Use `DescribeReservedInstancesOfferings' to get a list of Reserved %% Instance offerings that match your specifications. After you've %% purchased a Reserved Instance, you can check for your new Reserved %% Instance with `DescribeReservedInstances'. %% %% To queue a purchase for a future date and time, specify a purchase time. %% If you do not specify a purchase time, the default is the current time. %% %% For more information, see Reserved Instances and Reserved Instance %% Marketplace in the Amazon EC2 User Guide. purchase_reserved_instances_offering(Client, Input) when is_map(Client), is_map(Input) -> purchase_reserved_instances_offering(Client, Input, []). purchase_reserved_instances_offering(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"PurchaseReservedInstancesOffering">>, Input, Options). %% @doc You can no longer purchase Scheduled Instances. %% %% Purchases the Scheduled Instances with the specified schedule. %% %% Scheduled Instances enable you to purchase Amazon EC2 compute capacity by %% the hour for a one-year term. Before you can purchase a Scheduled %% Instance, you must call `DescribeScheduledInstanceAvailability' to %% check for available schedules and obtain a purchase token. After you %% purchase a Scheduled Instance, you must call `RunScheduledInstances' %% during each scheduled time period. %% %% After you purchase a Scheduled Instance, you can't cancel, modify, or %% resell your purchase. purchase_scheduled_instances(Client, Input) when is_map(Client), is_map(Input) -> purchase_scheduled_instances(Client, Input, []). purchase_scheduled_instances(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"PurchaseScheduledInstances">>, Input, Options). %% @doc Requests a reboot of the specified instances. %% %% This operation is asynchronous; it only queues a request to reboot the %% specified instances. The operation succeeds if the instances are valid and %% belong to you. Requests to reboot terminated instances are ignored. %% %% If an instance does not cleanly shut down within a few minutes, Amazon EC2 %% performs a hard reboot. %% %% For more information about troubleshooting, see Troubleshoot an %% unreachable instance in the Amazon EC2 User Guide. reboot_instances(Client, Input) when is_map(Client), is_map(Input) -> reboot_instances(Client, Input, []). reboot_instances(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"RebootInstances">>, Input, Options). %% @doc Registers an AMI. %% %% When you're creating an AMI, this is the final step you must complete %% before you can launch an instance from the AMI. For more information about %% creating AMIs, see Create your own AMI in the Amazon Elastic Compute Cloud %% User Guide. %% %% For Amazon EBS-backed instances, `CreateImage' creates and registers %% the AMI in a single request, so you don't have to register the AMI %% yourself. We recommend that you always use `CreateImage' unless you %% have a specific reason to use RegisterImage. %% %% If needed, you can deregister an AMI at any time. Any modifications you %% make to an AMI backed by an instance store volume invalidates its %% registration. If you make changes to an image, deregister the previous %% image and register the new image. %% %% Register a snapshot of a root device volume %% %% You can use `RegisterImage' to create an Amazon EBS-backed Linux AMI %% from a snapshot of a root device volume. You specify the snapshot using a %% block device mapping. You can't set the encryption state of the volume %% using the block device mapping. If the snapshot is encrypted, or %% encryption by default is enabled, the root volume of an instance launched %% from the AMI is encrypted. %% %% For more information, see Create a Linux AMI from a snapshot and Use %% encryption with Amazon EBS-backed AMIs in the Amazon Elastic Compute Cloud %% User Guide. %% %% Amazon Web Services Marketplace product codes %% %% If any snapshots have Amazon Web Services Marketplace product codes, they %% are copied to the new AMI. %% %% Windows and some Linux distributions, such as Red Hat Enterprise Linux %% (RHEL) and SUSE Linux Enterprise Server (SLES), use the Amazon EC2 billing %% product code associated with an AMI to verify the subscription status for %% package updates. To create a new AMI for operating systems that require a %% billing product code, instead of registering the AMI, do the following to %% preserve the billing product code association: %% %%
  1. Launch an instance from an existing AMI with that billing %% product code. %% %%
  2. Customize the instance. %% %%
  3. Create an AMI from the instance using `CreateImage'. %% %%
If you purchase a Reserved Instance to apply to an On-Demand %% Instance that was launched from an AMI with a billing product code, make %% sure that the Reserved Instance has the matching billing product code. If %% you purchase a Reserved Instance without the matching billing product %% code, the Reserved Instance will not be applied to the On-Demand Instance. %% For information about how to obtain the platform details and billing %% information of an AMI, see Understand AMI billing information in the %% Amazon EC2 User Guide. register_image(Client, Input) when is_map(Client), is_map(Input) -> register_image(Client, Input, []). register_image(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"RegisterImage">>, Input, Options). %% @doc Registers a set of tag keys to include in scheduled event %% notifications for your resources. %% %% To remove tags, use DeregisterInstanceEventNotificationAttributes. register_instance_event_notification_attributes(Client, Input) when is_map(Client), is_map(Input) -> register_instance_event_notification_attributes(Client, Input, []). register_instance_event_notification_attributes(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"RegisterInstanceEventNotificationAttributes">>, Input, Options). %% @doc Registers members (network interfaces) with the transit gateway %% multicast group. %% %% A member is a network interface associated with a supported EC2 instance %% that receives multicast traffic. For information about supported %% instances, see Multicast Consideration in Amazon VPC Transit Gateways. %% %% After you add the members, use SearchTransitGatewayMulticastGroups to %% verify that the members were added to the transit gateway multicast group. register_transit_gateway_multicast_group_members(Client, Input) when is_map(Client), is_map(Input) -> register_transit_gateway_multicast_group_members(Client, Input, []). register_transit_gateway_multicast_group_members(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"RegisterTransitGatewayMulticastGroupMembers">>, Input, Options). %% @doc Registers sources (network interfaces) with the specified transit %% gateway multicast group. %% %% A multicast source is a network interface attached to a supported instance %% that sends multicast traffic. For information about supported instances, %% see Multicast Considerations in Amazon VPC Transit Gateways. %% %% After you add the source, use SearchTransitGatewayMulticastGroups to %% verify that the source was added to the multicast group. register_transit_gateway_multicast_group_sources(Client, Input) when is_map(Client), is_map(Input) -> register_transit_gateway_multicast_group_sources(Client, Input, []). register_transit_gateway_multicast_group_sources(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"RegisterTransitGatewayMulticastGroupSources">>, Input, Options). %% @doc Rejects a request to associate cross-account subnets with a transit %% gateway multicast domain. reject_transit_gateway_multicast_domain_associations(Client, Input) when is_map(Client), is_map(Input) -> reject_transit_gateway_multicast_domain_associations(Client, Input, []). reject_transit_gateway_multicast_domain_associations(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"RejectTransitGatewayMulticastDomainAssociations">>, Input, Options). %% @doc Rejects a transit gateway peering attachment request. reject_transit_gateway_peering_attachment(Client, Input) when is_map(Client), is_map(Input) -> reject_transit_gateway_peering_attachment(Client, Input, []). reject_transit_gateway_peering_attachment(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"RejectTransitGatewayPeeringAttachment">>, Input, Options). %% @doc Rejects a request to attach a VPC to a transit gateway. %% %% The VPC attachment must be in the `pendingAcceptance' state. Use %% `DescribeTransitGatewayVpcAttachments' to view your pending VPC %% attachment requests. Use `AcceptTransitGatewayVpcAttachment' to accept %% a VPC attachment request. reject_transit_gateway_vpc_attachment(Client, Input) when is_map(Client), is_map(Input) -> reject_transit_gateway_vpc_attachment(Client, Input, []). reject_transit_gateway_vpc_attachment(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"RejectTransitGatewayVpcAttachment">>, Input, Options). %% @doc Rejects VPC endpoint connection requests to your VPC endpoint %% service. reject_vpc_endpoint_connections(Client, Input) when is_map(Client), is_map(Input) -> reject_vpc_endpoint_connections(Client, Input, []). reject_vpc_endpoint_connections(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"RejectVpcEndpointConnections">>, Input, Options). %% @doc Rejects a VPC peering connection request. %% %% The VPC peering connection must be in the `pending-acceptance' state. %% Use the `DescribeVpcPeeringConnections' request to view your %% outstanding VPC peering connection requests. To delete an active VPC %% peering connection, or to delete a VPC peering connection request that you %% initiated, use `DeleteVpcPeeringConnection'. reject_vpc_peering_connection(Client, Input) when is_map(Client), is_map(Input) -> reject_vpc_peering_connection(Client, Input, []). reject_vpc_peering_connection(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"RejectVpcPeeringConnection">>, Input, Options). %% @doc Releases the specified Elastic IP address. %% %% [Default VPC] Releasing an Elastic IP address automatically disassociates %% it from any instance that it's associated with. To disassociate an %% Elastic IP address without releasing it, use `DisassociateAddress'. %% %% [Nondefault VPC] You must use `DisassociateAddress' to disassociate %% the Elastic IP address before you can release it. Otherwise, Amazon EC2 %% returns an error (`InvalidIPAddress.InUse'). %% %% After releasing an Elastic IP address, it is released to the IP address %% pool. Be sure to update your DNS records and any servers or devices that %% communicate with the address. If you attempt to release an Elastic IP %% address that you already released, you'll get an `AuthFailure' %% error if the address is already allocated to another Amazon Web Services %% account. %% %% After you release an Elastic IP address, you might be able to recover it. %% For more information, see `AllocateAddress'. release_address(Client, Input) when is_map(Client), is_map(Input) -> release_address(Client, Input, []). release_address(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"ReleaseAddress">>, Input, Options). %% @doc When you no longer want to use an On-Demand Dedicated Host it can be %% released. %% %% On-Demand billing is stopped and the host goes into `released' state. %% The host ID of Dedicated Hosts that have been released can no longer be %% specified in another request, for example, to modify the host. You must %% stop or terminate all instances on a host before it can be released. %% %% When Dedicated Hosts are released, it may take some time for them to stop %% counting toward your limit and you may receive capacity errors when trying %% to allocate new Dedicated Hosts. Wait a few minutes and then try again. %% %% Released hosts still appear in a `DescribeHosts' response. release_hosts(Client, Input) when is_map(Client), is_map(Input) -> release_hosts(Client, Input, []). release_hosts(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"ReleaseHosts">>, Input, Options). %% @doc Release an allocation within an IPAM pool. %% %% The Region you use should be the IPAM pool locale. The locale is the %% Amazon Web Services Region where this IPAM pool is available for %% allocations. You can only use this action to release manual allocations. %% To remove an allocation for a resource without deleting the resource, set %% its monitored state to false using ModifyIpamResourceCidr. For more %% information, see Release an allocation in the Amazon VPC IPAM User Guide. %% %% All EC2 API actions follow an eventual consistency model. release_ipam_pool_allocation(Client, Input) when is_map(Client), is_map(Input) -> release_ipam_pool_allocation(Client, Input, []). release_ipam_pool_allocation(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"ReleaseIpamPoolAllocation">>, Input, Options). %% @doc Replaces an IAM instance profile for the specified running instance. %% %% You can use this action to change the IAM instance profile that's %% associated with an instance without having to disassociate the existing %% IAM instance profile first. %% %% Use `DescribeIamInstanceProfileAssociations' to get the association %% ID. replace_iam_instance_profile_association(Client, Input) when is_map(Client), is_map(Input) -> replace_iam_instance_profile_association(Client, Input, []). replace_iam_instance_profile_association(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"ReplaceIamInstanceProfileAssociation">>, Input, Options). %% @doc Changes which network ACL a subnet is associated with. %% %% By default when you create a subnet, it's automatically associated %% with the default network ACL. For more information, see Network ACLs in %% the Amazon VPC User Guide. %% %% This is an idempotent operation. replace_network_acl_association(Client, Input) when is_map(Client), is_map(Input) -> replace_network_acl_association(Client, Input, []). replace_network_acl_association(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"ReplaceNetworkAclAssociation">>, Input, Options). %% @doc Replaces an entry (rule) in a network ACL. %% %% For more information, see Network ACLs in the Amazon VPC User Guide. replace_network_acl_entry(Client, Input) when is_map(Client), is_map(Input) -> replace_network_acl_entry(Client, Input, []). replace_network_acl_entry(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"ReplaceNetworkAclEntry">>, Input, Options). %% @doc Replaces an existing route within a route table in a VPC. %% %% You must specify either a destination CIDR block or a prefix list ID. You %% must also specify exactly one of the resources from the parameter list, or %% reset the local route to its default target. %% %% For more information, see Route tables in the Amazon VPC User Guide. replace_route(Client, Input) when is_map(Client), is_map(Input) -> replace_route(Client, Input, []). replace_route(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"ReplaceRoute">>, Input, Options). %% @doc Changes the route table associated with a given subnet, internet %% gateway, or virtual private gateway in a VPC. %% %% After the operation completes, the subnet or gateway uses the routes in %% the new route table. For more information about route tables, see Route %% tables in the Amazon VPC User Guide. %% %% You can also use this operation to change which table is the main route %% table in the VPC. Specify the main route table's association ID and %% the route table ID of the new main route table. replace_route_table_association(Client, Input) when is_map(Client), is_map(Input) -> replace_route_table_association(Client, Input, []). replace_route_table_association(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"ReplaceRouteTableAssociation">>, Input, Options). %% @doc Replaces the specified route in the specified transit gateway route %% table. replace_transit_gateway_route(Client, Input) when is_map(Client), is_map(Input) -> replace_transit_gateway_route(Client, Input, []). replace_transit_gateway_route(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"ReplaceTransitGatewayRoute">>, Input, Options). %% @doc Trigger replacement of specified VPN tunnel. replace_vpn_tunnel(Client, Input) when is_map(Client), is_map(Input) -> replace_vpn_tunnel(Client, Input, []). replace_vpn_tunnel(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"ReplaceVpnTunnel">>, Input, Options). %% @doc Submits feedback about the status of an instance. %% %% The instance must be in the `running' state. If your experience with %% the instance differs from the instance status returned by %% `DescribeInstanceStatus', use `ReportInstanceStatus' to report %% your experience with the instance. Amazon EC2 collects this information to %% improve the accuracy of status checks. %% %% Use of this action does not change the value returned by %% `DescribeInstanceStatus'. report_instance_status(Client, Input) when is_map(Client), is_map(Input) -> report_instance_status(Client, Input, []). report_instance_status(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"ReportInstanceStatus">>, Input, Options). %% @doc Creates a Spot Fleet request. %% %% The Spot Fleet request specifies the total target capacity and the %% On-Demand target capacity. Amazon EC2 calculates the difference between %% the total capacity and On-Demand capacity, and launches the difference as %% Spot capacity. %% %% You can submit a single request that includes multiple launch %% specifications that vary by instance type, AMI, Availability Zone, or %% subnet. %% %% By default, the Spot Fleet requests Spot Instances in the Spot Instance %% pool where the price per unit is the lowest. Each launch specification can %% include its own instance weighting that reflects the value of the instance %% type to your application workload. %% %% Alternatively, you can specify that the Spot Fleet distribute the target %% capacity across the Spot pools included in its launch specifications. By %% ensuring that the Spot Instances in your Spot Fleet are in different Spot %% pools, you can improve the availability of your fleet. %% %% You can specify tags for the Spot Fleet request and instances launched by %% the fleet. You cannot tag other resource types in a Spot Fleet request %% because only the `spot-fleet-request' and `instance' resource %% types are supported. %% %% For more information, see Spot Fleet requests in the Amazon EC2 User %% Guide. %% %% We strongly discourage using the RequestSpotFleet API because it is a %% legacy API with no planned investment. For options for requesting Spot %% Instances, see Which is the best Spot request method to use? in the Amazon %% EC2 User Guide. request_spot_fleet(Client, Input) when is_map(Client), is_map(Input) -> request_spot_fleet(Client, Input, []). request_spot_fleet(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"RequestSpotFleet">>, Input, Options). %% @doc Creates a Spot Instance request. %% %% For more information, see Spot Instance requests in the Amazon EC2 User %% Guide for Linux Instances. %% %% We strongly discourage using the RequestSpotInstances API because it is a %% legacy API with no planned investment. For options for requesting Spot %% Instances, see Which is the best Spot request method to use? in the Amazon %% EC2 User Guide for Linux Instances. request_spot_instances(Client, Input) when is_map(Client), is_map(Input) -> request_spot_instances(Client, Input, []). request_spot_instances(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"RequestSpotInstances">>, Input, Options). %% @doc Resets the attribute of the specified IP address. %% %% For requirements, see Using reverse DNS for email applications. reset_address_attribute(Client, Input) when is_map(Client), is_map(Input) -> reset_address_attribute(Client, Input, []). reset_address_attribute(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"ResetAddressAttribute">>, Input, Options). %% @doc Resets the default KMS key for EBS encryption for your account in %% this Region to the Amazon Web Services managed KMS key for EBS. %% %% After resetting the default KMS key to the Amazon Web Services managed KMS %% key, you can continue to encrypt by a customer managed KMS key by %% specifying it when you create the volume. For more information, see Amazon %% EBS encryption in the Amazon Elastic Compute Cloud User Guide. reset_ebs_default_kms_key_id(Client, Input) when is_map(Client), is_map(Input) -> reset_ebs_default_kms_key_id(Client, Input, []). reset_ebs_default_kms_key_id(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"ResetEbsDefaultKmsKeyId">>, Input, Options). %% @doc Resets the specified attribute of the specified Amazon FPGA Image %% (AFI) to its default value. %% %% You can only reset the load permission attribute. reset_fpga_image_attribute(Client, Input) when is_map(Client), is_map(Input) -> reset_fpga_image_attribute(Client, Input, []). reset_fpga_image_attribute(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"ResetFpgaImageAttribute">>, Input, Options). %% @doc Resets an attribute of an AMI to its default value. reset_image_attribute(Client, Input) when is_map(Client), is_map(Input) -> reset_image_attribute(Client, Input, []). reset_image_attribute(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"ResetImageAttribute">>, Input, Options). %% @doc Resets an attribute of an instance to its default value. %% %% To reset the `kernel' or `ramdisk', the instance must be in a %% stopped state. To reset the `sourceDestCheck', the instance can be %% either running or stopped. %% %% The `sourceDestCheck' attribute controls whether source/destination %% checking is enabled. The default value is `true', which means checking %% is enabled. This value must be `false' for a NAT instance to perform %% NAT. For more information, see NAT Instances in the Amazon VPC User Guide. reset_instance_attribute(Client, Input) when is_map(Client), is_map(Input) -> reset_instance_attribute(Client, Input, []). reset_instance_attribute(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"ResetInstanceAttribute">>, Input, Options). %% @doc Resets a network interface attribute. %% %% You can specify only one attribute at a time. reset_network_interface_attribute(Client, Input) when is_map(Client), is_map(Input) -> reset_network_interface_attribute(Client, Input, []). reset_network_interface_attribute(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"ResetNetworkInterfaceAttribute">>, Input, Options). %% @doc Resets permission settings for the specified snapshot. %% %% For more information about modifying snapshot permissions, see Share a %% snapshot in the Amazon Elastic Compute Cloud User Guide. reset_snapshot_attribute(Client, Input) when is_map(Client), is_map(Input) -> reset_snapshot_attribute(Client, Input, []). reset_snapshot_attribute(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"ResetSnapshotAttribute">>, Input, Options). %% @doc This action is deprecated. %% %% Restores an Elastic IP address that was previously moved to the EC2-VPC %% platform back to the EC2-Classic platform. You cannot move an Elastic IP %% address that was originally allocated for use in EC2-VPC. The Elastic IP %% address must not be associated with an instance or network interface. restore_address_to_classic(Client, Input) when is_map(Client), is_map(Input) -> restore_address_to_classic(Client, Input, []). restore_address_to_classic(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"RestoreAddressToClassic">>, Input, Options). %% @doc Restores an AMI from the Recycle Bin. %% %% For more information, see Recycle Bin in the Amazon EC2 User Guide. restore_image_from_recycle_bin(Client, Input) when is_map(Client), is_map(Input) -> restore_image_from_recycle_bin(Client, Input, []). restore_image_from_recycle_bin(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"RestoreImageFromRecycleBin">>, Input, Options). %% @doc Restores the entries from a previous version of a managed prefix list %% to a new version of the prefix list. restore_managed_prefix_list_version(Client, Input) when is_map(Client), is_map(Input) -> restore_managed_prefix_list_version(Client, Input, []). restore_managed_prefix_list_version(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"RestoreManagedPrefixListVersion">>, Input, Options). %% @doc Restores a snapshot from the Recycle Bin. %% %% For more information, see Restore snapshots from the Recycle Bin in the %% Amazon Elastic Compute Cloud User Guide. restore_snapshot_from_recycle_bin(Client, Input) when is_map(Client), is_map(Input) -> restore_snapshot_from_recycle_bin(Client, Input, []). restore_snapshot_from_recycle_bin(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"RestoreSnapshotFromRecycleBin">>, Input, Options). %% @doc Restores an archived Amazon EBS snapshot for use temporarily or %% permanently, or modifies the restore period or restore type for a snapshot %% that was previously temporarily restored. %% %% For more information see Restore an archived snapshot and modify the %% restore period or restore type for a temporarily restored snapshot in the %% Amazon Elastic Compute Cloud User Guide. restore_snapshot_tier(Client, Input) when is_map(Client), is_map(Input) -> restore_snapshot_tier(Client, Input, []). restore_snapshot_tier(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"RestoreSnapshotTier">>, Input, Options). %% @doc Removes an ingress authorization rule from a Client VPN endpoint. revoke_client_vpn_ingress(Client, Input) when is_map(Client), is_map(Input) -> revoke_client_vpn_ingress(Client, Input, []). revoke_client_vpn_ingress(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"RevokeClientVpnIngress">>, Input, Options). %% @doc Removes the specified outbound (egress) rules from the specified %% security group. %% %% You can specify rules using either rule IDs or security group rule %% properties. If you use rule properties, the values that you specify (for %% example, ports) must match the existing rule's values exactly. Each %% rule has a protocol, from and to ports, and destination (CIDR range, %% security group, or prefix list). For the TCP and UDP protocols, you must %% also specify the destination port or range of ports. For the ICMP %% protocol, you must also specify the ICMP type and code. If the security %% group rule has a description, you do not need to specify the description %% to revoke the rule. %% %% For a default VPC, if the values you specify do not match the existing %% rule's values, no error is returned, and the output describes the %% security group rules that were not revoked. %% %% Amazon Web Services recommends that you describe the security group to %% verify that the rules were removed. %% %% Rule changes are propagated to instances within the security group as %% quickly as possible. However, a small delay might occur. revoke_security_group_egress(Client, Input) when is_map(Client), is_map(Input) -> revoke_security_group_egress(Client, Input, []). revoke_security_group_egress(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"RevokeSecurityGroupEgress">>, Input, Options). %% @doc Removes the specified inbound (ingress) rules from a security group. %% %% You can specify rules using either rule IDs or security group rule %% properties. If you use rule properties, the values that you specify (for %% example, ports) must match the existing rule's values exactly. Each %% rule has a protocol, from and to ports, and source (CIDR range, security %% group, or prefix list). For the TCP and UDP protocols, you must also %% specify the destination port or range of ports. For the ICMP protocol, you %% must also specify the ICMP type and code. If the security group rule has a %% description, you do not need to specify the description to revoke the %% rule. %% %% For a default VPC, if the values you specify do not match the existing %% rule's values, no error is returned, and the output describes the %% security group rules that were not revoked. %% %% For a non-default VPC, if the values you specify do not match the existing %% rule's values, an `InvalidPermission.NotFound' client error is %% returned, and no rules are revoked. %% %% Amazon Web Services recommends that you describe the security group to %% verify that the rules were removed. %% %% Rule changes are propagated to instances within the security group as %% quickly as possible. However, a small delay might occur. revoke_security_group_ingress(Client, Input) when is_map(Client), is_map(Input) -> revoke_security_group_ingress(Client, Input, []). revoke_security_group_ingress(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"RevokeSecurityGroupIngress">>, Input, Options). %% @doc Launches the specified number of instances using an AMI for which you %% have permissions. %% %% You can specify a number of options, or leave the default options. The %% following rules apply: %% %% You can create a launch template, which is a resource that %% contains the parameters to launch an instance. When you launch an instance %% using `RunInstances', you can specify the launch template instead of %% specifying the launch parameters. %% %% To ensure faster instance launches, break up large requests into smaller %% batches. For example, create five separate launch requests for 100 %% instances each instead of one launch request for 500 instances. %% %% An instance is ready for you to use when it's in the `running' %% state. You can check the state of your instance using %% `DescribeInstances'. You can tag instances and EBS volumes during %% launch, after launch, or both. For more information, see `CreateTags' %% and Tagging your Amazon EC2 resources. %% %% Linux instances have access to the public key of the key pair at boot. You %% can use this key to provide secure access to the instance. Amazon EC2 %% public images use this feature to provide secure access without passwords. %% For more information, see Key pairs. %% %% For troubleshooting, see What to do if an instance immediately terminates, %% and Troubleshooting connecting to your instance. run_instances(Client, Input) when is_map(Client), is_map(Input) -> run_instances(Client, Input, []). run_instances(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"RunInstances">>, Input, Options). %% @doc Launches the specified Scheduled Instances. %% %% Before you can launch a Scheduled Instance, you must purchase it and %% obtain an identifier using `PurchaseScheduledInstances'. %% %% You must launch a Scheduled Instance during its scheduled time period. You %% can't stop or reboot a Scheduled Instance, but you can terminate it as %% needed. If you terminate a Scheduled Instance before the current scheduled %% time period ends, you can launch it again after a few minutes. For more %% information, see Scheduled Instances in the Amazon EC2 User Guide. run_scheduled_instances(Client, Input) when is_map(Client), is_map(Input) -> run_scheduled_instances(Client, Input, []). run_scheduled_instances(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"RunScheduledInstances">>, Input, Options). %% @doc Searches for routes in the specified local gateway route table. search_local_gateway_routes(Client, Input) when is_map(Client), is_map(Input) -> search_local_gateway_routes(Client, Input, []). search_local_gateway_routes(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"SearchLocalGatewayRoutes">>, Input, Options). %% @doc Searches one or more transit gateway multicast groups and returns the %% group membership information. search_transit_gateway_multicast_groups(Client, Input) when is_map(Client), is_map(Input) -> search_transit_gateway_multicast_groups(Client, Input, []). search_transit_gateway_multicast_groups(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"SearchTransitGatewayMulticastGroups">>, Input, Options). %% @doc Searches for routes in the specified transit gateway route table. search_transit_gateway_routes(Client, Input) when is_map(Client), is_map(Input) -> search_transit_gateway_routes(Client, Input, []). search_transit_gateway_routes(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"SearchTransitGatewayRoutes">>, Input, Options). %% @doc Sends a diagnostic interrupt to the specified Amazon EC2 instance to %% trigger a kernel panic (on Linux instances), or a blue screen/stop error %% (on Windows instances). %% %% For instances based on Intel and AMD processors, the interrupt is received %% as a non-maskable interrupt (NMI). %% %% In general, the operating system crashes and reboots when a kernel panic %% or stop error is triggered. The operating system can also be configured to %% perform diagnostic tasks, such as generating a memory dump file, loading a %% secondary kernel, or obtaining a call trace. %% %% Before sending a diagnostic interrupt to your instance, ensure that its %% operating system is configured to perform the required diagnostic tasks. %% %% For more information about configuring your operating system to generate a %% crash dump when a kernel panic or stop error occurs, see Send a diagnostic %% interrupt (for advanced users) (Linux instances) or Send a diagnostic %% interrupt (for advanced users) (Windows instances). send_diagnostic_interrupt(Client, Input) when is_map(Client), is_map(Input) -> send_diagnostic_interrupt(Client, Input, []). send_diagnostic_interrupt(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"SendDiagnosticInterrupt">>, Input, Options). %% @doc Starts an Amazon EBS-backed instance that you've previously %% stopped. %% %% Instances that use Amazon EBS volumes as their root devices can be quickly %% stopped and started. When an instance is stopped, the compute resources %% are released and you are not billed for instance usage. However, your root %% partition Amazon EBS volume remains and continues to persist your data, %% and you are charged for Amazon EBS volume usage. You can restart your %% instance at any time. Every time you start your instance, Amazon EC2 %% charges a one-minute minimum for instance usage, and thereafter charges %% per second for instance usage. %% %% Before stopping an instance, make sure it is in a state from which it can %% be restarted. Stopping an instance does not preserve data stored in RAM. %% %% Performing this operation on an instance that uses an instance store as %% its root device returns an error. %% %% If you attempt to start a T3 instance with `host' tenancy and the %% `unlimited' CPU credit option, the request fails. The `unlimited' %% CPU credit option is not supported on Dedicated Hosts. Before you start %% the instance, either change its CPU credit option to `standard', or %% change its tenancy to `default' or `dedicated'. %% %% For more information, see Stop and start your instance in the Amazon EC2 %% User Guide. start_instances(Client, Input) when is_map(Client), is_map(Input) -> start_instances(Client, Input, []). start_instances(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"StartInstances">>, Input, Options). %% @doc Starts analyzing the specified Network Access Scope. start_network_insights_access_scope_analysis(Client, Input) when is_map(Client), is_map(Input) -> start_network_insights_access_scope_analysis(Client, Input, []). start_network_insights_access_scope_analysis(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"StartNetworkInsightsAccessScopeAnalysis">>, Input, Options). %% @doc Starts analyzing the specified path. %% %% If the path is reachable, the operation returns the shortest feasible %% path. start_network_insights_analysis(Client, Input) when is_map(Client), is_map(Input) -> start_network_insights_analysis(Client, Input, []). start_network_insights_analysis(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"StartNetworkInsightsAnalysis">>, Input, Options). %% @doc Initiates the verification process to prove that the service provider %% owns the private DNS name domain for the endpoint service. %% %% The service provider must successfully perform the verification before the %% consumer can use the name to access the service. %% %% Before the service provider runs this command, they must add a record to %% the DNS server. start_vpc_endpoint_service_private_dns_verification(Client, Input) when is_map(Client), is_map(Input) -> start_vpc_endpoint_service_private_dns_verification(Client, Input, []). start_vpc_endpoint_service_private_dns_verification(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"StartVpcEndpointServicePrivateDnsVerification">>, Input, Options). %% @doc Stops an Amazon EBS-backed instance. %% %% For more information, see Stop and start your instance in the Amazon EC2 %% User Guide. %% %% You can use the Stop action to hibernate an instance if the instance is %% enabled for hibernation and it meets the hibernation prerequisites. For %% more information, see Hibernate your instance in the Amazon EC2 User %% Guide. %% %% We don't charge usage for a stopped instance, or data transfer fees; %% however, your root partition Amazon EBS volume remains and continues to %% persist your data, and you are charged for Amazon EBS volume usage. Every %% time you start your instance, Amazon EC2 charges a one-minute minimum for %% instance usage, and thereafter charges per second for instance usage. %% %% You can't stop or hibernate instance store-backed instances. You %% can't use the Stop action to hibernate Spot Instances, but you can %% specify that Amazon EC2 should hibernate Spot Instances when they are %% interrupted. For more information, see Hibernating interrupted Spot %% Instances in the Amazon EC2 User Guide. %% %% When you stop or hibernate an instance, we shut it down. You can restart %% your instance at any time. Before stopping or hibernating an instance, %% make sure it is in a state from which it can be restarted. Stopping an %% instance does not preserve data stored in RAM, but hibernating an instance %% does preserve data stored in RAM. If an instance cannot hibernate %% successfully, a normal shutdown occurs. %% %% Stopping and hibernating an instance is different to rebooting or %% terminating it. For example, when you stop or hibernate an instance, the %% root device and any other devices attached to the instance persist. When %% you terminate an instance, the root device and any other devices attached %% during the instance launch are automatically deleted. For more information %% about the differences between rebooting, stopping, hibernating, and %% terminating instances, see Instance lifecycle in the Amazon EC2 User %% Guide. %% %% When you stop an instance, we attempt to shut it down forcibly after a %% short while. If your instance appears stuck in the stopping state after a %% period of time, there may be an issue with the underlying host computer. %% For more information, see Troubleshoot stopping your instance in the %% Amazon EC2 User Guide. stop_instances(Client, Input) when is_map(Client), is_map(Input) -> stop_instances(Client, Input, []). stop_instances(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"StopInstances">>, Input, Options). %% @doc Terminates active Client VPN endpoint connections. %% %% This action can be used to terminate a specific client connection, or up %% to five connections established by a specific user. terminate_client_vpn_connections(Client, Input) when is_map(Client), is_map(Input) -> terminate_client_vpn_connections(Client, Input, []). terminate_client_vpn_connections(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"TerminateClientVpnConnections">>, Input, Options). %% @doc Shuts down the specified instances. %% %% This operation is idempotent; if you terminate an instance more than once, %% each call succeeds. %% %% If you specify multiple instances and the request fails (for example, %% because of a single incorrect instance ID), none of the instances are %% terminated. %% %% If you terminate multiple instances across multiple Availability Zones, %% and one or more of the specified instances are enabled for termination %% protection, the request fails with the following results: %% %% For example, say you have the following instances: %% %% If you attempt to terminate all of these instances in the same %% request, the request reports failure with the following results: %% %% Terminated instances remain visible after termination (for %% approximately one hour). %% %% By default, Amazon EC2 deletes all EBS volumes that were attached when the %% instance launched. Volumes attached after instance launch continue %% running. %% %% You can stop, start, and terminate EBS-backed instances. You can only %% terminate instance store-backed instances. What happens to an instance %% differs if you stop it or terminate it. For example, when you stop an %% instance, the root device and any other devices attached to the instance %% persist. When you terminate an instance, any attached EBS volumes with the %% `DeleteOnTermination' block device mapping parameter set to `true' %% are automatically deleted. For more information about the differences %% between stopping and terminating instances, see Instance lifecycle in the %% Amazon EC2 User Guide. %% %% For more information about troubleshooting, see Troubleshooting %% terminating your instance in the Amazon EC2 User Guide. terminate_instances(Client, Input) when is_map(Client), is_map(Input) -> terminate_instances(Client, Input, []). terminate_instances(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"TerminateInstances">>, Input, Options). %% @doc Unassigns one or more IPv6 addresses IPv4 Prefix Delegation prefixes %% from a network interface. unassign_ipv6_addresses(Client, Input) when is_map(Client), is_map(Input) -> unassign_ipv6_addresses(Client, Input, []). unassign_ipv6_addresses(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"UnassignIpv6Addresses">>, Input, Options). %% @doc Unassigns one or more secondary private IP addresses, or IPv4 Prefix %% Delegation prefixes from a network interface. unassign_private_ip_addresses(Client, Input) when is_map(Client), is_map(Input) -> unassign_private_ip_addresses(Client, Input, []). unassign_private_ip_addresses(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"UnassignPrivateIpAddresses">>, Input, Options). %% @doc Unassigns secondary private IPv4 addresses from a private NAT %% gateway. %% %% You cannot unassign your primary private IP. For more information, see %% Edit secondary IP address associations in the Amazon VPC User Guide. %% %% While unassigning is in progress, you cannot assign/unassign additional IP %% addresses while the connections are being drained. You are, however, %% allowed to delete the NAT gateway. %% %% A private IP address will only be released at the end of %% MaxDrainDurationSeconds. The private IP addresses stay associated and %% support the existing connections, but do not support any new connections %% (new connections are distributed across the remaining assigned private IP %% address). After the existing connections drain out, the private IP %% addresses are released. unassign_private_nat_gateway_address(Client, Input) when is_map(Client), is_map(Input) -> unassign_private_nat_gateway_address(Client, Input, []). unassign_private_nat_gateway_address(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"UnassignPrivateNatGatewayAddress">>, Input, Options). %% @doc Unlocks a snapshot that is locked in governance mode or that is %% locked in compliance mode but still in the cooling-off period. %% %% You can't unlock a snapshot that is locked in compliance mode after %% the cooling-off period has expired. unlock_snapshot(Client, Input) when is_map(Client), is_map(Input) -> unlock_snapshot(Client, Input, []). unlock_snapshot(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"UnlockSnapshot">>, Input, Options). %% @doc Disables detailed monitoring for a running instance. %% %% For more information, see Monitoring your instances and volumes in the %% Amazon EC2 User Guide. unmonitor_instances(Client, Input) when is_map(Client), is_map(Input) -> unmonitor_instances(Client, Input, []). unmonitor_instances(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"UnmonitorInstances">>, Input, Options). %% @doc Updates the description of an egress (outbound) security group rule. %% %% You can replace an existing description, or add a description to a rule %% that did not have one previously. You can remove a description for a %% security group rule by omitting the description parameter in the request. update_security_group_rule_descriptions_egress(Client, Input) when is_map(Client), is_map(Input) -> update_security_group_rule_descriptions_egress(Client, Input, []). update_security_group_rule_descriptions_egress(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"UpdateSecurityGroupRuleDescriptionsEgress">>, Input, Options). %% @doc Updates the description of an ingress (inbound) security group rule. %% %% You can replace an existing description, or add a description to a rule %% that did not have one previously. You can remove a description for a %% security group rule by omitting the description parameter in the request. update_security_group_rule_descriptions_ingress(Client, Input) when is_map(Client), is_map(Input) -> update_security_group_rule_descriptions_ingress(Client, Input, []). update_security_group_rule_descriptions_ingress(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"UpdateSecurityGroupRuleDescriptionsIngress">>, Input, Options). %% @doc Stops advertising an address range that is provisioned as an address %% pool. %% %% You can perform this operation at most once every 10 seconds, even if you %% specify different address ranges each time. %% %% It can take a few minutes before traffic to the specified addresses stops %% routing to Amazon Web Services because of BGP propagation delays. withdraw_byoip_cidr(Client, Input) when is_map(Client), is_map(Input) -> withdraw_byoip_cidr(Client, Input, []). withdraw_byoip_cidr(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"WithdrawByoipCidr">>, Input, Options). %%==================================================================== %% Internal functions %%==================================================================== -spec request(aws_client:aws_client(), binary(), map(), list()) -> {ok, Result, {integer(), list(), hackney:client()}} | {error, Error, {integer(), list(), hackney:client()}} | {error, term()} when Result :: map() | undefined, Error :: map(). request(Client, Action, Input, Options) -> RequestFun = fun() -> do_request(Client, Action, Input, Options) end, aws_request:request(RequestFun, Options). do_request(Client, _Action, Input0, Options) -> Client1 = Client#{service => <<"ec2">>}, Host = build_host(<<"ec2">>, Client1), URL = build_url(Host, Client1), Headers = [ {<<"Host">>, Host}, {<<"Content-Type">>, <<"application/x-www-form-urlencoded">>} ], Input = Input0, Payload = aws_util:encode_query(Input), SignedHeaders = aws_request:sign_request(Client1, <<"POST">>, URL, Headers, Payload), Response = hackney:request(post, URL, SignedHeaders, Payload, Options), handle_response(Response). handle_response({ok, 200, ResponseHeaders, Client}) -> case hackney:body(Client) of {ok, <<>>} -> {ok, undefined, {200, ResponseHeaders, Client}}; {ok, Body} -> Result = aws_util:decode_xml(Body), {ok, Result, {200, ResponseHeaders, Client}} end; handle_response({ok, StatusCode, ResponseHeaders, Client}) -> {ok, Body} = hackney:body(Client), Error = aws_util:decode_xml(Body), {error, Error, {StatusCode, ResponseHeaders, Client}}; handle_response({error, Reason}) -> {error, Reason}. build_host(_EndpointPrefix, #{region := <<"local">>, endpoint := Endpoint}) -> Endpoint; build_host(_EndpointPrefix, #{region := <<"local">>}) -> <<"localhost">>; build_host(EndpointPrefix, #{region := Region, endpoint := Endpoint}) -> aws_util:binary_join([EndpointPrefix, Region, Endpoint], <<".">>). build_url(Host, Client) -> Proto = aws_client:proto(Client), Port = aws_client:port(Client), aws_util:binary_join([Proto, <<"://">>, Host, <<":">>, Port, <<"/">>], <<"">>).