2020/01/21 - Amazon Elastic Compute Cloud - 5 updated api methods
Changes Add an enum value to the result of DescribeByoipCidrs to support CIDRs that are not publicly advertisable.
{'ByoipCidr': {'State': {'provisioned-not-publicly-advertisable'}}}
Advertises an IPv4 or IPv6 address range that is provisioned for use with your AWS 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 AWS. To minimize down time, you can configure your AWS 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 AWS.
It can take a few minutes before traffic to the specified addresses starts routing to AWS because of BGP propagation delays.
To stop advertising the BYOIP CIDR, use WithdrawByoipCidr .
See also: AWS API Documentation
Request Syntax
client.advertise_byoip_cidr( Cidr='string', DryRun=True|False )
string
[REQUIRED]
The address range, in CIDR notation. This must be the exact range that you provisioned. You can't advertise only a portion of the provisioned range.
boolean
Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation . Otherwise, it is UnauthorizedOperation .
dict
Response Syntax
{ 'ByoipCidr': { 'Cidr': 'string', 'Description': 'string', 'StatusMessage': 'string', 'State': 'advertised'|'deprovisioned'|'failed-deprovision'|'failed-provision'|'pending-deprovision'|'pending-provision'|'provisioned'|'provisioned-not-publicly-advertisable' } }
Response Structure
(dict) --
ByoipCidr (dict) --
Information about the address range.
Cidr (string) --
The address range, in CIDR notation.
Description (string) --
The description of the address range.
StatusMessage (string) --
Upon success, contains the ID of the address pool. Otherwise, contains an error message.
State (string) --
The state of the address pool.
{'ByoipCidr': {'State': {'provisioned-not-publicly-advertisable'}}}
Releases the specified address range that you provisioned for use with your AWS 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.
See also: AWS API Documentation
Request Syntax
client.deprovision_byoip_cidr( Cidr='string', DryRun=True|False )
string
[REQUIRED]
The address range, in CIDR notation. The prefix must be the same prefix that you specified when you provisioned the address range.
boolean
Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation . Otherwise, it is UnauthorizedOperation .
dict
Response Syntax
{ 'ByoipCidr': { 'Cidr': 'string', 'Description': 'string', 'StatusMessage': 'string', 'State': 'advertised'|'deprovisioned'|'failed-deprovision'|'failed-provision'|'pending-deprovision'|'pending-provision'|'provisioned'|'provisioned-not-publicly-advertisable' } }
Response Structure
(dict) --
ByoipCidr (dict) --
Information about the address range.
Cidr (string) --
The address range, in CIDR notation.
Description (string) --
The description of the address range.
StatusMessage (string) --
Upon success, contains the ID of the address pool. Otherwise, contains an error message.
State (string) --
The state of the address pool.
{'ByoipCidrs': {'State': {'provisioned-not-publicly-advertisable'}}}
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 .
See also: AWS API Documentation
Request Syntax
client.describe_byoip_cidrs( DryRun=True|False, MaxResults=123, NextToken='string' )
boolean
Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation . Otherwise, it is UnauthorizedOperation .
integer
[REQUIRED]
The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.
string
The token for the next page of results.
dict
Response Syntax
{ 'ByoipCidrs': [ { 'Cidr': 'string', 'Description': 'string', 'StatusMessage': 'string', 'State': 'advertised'|'deprovisioned'|'failed-deprovision'|'failed-provision'|'pending-deprovision'|'pending-provision'|'provisioned'|'provisioned-not-publicly-advertisable' }, ], 'NextToken': 'string' }
Response Structure
(dict) --
ByoipCidrs (list) --
Information about your address ranges.
(dict) --
Information about an address range that is provisioned for use with your AWS resources through bring your own IP addresses (BYOIP).
Cidr (string) --
The address range, in CIDR notation.
Description (string) --
The description of the address range.
StatusMessage (string) --
Upon success, contains the ID of the address pool. Otherwise, contains an error message.
State (string) --
The state of the address pool.
NextToken (string) --
The token to use to retrieve the next page of results. This value is null when there are no more results to return.
{'ByoipCidr': {'State': {'provisioned-not-publicly-advertisable'}}}
Provisions an IPv4 or IPv6 address range for use with your AWS 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 .
AWS 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.
See also: AWS API Documentation
Request Syntax
client.provision_byoip_cidr( Cidr='string', CidrAuthorizationContext={ 'Message': 'string', 'Signature': 'string' }, PubliclyAdvertisable=True|False, Description='string', DryRun=True|False )
string
[REQUIRED]
The public IPv4 or IPv6 address range, in CIDR notation. The most specific IPv4 prefix that you can specify is /24. The most specific IPv6 prefix you can specify is /56. The address range cannot overlap with another address range that you've brought to this or another Region.
dict
A signed document that proves that you are authorized to bring the specified IP address range to Amazon using BYOIP.
Message (string) -- [REQUIRED]
The plain-text authorization message for the prefix and account.
Signature (string) -- [REQUIRED]
The signed authorization message for the prefix and account.
boolean
(IPv6 only) Indicate whether the address range will be publicly advertised to the internet.
Default: true
string
A description for the address range and the address pool.
boolean
Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation . Otherwise, it is UnauthorizedOperation .
dict
Response Syntax
{ 'ByoipCidr': { 'Cidr': 'string', 'Description': 'string', 'StatusMessage': 'string', 'State': 'advertised'|'deprovisioned'|'failed-deprovision'|'failed-provision'|'pending-deprovision'|'pending-provision'|'provisioned'|'provisioned-not-publicly-advertisable' } }
Response Structure
(dict) --
ByoipCidr (dict) --
Information about the address range.
Cidr (string) --
The address range, in CIDR notation.
Description (string) --
The description of the address range.
StatusMessage (string) --
Upon success, contains the ID of the address pool. Otherwise, contains an error message.
State (string) --
The state of the address pool.
{'ByoipCidr': {'State': {'provisioned-not-publicly-advertisable'}}}
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 AWS because of BGP propagation delays.
See also: AWS API Documentation
Request Syntax
client.withdraw_byoip_cidr( Cidr='string', DryRun=True|False )
string
[REQUIRED]
The address range, in CIDR notation.
boolean
Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation . Otherwise, it is UnauthorizedOperation .
dict
Response Syntax
{ 'ByoipCidr': { 'Cidr': 'string', 'Description': 'string', 'StatusMessage': 'string', 'State': 'advertised'|'deprovisioned'|'failed-deprovision'|'failed-provision'|'pending-deprovision'|'pending-provision'|'provisioned'|'provisioned-not-publicly-advertisable' } }
Response Structure
(dict) --
ByoipCidr (dict) --
Information about the address pool.
Cidr (string) --
The address range, in CIDR notation.
Description (string) --
The description of the address range.
StatusMessage (string) --
Upon success, contains the ID of the address pool. Otherwise, contains an error message.
State (string) --
The state of the address pool.