amazonka-ec2-1.6.0: Amazon Elastic Compute Cloud SDK.

Copyright(c) 2013-2018 Brendan Hay
LicenseMozilla Public License, v. 2.0.
MaintainerBrendan Hay <brendan.g.hay+amazonka@gmail.com>
Stabilityauto-generated
Portabilitynon-portable (GHC extensions)
Safe HaskellNone
LanguageHaskell2010

Network.AWS.EC2.ReleaseAddress

Contents

Description

Releases the specified Elastic IP address.

EC2-Classic, 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 AWS account.

EC2-VPC
After you release an Elastic IP address for use in a VPC, you might be able to recover it. For more information, see AllocateAddress .

Synopsis

Creating a Request

releaseAddress :: ReleaseAddress Source #

Creates a value of ReleaseAddress with the minimum fields required to make a request.

Use one of the following lenses to modify other fields as desired:

  • raAllocationId - [EC2-VPC] The allocation ID. Required for EC2-VPC.
  • raPublicIP - [EC2-Classic] The Elastic IP address. Required for EC2-Classic.
  • raDryRun - 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 .

data ReleaseAddress Source #

Contains the parameters for ReleaseAddress.

See: releaseAddress smart constructor.

Instances

Eq ReleaseAddress Source # 
Data ReleaseAddress Source # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> ReleaseAddress -> c ReleaseAddress #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c ReleaseAddress #

toConstr :: ReleaseAddress -> Constr #

dataTypeOf :: ReleaseAddress -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c ReleaseAddress) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ReleaseAddress) #

gmapT :: (forall b. Data b => b -> b) -> ReleaseAddress -> ReleaseAddress #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> ReleaseAddress -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> ReleaseAddress -> r #

gmapQ :: (forall d. Data d => d -> u) -> ReleaseAddress -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> ReleaseAddress -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> ReleaseAddress -> m ReleaseAddress #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> ReleaseAddress -> m ReleaseAddress #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> ReleaseAddress -> m ReleaseAddress #

Read ReleaseAddress Source # 
Show ReleaseAddress Source # 
Generic ReleaseAddress Source # 

Associated Types

type Rep ReleaseAddress :: * -> * #

Hashable ReleaseAddress Source # 
NFData ReleaseAddress Source # 

Methods

rnf :: ReleaseAddress -> () #

AWSRequest ReleaseAddress Source # 
ToHeaders ReleaseAddress Source # 
ToPath ReleaseAddress Source # 
ToQuery ReleaseAddress Source # 
type Rep ReleaseAddress Source # 
type Rep ReleaseAddress = D1 * (MetaData "ReleaseAddress" "Network.AWS.EC2.ReleaseAddress" "amazonka-ec2-1.6.0-Kkew7Kpgof6EYi20Z0WOzs" False) (C1 * (MetaCons "ReleaseAddress'" PrefixI True) ((:*:) * (S1 * (MetaSel (Just Symbol "_raAllocationId") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 * (Maybe Text))) ((:*:) * (S1 * (MetaSel (Just Symbol "_raPublicIP") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 * (Maybe Text))) (S1 * (MetaSel (Just Symbol "_raDryRun") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 * (Maybe Bool))))))
type Rs ReleaseAddress Source # 

Request Lenses

raAllocationId :: Lens' ReleaseAddress (Maybe Text) Source #

EC2-VPC
The allocation ID. Required for EC2-VPC.

raPublicIP :: Lens' ReleaseAddress (Maybe Text) Source #

EC2-Classic
The Elastic IP address. Required for EC2-Classic.

raDryRun :: Lens' ReleaseAddress (Maybe Bool) Source #

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 .

Destructuring the Response

releaseAddressResponse :: ReleaseAddressResponse Source #

Creates a value of ReleaseAddressResponse with the minimum fields required to make a request.

data ReleaseAddressResponse Source #

See: releaseAddressResponse smart constructor.

Instances

Eq ReleaseAddressResponse Source # 
Data ReleaseAddressResponse Source # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> ReleaseAddressResponse -> c ReleaseAddressResponse #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c ReleaseAddressResponse #

toConstr :: ReleaseAddressResponse -> Constr #

dataTypeOf :: ReleaseAddressResponse -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c ReleaseAddressResponse) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ReleaseAddressResponse) #

gmapT :: (forall b. Data b => b -> b) -> ReleaseAddressResponse -> ReleaseAddressResponse #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> ReleaseAddressResponse -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> ReleaseAddressResponse -> r #

gmapQ :: (forall d. Data d => d -> u) -> ReleaseAddressResponse -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> ReleaseAddressResponse -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> ReleaseAddressResponse -> m ReleaseAddressResponse #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> ReleaseAddressResponse -> m ReleaseAddressResponse #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> ReleaseAddressResponse -> m ReleaseAddressResponse #

Read ReleaseAddressResponse Source # 
Show ReleaseAddressResponse Source # 
Generic ReleaseAddressResponse Source # 
NFData ReleaseAddressResponse Source # 

Methods

rnf :: ReleaseAddressResponse -> () #

type Rep ReleaseAddressResponse Source # 
type Rep ReleaseAddressResponse = D1 * (MetaData "ReleaseAddressResponse" "Network.AWS.EC2.ReleaseAddress" "amazonka-ec2-1.6.0-Kkew7Kpgof6EYi20Z0WOzs" False) (C1 * (MetaCons "ReleaseAddressResponse'" PrefixI False) (U1 *))