disassociateVPCFromHostedZone method

Future<DisassociateVPCFromHostedZoneResponse> disassociateVPCFromHostedZone({
  1. required String hostedZoneId,
  2. required VPC vpc,
  3. String? comment,
})

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 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 use DisassociateVPCFromHostedZone. If the hosted zone has a value for OwningService, you can't use DisassociateVPCFromHostedZone.

May throw InvalidInput. May throw InvalidVPCId. May throw LastVPCAssociation. May throw NoSuchHostedZone. May throw VPCAssociationNotFound.

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 {
  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'),
    exceptionFnMap: _exceptionFns,
  );
  return DisassociateVPCFromHostedZoneResponse.fromXml($result.body);
}