listHostedZonesByVPC method

Future<ListHostedZonesByVPCResponse> listHostedZonesByVPC({
  1. required String vPCId,
  2. required VPCRegion vPCRegion,
  3. String? maxItems,
  4. String? nextToken,
})

Lists all the private hosted zones that a specified VPC is associated with, regardless of which AWS account or AWS service owns the hosted zones. The HostedZoneOwner structure in the response contains one of the following values:

  • An OwningAccount element, which contains the account number of either the current AWS account or another AWS account. Some services, such as AWS Cloud Map, create hosted zones using the current account.
  • An OwningService element, which identifies the AWS service that created and owns the hosted zone. For example, if a hosted zone was created by Amazon Elastic File System (Amazon EFS), the value of Owner is efs.amazonaws.com.

May throw InvalidInput. May throw InvalidPaginationToken.

Parameter vPCId : The ID of the Amazon VPC that you want to list hosted zones for.

Parameter vPCRegion : For the Amazon VPC that you specified for VPCId, the AWS Region that you created the VPC in.

Parameter maxItems : (Optional) The maximum number of hosted zones that you want Amazon Route 53 to return. If the specified VPC is associated with more than MaxItems hosted zones, the response includes a NextToken element. NextToken contains an encrypted token that identifies the first hosted zone that Route 53 will return if you submit another request.

Parameter nextToken : If the previous response included a NextToken element, the specified VPC is associated with more hosted zones. To get more hosted zones, submit another ListHostedZonesByVPC request.

For the value of NextToken, specify the value of NextToken from the previous response.

If the previous response didn't include a NextToken element, there are no more hosted zones to get.

Implementation

Future<ListHostedZonesByVPCResponse> listHostedZonesByVPC({
  required String vPCId,
  required VPCRegion vPCRegion,
  String? maxItems,
  String? nextToken,
}) async {
  ArgumentError.checkNotNull(vPCId, 'vPCId');
  _s.validateStringLength(
    'vPCId',
    vPCId,
    0,
    1024,
    isRequired: true,
  );
  ArgumentError.checkNotNull(vPCRegion, 'vPCRegion');
  _s.validateStringLength(
    'nextToken',
    nextToken,
    0,
    1024,
  );
  final $query = <String, List<String>>{
    'vpcid': [vPCId],
    'vpcregion': [vPCRegion.toValue()],
    if (maxItems != null) 'maxitems': [maxItems],
    if (nextToken != null) 'nexttoken': [nextToken],
  };
  final $result = await _protocol.send(
    method: 'GET',
    requestUri: '/2013-04-01/hostedzonesbyvpc',
    queryParams: $query,
    exceptionFnMap: _exceptionFns,
  );
  return ListHostedZonesByVPCResponse.fromXml($result.body);
}