1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257
|
// Code generated by smithy-go-codegen DO NOT EDIT.
package route53
import (
"context"
"fmt"
awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware"
"github.com/aws/aws-sdk-go-v2/service/route53/types"
"github.com/aws/smithy-go/middleware"
smithyhttp "github.com/aws/smithy-go/transport/http"
)
// Retrieves a list of your hosted zones in lexicographic order. The response
// includes a HostedZones child element for each hosted zone created by the
// current Amazon Web Services account.
//
// ListHostedZonesByName sorts hosted zones by name with the labels reversed. For
// example:
//
// com.example.www.
//
// Note the trailing dot, which can change the sort order in some circumstances.
//
// If the domain name includes escape characters or Punycode, ListHostedZonesByName
// alphabetizes the domain name using the escaped or Punycoded value, which is the
// format that Amazon Route 53 saves in its database. For example, to create a
// hosted zone for exämple.com, you specify ex\344mple.com for the domain name.
// ListHostedZonesByName alphabetizes it as:
//
// com.ex\344mple.
//
// The labels are reversed and alphabetized using the escaped value. For more
// information about valid domain name formats, including internationalized domain
// names, see [DNS Domain Name Format]in the Amazon Route 53 Developer Guide.
//
// Route 53 returns up to 100 items in each response. If you have a lot of hosted
// zones, use the MaxItems parameter to list them in groups of up to 100. The
// response includes values that help navigate from one group of MaxItems hosted
// zones to the next:
//
// - The DNSName and HostedZoneId elements in the response contain the values, if
// any, specified for the dnsname and hostedzoneid parameters in the request that
// produced the current response.
//
// - The MaxItems element in the response contains the value, if any, that you
// specified for the maxitems parameter in the request that produced the current
// response.
//
// - If the value of IsTruncated in the response is true, there are more hosted
// zones associated with the current Amazon Web Services account.
//
// If IsTruncated is false, this response includes the last hosted zone that is
//
// associated with the current account. The NextDNSName element and
// NextHostedZoneId elements are omitted from the response.
//
// - The NextDNSName and NextHostedZoneId elements in the response contain the
// domain name and the hosted zone ID of the next hosted zone that is associated
// with the current Amazon Web Services account. If you want to list more hosted
// zones, make another call to ListHostedZonesByName , and specify the value of
// NextDNSName and NextHostedZoneId in the dnsname and hostedzoneid parameters,
// respectively.
//
// [DNS Domain Name Format]: https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/DomainNameFormat.html
func (c *Client) ListHostedZonesByName(ctx context.Context, params *ListHostedZonesByNameInput, optFns ...func(*Options)) (*ListHostedZonesByNameOutput, error) {
if params == nil {
params = &ListHostedZonesByNameInput{}
}
result, metadata, err := c.invokeOperation(ctx, "ListHostedZonesByName", params, optFns, c.addOperationListHostedZonesByNameMiddlewares)
if err != nil {
return nil, err
}
out := result.(*ListHostedZonesByNameOutput)
out.ResultMetadata = metadata
return out, nil
}
// Retrieves a list of the public and private hosted zones that are associated
// with the current Amazon Web Services account in ASCII order by domain name.
type ListHostedZonesByNameInput struct {
// (Optional) For your first request to ListHostedZonesByName , include the dnsname
// parameter only if you want to specify the name of the first hosted zone in the
// response. If you don't include the dnsname parameter, Amazon Route 53 returns
// all of the hosted zones that were created by the current Amazon Web Services
// account, in ASCII order. For subsequent requests, include both dnsname and
// hostedzoneid parameters. For dnsname , specify the value of NextDNSName from
// the previous response.
DNSName *string
// (Optional) For your first request to ListHostedZonesByName , do not include the
// hostedzoneid parameter.
//
// If you have more hosted zones than the value of maxitems , ListHostedZonesByName
// returns only the first maxitems hosted zones. To get the next group of maxitems
// hosted zones, submit another request to ListHostedZonesByName and include both
// dnsname and hostedzoneid parameters. For the value of hostedzoneid , specify the
// value of the NextHostedZoneId element from the previous response.
HostedZoneId *string
// The maximum number of hosted zones to be included in the response body for this
// request. If you have more than maxitems hosted zones, then the value of the
// IsTruncated element in the response is true, and the values of NextDNSName and
// NextHostedZoneId specify the first hosted zone in the next group of maxitems
// hosted zones.
MaxItems *int32
noSmithyDocumentSerde
}
// A complex type that contains the response information for the request.
type ListHostedZonesByNameOutput struct {
// A complex type that contains general information about the hosted zone.
//
// This member is required.
HostedZones []types.HostedZone
// A flag that indicates whether there are more hosted zones to be listed. If the
// response was truncated, you can get the next group of maxitems hosted zones by
// calling ListHostedZonesByName again and specifying the values of NextDNSName
// and NextHostedZoneId elements in the dnsname and hostedzoneid parameters.
//
// This member is required.
IsTruncated bool
// The value that you specified for the maxitems parameter in the call to
// ListHostedZonesByName that produced the current response.
//
// This member is required.
MaxItems *int32
// For the second and subsequent calls to ListHostedZonesByName , DNSName is the
// value that you specified for the dnsname parameter in the request that produced
// the current response.
DNSName *string
// The ID that Amazon Route 53 assigned to the hosted zone when you created it.
HostedZoneId *string
// If IsTruncated is true, the value of NextDNSName is the name of the first
// hosted zone in the next group of maxitems hosted zones. Call
// ListHostedZonesByName again and specify the value of NextDNSName and
// NextHostedZoneId in the dnsname and hostedzoneid parameters, respectively.
//
// This element is present only if IsTruncated is true .
NextDNSName *string
// If IsTruncated is true , the value of NextHostedZoneId identifies the first
// hosted zone in the next group of maxitems hosted zones. Call
// ListHostedZonesByName again and specify the value of NextDNSName and
// NextHostedZoneId in the dnsname and hostedzoneid parameters, respectively.
//
// This element is present only if IsTruncated is true .
NextHostedZoneId *string
// Metadata pertaining to the operation's result.
ResultMetadata middleware.Metadata
noSmithyDocumentSerde
}
func (c *Client) addOperationListHostedZonesByNameMiddlewares(stack *middleware.Stack, options Options) (err error) {
if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil {
return err
}
err = stack.Serialize.Add(&awsRestxml_serializeOpListHostedZonesByName{}, middleware.After)
if err != nil {
return err
}
err = stack.Deserialize.Add(&awsRestxml_deserializeOpListHostedZonesByName{}, middleware.After)
if err != nil {
return err
}
if err := addProtocolFinalizerMiddlewares(stack, options, "ListHostedZonesByName"); err != nil {
return fmt.Errorf("add protocol finalizers: %v", err)
}
if err = addlegacyEndpointContextSetter(stack, options); err != nil {
return err
}
if err = addSetLoggerMiddleware(stack, options); err != nil {
return err
}
if err = addClientRequestID(stack); err != nil {
return err
}
if err = addComputeContentLength(stack); err != nil {
return err
}
if err = addResolveEndpointMiddleware(stack, options); err != nil {
return err
}
if err = addComputePayloadSHA256(stack); err != nil {
return err
}
if err = addRetry(stack, options); err != nil {
return err
}
if err = addRawResponseToMetadata(stack); err != nil {
return err
}
if err = addRecordResponseTiming(stack); err != nil {
return err
}
if err = addClientUserAgent(stack, options); err != nil {
return err
}
if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil {
return err
}
if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil {
return err
}
if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil {
return err
}
if err = addTimeOffsetBuild(stack, c); err != nil {
return err
}
if err = addUserAgentRetryMode(stack, options); err != nil {
return err
}
if err = stack.Initialize.Add(newServiceMetadataMiddleware_opListHostedZonesByName(options.Region), middleware.Before); err != nil {
return err
}
if err = addRecursionDetection(stack); err != nil {
return err
}
if err = addRequestIDRetrieverMiddleware(stack); err != nil {
return err
}
if err = addResponseErrorMiddleware(stack); err != nil {
return err
}
if err = addSanitizeURLMiddleware(stack); err != nil {
return err
}
if err = addRequestResponseLogging(stack, options); err != nil {
return err
}
if err = addDisableHTTPSMiddleware(stack, options); err != nil {
return err
}
return nil
}
func newServiceMetadataMiddleware_opListHostedZonesByName(region string) *awsmiddleware.RegisterServiceMetadata {
return &awsmiddleware.RegisterServiceMetadata{
Region: region,
ServiceID: ServiceID,
OperationName: "ListHostedZonesByName",
}
}
|