/*
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License").
* You may not use this file except in compliance with the License.
* A copy of the License is located at
*
* http://aws.amazon.com/apache2.0
*
* or in the "license" file accompanying this file. This file is distributed
* on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
* express or implied. See the License for the specific language governing
* permissions and limitations under the License.
*/
/*
* Do not modify this file. This file is generated from the ec2-2016-11-15.normal.json service model.
*/
using System;
using System.Collections.Generic;
using System.Xml.Serialization;
using System.Text;
using System.IO;
using System.Net;
using Amazon.Runtime;
using Amazon.Runtime.Internal;
namespace Amazon.EC2.Model
{
///
/// Container for the parameters to the ReleaseAddress operation.
/// 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.
///
///
public partial class ReleaseAddressRequest : AmazonEC2Request
{
private string _allocationId;
private string _networkBorderGroup;
private string _publicIp;
///
/// Empty constructor used to set properties independently even when a simple constructor is available
///
public ReleaseAddressRequest() { }
///
/// Instantiates ReleaseAddressRequest with the parameterized properties
///
/// Deprecated.
public ReleaseAddressRequest(string publicIp)
{
_publicIp = publicIp;
}
///
/// Gets and sets the property AllocationId.
///
/// The allocation ID. This parameter is required.
///
///
public string AllocationId
{
get { return this._allocationId; }
set { this._allocationId = value; }
}
// Check to see if AllocationId property is set
internal bool IsSetAllocationId()
{
return this._allocationId != null;
}
///
/// Gets and sets the property NetworkBorderGroup.
///
/// The set of Availability Zones, Local Zones, or Wavelength Zones from which Amazon
/// Web Services advertises IP addresses.
///
///
///
/// If you provide an incorrect network border group, you receive an InvalidAddress.NotFound
/// error.
///
///
///
/// You cannot use a network border group with EC2 Classic. If you attempt this operation
/// on EC2 classic, you receive an InvalidParameterCombination
error.
///
///
public string NetworkBorderGroup
{
get { return this._networkBorderGroup; }
set { this._networkBorderGroup = value; }
}
// Check to see if NetworkBorderGroup property is set
internal bool IsSetNetworkBorderGroup()
{
return this._networkBorderGroup != null;
}
///
/// Gets and sets the property PublicIp.
///
/// Deprecated.
///
///
public string PublicIp
{
get { return this._publicIp; }
set { this._publicIp = value; }
}
// Check to see if PublicIp property is set
internal bool IsSetPublicIp()
{
return this._publicIp != null;
}
}
}