eips
Creates, updates, deletes or gets an eip
resource or lists eips
in a region
Overview
Name | eips |
Type | Resource |
Description | Specifies an Elastic IP (EIP) address and can, optionally, associate it with an Amazon EC2 instance. You can allocate an Elastic IP address from an address pool owned by AWS or from an address pool created from a public IPv4 address range that you have brought to AWS for use with your AWS resources using bring your own IP addresses (BYOIP). For more information, see [Bring Your Own IP Addresses (BYOIP)](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-byoip.html) in the *Amazon EC2 User Guide*. For more information, see [Elastic IP Addresses](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html) in the *Amazon EC2 User Guide*. |
Id | aws.ec2.eips |
Fields
Name | Datatype | Description |
---|---|---|
public_ip | string | |
allocation_id | string | |
domain | string | The network (vpc ).If you define an Elastic IP address and associate it with a VPC that is defined in the same template, you must declare a dependency on the VPC-gateway attachment by using the [DependsOn Attribute](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html) on this resource. |
network_border_group | string | A unique set of Availability Zones, Local Zones, or Wavelength Zones from which AWS advertises IP addresses. Use this parameter to limit the IP address to this location. IP addresses cannot move between network border groups. Use [DescribeAvailabilityZones](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeAvailabilityZones.html) to view the network border groups. |
transfer_address | string | The Elastic IP address you are accepting for transfer. You can only accept one transferred address. For more information on Elastic IP address transfers, see [Transfer Elastic IP addresses](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-eips.html#transfer-EIPs-intro) in the *Amazon Virtual Private Cloud User Guide*. |
instance_id | string | The ID of the instance. Updates to the InstanceId property may require *some interruptions*. Updates on an EIP reassociates the address on its associated resource. |
public_ipv4_pool | string | The ID of an address pool that you own. Use this parameter to let Amazon EC2 select an address from the address pool. Updates to the PublicIpv4Pool property may require *some interruptions*. Updates on an EIP reassociates the address on its associated resource. |
tags | array | Any tags assigned to the Elastic IP address. Updates to the Tags property may require *some interruptions*. Updates on an EIP reassociates the address on its associated resource. |
region | string | AWS region. |
Methods
Name | Accessible by | Required Params |
---|---|---|
create_resource | INSERT | region |
delete_resource | DELETE | data__Identifier, region |
update_resource | UPDATE | data__Identifier, data__PatchDocument, region |
list_resources | SELECT | region |
get_resource | SELECT | data__Identifier, region |
SELECT
examples
Gets all eips
in a region.
SELECT
region,
public_ip,
allocation_id,
domain,
network_border_group,
transfer_address,
instance_id,
public_ipv4_pool,
tags
FROM aws.ec2.eips
WHERE region = 'us-east-1';
Gets all properties from an individual eip
.
SELECT
region,
public_ip,
allocation_id,
domain,
network_border_group,
transfer_address,
instance_id,
public_ipv4_pool,
tags
FROM aws.ec2.eips
WHERE region = 'us-east-1' AND data__Identifier = '<PublicIp>|<AllocationId>';
INSERT
example
Use the following StackQL query and manifest file to create a new eip
resource, using stack-deploy
.
- Required Properties
- All Properties
- Manifest
/*+ create */
INSERT INTO aws.ec2.eips (
Domain,
NetworkBorderGroup,
TransferAddress,
InstanceId,
PublicIpv4Pool,
Tags,
region
)
SELECT
'{{ Domain }}',
'{{ NetworkBorderGroup }}',
'{{ TransferAddress }}',
'{{ InstanceId }}',
'{{ PublicIpv4Pool }}',
'{{ Tags }}',
'{{ region }}';
/*+ create */
INSERT INTO aws.ec2.eips (
Domain,
NetworkBorderGroup,
TransferAddress,
InstanceId,
PublicIpv4Pool,
Tags,
region
)
SELECT
'{{ Domain }}',
'{{ NetworkBorderGroup }}',
'{{ TransferAddress }}',
'{{ InstanceId }}',
'{{ PublicIpv4Pool }}',
'{{ Tags }}',
'{{ region }}';
version: 1
name: stack name
description: stack description
providers:
- aws
globals:
- name: region
value: '{{ vars.AWS_REGION }}'
resources:
- name: eip
props:
- name: Domain
value: '{{ Domain }}'
- name: NetworkBorderGroup
value: '{{ NetworkBorderGroup }}'
- name: TransferAddress
value: '{{ TransferAddress }}'
- name: InstanceId
value: '{{ InstanceId }}'
- name: PublicIpv4Pool
value: '{{ PublicIpv4Pool }}'
- name: Tags
value:
- Key: '{{ Key }}'
Value: '{{ Value }}'
DELETE
example
/*+ delete */
DELETE FROM aws.ec2.eips
WHERE data__Identifier = '<PublicIp|AllocationId>'
AND region = 'us-east-1';
Permissions
To operate on the eips
resource, the following permissions are required:
Create
ec2:AllocateAddress,
ec2:AcceptAddressTransfer,
ec2:DescribeAddresses,
ec2:AssociateAddress,
ec2:CreateTags
Read
ec2:DescribeAddresses
Delete
ec2:ReleaseAddress,
ec2:DescribeAddresses,
ec2:DisassociateAddress
Update
ec2:DescribeAddresses,
ec2:DisassociateAddress,
ec2:DeleteTags,
ec2:CreateTags,
ec2:AssociateAddress
List
ec2:DescribeAddresses