disassociateVPCFromHostedZone method
Disassociates an Amazon Virtual Private Cloud (Amazon VPC) from an Amazon Route 53 private hosted zone. Note the following:
- You can't disassociate the last Amazon VPC from a private hosted zone.
- You can't convert a private hosted zone into a public hosted zone.
-
You can submit a
DisassociateVPCFromHostedZone
request using either the account that created the hosted zone or the account that created the Amazon VPC. -
Some services, such as AWS Cloud Map and Amazon Elastic File System
(Amazon EFS) automatically create hosted zones and associate VPCs with the
hosted zones. A service can create a hosted zone using your account or
using its own account. You can disassociate a VPC from a hosted zone only
if the service created the hosted zone using your account.
When you run DisassociateVPCFromHostedZone, if the hosted zone has a value for
OwningAccount
, you can useDisassociateVPCFromHostedZone
. If the hosted zone has a value forOwningService
, you can't useDisassociateVPCFromHostedZone
.
May throw NoSuchHostedZone. May throw InvalidVPCId. May throw VPCAssociationNotFound. May throw LastVPCAssociation. May throw InvalidInput.
Parameter hostedZoneId
:
The ID of the private hosted zone that you want to disassociate a VPC
from.
Parameter vpc
:
A complex type that contains information about the VPC that you're
disassociating from the specified hosted zone.
Parameter comment
:
Optional: A comment about the disassociation request.
Implementation
Future<DisassociateVPCFromHostedZoneResponse> disassociateVPCFromHostedZone({
required String hostedZoneId,
required VPC vpc,
String? comment,
}) async {
ArgumentError.checkNotNull(hostedZoneId, 'hostedZoneId');
_s.validateStringLength(
'hostedZoneId',
hostedZoneId,
0,
32,
isRequired: true,
);
ArgumentError.checkNotNull(vpc, 'vpc');
final $result = await _protocol.send(
method: 'POST',
requestUri:
'/2013-04-01/hostedzone/${Uri.encodeComponent(hostedZoneId)}/disassociatevpc',
payload: DisassociateVPCFromHostedZoneRequest(
hostedZoneId: hostedZoneId, vpc: vpc, comment: comment)
.toXml(
'DisassociateVPCFromHostedZoneRequest',
attributes: [
_s.XmlAttribute(_s.XmlName('xmlns'),
'https://route53.amazonaws.com/doc/2013-04-01/'),
],
),
exceptionFnMap: _exceptionFns,
);
return DisassociateVPCFromHostedZoneResponse.fromXml($result.body);
}